From 01a76984771dbe20cae1d42b627ea2c86a6cb540 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Tue, 6 Mar 2018 12:02:50 +0800 Subject: [PATCH 001/288] - Update Repo URL --- docs/DeveloperGuide.adoc | 2 +- docs/UserGuide.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 1733af113b29..a9b7bcd5057e 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -10,7 +10,7 @@ ifdef::env-github[] :tip-caption: :bulb: :note-caption: :information_source: endif::[] -:repoURL: https://github.com/se-edu/addressbook-level4/tree/master +:repoURL: https://github.com/CS2103JAN2018-W14-B1/main/tree/master By: `Team SE-EDU`      Since: `Jun 2016`      Licence: `MIT` diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 74248917e438..d5e6da53e6aa 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -11,7 +11,7 @@ ifdef::env-github[] :tip-caption: :bulb: :note-caption: :information_source: endif::[] -:repoURL: https://github.com/se-edu/addressbook-level4 +:repoURL: https://github.com/CS2103JAN2018-W14-B1/main/ By: `Team SE-EDU` Since: `Jun 2016` Licence: `MIT` From e48212e79c48caa31f8d636ec845682fb1a92dac Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 6 Mar 2018 13:17:19 +0800 Subject: [PATCH 002/288] Changed link of developer guide and User guide --- docs/DeveloperGuide.adoc | 2 +- docs/UserGuide.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 1733af113b29..766c42629f12 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -10,7 +10,7 @@ ifdef::env-github[] :tip-caption: :bulb: :note-caption: :information_source: endif::[] -:repoURL: https://github.com/se-edu/addressbook-level4/tree/master +:repoURL: https://github.com/shanmu9898/main By: `Team SE-EDU`      Since: `Jun 2016`      Licence: `MIT` diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 74248917e438..765c18602250 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -11,7 +11,7 @@ ifdef::env-github[] :tip-caption: :bulb: :note-caption: :information_source: endif::[] -:repoURL: https://github.com/se-edu/addressbook-level4 +:repoURL: https://github.com/shanmu9898/main By: `Team SE-EDU` Since: `Jun 2016` Licence: `MIT` From a780db447f6c884992454638c33cd32b64e99d48 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 6 Mar 2018 14:51:10 +0800 Subject: [PATCH 003/288] set up Travis and coveralls links --- README.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.adoc b/README.adoc index 03eff3a4d191..091e3f18ca43 100644 --- a/README.adoc +++ b/README.adoc @@ -1,9 +1,9 @@ = Address Book (Level 4) ifdef::env-github,env-browser[:relfileprefix: docs/] -https://travis-ci.org/se-edu/addressbook-level4[image:https://travis-ci.org/se-edu/addressbook-level4.svg?branch=master[Build Status]] +https://travis-ci.org/CS2103JAN2018-W14-B1/main[https://travis-ci.org/CS2103JAN2018-W14-B1/main.svg?branch=master[Build Status]] https://ci.appveyor.com/project/damithc/addressbook-level4[image:https://ci.appveyor.com/api/projects/status/3boko2x2vr5cc3w2?svg=true[Build status]] -https://coveralls.io/github/se-edu/addressbook-level4?branch=master[image:https://coveralls.io/repos/github/se-edu/addressbook-level4/badge.svg?branch=master[Coverage Status]] +https://coveralls.io/github/CS2103JAN2018-W14-B1/main?branch=master[image:https://coveralls.io/repos/github/CS2103JAN2018-W14-B1/main/badge.svg?branch=master[Coverage Status]] https://www.codacy.com/app/damith/addressbook-level4?utm_source=github.com&utm_medium=referral&utm_content=se-edu/addressbook-level4&utm_campaign=Badge_Grade[image:https://api.codacy.com/project/badge/Grade/fc0b7775cf7f4fdeaf08776f3d8e364a[Codacy Badge]] https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]] From 66fd10f525758481a9ca0a9387ce74e78137c20e Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 6 Mar 2018 16:09:50 +0800 Subject: [PATCH 004/288] added nfrs --- docs/DeveloperGuide.adoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 766c42629f12..70ff73ab3091 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -852,6 +852,10 @@ _{More to be added}_ . Should work on any <> as long as it has Java `1.8.0_60` or higher installed. . Should be able to hold up to 1000 persons without a noticeable sluggishness in performance for typical usage. . A user with above average typing speed for regular English text (i.e. not code, not system admin commands) should be able to accomplish most of the tasks faster using commands than using the mouse. +. Should be intutive for any first time user. +. Should be able to handle any invalid input i.e should be able to inform the user and guide the user for valid input. +. Should respond within a second + _{More to be added}_ From 61fde3792858e81b40de15fa0936ee81cc5c4175 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 6 Mar 2018 17:14:29 +0800 Subject: [PATCH 005/288] modified NFRs --- docs/DeveloperGuide.adoc | 2 +- docs/UserGuide.adoc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 70ff73ab3091..7e2fe7d1ef58 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -10,7 +10,7 @@ ifdef::env-github[] :tip-caption: :bulb: :note-caption: :information_source: endif::[] -:repoURL: https://github.com/shanmu9898/main +:repoURL: https://github.com/CS2103JAN2018-W14-B1/main By: `Team SE-EDU`      Since: `Jun 2016`      Licence: `MIT` diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 765c18602250..f26da06fd0f2 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -11,7 +11,7 @@ ifdef::env-github[] :tip-caption: :bulb: :note-caption: :information_source: endif::[] -:repoURL: https://github.com/shanmu9898/main +:repoURL: https://github.com/CS2103JAN2018-W14-B1/main By: `Team SE-EDU` Since: `Jun 2016` Licence: `MIT` From ee01d4a6f62fc11856fb6395a372cd02cc918417 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Tue, 6 Mar 2018 18:13:25 +0800 Subject: [PATCH 006/288] - Add user stories --- docs/DeveloperGuide.adoc | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index a9b7bcd5057e..070239ca916d 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -806,9 +806,36 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un |`* * *` |user |find a person by name |locate details of persons without having to go through the entire list +|`* * *` |user |edit the detail of a person + |easily make change to their detail when they updated their contact + +|`* * *` |user |delete a person |remove entries that I no longer need + +|`* * *` |user |create a class |group and manage students who are taking the same class + +|`* * *` |user |add persons to a class | + +|`* * *` |user |see all persons in a class |see the list of all students taking a class + +|`* *` |user |add appointment with a person to my schedule |be reminded of the appointment + +|`* *` |user |delete appointment from my schedule |remove appointment I no longer need to be reminded + |`* *` |user |hide <> by default |minimize chance of someone else seeing them by accident |`*` |user with many persons in the address book |sort persons by name |locate a person easily + +|`*` |user with many persons in address book |tag a person |mark their contact with a detail + +|`*` |user with many persons in address book |find all person with a given tag |see all persons with contact marked with a certain detail + +|`*` |user |change the colour of a tag |make it easier for me to distinguish the tags + +|`*` |user |change the background colour of the application |make the application more pleasing to my eyes + +|`*` |user |export persons from my address book to an external file| have persons' contacts ready for import + +|`*` |user |import persons from an external file to my address book | have persons' contact details added without having to reenter the information |======================================================================= _{More to be added}_ From 80cde89db84d1112e2b27548073d758a39b9391e Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Tue, 6 Mar 2018 22:32:27 +0800 Subject: [PATCH 007/288] Update DeveloperGuide.adoc --- docs/DeveloperGuide.adoc | 90 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 87 insertions(+), 3 deletions(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 1733af113b29..f75496073f75 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -816,16 +816,16 @@ _{More to be added}_ [appendix] == Use Cases -(For all use cases below, the *System* is the `AddressBook` and the *Actor* is the `user`, unless specified otherwise) +(For all use cases below, the *System* is the `AddressBook` and the *Actor* is the `teacher`, unless specified otherwise) [discrete] === Use case: Delete person *MSS* -1. User requests to list persons +1. Teacher requests to list persons 2. AddressBook shows a list of persons -3. User requests to delete a specific person in the list +3. Teacher requests to delete a specific person in the list 4. AddressBook deletes the person + Use case ends. @@ -844,6 +844,90 @@ Use case ends. + Use case resumes at step 2. +[discrete] +=== Use case: Create class + +*MSS* + +1. Teacher requests to list persons +2. AddressBook shows a list of persons +3. Teacher requests to create a class of a subject for a specified duration +4. AddressBook prompts for student(s) to be added into the class +5. Teacher enters index of student(s) as shown in the list +5. AddressBook creates the class ++ +Use case ends. + +*Extensions* + +[none] +* 2a. The list is empty. ++ +Use case ends. + +* 3a. The given subject or duration is invalid. ++ +[none] +** 3a1. AddressBook shows an error message. ++ +Use case resumes at step 2. + +* 5a. One or more given index(s) is invalid. ++ +[none] +** 5a1. AddressBook shows an error message. ++ +Use case resumes at step 2. + +[discrete] +=== Use case: Add appointment + +*MSS* + +1. Teacher requests to add an appointment at a specified time +2. AddressBook prompts for a title +3. Teacher enters a title +4. AddressBook adds the appointment ++ +Use case ends. + +*Extensions* + +[none] +* 1a. Time given is invalid. ++ +[none] +** 1a1. AddressBook shows error message. ++ +Use case ends. + +[discrete] +=== Use case: Delete appointment + +*MSS* + +1. Teacher requests to list appointments +2. AddressBook shows list of appointments +3. Teacher requests to delete a specific appointment in the list +4. AddressBook deletes appointment ++ +Use case ends. + +*Extensions* + +[none] +* 2a. The list is empty. ++ +Use case ends. + +* 3a. The given index is invalid. ++ +[none] +** 3a1. AddressBook shows error message. ++ +Use case resumes at step 2. + + _{More to be added}_ [appendix] From e198bbe508926c308c4f911552b576fdceb0c0a5 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Tue, 6 Mar 2018 22:46:59 +0800 Subject: [PATCH 008/288] - Remove duplicate story and make user more specific --- docs/DeveloperGuide.adoc | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 070239ca916d..2ef1dea21f03 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -802,32 +802,32 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un |`* * *` |user |add a new person | -|`* * *` |user |delete a person |remove entries that I no longer need +|`* * *` |user |delete a person |remove contacts that I no longer need |`* * *` |user |find a person by name |locate details of persons without having to go through the entire list -|`* * *` |user |edit the detail of a person - |easily make change to their detail when they updated their contact +|`* * *` |user |edit the details of a person + |easily make changes to their details when they update their contact -|`* * *` |user |delete a person |remove entries that I no longer need +|`* * *` |teacher |create a class |group and manage students who are taking the same class -|`* * *` |user |create a class |group and manage students who are taking the same class +|`* * *` |teacher |add persons to a class |group them for easy perusal -|`* * *` |user |add persons to a class | +|`* * *` |teacher | list all the students in a particular class |know all the students taking that class -|`* * *` |user |see all persons in a class |see the list of all students taking a class +|`* *` |teacher |add appointment with a student to my schedule |be reminded of the appointment -|`* *` |user |add appointment with a person to my schedule |be reminded of the appointment +|`* *` |teacher |delete appointments from my schedule |clear appointments I no longer need to be reminded about -|`* *` |user |delete appointment from my schedule |remove appointment I no longer need to be reminded +|`* *` |teacher |list all appointments in my schedule |check all the appointments I have |`* *` |user |hide <> by default |minimize chance of someone else seeing them by accident |`*` |user with many persons in the address book |sort persons by name |locate a person easily -|`*` |user with many persons in address book |tag a person |mark their contact with a detail +|`*` |user |tag a person |mark their contact with details -|`*` |user with many persons in address book |find all person with a given tag |see all persons with contact marked with a certain detail +|`*` |user |find all person with a given tag |see all persons with contact marked with a certain detail |`*` |user |change the colour of a tag |make it easier for me to distinguish the tags From 9479fa330fc406dc0dcec53b886eb00f18080c40 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Wed, 7 Mar 2018 01:14:07 +0800 Subject: [PATCH 009/288] added the deleteTag(tag) command --- .../java/seedu/address/model/AddressBook.java | 23 +++++++++++++++++++ src/main/java/seedu/address/model/Model.java | 3 +++ .../seedu/address/model/ModelManager.java | 6 +++++ 3 files changed, 32 insertions(+) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index f8d0260de159..708e86ce5f79 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -184,4 +184,27 @@ public int hashCode() { // use this method for custom fields hashing instead of implementing your own return Objects.hash(persons, tags); } + + public void removeTag(Tag tag) throws DuplicatePersonException, PersonNotFoundException { + for(Person person : persons){ + removeTagFromPerson(tag, person); + } + + } + + private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundException, DuplicatePersonException { + Set listOfTags = new HashSet<>(person.getTags()); + + if(listOfTags.contains(tag)){ + listOfTags.remove(tag); + }else{ + return; + } + + Person updatedPerson = new Person(person.getName(), person.getPhone(), person.getEmail(), person.getAddress(), listOfTags); + + updatePerson(person, updatedPerson); + + + } } diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 4a6079ce0199..750831254a80 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -6,6 +6,7 @@ import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.tag.Tag; /** * The API of the Model component. @@ -45,4 +46,6 @@ void updatePerson(Person target, Person editedPerson) */ void updateFilteredPersonList(Predicate predicate); + void deleteTag(Tag tag) throws PersonNotFoundException, DuplicatePersonException; + } diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 22a7d0eb3f4d..651f04c4b502 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -15,6 +15,7 @@ import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.tag.Tag; /** * Represents the in-memory model of the address book data. @@ -116,4 +117,9 @@ public boolean equals(Object obj) { && filteredPersons.equals(other.filteredPersons); } + @Override + public void deleteTag(Tag tag) throws PersonNotFoundException, DuplicatePersonException { + addressBook.removeTag(tag); + } + } From 27c36f38e95f6f1bd7e37c4c580f53ee691b0996 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Wed, 7 Mar 2018 01:14:43 +0800 Subject: [PATCH 010/288] Added a few tests for AddressBook --- .../logic/commands/CommandTestUtil.java | 1 + .../seedu/address/model/AddressBookTest.java | 43 +++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/src/test/java/seedu/address/logic/commands/CommandTestUtil.java b/src/test/java/seedu/address/logic/commands/CommandTestUtil.java index 9a5679cc29b6..99b6457473cc 100644 --- a/src/test/java/seedu/address/logic/commands/CommandTestUtil.java +++ b/src/test/java/seedu/address/logic/commands/CommandTestUtil.java @@ -39,6 +39,7 @@ public class CommandTestUtil { public static final String VALID_ADDRESS_BOB = "Block 123, Bobby Street 3"; public static final String VALID_TAG_HUSBAND = "husband"; public static final String VALID_TAG_FRIEND = "friend"; + public static final String VALID_TAG_NOTUSED = "notused"; public static final String NAME_DESC_AMY = " " + PREFIX_NAME + VALID_NAME_AMY; public static final String NAME_DESC_BOB = " " + PREFIX_NAME + VALID_NAME_BOB; diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index bf26f68896b8..215045f25f62 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -1,7 +1,12 @@ package seedu.address.model; import static org.junit.Assert.assertEquals; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_NOTUSED; import static seedu.address.testutil.TypicalPersons.ALICE; +import static seedu.address.testutil.TypicalPersons.AMY; +import static seedu.address.testutil.TypicalPersons.BOB; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import java.util.ArrayList; @@ -17,7 +22,11 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; import seedu.address.model.person.Person; +import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.tag.Tag; +import seedu.address.testutil.AddressBookBuilder; +import seedu.address.testutil.PersonBuilder; public class AddressBookTest { @@ -91,4 +100,38 @@ public ObservableList getTagList() { } } + @Test + public void updatePerson_modifiedAddressBooks_noError() throws PersonNotFoundException, DuplicatePersonException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).build(); + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(AMY).build(); + + testAddressBook.updatePerson(BOB,AMY); + + assertEquals(testAddressBook, expectedAddressBook); + } + + @Test + public void removeTag_tagNotPresent_addressBookUnchanged() throws PersonNotFoundException, DuplicatePersonException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); + + testAddressBook.removeTag(new Tag(VALID_TAG_NOTUSED)); + + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); + + assertEquals(expectedAddressBook, testAddressBook); + } + + @Test + public void removeTag_tagUsedByMultiplePeople_tagRemoved() throws PersonNotFoundException, DuplicatePersonException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); + testAddressBook.removeTag(new Tag(VALID_TAG_FRIEND)); + + Person amyWithoutFriendTag = new PersonBuilder(AMY).withTags().build(); + Person bobWithoutFriendTag = new PersonBuilder(BOB).withTags(VALID_TAG_HUSBAND).build(); + + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(bobWithoutFriendTag).withPerson(amyWithoutFriendTag).build(); + + assertEquals(expectedAddressBook, testAddressBook); + } + } From 54d05a8692c8f84328c86e3258b4266d7442f91a Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Wed, 7 Mar 2018 01:23:48 +0800 Subject: [PATCH 011/288] Added tests for ModelManager --- .../seedu/address/model/ModelManagerTest.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/test/java/seedu/address/model/ModelManagerTest.java b/src/test/java/seedu/address/model/ModelManagerTest.java index 59ce1b83693a..56dfeb9a6836 100644 --- a/src/test/java/seedu/address/model/ModelManagerTest.java +++ b/src/test/java/seedu/address/model/ModelManagerTest.java @@ -1,10 +1,16 @@ package seedu.address.model; +import static junit.framework.TestCase.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_NOTUSED; import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; import static seedu.address.testutil.TypicalPersons.ALICE; +import static seedu.address.testutil.TypicalPersons.AMY; import static seedu.address.testutil.TypicalPersons.BENSON; +import static seedu.address.testutil.TypicalPersons.BOB; import java.util.Arrays; @@ -13,7 +19,12 @@ import org.junit.rules.ExpectedException; import seedu.address.model.person.NameContainsKeywordsPredicate; +import seedu.address.model.person.Person; +import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.tag.Tag; import seedu.address.testutil.AddressBookBuilder; +import seedu.address.testutil.PersonBuilder; public class ModelManagerTest { @Rule @@ -62,4 +73,29 @@ public void equals() { differentUserPrefs.setAddressBookName("differentName"); assertTrue(modelManager.equals(new ModelManager(addressBook, differentUserPrefs))); } + + @Test + public void deleteTag_tagNotPresent_modelUnchanged() throws DuplicatePersonException, PersonNotFoundException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(AMY).withPerson(BOB).build(); + UserPrefs userPrefs = new UserPrefs(); + ModelManager modelManager = new ModelManager(testAddressBook, userPrefs); + modelManager.deleteTag(new Tag(VALID_TAG_NOTUSED)); + + assertEquals(new ModelManager(testAddressBook, userPrefs), modelManager); + } + + + @Test + public void deleteTag_tagUsedByMultiplePeople_tagRemoved() throws DuplicatePersonException, PersonNotFoundException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(AMY).withPerson(BOB).build(); + UserPrefs userPrefs = new UserPrefs(); + ModelManager modelManager = new ModelManager(testAddressBook, userPrefs); + modelManager.deleteTag(new Tag(VALID_TAG_FRIEND)); + + Person amyWithoutFriendTag = new PersonBuilder(AMY).withTags().build(); + Person bobWithoutFriendTag = new PersonBuilder(BOB).withTags(VALID_TAG_HUSBAND).build(); + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(amyWithoutFriendTag).withPerson(bobWithoutFriendTag).build(); + + assertEquals(new ModelManager(expectedAddressBook, userPrefs), modelManager); + } } From f978088053a67710175e20abb330eae6455a67e9 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Wed, 7 Mar 2018 01:40:13 +0800 Subject: [PATCH 012/288] updated with temporary solution for the tags issue --- src/main/java/seedu/address/model/AddressBook.java | 10 ++++++++++ .../seedu/address/logic/commands/AddCommandTest.java | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 708e86ce5f79..5dc7e8862538 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -112,6 +112,16 @@ public void updatePerson(Person target, Person editedPerson) // This can cause the tags master list to have additional tags that are not tagged to any person // in the person list. persons.setPerson(target, syncedEditedPerson); + removeUnusedTags(); + } + + /** + * Removes all {@code Tag}s that are not used by any {@code Person} in this {@code AddressBook}. + */ + private void removeUnusedTags() { + Set tagsInPersons = persons.asObservableList().stream().map(Person::getTags).flatMap(Set::stream).collect(Collectors.toSet()); + + tags.setTags(tagsInPersons); } /** diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 461cf09d1217..8cc2ff9ba221 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -24,6 +24,7 @@ import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.tag.Tag; import seedu.address.testutil.PersonBuilder; public class AddCommandTest { @@ -133,6 +134,11 @@ public ObservableList getFilteredPersonList() { public void updateFilteredPersonList(Predicate predicate) { fail("This method should not be called."); } + + @Override + public void deleteTag(Tag tag) { + fail("This method should not be called."); + } } /** From 01587369c4c561521e614cd71b17632f71286145 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Wed, 7 Mar 2018 02:18:25 +0800 Subject: [PATCH 013/288] Corrected a few Checkstyle errors --- .../java/seedu/address/model/AddressBook.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 5dc7e8862538..f62396d33e1e 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -119,7 +119,8 @@ public void updatePerson(Person target, Person editedPerson) * Removes all {@code Tag}s that are not used by any {@code Person} in this {@code AddressBook}. */ private void removeUnusedTags() { - Set tagsInPersons = persons.asObservableList().stream().map(Person::getTags).flatMap(Set::stream).collect(Collectors.toSet()); + Set tagsInPersons = persons.asObservableList().stream().map(Person::getTags).flatMap(Set::stream) + .collect(Collectors.toSet()); tags.setTags(tagsInPersons); } @@ -195,23 +196,30 @@ public int hashCode() { return Objects.hash(persons, tags); } + /** + * Removes the particular tag for all people in the AddressBook }. + */ public void removeTag(Tag tag) throws DuplicatePersonException, PersonNotFoundException { - for(Person person : persons){ + for (Person person : persons) { removeTagFromPerson(tag, person); } } + /** + * Removes the particular tag for that particular person in the AddressBook }. + */ private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundException, DuplicatePersonException { Set listOfTags = new HashSet<>(person.getTags()); - if(listOfTags.contains(tag)){ + if (listOfTags.contains(tag)) { listOfTags.remove(tag); - }else{ + } else { return; } - Person updatedPerson = new Person(person.getName(), person.getPhone(), person.getEmail(), person.getAddress(), listOfTags); + Person updatedPerson = new Person(person.getName(), person.getPhone(), person.getEmail(), + person.getAddress(), listOfTags); updatePerson(person, updatedPerson); From d9a24f5c592dab8f84fe9abd0462aaa026174c3c Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Wed, 7 Mar 2018 02:27:09 +0800 Subject: [PATCH 014/288] Few more checkstyle errors corrected --- .../java/seedu/address/model/AddressBookTest.java | 11 +++++++---- .../java/seedu/address/model/ModelManagerTest.java | 10 ++++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 215045f25f62..5b0a51dff331 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -105,13 +105,14 @@ public void updatePerson_modifiedAddressBooks_noError() throws PersonNotFoundExc AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).build(); AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(AMY).build(); - testAddressBook.updatePerson(BOB,AMY); + testAddressBook.updatePerson(BOB, AMY); assertEquals(testAddressBook, expectedAddressBook); } @Test - public void removeTag_tagNotPresent_addressBookUnchanged() throws PersonNotFoundException, DuplicatePersonException { + public void removeTag_tagNotPresent_addressBookUnchanged() throws PersonNotFoundException, + DuplicatePersonException { AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); testAddressBook.removeTag(new Tag(VALID_TAG_NOTUSED)); @@ -122,14 +123,16 @@ public void removeTag_tagNotPresent_addressBookUnchanged() throws PersonNotFound } @Test - public void removeTag_tagUsedByMultiplePeople_tagRemoved() throws PersonNotFoundException, DuplicatePersonException { + public void removeTag_tagUsedByMultiplePeople_tagRemoved() throws PersonNotFoundException, + DuplicatePersonException { AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); testAddressBook.removeTag(new Tag(VALID_TAG_FRIEND)); Person amyWithoutFriendTag = new PersonBuilder(AMY).withTags().build(); Person bobWithoutFriendTag = new PersonBuilder(BOB).withTags(VALID_TAG_HUSBAND).build(); - AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(bobWithoutFriendTag).withPerson(amyWithoutFriendTag).build(); + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(bobWithoutFriendTag) + .withPerson(amyWithoutFriendTag).build(); assertEquals(expectedAddressBook, testAddressBook); } diff --git a/src/test/java/seedu/address/model/ModelManagerTest.java b/src/test/java/seedu/address/model/ModelManagerTest.java index 56dfeb9a6836..aba939ed547a 100644 --- a/src/test/java/seedu/address/model/ModelManagerTest.java +++ b/src/test/java/seedu/address/model/ModelManagerTest.java @@ -85,8 +85,9 @@ public void deleteTag_tagNotPresent_modelUnchanged() throws DuplicatePersonExcep } - @Test - public void deleteTag_tagUsedByMultiplePeople_tagRemoved() throws DuplicatePersonException, PersonNotFoundException { + @Test + public void deleteTag_tagUsedByMultiplePeople_tagRemoved() throws DuplicatePersonException, + PersonNotFoundException { AddressBook testAddressBook = new AddressBookBuilder().withPerson(AMY).withPerson(BOB).build(); UserPrefs userPrefs = new UserPrefs(); ModelManager modelManager = new ModelManager(testAddressBook, userPrefs); @@ -94,8 +95,9 @@ public void deleteTag_tagUsedByMultiplePeople_tagRemoved() throws DuplicatePerso Person amyWithoutFriendTag = new PersonBuilder(AMY).withTags().build(); Person bobWithoutFriendTag = new PersonBuilder(BOB).withTags(VALID_TAG_HUSBAND).build(); - AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(amyWithoutFriendTag).withPerson(bobWithoutFriendTag).build(); + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(amyWithoutFriendTag) + .withPerson(bobWithoutFriendTag).build(); assertEquals(new ModelManager(expectedAddressBook, userPrefs), modelManager); - } + } } From 2a45ffcbef6a594d89d0aa192692116dcd5248ae Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Wed, 7 Mar 2018 11:32:13 +0800 Subject: [PATCH 015/288] Add colors to tag labels --- .../java/seedu/address/ui/PersonCard.java | 29 ++++++++- src/main/resources/view/DarkTheme.css | 54 ++++++++++++++++ .../guitests/guihandles/PersonCardHandle.java | 11 ++++ .../address/ui/testutil/GuiTestAssert.java | 62 ++++++++++++++++++- 4 files changed, 153 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/address/ui/PersonCard.java b/src/main/java/seedu/address/ui/PersonCard.java index f6727ea83abd..27d3af733044 100644 --- a/src/main/java/seedu/address/ui/PersonCard.java +++ b/src/main/java/seedu/address/ui/PersonCard.java @@ -23,7 +23,11 @@ public class PersonCard extends UiPart { */ public final Person person; + //@@author Sisyphus25-reused + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + private static final String[] TAG_COLOR_STYLES = {"teal", "red", "yellow", "blue", "orange", "brown", "green", "pink", "black", "grey"}; + //@@author @FXML private HBox cardPane; @FXML @@ -47,9 +51,32 @@ public PersonCard(Person person, int displayedIndex) { phone.setText(person.getPhone().value); address.setText(person.getAddress().value); email.setText(person.getEmail().value); - person.getTags().forEach(tag -> tags.getChildren().add(new Label(tag.tagName))); + initTags(person); } + //@@author Sisyphus25-reused + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * Returns the color style for {@code tagName}'s label. + */ + private void initTags(Person person) { + person.getTags().forEach(tag -> { + Label tagLabel = new Label(tag.tagName); + tagLabel.getStyleClass().add(getTagColorStyle(tag.tagName)); + tags.getChildren().add(tagLabel); + }); + } + + /** + * Returns the color style for {@code tagName}'s label. + */ + private String getTagColorStyle(String tagName) { + // we use the hash code of the tag name to generate a random color, so that the color remain consistent + // between different runs of the program while still making it random enough between tags. + return TAG_COLOR_STYLES[Math.abs(tagName.hashCode()) % TAG_COLOR_STYLES.length]; + } + + //@@author @Override public boolean equals(Object other) { // short circuit if same object diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index d06336391cca..83619c0aa8fd 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -349,3 +349,57 @@ -fx-background-radius: 2; -fx-font-size: 11; } + +/* +@@author Sisyphus25-reused +Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + */ +#tags .teal { + -fx-text-fill: white; + -fx-background-color: #3e7b91; +} + +#tags .red { + -fx-text-fill: black; + -fx-background-color: red; +} + +#tags .yellow { + -fx-background-color: yellow; + -fx-text-fill: black; +} + +#tags .blue { + -fx-text-fill: white; + -fx-background-color: blue; +} + +#tags .orange { + -fx-text-fill: black; + -fx-background-color: orange; +} + +#tags .brown { + -fx-text-fill: white; + -fx-background-color: brown; +} + +#tags .green { + -fx-text-fill: black; + -fx-background-color: green; +} + +#tags .pink { + -fx-text-fill: black; + -fx-background-color: pink; +} + +#tags .black { + -fx-text-fill: white; + -fx-background-color: black; +} + +#tags .grey { + -fx-text-fill: black; + -fx-background-color: grey; +} diff --git a/src/test/java/guitests/guihandles/PersonCardHandle.java b/src/test/java/guitests/guihandles/PersonCardHandle.java index d337d3a4cee9..4ab7ba51ecb2 100644 --- a/src/test/java/guitests/guihandles/PersonCardHandle.java +++ b/src/test/java/guitests/guihandles/PersonCardHandle.java @@ -68,4 +68,15 @@ public List getTags() { .map(Label::getText) .collect(Collectors.toList()); } + + //@@author Sisyphus25-reused + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + public List getTagStyleClasses(String tag) { + return tagLabels + .stream() + .filter(label -> label.getText().equals(tag)) + .map(Label::getStyleClass) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("No such tag.")); + } } diff --git a/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java b/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java index d21cc2fb3739..8a922fe77d3c 100644 --- a/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java +++ b/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java @@ -1,7 +1,9 @@ package seedu.address.ui.testutil; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; +import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -9,11 +11,14 @@ import guitests.guihandles.PersonListPanelHandle; import guitests.guihandles.ResultDisplayHandle; import seedu.address.model.person.Person; +import seedu.address.ui.PersonCard; /** * A set of assertion methods useful for writing GUI tests. */ public class GuiTestAssert { + private static final String LABEL_DEFAULT_STYLE = "label"; + /** * Asserts that {@code actualCard} displays the same values as {@code expectedCard}. */ @@ -24,6 +29,9 @@ public static void assertCardEquals(PersonCardHandle expectedCard, PersonCardHan assertEquals(expectedCard.getName(), actualCard.getName()); assertEquals(expectedCard.getPhone(), actualCard.getPhone()); assertEquals(expectedCard.getTags(), actualCard.getTags()); + + expectedCard.getTags().forEach(tag -> + assertEquals(expectedCard.getTagStyleClasses(tag), actualCard.getTagStyleClasses(tag))); } /** @@ -34,10 +42,58 @@ public static void assertCardDisplaysPerson(Person expectedPerson, PersonCardHan assertEquals(expectedPerson.getPhone().value, actualCard.getPhone()); assertEquals(expectedPerson.getEmail().value, actualCard.getEmail()); assertEquals(expectedPerson.getAddress().value, actualCard.getAddress()); - assertEquals(expectedPerson.getTags().stream().map(tag -> tag.tagName).collect(Collectors.toList()), - actualCard.getTags()); + + assertTagsEqual(expectedPerson, actualCard); } + //@@author Sisyphus25-reused + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * Returns the color style for {@code tagName}'s label. The tag's color is determined by looking up the color + * in {@code PersonCard#TAG_COLOR_STYLES}, using an index generated by the hash code of the tag's content. + * + * @see PersonCard#getTagColorStyle(String) + */ + private static String getTagColorStyleFor(String tagName) { + switch (tagName) { + case "classmates": + case "owesMoney": + return "teal"; + + case "colleagues": + case "neighbours": + return "yellow"; + + case "family": + case "friend": + return "orange"; + + case "friends": + return "brown"; + + case "husband": + return "grey"; + + default: + fail(tagName + " does not have a color assigned."); + return ""; + } + } + + /** + * Asserts that the tags in {@code actualCard} matches all the tags in {@code expectedPerson} with the correct + * color. + */ + private static void assertTagsEqual(Person expectedPerson, PersonCardHandle actualCard) { + List expectedTags = expectedPerson.getTags().stream() + .map(tag -> tag.tagName).collect(Collectors.toList()); + assertEquals(expectedTags, actualCard.getTags()); + expectedTags.forEach(tag -> + assertEquals(Arrays.asList(LABEL_DEFAULT_STYLE, getTagColorStyleFor(tag)), + actualCard.getTagStyleClasses(tag))); + } + + //@@author /** * Asserts that the list in {@code personListPanelHandle} displays the details of {@code persons} correctly and * in the correct order. @@ -70,4 +126,6 @@ public static void assertListSize(PersonListPanelHandle personListPanelHandle, i public static void assertResultMessage(ResultDisplayHandle resultDisplayHandle, String expected) { assertEquals(expected, resultDisplayHandle.getText()); } + + } From 21825bf003ef6660bda756d9df1f10a68281d496 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Wed, 7 Mar 2018 16:54:17 +0800 Subject: [PATCH 016/288] Modify AddressBook so tag color can be written to storage --- .../address/logic/parser/ParserUtil.java | 2 +- .../java/seedu/address/model/tag/Tag.java | 56 +++++++++++++++++-- .../seedu/address/storage/XmlAdaptedTag.java | 22 +++++--- .../java/seedu/address/ui/PersonCard.java | 14 +---- .../invalidTagAddressBook.xml | 6 +- .../typicalPersonsAddressBook.xml | 25 +++++++-- .../data/XmlUtilTest/invalidPersonField.xml | 5 +- .../data/XmlUtilTest/missingPersonField.xml | 5 +- src/test/data/XmlUtilTest/validPerson.xml | 5 +- .../address/commons/util/XmlUtilTest.java | 3 +- .../logic/parser/AddCommandParserTest.java | 2 +- .../logic/parser/EditCommandParserTest.java | 11 ++-- .../address/storage/XmlAdaptedPersonTest.java | 5 +- .../systemtests/AddCommandSystemTest.java | 2 +- .../systemtests/EditCommandSystemTest.java | 2 +- 15 files changed, 119 insertions(+), 46 deletions(-) diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index 5d6d4ae3f7b1..bc24d3e77003 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -149,7 +149,7 @@ public static Tag parseTag(String tag) throws IllegalValueException { requireNonNull(tag); String trimmedTag = tag.trim(); if (!Tag.isValidTagName(trimmedTag)) { - throw new IllegalValueException(Tag.MESSAGE_TAG_CONSTRAINTS); + throw new IllegalValueException(Tag.MESSAGE_TAG_NAME_CONSTRAINTS); } return new Tag(trimmedTag); } diff --git a/src/main/java/seedu/address/model/tag/Tag.java b/src/main/java/seedu/address/model/tag/Tag.java index 65bdd769995d..d9bc528f968d 100644 --- a/src/main/java/seedu/address/model/tag/Tag.java +++ b/src/main/java/seedu/address/model/tag/Tag.java @@ -3,15 +3,23 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.AppUtil.checkArgument; +import java.util.Arrays; + /** * Represents a Tag in the address book. * Guarantees: immutable; name is valid as declared in {@link #isValidTagName(String)} */ public class Tag { - public static final String MESSAGE_TAG_CONSTRAINTS = "Tags names should be alphanumeric"; - public static final String TAG_VALIDATION_REGEX = "\\p{Alnum}+"; - + public static final String MESSAGE_TAG_NAME_CONSTRAINTS = "Tags names should be alphanumeric"; + public static final String MESSAGE_TAG_COLOR_STYLE_CONSTRAINTS = "Tag color style is invalid or not supported"; + private static final String TAG_VALIDATION_REGEX = "\\p{Alnum}+"; + //@@author Sisyphus25-reused + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + private static final String[] TAG_COLOR_STYLES = {"teal", "red", "yellow", "blue", "orange", "brown", + "green", "pink", "black", "grey"}; + //@@author + public final String tagColorStyle; public final String tagName; /** @@ -20,9 +28,27 @@ public class Tag { * @param tagName A valid tag name. */ public Tag(String tagName) { + this(tagName, "default"); + } + + /** + * Constructs a {@code Tag}. + * + * @param tagName A valid tag name. + * @param tagColorStyle A valid tag color style + */ + public Tag(String tagName, String tagColorStyle) { requireNonNull(tagName); - checkArgument(isValidTagName(tagName), MESSAGE_TAG_CONSTRAINTS); + requireNonNull(tagColorStyle); + + if (tagColorStyle.equals("default")) { + tagColorStyle = getTagColorStyle(tagName); + } + + checkArgument(isValidTagName(tagName), MESSAGE_TAG_NAME_CONSTRAINTS); + checkArgument(isValidTagColorStyle(tagColorStyle), MESSAGE_TAG_COLOR_STYLE_CONSTRAINTS); this.tagName = tagName; + this.tagColorStyle = tagColorStyle; } /** @@ -32,11 +58,19 @@ public static boolean isValidTagName(String test) { return test.matches(TAG_VALIDATION_REGEX); } + /** + * Returns true if a given string is a valid tag color style. + */ + public static boolean isValidTagColorStyle(String tagColorStyle) { + return Arrays.asList(TAG_COLOR_STYLES).contains(tagColorStyle); + } + @Override public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof Tag // instanceof handles nulls - && this.tagName.equals(((Tag) other).tagName)); // state check + && this.tagName.equals(((Tag) other).tagName) + && this.tagColorStyle.equals(((Tag) other).tagColorStyle)); // state check } @Override @@ -51,4 +85,16 @@ public String toString() { return '[' + tagName + ']'; } + //@@author Sisyphus25-reused + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * Returns the color style for {@code tagName}'s label. + */ + private String getTagColorStyle(String tagName) { + // we use the hash code of the tag name to generate a random color, so that the color remain consistent + // between different runs of the program while still making it random enough between tags. + return TAG_COLOR_STYLES[Math.abs(tagName.hashCode()) % TAG_COLOR_STYLES.length]; + } + + } diff --git a/src/main/java/seedu/address/storage/XmlAdaptedTag.java b/src/main/java/seedu/address/storage/XmlAdaptedTag.java index d3e2d8be9c4f..127cfd72dfc3 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedTag.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedTag.java @@ -1,6 +1,6 @@ package seedu.address.storage; -import javax.xml.bind.annotation.XmlValue; +import javax.xml.bind.annotation.XmlElement; import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.tag.Tag; @@ -10,8 +10,10 @@ */ public class XmlAdaptedTag { - @XmlValue + @XmlElement(required = true) private String tagName; + @XmlElement(required = true) + private String tagColorStyle; /** * Constructs an XmlAdaptedTag. @@ -20,10 +22,11 @@ public class XmlAdaptedTag { public XmlAdaptedTag() {} /** - * Constructs a {@code XmlAdaptedTag} with the given {@code tagName}. + * Constructs a {@code XmlAdaptedTag} with the given {@code tagName and tagColorStyle}. */ - public XmlAdaptedTag(String tagName) { + public XmlAdaptedTag(String tagName, String tagColorStyle) { this.tagName = tagName; + this.tagColorStyle = tagColorStyle; } /** @@ -33,6 +36,7 @@ public XmlAdaptedTag(String tagName) { */ public XmlAdaptedTag(Tag source) { tagName = source.tagName; + tagColorStyle = source.tagColorStyle; } /** @@ -42,9 +46,12 @@ public XmlAdaptedTag(Tag source) { */ public Tag toModelType() throws IllegalValueException { if (!Tag.isValidTagName(tagName)) { - throw new IllegalValueException(Tag.MESSAGE_TAG_CONSTRAINTS); + throw new IllegalValueException(Tag.MESSAGE_TAG_NAME_CONSTRAINTS); } - return new Tag(tagName); + if (!Tag.isValidTagColorStyle(tagColorStyle)) { + throw new IllegalValueException(Tag.MESSAGE_TAG_COLOR_STYLE_CONSTRAINTS); + } + return new Tag(tagName, tagColorStyle); } @Override @@ -57,6 +64,7 @@ public boolean equals(Object other) { return false; } - return tagName.equals(((XmlAdaptedTag) other).tagName); + return tagName.equals(((XmlAdaptedTag) other).tagName) + && tagColorStyle.equals(((XmlAdaptedTag) other).tagColorStyle); } } diff --git a/src/main/java/seedu/address/ui/PersonCard.java b/src/main/java/seedu/address/ui/PersonCard.java index 27d3af733044..e1b278f19c96 100644 --- a/src/main/java/seedu/address/ui/PersonCard.java +++ b/src/main/java/seedu/address/ui/PersonCard.java @@ -23,9 +23,6 @@ public class PersonCard extends UiPart { */ public final Person person; - //@@author Sisyphus25-reused - //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - private static final String[] TAG_COLOR_STYLES = {"teal", "red", "yellow", "blue", "orange", "brown", "green", "pink", "black", "grey"}; //@@author @FXML @@ -62,20 +59,11 @@ public PersonCard(Person person, int displayedIndex) { private void initTags(Person person) { person.getTags().forEach(tag -> { Label tagLabel = new Label(tag.tagName); - tagLabel.getStyleClass().add(getTagColorStyle(tag.tagName)); + tagLabel.getStyleClass().add(tag.tagColorStyle); tags.getChildren().add(tagLabel); }); } - /** - * Returns the color style for {@code tagName}'s label. - */ - private String getTagColorStyle(String tagName) { - // we use the hash code of the tag name to generate a random color, so that the color remain consistent - // between different runs of the program while still making it random enough between tags. - return TAG_COLOR_STYLES[Math.abs(tagName.hashCode()) % TAG_COLOR_STYLES.length]; - } - //@@author @Override public boolean equals(Object other) { diff --git a/src/test/data/XmlSerializableAddressBookTest/invalidTagAddressBook.xml b/src/test/data/XmlSerializableAddressBookTest/invalidTagAddressBook.xml index 5fa697c22c4c..9a1ae610cc5c 100644 --- a/src/test/data/XmlSerializableAddressBookTest/invalidTagAddressBook.xml +++ b/src/test/data/XmlSerializableAddressBookTest/invalidTagAddressBook.xml @@ -1,5 +1,7 @@ - - frie!nds + + frie!nds + brown + diff --git a/src/test/data/XmlSerializableAddressBookTest/typicalPersonsAddressBook.xml b/src/test/data/XmlSerializableAddressBookTest/typicalPersonsAddressBook.xml index c778cccc4c89..d238d0401989 100644 --- a/src/test/data/XmlSerializableAddressBookTest/typicalPersonsAddressBook.xml +++ b/src/test/data/XmlSerializableAddressBookTest/typicalPersonsAddressBook.xml @@ -7,15 +7,24 @@ 85355255 alice@example.com
123, Jurong West Ave 6, #08-111
- friends + + friends + brown + Benson Meier 98765432 johnd@example.com
311, Clementi Ave 2, #02-25
- owesMoney - friends + + owesMoney + teal + + + friends + brown +
Carl Kurz @@ -47,6 +56,12 @@ anna@example.com
4th street
- friends - owesMoney + + owesMoney + teal + + + friends + brown + diff --git a/src/test/data/XmlUtilTest/invalidPersonField.xml b/src/test/data/XmlUtilTest/invalidPersonField.xml index ba49c971e884..039175d5bb31 100644 --- a/src/test/data/XmlUtilTest/invalidPersonField.xml +++ b/src/test/data/XmlUtilTest/invalidPersonField.xml @@ -5,5 +5,8 @@ 9482asf424 hans@example
4th street
- friends + + classmates + teal +
diff --git a/src/test/data/XmlUtilTest/missingPersonField.xml b/src/test/data/XmlUtilTest/missingPersonField.xml index c0da5c86d080..2739e7077b65 100644 --- a/src/test/data/XmlUtilTest/missingPersonField.xml +++ b/src/test/data/XmlUtilTest/missingPersonField.xml @@ -4,5 +4,8 @@ 9482424 hans@example
4th street
- friends + + classmates + teal +
diff --git a/src/test/data/XmlUtilTest/validPerson.xml b/src/test/data/XmlUtilTest/validPerson.xml index c029008d54f4..e10997e8f5f5 100644 --- a/src/test/data/XmlUtilTest/validPerson.xml +++ b/src/test/data/XmlUtilTest/validPerson.xml @@ -4,5 +4,8 @@ 9482424 hans@example
4th street
- friends + + classmates + teal +
diff --git a/src/test/java/seedu/address/commons/util/XmlUtilTest.java b/src/test/java/seedu/address/commons/util/XmlUtilTest.java index 56b6ef8f40d3..8a058f551612 100644 --- a/src/test/java/seedu/address/commons/util/XmlUtilTest.java +++ b/src/test/java/seedu/address/commons/util/XmlUtilTest.java @@ -39,7 +39,8 @@ public class XmlUtilTest { private static final String VALID_PHONE = "9482424"; private static final String VALID_EMAIL = "hans@example"; private static final String VALID_ADDRESS = "4th street"; - private static final List VALID_TAGS = Collections.singletonList(new XmlAdaptedTag("friends")); + private static final List VALID_TAGS = Collections.singletonList( + new XmlAdaptedTag("classmates", "teal")); @Rule public ExpectedException thrown = ExpectedException.none(); diff --git a/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java b/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java index c9a350c09657..741e3beacf1a 100644 --- a/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java @@ -132,7 +132,7 @@ public void parse_invalidValue_failure() { // invalid tag assertParseFailure(parser, NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB + ADDRESS_DESC_BOB - + INVALID_TAG_DESC + VALID_TAG_FRIEND, Tag.MESSAGE_TAG_CONSTRAINTS); + + INVALID_TAG_DESC + VALID_TAG_FRIEND, Tag.MESSAGE_TAG_NAME_CONSTRAINTS); // two invalid values, only first invalid value reported assertParseFailure(parser, INVALID_NAME_DESC + PHONE_DESC_BOB + EMAIL_DESC_BOB + INVALID_ADDRESS_DESC, diff --git a/src/test/java/seedu/address/logic/parser/EditCommandParserTest.java b/src/test/java/seedu/address/logic/parser/EditCommandParserTest.java index 24c138b41a7f..b72fafad5e88 100644 --- a/src/test/java/seedu/address/logic/parser/EditCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/EditCommandParserTest.java @@ -85,7 +85,7 @@ public void parse_invalidValue_failure() { assertParseFailure(parser, "1" + INVALID_PHONE_DESC, Phone.MESSAGE_PHONE_CONSTRAINTS); // invalid phone assertParseFailure(parser, "1" + INVALID_EMAIL_DESC, Email.MESSAGE_EMAIL_CONSTRAINTS); // invalid email assertParseFailure(parser, "1" + INVALID_ADDRESS_DESC, Address.MESSAGE_ADDRESS_CONSTRAINTS); // invalid address - assertParseFailure(parser, "1" + INVALID_TAG_DESC, Tag.MESSAGE_TAG_CONSTRAINTS); // invalid tag + assertParseFailure(parser, "1" + INVALID_TAG_DESC, Tag.MESSAGE_TAG_NAME_CONSTRAINTS); // invalid tag // invalid phone followed by valid email assertParseFailure(parser, "1" + INVALID_PHONE_DESC + EMAIL_DESC_AMY, Phone.MESSAGE_PHONE_CONSTRAINTS); @@ -96,9 +96,12 @@ public void parse_invalidValue_failure() { // while parsing {@code PREFIX_TAG} alone will reset the tags of the {@code Person} being edited, // parsing it together with a valid tag results in error - assertParseFailure(parser, "1" + TAG_DESC_FRIEND + TAG_DESC_HUSBAND + TAG_EMPTY, Tag.MESSAGE_TAG_CONSTRAINTS); - assertParseFailure(parser, "1" + TAG_DESC_FRIEND + TAG_EMPTY + TAG_DESC_HUSBAND, Tag.MESSAGE_TAG_CONSTRAINTS); - assertParseFailure(parser, "1" + TAG_EMPTY + TAG_DESC_FRIEND + TAG_DESC_HUSBAND, Tag.MESSAGE_TAG_CONSTRAINTS); + assertParseFailure(parser, "1" + TAG_DESC_FRIEND + TAG_DESC_HUSBAND + TAG_EMPTY, + Tag.MESSAGE_TAG_NAME_CONSTRAINTS); + assertParseFailure(parser, "1" + TAG_DESC_FRIEND + TAG_EMPTY + TAG_DESC_HUSBAND, + Tag.MESSAGE_TAG_NAME_CONSTRAINTS); + assertParseFailure(parser, "1" + TAG_EMPTY + TAG_DESC_FRIEND + TAG_DESC_HUSBAND, + Tag.MESSAGE_TAG_NAME_CONSTRAINTS); // multiple invalid values, but only the first invalid value is captured assertParseFailure(parser, "1" + INVALID_NAME_DESC + INVALID_EMAIL_DESC + VALID_ADDRESS_AMY + VALID_PHONE_AMY, diff --git a/src/test/java/seedu/address/storage/XmlAdaptedPersonTest.java b/src/test/java/seedu/address/storage/XmlAdaptedPersonTest.java index c3c91a5c27a7..0e70c3b00ca8 100644 --- a/src/test/java/seedu/address/storage/XmlAdaptedPersonTest.java +++ b/src/test/java/seedu/address/storage/XmlAdaptedPersonTest.java @@ -22,7 +22,8 @@ public class XmlAdaptedPersonTest { private static final String INVALID_PHONE = "+651234"; private static final String INVALID_ADDRESS = " "; private static final String INVALID_EMAIL = "example.com"; - private static final String INVALID_TAG = "#friend"; + private static final String INVALID_TAG_NAME = "#friend"; + private static final String INVALID_TAG_COLOR_STYLE = "notacolor"; private static final String VALID_NAME = BENSON.getName().toString(); private static final String VALID_PHONE = BENSON.getPhone().toString(); @@ -101,7 +102,7 @@ public void toModelType_nullAddress_throwsIllegalValueException() { @Test public void toModelType_invalidTags_throwsIllegalValueException() { List invalidTags = new ArrayList<>(VALID_TAGS); - invalidTags.add(new XmlAdaptedTag(INVALID_TAG)); + invalidTags.add(new XmlAdaptedTag(INVALID_TAG_NAME, INVALID_TAG_COLOR_STYLE)); XmlAdaptedPerson person = new XmlAdaptedPerson(VALID_NAME, VALID_PHONE, VALID_EMAIL, VALID_ADDRESS, invalidTags); Assert.assertThrows(IllegalValueException.class, person::toModelType); diff --git a/src/test/java/systemtests/AddCommandSystemTest.java b/src/test/java/systemtests/AddCommandSystemTest.java index 3254b60154c4..74ec0fe70e5a 100644 --- a/src/test/java/systemtests/AddCommandSystemTest.java +++ b/src/test/java/systemtests/AddCommandSystemTest.java @@ -184,7 +184,7 @@ public void add() throws Exception { /* Case: invalid tag -> rejected */ command = AddCommand.COMMAND_WORD + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY + INVALID_TAG_DESC; - assertCommandFailure(command, Tag.MESSAGE_TAG_CONSTRAINTS); + assertCommandFailure(command, Tag.MESSAGE_TAG_NAME_CONSTRAINTS); } /** diff --git a/src/test/java/systemtests/EditCommandSystemTest.java b/src/test/java/systemtests/EditCommandSystemTest.java index 820933203dd9..01f03abf25b1 100644 --- a/src/test/java/systemtests/EditCommandSystemTest.java +++ b/src/test/java/systemtests/EditCommandSystemTest.java @@ -171,7 +171,7 @@ public void edit() throws Exception { /* Case: invalid tag -> rejected */ assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased() + INVALID_TAG_DESC, - Tag.MESSAGE_TAG_CONSTRAINTS); + Tag.MESSAGE_TAG_NAME_CONSTRAINTS); /* Case: edit a person with new values same as another person's values -> rejected */ executeCommand(PersonUtil.getAddCommand(BOB)); From a2a7610e4af6f9c40e4be299e0e0ce5ff54e97c8 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Wed, 7 Mar 2018 18:03:29 +0800 Subject: [PATCH 017/288] Modify test case to accommodate writing of tag color to storage --- .../guitests/guihandles/PersonCardHandle.java | 2 +- .../address/ui/testutil/GuiTestAssert.java | 52 +++---------------- 2 files changed, 9 insertions(+), 45 deletions(-) diff --git a/src/test/java/guitests/guihandles/PersonCardHandle.java b/src/test/java/guitests/guihandles/PersonCardHandle.java index 4ab7ba51ecb2..d182d152dcc5 100644 --- a/src/test/java/guitests/guihandles/PersonCardHandle.java +++ b/src/test/java/guitests/guihandles/PersonCardHandle.java @@ -62,7 +62,7 @@ public String getEmail() { return emailLabel.getText(); } - public List getTags() { + public List getTagsNames() { return tagLabels .stream() .map(Label::getText) diff --git a/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java b/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java index 8a922fe77d3c..0f7f2cb77f5e 100644 --- a/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java +++ b/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java @@ -1,7 +1,6 @@ package seedu.address.ui.testutil; import static org.junit.Assert.assertEquals; -import static org.junit.Assert.fail; import java.util.Arrays; import java.util.List; @@ -11,7 +10,6 @@ import guitests.guihandles.PersonListPanelHandle; import guitests.guihandles.ResultDisplayHandle; import seedu.address.model.person.Person; -import seedu.address.ui.PersonCard; /** * A set of assertion methods useful for writing GUI tests. @@ -28,9 +26,9 @@ public static void assertCardEquals(PersonCardHandle expectedCard, PersonCardHan assertEquals(expectedCard.getEmail(), actualCard.getEmail()); assertEquals(expectedCard.getName(), actualCard.getName()); assertEquals(expectedCard.getPhone(), actualCard.getPhone()); - assertEquals(expectedCard.getTags(), actualCard.getTags()); + assertEquals(expectedCard.getTagsNames(), actualCard.getTagsNames()); - expectedCard.getTags().forEach(tag -> + expectedCard.getTagsNames().forEach(tag -> assertEquals(expectedCard.getTagStyleClasses(tag), actualCard.getTagStyleClasses(tag))); } @@ -46,54 +44,20 @@ public static void assertCardDisplaysPerson(Person expectedPerson, PersonCardHan assertTagsEqual(expectedPerson, actualCard); } - //@@author Sisyphus25-reused - //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - /** - * Returns the color style for {@code tagName}'s label. The tag's color is determined by looking up the color - * in {@code PersonCard#TAG_COLOR_STYLES}, using an index generated by the hash code of the tag's content. - * - * @see PersonCard#getTagColorStyle(String) - */ - private static String getTagColorStyleFor(String tagName) { - switch (tagName) { - case "classmates": - case "owesMoney": - return "teal"; - - case "colleagues": - case "neighbours": - return "yellow"; - - case "family": - case "friend": - return "orange"; - - case "friends": - return "brown"; - - case "husband": - return "grey"; - - default: - fail(tagName + " does not have a color assigned."); - return ""; - } - } - /** * Asserts that the tags in {@code actualCard} matches all the tags in {@code expectedPerson} with the correct * color. */ private static void assertTagsEqual(Person expectedPerson, PersonCardHandle actualCard) { - List expectedTags = expectedPerson.getTags().stream() + List expectedTagsNames = expectedPerson.getTags().stream() .map(tag -> tag.tagName).collect(Collectors.toList()); - assertEquals(expectedTags, actualCard.getTags()); - expectedTags.forEach(tag -> - assertEquals(Arrays.asList(LABEL_DEFAULT_STYLE, getTagColorStyleFor(tag)), - actualCard.getTagStyleClasses(tag))); + assertEquals(expectedTagsNames, actualCard.getTagsNames()); + expectedPerson.getTags().forEach(tag -> + assertEquals(Arrays.asList(LABEL_DEFAULT_STYLE, tag.tagColorStyle), + actualCard.getTagStyleClasses(tag.tagName)) + ); } - //@@author /** * Asserts that the list in {@code personListPanelHandle} displays the details of {@code persons} correctly and * in the correct order. From ca84cbcfbde9131716339af22739941b7a81a279 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Thu, 8 Mar 2018 02:50:34 +0800 Subject: [PATCH 018/288] Fixing comment --- src/main/java/seedu/address/model/tag/Tag.java | 2 +- src/main/java/seedu/address/storage/XmlAdaptedTag.java | 2 +- src/test/java/guitests/guihandles/PersonCardHandle.java | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/address/model/tag/Tag.java b/src/main/java/seedu/address/model/tag/Tag.java index d9bc528f968d..8bf369795344 100644 --- a/src/main/java/seedu/address/model/tag/Tag.java +++ b/src/main/java/seedu/address/model/tag/Tag.java @@ -88,7 +88,7 @@ public String toString() { //@@author Sisyphus25-reused //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c /** - * Returns the color style for {@code tagName}'s label. + * Returns a color style for {@code tagName} */ private String getTagColorStyle(String tagName) { // we use the hash code of the tag name to generate a random color, so that the color remain consistent diff --git a/src/main/java/seedu/address/storage/XmlAdaptedTag.java b/src/main/java/seedu/address/storage/XmlAdaptedTag.java index 127cfd72dfc3..176d18c3c8de 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedTag.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedTag.java @@ -22,7 +22,7 @@ public class XmlAdaptedTag { public XmlAdaptedTag() {} /** - * Constructs a {@code XmlAdaptedTag} with the given {@code tagName and tagColorStyle}. + * Constructs a {@code XmlAdaptedTag} with the given {@code tagName} and {@code tagColorStyle}. */ public XmlAdaptedTag(String tagName, String tagColorStyle) { this.tagName = tagName; diff --git a/src/test/java/guitests/guihandles/PersonCardHandle.java b/src/test/java/guitests/guihandles/PersonCardHandle.java index d182d152dcc5..67867a7306bb 100644 --- a/src/test/java/guitests/guihandles/PersonCardHandle.java +++ b/src/test/java/guitests/guihandles/PersonCardHandle.java @@ -71,6 +71,11 @@ public List getTagsNames() { //@@author Sisyphus25-reused //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * + * @param tag Text value of the tag label + * @return List of style classes for tag label with text value {@code tag} + */ public List getTagStyleClasses(String tag) { return tagLabels .stream() From 5a9b5b70234e53212aefff85c41020b1d1ba760e Mon Sep 17 00:00:00 2001 From: randypx Date: Fri, 9 Mar 2018 23:58:14 +0800 Subject: [PATCH 019/288] created Student class --- .../seedu/address/model/person/Student.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/main/java/seedu/address/model/person/Student.java diff --git a/src/main/java/seedu/address/model/person/Student.java b/src/main/java/seedu/address/model/person/Student.java new file mode 100644 index 000000000000..0ae1623b1d62 --- /dev/null +++ b/src/main/java/seedu/address/model/person/Student.java @@ -0,0 +1,21 @@ +package seedu.address.model.person; + +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + +import java.util.Set; + +import seedu.address.model.tag.Tag; + +/** + * Represents a Student in the address book. + * Guarantees: details are present and not null, field values are validated, immutable. + */ +public class Student extends Person { + + /** + * Every field must be present and not null. + */ + public Student(Name name, Phone phone, Email email, Address address, Set tags) { + super(name, phone, email, address, tags); + } +} From 7174192b57bc6e78cbb1c5646fcb921fd2ca57d7 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Sat, 10 Mar 2018 15:44:05 +0800 Subject: [PATCH 020/288] codacy badge removed from Readme.adoc --- README.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/README.adoc b/README.adoc index 091e3f18ca43..fd9b3725507c 100644 --- a/README.adoc +++ b/README.adoc @@ -4,7 +4,6 @@ ifdef::env-github,env-browser[:relfileprefix: docs/] https://travis-ci.org/CS2103JAN2018-W14-B1/main[https://travis-ci.org/CS2103JAN2018-W14-B1/main.svg?branch=master[Build Status]] https://ci.appveyor.com/project/damithc/addressbook-level4[image:https://ci.appveyor.com/api/projects/status/3boko2x2vr5cc3w2?svg=true[Build status]] https://coveralls.io/github/CS2103JAN2018-W14-B1/main?branch=master[image:https://coveralls.io/repos/github/CS2103JAN2018-W14-B1/main/badge.svg?branch=master[Coverage Status]] -https://www.codacy.com/app/damith/addressbook-level4?utm_source=github.com&utm_medium=referral&utm_content=se-edu/addressbook-level4&utm_campaign=Badge_Grade[image:https://api.codacy.com/project/badge/Grade/fc0b7775cf7f4fdeaf08776f3d8e364a[Codacy Badge]] https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]] ifdef::env-github[] From fe97d34aa4a64830fd2b1bd2a82a271cf3de3179 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi Date: Sat, 10 Mar 2018 15:57:41 +0800 Subject: [PATCH 021/288] Updated the link for travis build coverage badge --- README.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.adoc b/README.adoc index fd9b3725507c..de5f2204b7fd 100644 --- a/README.adoc +++ b/README.adoc @@ -1,7 +1,7 @@ = Address Book (Level 4) ifdef::env-github,env-browser[:relfileprefix: docs/] -https://travis-ci.org/CS2103JAN2018-W14-B1/main[https://travis-ci.org/CS2103JAN2018-W14-B1/main.svg?branch=master[Build Status]] +https://travis-ci.org/CS2103JAN2018-W14-B1/main[image:https://travis-ci.org/CS2103JAN2018-W14-B1/main.svg?branch=master[Build Status]] https://ci.appveyor.com/project/damithc/addressbook-level4[image:https://ci.appveyor.com/api/projects/status/3boko2x2vr5cc3w2?svg=true[Build status]] https://coveralls.io/github/CS2103JAN2018-W14-B1/main?branch=master[image:https://coveralls.io/repos/github/CS2103JAN2018-W14-B1/main/badge.svg?branch=master[Coverage Status]] https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]] From a8dfce5e92f462ccce229167751d5b4ae224cd5f Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 10 Mar 2018 18:00:05 +0800 Subject: [PATCH 022/288] Edited add command to be able to add a student or a defualt person --- .../address/logic/commands/AddCommand.java | 23 ++++++++++++------- .../logic/parser/AddCommandParser.java | 18 ++++++++++++--- 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/AddCommand.java b/src/main/java/seedu/address/logic/commands/AddCommand.java index c334710c0ea3..e27f543e667a 100644 --- a/src/main/java/seedu/address/logic/commands/AddCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddCommand.java @@ -9,6 +9,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.person.Person; +import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; /** @@ -20,20 +21,22 @@ public class AddCommand extends UndoableCommand { public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a person to the address book. " + "Parameters: " + + " [TYPE] " + PREFIX_NAME + "NAME " + PREFIX_PHONE + "PHONE " + PREFIX_EMAIL + "EMAIL " + PREFIX_ADDRESS + "ADDRESS " + "[" + PREFIX_TAG + "TAG]...\n" - + "Example: " + COMMAND_WORD + " " - + PREFIX_NAME + "John Doe " + + "Example: " + COMMAND_WORD + + " student " + + PREFIX_NAME + " Mary Jane " + PREFIX_PHONE + "98765432 " - + PREFIX_EMAIL + "johnd@example.com " - + PREFIX_ADDRESS + "311, Clementi Ave 2, #02-25 " - + PREFIX_TAG + "friends " - + PREFIX_TAG + "owesMoney"; + + PREFIX_EMAIL + "MJ@example.com " + + PREFIX_ADDRESS + "478, Pasir Ris, #03-12 " + + PREFIX_TAG + "AStar"; - public static final String MESSAGE_SUCCESS = "New person added: %1$s"; + public static final String MESSAGE_ADD_PERSON_SUCCESS = "New person added: %1$s"; + public static final String MESSAGE_ADD_STUDENT_SUCCESS = "New student added: %1$s"; public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book"; private final Person toAdd; @@ -51,7 +54,11 @@ public CommandResult executeUndoableCommand() throws CommandException { requireNonNull(model); try { model.addPerson(toAdd); - return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); + if(toAdd instanceof Student) { + return new CommandResult(String.format(MESSAGE_ADD_STUDENT_SUCCESS, toAdd)); + } else { + return new CommandResult(String.format(MESSAGE_ADD_PERSON_SUCCESS, toAdd)); + } } catch (DuplicatePersonException e) { throw new CommandException(MESSAGE_DUPLICATE_PERSON); } diff --git a/src/main/java/seedu/address/logic/parser/AddCommandParser.java b/src/main/java/seedu/address/logic/parser/AddCommandParser.java index 3c729b388554..29ad7c150995 100644 --- a/src/main/java/seedu/address/logic/parser/AddCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/AddCommandParser.java @@ -18,6 +18,7 @@ import seedu.address.model.person.Name; import seedu.address.model.person.Person; import seedu.address.model.person.Phone; +import seedu.address.model.person.Student; import seedu.address.model.tag.Tag; /** @@ -25,6 +26,8 @@ */ public class AddCommandParser implements Parser { + public static final String MESSAGE_INVALID_TYPE = "Type must be student or defualt(empty)."; + /** * Parses the given {@code String} of arguments in the context of the AddCommand * and returns an AddCommand object for execution. @@ -34,8 +37,9 @@ public AddCommand parse(String args) throws ParseException { ArgumentMultimap argMultimap = ArgumentTokenizer.tokenize(args, PREFIX_NAME, PREFIX_PHONE, PREFIX_EMAIL, PREFIX_ADDRESS, PREFIX_TAG); + String[] preambleArgs = argMultimap.getPreamble().split(" "); if (!arePrefixesPresent(argMultimap, PREFIX_NAME, PREFIX_ADDRESS, PREFIX_PHONE, PREFIX_EMAIL) - || !argMultimap.getPreamble().isEmpty()) { + || preambleArgs.length > 1) { throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddCommand.MESSAGE_USAGE)); } @@ -46,9 +50,17 @@ public AddCommand parse(String args) throws ParseException { Address address = ParserUtil.parseAddress(argMultimap.getValue(PREFIX_ADDRESS)).get(); Set tagList = ParserUtil.parseTags(argMultimap.getAllValues(PREFIX_TAG)); - Person person = new Person(name, phone, email, address, tagList); + switch (preambleArgs[0]) { + case "": + return new AddCommand(new Person(name, phone, email, address, tagList)); + + case "student": + return new AddCommand(new Student(name, phone, email, address, tagList)); + + default: + throw new IllegalValueException(MESSAGE_INVALID_TYPE); + } - return new AddCommand(person); } catch (IllegalValueException ive) { throw new ParseException(ive.getMessage(), ive); } From ee42de691765fed8962305bde2d6fc7e9a0e6505 Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 10 Mar 2018 18:00:23 +0800 Subject: [PATCH 023/288] updated current test cases --- .../address/logic/commands/AddCommandIntegrationTest.java | 2 +- src/test/java/seedu/address/logic/commands/AddCommandTest.java | 2 +- .../java/seedu/address/logic/parser/AddCommandParserTest.java | 3 ++- src/test/java/systemtests/AddCommandSystemTest.java | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/test/java/seedu/address/logic/commands/AddCommandIntegrationTest.java b/src/test/java/seedu/address/logic/commands/AddCommandIntegrationTest.java index d3ff5043e126..8de9ff300fe3 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandIntegrationTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandIntegrationTest.java @@ -35,7 +35,7 @@ public void execute_newPerson_success() throws Exception { expectedModel.addPerson(validPerson); assertCommandSuccess(prepareCommand(validPerson, model), model, - String.format(AddCommand.MESSAGE_SUCCESS, validPerson), expectedModel); + String.format(AddCommand.MESSAGE_ADD_PERSON_SUCCESS, validPerson), expectedModel); } @Test diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 8cc2ff9ba221..b4a0454c7bb5 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -45,7 +45,7 @@ public void execute_personAcceptedByModel_addSuccessful() throws Exception { CommandResult commandResult = getAddCommandForPerson(validPerson, modelStub).execute(); - assertEquals(String.format(AddCommand.MESSAGE_SUCCESS, validPerson), commandResult.feedbackToUser); + assertEquals(String.format(AddCommand.MESSAGE_ADD_PERSON_SUCCESS, validPerson), commandResult.feedbackToUser); assertEquals(Arrays.asList(validPerson), modelStub.personsAdded); } diff --git a/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java b/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java index 741e3beacf1a..291878e3b682 100644 --- a/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java @@ -28,6 +28,7 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_BOB; import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; +import static seedu.address.logic.parser.AddCommandParser.MESSAGE_INVALID_TYPE; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; @@ -141,6 +142,6 @@ public void parse_invalidValue_failure() { // non-empty preamble assertParseFailure(parser, PREAMBLE_NON_EMPTY + NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB + ADDRESS_DESC_BOB + TAG_DESC_HUSBAND + TAG_DESC_FRIEND, - String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddCommand.MESSAGE_USAGE)); + String.format(MESSAGE_INVALID_TYPE)); } } diff --git a/src/test/java/systemtests/AddCommandSystemTest.java b/src/test/java/systemtests/AddCommandSystemTest.java index 74ec0fe70e5a..608c2ade2371 100644 --- a/src/test/java/systemtests/AddCommandSystemTest.java +++ b/src/test/java/systemtests/AddCommandSystemTest.java @@ -217,7 +217,7 @@ private void assertCommandSuccess(String command, Person toAdd) { } catch (DuplicatePersonException dpe) { throw new IllegalArgumentException("toAdd already exists in the model."); } - String expectedResultMessage = String.format(AddCommand.MESSAGE_SUCCESS, toAdd); + String expectedResultMessage = String.format(AddCommand.MESSAGE_ADD_PERSON_SUCCESS, toAdd); assertCommandSuccess(command, expectedModel, expectedResultMessage); } From d4727a0f1e99b219d5465a42f3f4af1e01c59018 Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 10 Mar 2018 18:16:24 +0800 Subject: [PATCH 024/288] fixed checkstyle errors --- .../seedu/address/logic/commands/AddCommand.java | 2 +- .../seedu/address/logic/parser/AddCommandParser.java | 12 ++++++------ .../java/seedu/address/model/person/Student.java | 2 -- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/AddCommand.java b/src/main/java/seedu/address/logic/commands/AddCommand.java index e27f543e667a..96a26106a3a3 100644 --- a/src/main/java/seedu/address/logic/commands/AddCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddCommand.java @@ -54,7 +54,7 @@ public CommandResult executeUndoableCommand() throws CommandException { requireNonNull(model); try { model.addPerson(toAdd); - if(toAdd instanceof Student) { + if (toAdd instanceof Student) { return new CommandResult(String.format(MESSAGE_ADD_STUDENT_SUCCESS, toAdd)); } else { return new CommandResult(String.format(MESSAGE_ADD_PERSON_SUCCESS, toAdd)); diff --git a/src/main/java/seedu/address/logic/parser/AddCommandParser.java b/src/main/java/seedu/address/logic/parser/AddCommandParser.java index 29ad7c150995..6fb263a1fc7c 100644 --- a/src/main/java/seedu/address/logic/parser/AddCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/AddCommandParser.java @@ -51,14 +51,14 @@ public AddCommand parse(String args) throws ParseException { Set tagList = ParserUtil.parseTags(argMultimap.getAllValues(PREFIX_TAG)); switch (preambleArgs[0]) { - case "": - return new AddCommand(new Person(name, phone, email, address, tagList)); + case "": + return new AddCommand(new Person(name, phone, email, address, tagList)); - case "student": - return new AddCommand(new Student(name, phone, email, address, tagList)); + case "student": + return new AddCommand(new Student(name, phone, email, address, tagList)); - default: - throw new IllegalValueException(MESSAGE_INVALID_TYPE); + default: + throw new IllegalValueException(MESSAGE_INVALID_TYPE); } } catch (IllegalValueException ive) { diff --git a/src/main/java/seedu/address/model/person/Student.java b/src/main/java/seedu/address/model/person/Student.java index 0ae1623b1d62..36170f478f37 100644 --- a/src/main/java/seedu/address/model/person/Student.java +++ b/src/main/java/seedu/address/model/person/Student.java @@ -1,7 +1,5 @@ package seedu.address.model.person; -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; - import java.util.Set; import seedu.address.model.tag.Tag; From 71b94816d75079fc5395c6dd6fbb2c4441c0ef1d Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Sat, 10 Mar 2018 20:21:48 +0800 Subject: [PATCH 025/288] Testing about us --- docs/AboutUs.adoc | 40 +++++++++++++++---------------------- docs/images/shanmu9898.jpg | Bin 0 -> 206643 bytes 2 files changed, 16 insertions(+), 24 deletions(-) create mode 100644 docs/images/shanmu9898.jpg diff --git a/docs/AboutUs.adoc b/docs/AboutUs.adoc index 0f0a8e7ab51e..0a44efd71312 100644 --- a/docs/AboutUs.adoc +++ b/docs/AboutUs.adoc @@ -3,53 +3,45 @@ :imagesDir: images :stylesDir: stylesheets -AddressBook - Level 4 was developed by the https://se-edu.github.io/docs/Team.html[se-edu] team. + -_{The dummy content given below serves as a placeholder to be used by future forks of the project.}_ + -{empty} + +TeachConnect was developed by the CS2103T AY2018/19 B-1 team. + We are a team based in the http://www.comp.nus.edu.sg[School of Computing, National University of Singapore]. == Project Team -=== John Doe -image::damithc.jpg[width="150", align="left"] -{empty}[http://www.comp.nus.edu.sg/~damithch[homepage]] [https://github.com/damithc[github]] [<>] +=== Mukesh Gadupudi +image::shanmu9898.jpg[width="150", align="left"] +{empty}[https://www.linkedin.com/in/mukesh-gadupudi-420a11139/[portfolio]] [https://github.com/shanmu9898[github]] -Role: Project Advisor +Role: Team Lead, Developer +Responsibilities: Model + Deliverable and Deadlines + Integration ''' -=== John Roe +=== Rachel Ngo image::lejolly.jpg[width="150", align="left"] {empty}[http://github.com/lejolly[github]] [<>] -Role: Team Lead + -Responsibilities: UI +Role: Developer +Responsibilities: UI + Storage + Scheduling and Tracking ''' -=== Johnny Doe +=== Randy Pang image::yijinl.jpg[width="150", align="left"] {empty}[http://github.com/yijinl[github]] [<>] -Role: Developer + -Responsibilities: Data +Role: Developer +Responsibilities: Logic + Testing ''' -=== Johnny Roe +=== Jonathan Lim image::m133225.jpg[width="150", align="left"] {empty}[http://github.com/m133225[github]] [<>] -Role: Developer + -Responsibilities: Dev Ops + Threading +Role: Developer +Responsibilities: Storage + Documentation + Tool Expert ''' -=== Benson Meier -image::yl_coder.jpg[width="150", align="left"] -{empty}[http://github.com/yl-coder[github]] [<>] - -Role: Developer + -Responsibilities: UI - -''' diff --git a/docs/images/shanmu9898.jpg b/docs/images/shanmu9898.jpg new file mode 100644 index 0000000000000000000000000000000000000000..67e96f0c91a5c17dfc0ca8532b5d5ff4414a8970 GIT binary patch literal 206643 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�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 Date: Sat, 10 Mar 2018 22:12:50 +0800 Subject: [PATCH 026/288] Update ReadMe --- README.adoc | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/README.adoc b/README.adoc index de5f2204b7fd..435f94c1f8c0 100644 --- a/README.adoc +++ b/README.adoc @@ -1,4 +1,4 @@ -= Address Book (Level 4) += TeachConnect ifdef::env-github,env-browser[:relfileprefix: docs/] https://travis-ci.org/CS2103JAN2018-W14-B1/main[image:https://travis-ci.org/CS2103JAN2018-W14-B1/main.svg?branch=master[Build Status]] @@ -13,20 +13,17 @@ endif::[] ifndef::env-github[] image::images/Ui.png[width="600"] endif::[] +__TeachConnect - The only management application you'll ever need +__ -* This is a desktop Address Book application. It has a GUI but most of the user interactions happen using a CLI (Command Line Interface). -* It is a Java sample application intended for students learning Software Engineering while using Java as the main programming language. -* It is *written in OOP fashion*. It provides a *reasonably well-written* code example that is *significantly bigger* (around 6 KLoC)than what students usually write in beginner-level SE modules. -* What's different from https://github.com/se-edu/addressbook-level3[level 3]: -** A more sophisticated GUI that includes a list panel and an in-built Browser. -** More test cases, including automated GUI testing. -** Support for _Build Automation_ using Gradle and for _Continuous Integration_ using Travis CI. +* TeachConnect is a contact and schedule management application designed for teachers and educational professionals. +* TeachConnect provides an intuitive and efficient solution for managing students and parents' contact details, recording appointments, setting up reminders, and many more. +* The majority of user interaction is through a CLI (Command Line Interface), however a GUI is provided with many optimization options. == Site Map * <> * <> -* <> * <> * <> From af0ab8e344843196dbdde24b4bb07fb16ee24396 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Sat, 10 Mar 2018 22:26:33 +0800 Subject: [PATCH 027/288] Adding Schedule and the Event Classes --- .../seedu/address/model/ReadOnlySchedule.java | 15 +++++++++++++ .../java/seedu/address/model/Schedule.java | 14 ++++++++++++ .../address/model/event/Appointment.java | 4 ++++ .../java/seedu/address/model/event/Event.java | 7 ++++++ .../java/seedu/address/model/event/Todo.java | 4 ++++ .../address/model/event/UniqueEventList.java | 22 +++++++++++++++++++ 6 files changed, 66 insertions(+) create mode 100644 src/main/java/seedu/address/model/ReadOnlySchedule.java create mode 100644 src/main/java/seedu/address/model/Schedule.java create mode 100644 src/main/java/seedu/address/model/event/Appointment.java create mode 100644 src/main/java/seedu/address/model/event/Event.java create mode 100644 src/main/java/seedu/address/model/event/Todo.java create mode 100644 src/main/java/seedu/address/model/event/UniqueEventList.java diff --git a/src/main/java/seedu/address/model/ReadOnlySchedule.java b/src/main/java/seedu/address/model/ReadOnlySchedule.java new file mode 100644 index 000000000000..33ba7a879a89 --- /dev/null +++ b/src/main/java/seedu/address/model/ReadOnlySchedule.java @@ -0,0 +1,15 @@ +package seedu.address.model; + +import javafx.collections.ObservableList; +import seedu.address.model.event.Event; + +/** + * Unmodifiable view of a schedule + */ +public interface ReadOnlySchedule { + /** + * Returns an unmodifiable view of the schedule. + * This list will not contain any duplicate event. + */ + ObservableList getEventList(); +} diff --git a/src/main/java/seedu/address/model/Schedule.java b/src/main/java/seedu/address/model/Schedule.java new file mode 100644 index 000000000000..9c7400e02982 --- /dev/null +++ b/src/main/java/seedu/address/model/Schedule.java @@ -0,0 +1,14 @@ +package seedu.address.model; + +import javafx.collections.ObservableList; +import seedu.address.model.event.Event; +import seedu.address.model.event.UniqueEventList; + +public class Schedule implements ReadOnlySchedule { + private final UniqueEventList events; + + @Override + public ObservableList getEventList() { + return events.asObservableList(); + } +} diff --git a/src/main/java/seedu/address/model/event/Appointment.java b/src/main/java/seedu/address/model/event/Appointment.java new file mode 100644 index 000000000000..cfa3535e3d16 --- /dev/null +++ b/src/main/java/seedu/address/model/event/Appointment.java @@ -0,0 +1,4 @@ +package seedu.address.model.event; + +public class Appointment implements Event{ +} diff --git a/src/main/java/seedu/address/model/event/Event.java b/src/main/java/seedu/address/model/event/Event.java new file mode 100644 index 000000000000..42e980317448 --- /dev/null +++ b/src/main/java/seedu/address/model/event/Event.java @@ -0,0 +1,7 @@ +package seedu.address.model.event; + +/** + * Represents an Event in the Schedule. + */ +public interface Event { +} diff --git a/src/main/java/seedu/address/model/event/Todo.java b/src/main/java/seedu/address/model/event/Todo.java new file mode 100644 index 000000000000..0d5d52a2311e --- /dev/null +++ b/src/main/java/seedu/address/model/event/Todo.java @@ -0,0 +1,4 @@ +package seedu.address.model.event; + +public class Todo implements Event{ +} diff --git a/src/main/java/seedu/address/model/event/UniqueEventList.java b/src/main/java/seedu/address/model/event/UniqueEventList.java new file mode 100644 index 000000000000..0ba0b433e6f1 --- /dev/null +++ b/src/main/java/seedu/address/model/event/UniqueEventList.java @@ -0,0 +1,22 @@ +package seedu.address.model.event; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import seedu.address.commons.util.CollectionUtil; + +/** + * A list of events that enforces uniqueness between its elements and does not allow nulls. + * + * Supports a minimal set of list operations. + * + * @see Event#equals(Object) + * @see CollectionUtil#elementsAreUnique(Collection) + */ +public class UniqueEventList { + /** + * Returns the backing list as an unmodifiable {@code ObservableList}. + */ + public ObservableList asObservableList() { + return FXCollections.unmodifiableObservableList(internalList); + } +} From 1aa9731558aec1ba01162ba35cdf234822b3ee31 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Sat, 10 Mar 2018 22:29:42 +0800 Subject: [PATCH 028/288] Updated AboutUs --- docs/AboutUs.adoc | 12 ++++++------ docs/images/randypx.jpg | Bin 0 -> 20528 bytes docs/images/sisyphus.jpg | Bin 0 -> 67297 bytes 3 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 docs/images/randypx.jpg create mode 100644 docs/images/sisyphus.jpg diff --git a/docs/AboutUs.adoc b/docs/AboutUs.adoc index 0a44efd71312..3bf097d03fcc 100644 --- a/docs/AboutUs.adoc +++ b/docs/AboutUs.adoc @@ -18,18 +18,18 @@ Responsibilities: Model + Deliverable and Deadlines + Integration ''' -=== Rachel Ngo -image::lejolly.jpg[width="150", align="left"] -{empty}[http://github.com/lejolly[github]] [<>] +=== Rachel Ngo Phuong Thao +image::sisyphus.jpg[width="150", align="left"] +{empty}[http://github.com/Sisyphus[github]] [<>] Role: Developer Responsibilities: UI + Storage + Scheduling and Tracking ''' -=== Randy Pang -image::yijinl.jpg[width="150", align="left"] -{empty}[http://github.com/yijinl[github]] [<>] +=== Randy Pang Chung +image::randypx.jpg[width="150", align="left"] +{empty}[http://github.com/randypx[github]] [<>] Role: Developer Responsibilities: Logic + Testing diff --git a/docs/images/randypx.jpg b/docs/images/randypx.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7d0b17c8a64b2f29ec5cb3c2a9fb9c751d4ae6c6 GIT binary patch literal 20528 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 literal 0 HcmV?d00001 diff --git a/docs/images/sisyphus.jpg b/docs/images/sisyphus.jpg new file mode 100644 index 0000000000000000000000000000000000000000..520700422c1b624110831383634d13a88ef2771f GIT binary patch literal 67297 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%0A3cD@ zFrbDR6ty4_4-~`HaXXKL&PRIbC)CqmgW9?noD%-01IKxKrj=Jd;*nfp7f#i0QfMnb@! zEdK!QRsDB(bq!@mKO`U`k6}jN5bYz>ek18O5C8?`v~rfudJxuZUG+C0dm#6&gp}Flf-k4Ng=f?8fDjc0e^zs7Mh>AY&YRnw>KhQU(d3y+U@CwvPG1sG84% zEGu0JS8*=#OMYB)UFltJ8#$)5oUBgFc9LGS~%*D(gF@w(0a1nHhOy+Q;dN6ur_lC6ukb z)WolozG+tf0JKpGT*%FV<~z~^U;R^sXg^u9Xqw>EV)^4RPCqnkc>04^pNv$Ai?9F= z_^f8bQMj@zAbsP^1JC~es=RKcxW2XUp+c^B???er8tA0S{Ymi>>qQ~7tr|^IE!c7; z@Xy;debQeLEqZ`1Vz|@pz~&o;!+xWKS)J{!t14zGKqL4-s#k-l5>;fJL_>V7kIO_9 z8rsD)R^weyN@^Ofhh*k=O`slgS(FpQaWu^q8AHmZ_bOfKJ64**4 ziEwHVLJ_FjkXXNv+%vS-*pJ>|3{~y6q9u$FN45xfJLxXS`h6gkQ)bcd<Y%IMQ9tAuuv#*Z-04GjF6lA-Q2d#BW#bK>sd-Nxh zp4Fbl?pWE8p3OhVd? zsU}Cw-#8U}PTI03XP{OM;%xnI5?SgRG%bv#n;RT?W~iJMyG0n=;O3}$r>q96tS!oA zVU8q?SNT){ih9RXOPh#};gKJi^{73zRq-oqvzu&7ph$8Cd)1AT10(BGBLwgVm#q`$#DuJw6Y=CK zVh};(AH7#880XTY!<89OPta4ljFPLMX1r#Wb+43nT1m>h7VDU(a za87CTQVu}Lr|NWZ06s#WMZp-ZMhO_H2)H91>HD1&fRHiAtvj%KpVq!qB;?eMwcClg z<4`h5Bac!mf;=3a27PJJ2{=^!0Pj(p4?25J)!G+Wr^q0Anz%u+TW_bOR$gi8ar?y# z9-Xzb@o67wVI8H~$N^RaRh&|X131Qc;(%>#OlpDedvk zN0G&GUZTgtlbm^1#GGcELBKik{b^(pIL$<$o$hq|cI*?M)}7oj=S>60ZfQXATt>#H zPRk5aMYcsOq+sOMebjv(lcbW{pg&J4&`Sqg0tn72ndMlcn1xjZeJF}8dXM8Hu?36V z0KC*EzrE>Jm;Fmv7R;?l?I;@mQx&T%9^=IidurNFN=r zeQR#$>&Ls&7HENqUNGbXo^mS3BI1g!AvkNzh(8h&d^y!L>nUz!hB%_Om2km^NC(Qd zuAGxPO}WlS!9WJ>r?R|>vdbc5XWyDE=^6Lv&=Np9c^U1^Q)E~yJxdl1twQCKfO)2j zpp)MpT41&S!vjbM89AsGh>?Vn4205Ihn+BG!Q+}qmm@VXZ5byWMy}s#FdPFzbLVzR z878f@84VObR$%<_%6s zCAv7q-g|bb4{I`>Wo-H8m{(&^lSz%+J;p;wqj5cftIaP(z1E}&Z)(h>{&F}KMvyQ$ z5|G)V-3zNO^jOk3fMo~Lo(d=J;ty>W1>Ix0XKAKgbY0p@sX!&OejUKihgW@7X>Bc( zI;NS1j1QPEn5ou%abc`mv>J>62?o=V!Oc}cw@$iy7Ct3~!kvKf7Nsp;1H|k~KynR% ztWpU70N}yJmN^CnagSP^r@4*xlab|$qr0|}!uD83aIMBX!K+&*&fJU~detqTw7(o( zI)w1@pqg3|tT9YmzsLu@NCX0W=zvFqD%>5BB_z+XqP|^^sWj?098+Lqf=((y<5Cbc z;t*K@6aiNr^_To}j!Uf)$`~VOc9ig|liIXvX-U8xj}#~I4&>Ulno#`tY*B&urpykt zKK}ssF})w)&ZjPgsOx&XLeeXEd`O~`yoVeTJu3>G8a|btFtLU@j^uIN`wH}L#ooKr zEc#hA%SpD$dm5wQ^MhV-y}3yAs|yG~X(GC5A0xgh+YQBwup_dT&7W|IQ>tx+V2rtE zbp7TBYHHI^meCSKY_hi_9oDM#85$mxPcr$Q7aV_fbc3i5!en;~1)I@!3wqAs9DM&gD?D zyjjLM2g;gf10%UKgpfD|95#4AO69{WZZLB}$%mP9YEOgCKT1$6jof0O+FS!43Mtl~ z2OC9BpQtmKODJv|b^+q7;JE|<2nRlNGA?jE57wWHPzv}URG{icN7OA+7;))SBOo9= z{O$i=0;{6BT<0Iwq@~KAAx;Dt(#0}IYI|w+ zs3~%z$W#9Si5`ni-09>Ha(KY|*TCVp#XlrJG2joqG)Pm=$s>T|jB!Stm8f=KhO z01se4T3H|tF`sT}N#)c~1Z;vb2W(PIV;qcApn@_1Z>igw<1icy0q$u5)Qre8*b9{X z?i7zPRYB&{BpFgr9u6phTmz9vxQ#9b*%T7qXUe7KPfjCv{KeR6YdKOM2hRepAh^om zu-{QY7gp10l9?jQMmfMWbEWG`ISPB!Hc-R0lOu!FFA@xbm;>uh2Rt9_D!Sg}o){<} zTAGd=a5$j0d1^@{haO$=N=6JwI3lBt`QtxYaBu+_&#|VSnkbK84gkRZ)%QL`3Q8RJ zC%>4*bb*tRiteKCbK?I1m%k?_pyzzM)f!J8 z;HOjBteJd>J-naZD z5y5vU@DQqoW6VwHeXCNny^dStnm6$lbsi}LUYJX&-<%=IARj8`NycfY+_3Yf z1x7mn$q0#YvM259TR=`0PUfRR79+fl z1wYj`-YVP7xx_Ee7_8&1`u%!#297w{q>ykuD2ldE5%VSTH4HVbr~EP)QNnH-A+Udc|{&owtP9!t?x>LtrE)^c-W2)(yZGb+Fox8 z$GVgRZc*x*uB#zfAO;oB%=qn^sEXTE@m1s0ZrldW1MuH!*zP(-?)5Lj$ovjNdwNxs zuSDC~-9jD(ZRZ05q80!(3jS3pJ2OABhgn2l73CZQ^Qj+tv9y<{-cQ^{lOXO{e5+)i zrj@Ob7AFG(HC?7?B+ToAp-&)r*K-mD&ZMb2nI@}u)RD0^wviln420BZdXHC4qI)=+ zLHUA`G5Xfeujs3eH!F=a&_G31atW}E`B@ewoVEH?x!ITIxt17KI1G>?eASriL2zdDZGV4BtJ zI>Jt+(4Z?JnpL8oJ%VGqkjSV_?t$XKaT*Ac0Hcd%m6GUSa#x1hSrvxeT&+AsTP;N~F0p=^WnfQQz z7xk-iuSaQVH;nKm2~(9;9#xjOR)Q97-Y72TpIUzGl97N|yNnhiB$Mw|*QKIaUA|DM zwMhEa^)w1p0RYL#7qKQ)YHk%lOon1}#eF&1Wo{UQk;u<9o0x;oY99nNob%r`J5ho+ zo@-kc&*r{Z@t9-it%ml4cH>~Vuc&P3!iPDmsA)+c3l(U8lKRQCprv@W70(m9ytIqlx5 zuf!|*%O!qZCYxz&1X$dAdQ-;O6P?HOsCG9gJVB#4}Jc{THlA20h?ryz<1nX-s40bNd)?H+LAI4 z$;Yp~IQT!ypK;AL17z?%;*|L6BvgPf#EM8FsIIj3wSOMlI0qyHSC5bfVaJsqb|HWu z`_t-e0}!snXG_*q&dC=C+|d=i&PduuJu^Z#b_HL>w@?qD6!n&%Qwb<-+2oUfQQJ>1 z$vnvw*m;K0KZs9k)9B$(*V?JAF82i};DhN_F-RK(ngFTgt;zIAlQKK`*TwQX(nF1) zjN{t7#tAv#Q#g=fc#Tgk#mMBQ1|iY4()~xsrKYuq@rfaf+_HweU4{law-cIN&(!XoF0RR>=xyK6w7M8&I|vHtZWA zvz2c=ih4gMA~cPNv2qy%shFl;mTZ3!`ca2QbzGJjjjg2YMYM;F$2calxGoDJa{FXe z!zn+UQVy>yMmcTE#_>2RG0isGIV_U9y|xqAc9$fD$MFpDRwwfCXd9w+)z$QCNr5PK z;gyd$qg8Ogat%@qs}V00Y;yaGjN^i75+)8uC)$*wK4P7~^TkM{_qgv8t5dW$Hjb_V z%JEqDQuLg9n~1JZ`&Q#H1rALJ>UL=J0&$%A3UzK!?k@K{-P9iouVZcYiM}!CS~o*$ zcRF+F*7Msx?oc5yjN-K0TTozZs9~I7ih9x*?1topL+7{^WZ53#0P%{5%yv7GZF;iE z^#m|oB(Vu1J7i=#bM9!0UZb&!>eGC&kDD0=lNPND0Jl+~9^+4Z8jZWs`d!NHwOyIxf*m4X3x5ef?T; zP+OB&L+y=AOmxVp$Gm14rF3$|5R!CU;{i`i(bLmmb=>%4D_giT1G$R6*0!pLE@rmg@v-KV>JBlxPT5#4j7K03=cWP z{wkRf-N&c&sF5MYIM3Fsts(=K#(eprDpFgi6{H1|qI9*kdEJ7nYFLxyUMA~%i8bD= z)bIZQIF>?4Vfj>cuT=a^*J0B%17>De9`yK1#AhD0=S%$)!WR$taQ5hMXNYjsrNd4# zit?rz zb*H3ic zMAGFBS2hO1puBb~&RtZbuY@8P62vDN37$M{jy}!>)|j zo;VookWbgOd>cF#08>GZJ^qx8cELXQtl(a^FPqG8fLp$Pl!=rD7$Uk3J7*r^y2QvZ zNCKO#_d8LXkOw{c`-)CL^5T~3j1Kk84?38g&Ykic3{kno9rzgZH466BTmoYU zaPLzCGVnmgYv41IeREQBD%%mJQd?>g*f3dlD9;%bRi|Gp;YzqIjPh!x=FTgX!-d`C zO;a!8G`Yxb7eARzC6z7Rj*R7YQ#6=mW;_i24M@lh^9*{AS{Ku`KN(aL<>YGi-syn( z+~dnNTLe_XMG=q^sN;X%ijjA1}jh+OLkp%8P;tHhTzC00NI2ahUx7CZ1UL-K|Z zuQEfDax>bhZopzmImz{_QbEpYzT=$dAEhq#A{omS8#aNTUwW}NORzT1eQKt~+`j-1 zo6fGhR=@<0)~4oo>P6o!rF@o1;Hv|JRnMZZW8g6y`qlpIo`0aFfCoGusIF3e;b~)} z9FEseiT0A)eF3RyZ>YEB+(vs7S9!-L1L;o-pqTl9`}d+2;yz-wL;2z*AMC9{Z_G#@ zV47NJ4hS=`!1OhEF9&kj9+~e_RyUk(Uz7pd(mRin25g%Lo~2!_qD6o~H7fjvwcCI& ze5!O-k;=th;xuos_pWLhRmHRcz*!%uT-nm^$5Dwr+B^uBPg5dxp9QW>Ny@1Jp zbAwVQIc)Gp)|!Bi6DJ&+f%{!c6qe9F$bcC|7u8$MYI99=Eahh!v_d zNtutuUy6UXI=De-iu!evcx$+KW8CM`r)d3MY><8k21Rtlk(S(#pE2oJl=d=3a}q}< zAZ}-4#!r0JoEObzrBI0!9v?rgY*w*dU=K4s%vp~i)X{Z)F5T>9DD@(T_d)O{+isjuGV=WDV{ZWn#KdS{>QL?V;s z31{^HZl#RemkL$9_V%dvU%e;`5Sb(rJ5ui19_fm&4mS*(Vxr9XNU+;SIOn|@1g|Hf zBa|hGLK~h(rE(}7PNX3tIUo+$ub5*jPd?st^hJJ=_~!YSxBcoOl3{MlH_*CzWM3gWsOjmcencxz7TKwCnJMeB3bSK2-YL?liAc zQG!)qHsctn8~vzPOw~peatNXnxkpgMclV<<3>kpj@#q5`sRRt4Q|;cl++=3B4?Lgi zSk@_6>d?FY7M zT?-a7mlF*{o;+bj8L`|`kxD0pSl}}7eN6{x`q5Vr%*StUdLWK)SW6My7-82GD^^qD z5Uvt1-w7zF?m9%UeUg7MZ~weS=lJDQubiY>}B%VVBqRsJ*?IT{za> zHmYTEM_^YcOQCt8>-{+1hkB{VGfbxYqvIR2HZzOqBaNLP8j((LcKP>Z0xyPvN7Kyb> zF4OJjOL%!Zaz3>3ZNm4(NnUu!rwIwzJC$ZKyr270d{$okk1Dlz0}SwL9M(;YkIUyz z;K#&}Sh|tK`+>>N+MC`VxX(V7*N4kE``06b1^f1=h1rwz2IYpEZ}_JH26p!+&aL7_ zwQO7|Z%m#kj-UP6b^|$Y(yuRLwYiL|$U*Y}cdFcm=6HiBvTi*1pAsap0)xXu3-r(Q zr7XEpP#E*&*f-jlhRW*PGen2OAC(W7^{19al#Bo{e8*}E$}hxVSP{53)b=$5b$EOU z*o-dYoMNFv%X5tVD3hoy!zwYrIjV>)`2^LCPt7(Z-3_#lMxQQCI-mkGO8ld?YMZFK zhTEp}i>*fRjh6A3*`8RA)Iup{3nV1!6lvOf-%2Bim3+$|Aw&A_MQ9e+fW>1Tsi{cc zzPh=SI|ra0tID?DANrQ(SiZc9_Dfq^hT4z-Hlhm9EIuGdsz9vMPX+b5_>NohzJB$r zrkBL8WOw%k$HrXSOM9IUiL3Pw!0jWg^t0l|wlb&Xp3y+#(SWRDsQ&=Nhf>;9bi} z+vnt!2q)}o-(5x4km;A7vtzn~3y9Rbj7a%$>s1=Yk)r%b(or=#c=aa)mi^Wpc;lWb z!B8>RiB`aQ`=6bVqdl`;*XmF3rPCV4!pEgw zTFa>-PLg_$ zK~blJegsl4hwJ2iwe5Q^@GEN-uru|1t8jRBhQw_?!zPV1ukcau`r6dTsn4rl%ty^9 zkKv5^fCV*9;M~Og=?D`%?jF9hr8{y}a1VTW*SPw-{0dmj8_Cg{^Tj7SVZM(ekKqhI z-n`e=e*yaIqORqSSLy4vgYPCv;uG+It$TidK)6&)n0ic_f4h zLB{Hhm%SM>x`EUv(sem3C0Q-s8-FnMtzV{ku02KsQsG~*&y`_NTwp4aaqep3&iYFy zS*@fhe84%N?xYdav8}@i=-8QL0hE#mr!W+Zftt^HQ><3#EH^Ae_Q~RpVwq^mLgHXV!2T_GLG869IL8LK4l)R@vB4uW)4jwo2aZpre594&oP8^$OLpUrI&A?~Aolvx zx4#B=aYaby2lTFIp2zMfYl3?pu%wIA!f)6;QFjBa1q#7X8x(}%}az&Pra7uFiAlN|q8d&J9 zO||e)L(=T`{Tk zed0l;Mp#BaeJDI4`_L7JfvDL`5?hEzJgGUwX)^V_zfbg%+H}3s+iG!<_<*ak#?PK< zMkD-qkux$7NZ0i#I@aU<61tYi{K7Gf!17H2-E~WZZLT(berj*5`kw1qzs8`Uqz9H! z%QihKw$rBWFQT%TFg0uv)cX00PP zd=uDKwbRx=wmJ^y=4COvwgTth%7kFhEHr&C;@eJ*BSvwVBqTd$`GD_6{T*`!mWg)- z@Rnfgra0q&4C2?K>CHIr%!?kz�>%hBn@;RQKb~ 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 literal 0 HcmV?d00001 From 581c73a13ed984a0d66c30ca2214f99c4f99878a Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Sun, 11 Mar 2018 15:40:23 +0800 Subject: [PATCH 029/288] Making Changes to Import command [Ongoing] --- .../address/logic/commands/ImportCommand.java | 71 +++++++++++++++++++ .../logic/parser/ImportCommandParser.java | 29 ++++++++ .../seedu/address/model/ModelManager.java | 1 + 3 files changed, 101 insertions(+) create mode 100644 src/main/java/seedu/address/logic/commands/ImportCommand.java create mode 100644 src/main/java/seedu/address/logic/parser/ImportCommandParser.java diff --git a/src/main/java/seedu/address/logic/commands/ImportCommand.java b/src/main/java/seedu/address/logic/commands/ImportCommand.java new file mode 100644 index 000000000000..d306776eefd8 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/ImportCommand.java @@ -0,0 +1,71 @@ +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; + +import java.util.Observable; + +import javafx.collections.ObservableList; +import javafx.collections.transformation.FilteredList; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.AddressBook; +import seedu.address.model.ModelManager; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.UserPrefs; +import seedu.address.model.person.Person; +import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.storage.JsonUserPrefsStorage; +import seedu.address.storage.UserPrefsStorage; + +/** + * Imports contacts from a different Addressbook file + */ +public class ImportCommand extends Command { + + public static final String COMMAND_WORD = "import"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": imports contacts to the address book." + + "Parameters: file location...\n" + + "Example: " + COMMAND_WORD + " main/src/test/data/sandbox/somerandomfile.xml"; + + public static final String MESSAGE_SUCCESS = "Contacts have been successfully imported!"; + + private AddressBook addressBook1; + private ObservableList importedPeople; + + private String filePath; + + public ImportCommand(String importPath) { + requireNonNull(importPath); + filePath = importPath; + } + + @Override + public CommandResult execute() { + requireNonNull(model); + + UserPrefs usersPrefs = new UserPrefs(); + usersPrefs.setAddressBookFilePath(filePath); + + ModelManager import_model = new ModelManager(addressBook1, usersPrefs); + + ReadOnlyAddressBook addressBook1 = import_model.getAddressBook(); + + importedPeople = addressBook1.getPersonList(); + + for(int i = 0; i < importedPeople.size(); i++){ + Person peopleAdded = importedPeople.get(i); + try { + model.addPerson(peopleAdded); + } catch (DuplicatePersonException e) { + e.printStackTrace(); + } + } + return new CommandResult(MESSAGE_SUCCESS); + } + + +} + + + + diff --git a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java new file mode 100644 index 000000000000..5b244bfc38da --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java @@ -0,0 +1,29 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + +import java.util.Arrays; + +import seedu.address.logic.commands.ImportCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +public class ImportCommandParser implements Parser { + + public ImportCommand parse(String args) throws ParseException { + String trimmedArgs = args.trim(); + if (trimmedArgs.isEmpty()) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); + } + + String[] parameterGetterArray = trimmedArgs.split(" "); + + if(parameterGetterArray.length != 2){ + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); + }else{ + return new ImportCommand(parameterGetterArray[1]); + } + + } +} diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 651f04c4b502..d77660e1452f 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -55,6 +55,7 @@ public ReadOnlyAddressBook getAddressBook() { return addressBook; } + /** Raises an event to indicate the model has changed */ private void indicateAddressBookChanged() { raise(new AddressBookChangedEvent(addressBook)); From 1798ffcdb296e58213b6b4f411028f84896978a2 Mon Sep 17 00:00:00 2001 From: randypx Date: Sun, 11 Mar 2018 21:06:29 +0800 Subject: [PATCH 030/288] created StudentBuilder class for testing --- .../seedu/address/testutil/PersonBuilder.java | 10 ++-- .../address/testutil/StudentBuilder.java | 54 +++++++++++++++++++ 2 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 src/test/java/seedu/address/testutil/StudentBuilder.java diff --git a/src/test/java/seedu/address/testutil/PersonBuilder.java b/src/test/java/seedu/address/testutil/PersonBuilder.java index b124fc1d73b1..a9814a0dd421 100644 --- a/src/test/java/seedu/address/testutil/PersonBuilder.java +++ b/src/test/java/seedu/address/testutil/PersonBuilder.java @@ -22,11 +22,11 @@ public class PersonBuilder { public static final String DEFAULT_ADDRESS = "123, Jurong West Ave 6, #08-111"; public static final String DEFAULT_TAGS = "friends"; - private Name name; - private Phone phone; - private Email email; - private Address address; - private Set tags; + Name name; + Phone phone; + Email email; + Address address; + Set tags; public PersonBuilder() { name = new Name(DEFAULT_NAME); diff --git a/src/test/java/seedu/address/testutil/StudentBuilder.java b/src/test/java/seedu/address/testutil/StudentBuilder.java new file mode 100644 index 000000000000..5c7928d98654 --- /dev/null +++ b/src/test/java/seedu/address/testutil/StudentBuilder.java @@ -0,0 +1,54 @@ +package seedu.address.testutil; + +import seedu.address.model.person.Address; +import seedu.address.model.person.Email; +import seedu.address.model.person.Name; +import seedu.address.model.person.Phone; +import seedu.address.model.person.Student; +import seedu.address.model.util.SampleDataUtil; + +public class StudentBuilder extends PersonBuilder { + + public StudentBuilder() { + super(); + } + + public StudentBuilder(Student personToCopy) { + super(personToCopy); + } + + @Override + public StudentBuilder withName(String name) { + this.name = new Name(name); + return this; + } + + @Override + public StudentBuilder withTags(String ... tags) { + this.tags = SampleDataUtil.getTagSet(tags); + return this; + } + + @Override + public StudentBuilder withAddress(String address) { + this.address = new Address(address); + return this; + } + + @Override + public StudentBuilder withPhone(String phone) { + this.phone = new Phone(phone); + return this; + } + + @Override + public StudentBuilder withEmail(String email) { + this.email = new Email(email); + return this; + } + + @Override + public Student build() { + return new Student(name, phone, email, address, tags); + } +} From b5d0f1494f2777a3c52acb2faacb68f98a7e75c0 Mon Sep 17 00:00:00 2001 From: randypx Date: Sun, 11 Mar 2018 21:10:11 +0800 Subject: [PATCH 031/288] added student examples in TypicalPersons --- .../logic/commands/CommandTestUtil.java | 3 +++ .../address/testutil/TypicalPersons.java | 19 ++++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/test/java/seedu/address/logic/commands/CommandTestUtil.java b/src/test/java/seedu/address/logic/commands/CommandTestUtil.java index 99b6457473cc..8688e6464add 100644 --- a/src/test/java/seedu/address/logic/commands/CommandTestUtil.java +++ b/src/test/java/seedu/address/logic/commands/CommandTestUtil.java @@ -39,6 +39,7 @@ public class CommandTestUtil { public static final String VALID_ADDRESS_BOB = "Block 123, Bobby Street 3"; public static final String VALID_TAG_HUSBAND = "husband"; public static final String VALID_TAG_FRIEND = "friend"; + public static final String VALID_TAG_STUDENT = "student"; public static final String VALID_TAG_NOTUSED = "notused"; public static final String NAME_DESC_AMY = " " + PREFIX_NAME + VALID_NAME_AMY; @@ -50,6 +51,7 @@ public class CommandTestUtil { public static final String ADDRESS_DESC_AMY = " " + PREFIX_ADDRESS + VALID_ADDRESS_AMY; public static final String ADDRESS_DESC_BOB = " " + PREFIX_ADDRESS + VALID_ADDRESS_BOB; public static final String TAG_DESC_FRIEND = " " + PREFIX_TAG + VALID_TAG_FRIEND; + public static final String TAG_DESC_STUDENT = " " + PREFIX_TAG + VALID_TAG_STUDENT; public static final String TAG_DESC_HUSBAND = " " + PREFIX_TAG + VALID_TAG_HUSBAND; public static final String INVALID_NAME_DESC = " " + PREFIX_NAME + "James&"; // '&' not allowed in names @@ -60,6 +62,7 @@ public class CommandTestUtil { public static final String PREAMBLE_WHITESPACE = "\t \r \n"; public static final String PREAMBLE_NON_EMPTY = "NonEmptyPreamble"; + public static final String PREAMBLE_STUDENT = " student "; public static final EditCommand.EditPersonDescriptor DESC_AMY; public static final EditCommand.EditPersonDescriptor DESC_BOB; diff --git a/src/test/java/seedu/address/testutil/TypicalPersons.java b/src/test/java/seedu/address/testutil/TypicalPersons.java index 6d7bdbfc55ed..f5cd4df06d9b 100644 --- a/src/test/java/seedu/address/testutil/TypicalPersons.java +++ b/src/test/java/seedu/address/testutil/TypicalPersons.java @@ -10,6 +10,7 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_BOB; import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_STUDENT; import java.util.ArrayList; import java.util.Arrays; @@ -17,6 +18,7 @@ import seedu.address.model.AddressBook; import seedu.address.model.person.Person; +import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; /** @@ -40,8 +42,12 @@ public class TypicalPersons { .withEmail("werner@example.com").withAddress("michegan ave").build(); public static final Person FIONA = new PersonBuilder().withName("Fiona Kunz").withPhone("9482427") .withEmail("lydia@example.com").withAddress("little tokyo").build(); - public static final Person GEORGE = new PersonBuilder().withName("George Best").withPhone("9482442") + public static final Student GEORGE = new StudentBuilder().withName("George Best").withPhone("9482442") .withEmail("anna@example.com").withAddress("4th street").build(); + public static final Student Ivan = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") + .withEmail("wolf@example.com").withAddress("Centre Street").build(); + public static final Student John = new StudentBuilder().withName("John Blake").withPhone("9575232") + .withEmail("star@example.com").withAddress("Hollywood").build(); // Manually added public static final Person HOON = new PersonBuilder().withName("Hoon Meier").withPhone("8482424") @@ -49,6 +55,11 @@ public class TypicalPersons { public static final Person IDA = new PersonBuilder().withName("Ida Mueller").withPhone("8482131") .withEmail("hans@example.com").withAddress("chicago ave").build(); + public static final Student STUDENT_HOON = new StudentBuilder().withName("Hoon Meier").withPhone("8482424") + .withEmail("stefan@example.com").withAddress("little india").build(); + public static final Student STUDENT_IDA = new StudentBuilder().withName("Ida Mueller").withPhone("8482131") + .withEmail("hans@example.com").withAddress("chicago ave").build(); + // Manually added - Person's details found in {@code CommandTestUtil} public static final Person AMY = new PersonBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_FRIEND).build(); @@ -56,6 +67,12 @@ public class TypicalPersons { .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_HUSBAND, VALID_TAG_FRIEND) .build(); + public static final Student STUDENT_AMY = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) + .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); + public static final Student STUDENT_BOB = new StudentBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) + .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_STUDENT) + .build(); + public static final String KEYWORD_MATCHING_MEIER = "Meier"; // A keyword that matches MEIER private TypicalPersons() {} // prevents instantiation From f34f48d22c8081f7c6e8fc5d5b98bd880afee10e Mon Sep 17 00:00:00 2001 From: randypx Date: Sun, 11 Mar 2018 21:11:45 +0800 Subject: [PATCH 032/288] added test cases for system tests and parser test --- .../logic/parser/AddCommandParserTest.java | 11 +- .../seedu/address/testutil/PersonUtil.java | 9 + .../systemtests/AddCommandSystemTest.java | 157 +++++++++++------- 3 files changed, 118 insertions(+), 59 deletions(-) diff --git a/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java b/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java index 291878e3b682..6b10768b9b50 100644 --- a/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java @@ -15,9 +15,11 @@ import static seedu.address.logic.commands.CommandTestUtil.PHONE_DESC_AMY; import static seedu.address.logic.commands.CommandTestUtil.PHONE_DESC_BOB; import static seedu.address.logic.commands.CommandTestUtil.PREAMBLE_NON_EMPTY; +import static seedu.address.logic.commands.CommandTestUtil.PREAMBLE_STUDENT; import static seedu.address.logic.commands.CommandTestUtil.PREAMBLE_WHITESPACE; import static seedu.address.logic.commands.CommandTestUtil.TAG_DESC_FRIEND; import static seedu.address.logic.commands.CommandTestUtil.TAG_DESC_HUSBAND; +import static seedu.address.logic.commands.CommandTestUtil.TAG_DESC_STUDENT; import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_AMY; import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_BOB; import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_AMY; @@ -55,6 +57,10 @@ public void parse_allFieldsPresent_success() { assertParseSuccess(parser, PREAMBLE_WHITESPACE + NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB + ADDRESS_DESC_BOB + TAG_DESC_FRIEND, new AddCommand(expectedPerson)); + // student preamble with whitespaces + assertParseSuccess(parser, PREAMBLE_STUDENT + PREAMBLE_WHITESPACE + NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB + + ADDRESS_DESC_BOB + TAG_DESC_STUDENT, new AddCommand(expectedPerson)); + // multiple names - last name accepted assertParseSuccess(parser, NAME_DESC_AMY + NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB + ADDRESS_DESC_BOB + TAG_DESC_FRIEND, new AddCommand(expectedPerson)); @@ -139,9 +145,8 @@ public void parse_invalidValue_failure() { assertParseFailure(parser, INVALID_NAME_DESC + PHONE_DESC_BOB + EMAIL_DESC_BOB + INVALID_ADDRESS_DESC, Name.MESSAGE_NAME_CONSTRAINTS); - // non-empty preamble + // invalid type assertParseFailure(parser, PREAMBLE_NON_EMPTY + NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB - + ADDRESS_DESC_BOB + TAG_DESC_HUSBAND + TAG_DESC_FRIEND, - String.format(MESSAGE_INVALID_TYPE)); + + ADDRESS_DESC_BOB + TAG_DESC_HUSBAND + TAG_DESC_FRIEND, MESSAGE_INVALID_TYPE); } } diff --git a/src/test/java/seedu/address/testutil/PersonUtil.java b/src/test/java/seedu/address/testutil/PersonUtil.java index 642d4f174514..ad9310a965e9 100644 --- a/src/test/java/seedu/address/testutil/PersonUtil.java +++ b/src/test/java/seedu/address/testutil/PersonUtil.java @@ -1,5 +1,6 @@ package seedu.address.testutil; +import static seedu.address.logic.commands.CommandTestUtil.PREAMBLE_STUDENT; import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; @@ -8,6 +9,7 @@ import seedu.address.logic.commands.AddCommand; import seedu.address.model.person.Person; +import seedu.address.model.person.Student; /** * A utility class for Person. @@ -21,6 +23,13 @@ public static String getAddCommand(Person person) { return AddCommand.COMMAND_WORD + " " + getPersonDetails(person); } + /** + * Returns an add command string for adding the {@code student}. + */ + public static String getAddStudentCommand(Student person) { + return AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + getPersonDetails(person); + } + /** * Returns the part of command string for the given {@code person}'s details. */ diff --git a/src/test/java/systemtests/AddCommandSystemTest.java b/src/test/java/systemtests/AddCommandSystemTest.java index 608c2ade2371..a257737a9a84 100644 --- a/src/test/java/systemtests/AddCommandSystemTest.java +++ b/src/test/java/systemtests/AddCommandSystemTest.java @@ -14,8 +14,8 @@ import static seedu.address.logic.commands.CommandTestUtil.NAME_DESC_BOB; import static seedu.address.logic.commands.CommandTestUtil.PHONE_DESC_AMY; import static seedu.address.logic.commands.CommandTestUtil.PHONE_DESC_BOB; -import static seedu.address.logic.commands.CommandTestUtil.TAG_DESC_FRIEND; -import static seedu.address.logic.commands.CommandTestUtil.TAG_DESC_HUSBAND; +import static seedu.address.logic.commands.CommandTestUtil.PREAMBLE_STUDENT; +import static seedu.address.logic.commands.CommandTestUtil.TAG_DESC_STUDENT; import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_AMY; import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_BOB; import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_AMY; @@ -24,15 +24,18 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_BOB; import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_AMY; import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_BOB; -import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_STUDENT; import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; -import static seedu.address.testutil.TypicalPersons.ALICE; -import static seedu.address.testutil.TypicalPersons.AMY; -import static seedu.address.testutil.TypicalPersons.BOB; -import static seedu.address.testutil.TypicalPersons.CARL; +import static seedu.address.testutil.TypicalPersons.GEORGE; import static seedu.address.testutil.TypicalPersons.HOON; import static seedu.address.testutil.TypicalPersons.IDA; +import static seedu.address.testutil.TypicalPersons.Ivan; +import static seedu.address.testutil.TypicalPersons.John; import static seedu.address.testutil.TypicalPersons.KEYWORD_MATCHING_MEIER; +import static seedu.address.testutil.TypicalPersons.STUDENT_AMY; +import static seedu.address.testutil.TypicalPersons.STUDENT_BOB; +import static seedu.address.testutil.TypicalPersons.STUDENT_HOON; +import static seedu.address.testutil.TypicalPersons.STUDENT_IDA; import org.junit.Test; @@ -47,10 +50,11 @@ import seedu.address.model.person.Name; import seedu.address.model.person.Person; import seedu.address.model.person.Phone; +import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.tag.Tag; -import seedu.address.testutil.PersonBuilder; import seedu.address.testutil.PersonUtil; +import seedu.address.testutil.StudentBuilder; public class AddCommandSystemTest extends AddressBookSystemTest { @@ -60,12 +64,12 @@ public void add() throws Exception { /* ------------------------ Perform add operations on the shown unfiltered list ----------------------------- */ - /* Case: add a person without tags to a non-empty address book, command with leading spaces and trailing spaces + /* Case: add a student without tags to a non-empty address book, command with leading spaces and trailing spaces * -> added */ - Person toAdd = AMY; - String command = " " + AddCommand.COMMAND_WORD + " " + NAME_DESC_AMY + " " + PHONE_DESC_AMY + " " - + EMAIL_DESC_AMY + " " + ADDRESS_DESC_AMY + " " + TAG_DESC_FRIEND + " "; + Student toAdd = STUDENT_AMY; + String command = " " + AddCommand.COMMAND_WORD + " " + PREAMBLE_STUDENT + " " + NAME_DESC_AMY + " " + PHONE_DESC_AMY + " " + + EMAIL_DESC_AMY + " " + ADDRESS_DESC_AMY + " " + TAG_DESC_STUDENT + " "; assertCommandSuccess(command, toAdd); /* Case: undo adding Amy to the list -> Amy deleted */ @@ -79,110 +83,125 @@ public void add() throws Exception { expectedResultMessage = RedoCommand.MESSAGE_SUCCESS; assertCommandSuccess(command, model, expectedResultMessage); - /* Case: add a person with all fields same as another person in the address book except name -> added */ - toAdd = new PersonBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_AMY).withEmail(VALID_EMAIL_AMY) - .withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_FRIEND).build(); - command = AddCommand.COMMAND_WORD + NAME_DESC_BOB + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY - + TAG_DESC_FRIEND; + /* Case: add a student with all fields same as another person in the address book except name -> added */ + toAdd = new StudentBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_AMY).withEmail(VALID_EMAIL_AMY) + .withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_BOB + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY + + TAG_DESC_STUDENT; assertCommandSuccess(command, toAdd); - /* Case: add a person with all fields same as another person in the address book except phone -> added */ - toAdd = new PersonBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_BOB).withEmail(VALID_EMAIL_AMY) - .withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_FRIEND).build(); - command = AddCommand.COMMAND_WORD + NAME_DESC_AMY + PHONE_DESC_BOB + EMAIL_DESC_AMY + ADDRESS_DESC_AMY - + TAG_DESC_FRIEND; + /* Case: add a student with all fields same as another person in the address book except phone -> added */ + toAdd = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_BOB).withEmail(VALID_EMAIL_AMY) + .withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_BOB + EMAIL_DESC_AMY + ADDRESS_DESC_AMY + + TAG_DESC_STUDENT; assertCommandSuccess(command, toAdd); - /* Case: add a person with all fields same as another person in the address book except email -> added */ - toAdd = new PersonBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY).withEmail(VALID_EMAIL_BOB) - .withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_FRIEND).build(); - command = AddCommand.COMMAND_WORD + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_BOB + ADDRESS_DESC_AMY - + TAG_DESC_FRIEND; + /* Case: add a student with all fields same as another person in the address book except email -> added */ + toAdd = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY).withEmail(VALID_EMAIL_BOB) + .withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_BOB + ADDRESS_DESC_AMY + + TAG_DESC_STUDENT; assertCommandSuccess(command, toAdd); - /* Case: add a person with all fields same as another person in the address book except address -> added */ - toAdd = new PersonBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY).withEmail(VALID_EMAIL_AMY) - .withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_FRIEND).build(); - command = AddCommand.COMMAND_WORD + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_BOB - + TAG_DESC_FRIEND; + /* Case: add a student with all fields same as another person in the address book except address -> added */ + toAdd = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY).withEmail(VALID_EMAIL_AMY) + .withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_STUDENT).build(); + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_BOB + + TAG_DESC_STUDENT; assertCommandSuccess(command, toAdd); /* Case: add to empty address book -> added */ deleteAllPersons(); - assertCommandSuccess(ALICE); + assertCommandSuccess(GEORGE); - /* Case: add a person with tags, command with parameters in random order -> added */ - toAdd = BOB; - command = AddCommand.COMMAND_WORD + TAG_DESC_FRIEND + PHONE_DESC_BOB + ADDRESS_DESC_BOB + NAME_DESC_BOB - + TAG_DESC_HUSBAND + EMAIL_DESC_BOB; + /* Case: add a student with tags, command with parameters in random order -> added */ + toAdd = STUDENT_BOB; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + PHONE_DESC_BOB + ADDRESS_DESC_BOB + NAME_DESC_BOB + + TAG_DESC_STUDENT + EMAIL_DESC_BOB; assertCommandSuccess(command, toAdd); - /* Case: add a person, missing tags -> added */ - assertCommandSuccess(HOON); + /* Case: add a student, missing tags -> added */ + assertCommandSuccess(STUDENT_HOON); + + /* Case: add a default person -> added */ + assertCommandSuccess(IDA); /* -------------------------- Perform add operation on the shown filtered list ------------------------------ */ /* Case: filters the person list before adding -> added */ showPersonsWithName(KEYWORD_MATCHING_MEIER); - assertCommandSuccess(IDA); + assertCommandSuccess(John); /* ------------------------ Perform add operation while a person card is selected --------------------------- */ - /* Case: selects first card in the person list, add a person -> added, card selection remains unchanged */ + /* Case: selects first card in the person list, add a student -> added, card selection remains unchanged */ selectPerson(Index.fromOneBased(1)); - assertCommandSuccess(CARL); + assertCommandSuccess(Ivan); /* ----------------------------------- Perform invalid add operations --------------------------------------- */ - /* Case: add a duplicate person -> rejected */ + /* Case: add a duplicate student -> rejected */ + command = PersonUtil.getAddCommand(STUDENT_HOON); + assertCommandFailure(command, AddCommand.MESSAGE_DUPLICATE_PERSON); + + /* Case: add an existing student as default person -> rejected */ command = PersonUtil.getAddCommand(HOON); assertCommandFailure(command, AddCommand.MESSAGE_DUPLICATE_PERSON); - /* Case: add a duplicate person except with different tags -> rejected */ - // "friends" is an existing tag used in the default model, see TypicalPersons#ALICE + /* Case: add an existing person as a student -> rejected */ + command = PersonUtil.getAddCommand(STUDENT_IDA); + assertCommandFailure(command, AddCommand.MESSAGE_DUPLICATE_PERSON); + + /* Case: add a duplicate student except with different tags -> rejected */ + // "student" is an existing tag used in the default model, see TypicalPersons#STUDENT_ALICE // This test will fail if a new tag that is not in the model is used, see the bug documented in // AddressBook#addPerson(Person) - command = PersonUtil.getAddCommand(HOON) + " " + PREFIX_TAG.getPrefix() + "friends"; + command = PersonUtil.getAddCommand(STUDENT_HOON) + " " + PREFIX_TAG.getPrefix() + "student"; assertCommandFailure(command, AddCommand.MESSAGE_DUPLICATE_PERSON); /* Case: missing name -> rejected */ - command = AddCommand.COMMAND_WORD + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; assertCommandFailure(command, String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddCommand.MESSAGE_USAGE)); /* Case: missing phone -> rejected */ - command = AddCommand.COMMAND_WORD + NAME_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; assertCommandFailure(command, String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddCommand.MESSAGE_USAGE)); /* Case: missing email -> rejected */ - command = AddCommand.COMMAND_WORD + NAME_DESC_AMY + PHONE_DESC_AMY + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + ADDRESS_DESC_AMY; assertCommandFailure(command, String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddCommand.MESSAGE_USAGE)); /* Case: missing address -> rejected */ - command = AddCommand.COMMAND_WORD + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY; assertCommandFailure(command, String.format(MESSAGE_INVALID_COMMAND_FORMAT, AddCommand.MESSAGE_USAGE)); /* Case: invalid keyword -> rejected */ - command = "adds " + PersonUtil.getPersonDetails(toAdd); + command = "adds " + PREAMBLE_STUDENT + PersonUtil.getPersonDetails(toAdd); assertCommandFailure(command, Messages.MESSAGE_UNKNOWN_COMMAND); + /* Case: invalid type -> rejected */ + command = AddCommand.COMMAND_WORD + " stu " + INVALID_NAME_DESC + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; + assertCommandFailure(command, Name.MESSAGE_NAME_CONSTRAINTS); + /* Case: invalid name -> rejected */ - command = AddCommand.COMMAND_WORD + INVALID_NAME_DESC + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + INVALID_NAME_DESC + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; assertCommandFailure(command, Name.MESSAGE_NAME_CONSTRAINTS); /* Case: invalid phone -> rejected */ - command = AddCommand.COMMAND_WORD + NAME_DESC_AMY + INVALID_PHONE_DESC + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + INVALID_PHONE_DESC + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; assertCommandFailure(command, Phone.MESSAGE_PHONE_CONSTRAINTS); /* Case: invalid email -> rejected */ - command = AddCommand.COMMAND_WORD + NAME_DESC_AMY + PHONE_DESC_AMY + INVALID_EMAIL_DESC + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + INVALID_EMAIL_DESC + ADDRESS_DESC_AMY; assertCommandFailure(command, Email.MESSAGE_EMAIL_CONSTRAINTS); /* Case: invalid address -> rejected */ - command = AddCommand.COMMAND_WORD + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + INVALID_ADDRESS_DESC; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + INVALID_ADDRESS_DESC; assertCommandFailure(command, Address.MESSAGE_ADDRESS_CONSTRAINTS); /* Case: invalid tag -> rejected */ - command = AddCommand.COMMAND_WORD + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY + INVALID_TAG_DESC; assertCommandFailure(command, Tag.MESSAGE_TAG_NAME_CONSTRAINTS); } @@ -205,6 +224,15 @@ private void assertCommandSuccess(Person toAdd) { assertCommandSuccess(PersonUtil.getAddCommand(toAdd), toAdd); } + /** + * Performs the same verification as {@code assertCommandSuccess(Person)}. + * @see AddCommandSystemTest#assertCommandSuccess(Person) + */ + private void assertCommandSuccess(Student toAdd) { + assertCommandSuccess(PersonUtil.getAddStudentCommand(toAdd), toAdd); + } + + /** * Performs the same verification as {@code assertCommandSuccess(Person)}. Executes {@code command} * instead. @@ -222,6 +250,23 @@ private void assertCommandSuccess(String command, Person toAdd) { assertCommandSuccess(command, expectedModel, expectedResultMessage); } + /** + * Performs the same verification as {@code assertCommandSuccess(Person)}. Executes {@code command} + * instead. + * @see AddCommandSystemTest#assertCommandSuccess(Person) + */ + private void assertCommandSuccess(String command, Student toAdd) { + Model expectedModel = getModel(); + try { + expectedModel.addPerson(toAdd); + } catch (DuplicatePersonException dpe) { + throw new IllegalArgumentException("toAdd already exists in the model."); + } + String expectedResultMessage = String.format(AddCommand.MESSAGE_ADD_STUDENT_SUCCESS, toAdd); + + assertCommandSuccess(command, expectedModel, expectedResultMessage); + } + /** * Performs the same verification as {@code assertCommandSuccess(String, Person)} except asserts that * the,
From 3e8c142d66b9285cab4e5a18b000fd81c225af7f Mon Sep 17 00:00:00 2001 From: randypx Date: Sun, 11 Mar 2018 23:09:15 +0800 Subject: [PATCH 033/288] Fixed checkstyle errors --- .../logic/parser/AddCommandParserTest.java | 4 +- .../seedu/address/testutil/PersonBuilder.java | 20 +++---- .../address/testutil/StudentBuilder.java | 57 ++++++++++++++++--- .../address/testutil/TypicalPersons.java | 4 +- .../systemtests/AddCommandSystemTest.java | 46 ++++++++------- 5 files changed, 88 insertions(+), 43 deletions(-) diff --git a/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java b/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java index 6b10768b9b50..30e35bb12972 100644 --- a/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java @@ -58,8 +58,8 @@ public void parse_allFieldsPresent_success() { + ADDRESS_DESC_BOB + TAG_DESC_FRIEND, new AddCommand(expectedPerson)); // student preamble with whitespaces - assertParseSuccess(parser, PREAMBLE_STUDENT + PREAMBLE_WHITESPACE + NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB - + ADDRESS_DESC_BOB + TAG_DESC_STUDENT, new AddCommand(expectedPerson)); + assertParseSuccess(parser, PREAMBLE_STUDENT + PREAMBLE_WHITESPACE + NAME_DESC_BOB + PHONE_DESC_BOB + + EMAIL_DESC_BOB + ADDRESS_DESC_BOB + TAG_DESC_STUDENT, new AddCommand(expectedPerson)); // multiple names - last name accepted assertParseSuccess(parser, NAME_DESC_AMY + NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB diff --git a/src/test/java/seedu/address/testutil/PersonBuilder.java b/src/test/java/seedu/address/testutil/PersonBuilder.java index a9814a0dd421..267dd3ff6741 100644 --- a/src/test/java/seedu/address/testutil/PersonBuilder.java +++ b/src/test/java/seedu/address/testutil/PersonBuilder.java @@ -16,17 +16,17 @@ */ public class PersonBuilder { - public static final String DEFAULT_NAME = "Alice Pauline"; - public static final String DEFAULT_PHONE = "85355255"; - public static final String DEFAULT_EMAIL = "alice@gmail.com"; - public static final String DEFAULT_ADDRESS = "123, Jurong West Ave 6, #08-111"; - public static final String DEFAULT_TAGS = "friends"; + private static final String DEFAULT_NAME = "Alice Pauline"; + private static final String DEFAULT_PHONE = "85355255"; + private static final String DEFAULT_EMAIL = "alice@gmail.com"; + private static final String DEFAULT_ADDRESS = "123, Jurong West Ave 6, #08-111"; + private static final String DEFAULT_TAGS = "friends"; - Name name; - Phone phone; - Email email; - Address address; - Set tags; + private Name name; + private Phone phone; + private Email email; + private Address address; + private Set tags; public PersonBuilder() { name = new Name(DEFAULT_NAME); diff --git a/src/test/java/seedu/address/testutil/StudentBuilder.java b/src/test/java/seedu/address/testutil/StudentBuilder.java index 5c7928d98654..1014b2cad561 100644 --- a/src/test/java/seedu/address/testutil/StudentBuilder.java +++ b/src/test/java/seedu/address/testutil/StudentBuilder.java @@ -1,53 +1,92 @@ package seedu.address.testutil; +import java.util.HashSet; +import java.util.Set; + import seedu.address.model.person.Address; import seedu.address.model.person.Email; import seedu.address.model.person.Name; import seedu.address.model.person.Phone; import seedu.address.model.person.Student; +import seedu.address.model.tag.Tag; import seedu.address.model.util.SampleDataUtil; -public class StudentBuilder extends PersonBuilder { +public class StudentBuilder { + + private static final String DEFAULT_NAME = "Alice Pauline"; + private static final String DEFAULT_PHONE = "85355255"; + private static final String DEFAULT_EMAIL = "alice@gmail.com"; + private static final String DEFAULT_ADDRESS = "123, Jurong West Ave 6, #08-111"; + private static final String DEFAULT_TAGS = "friends"; + + private Name name; + private Phone phone; + private Email email; + private Address address; + private Set tags; public StudentBuilder() { - super(); + name = new Name(DEFAULT_NAME); + phone = new Phone(DEFAULT_PHONE); + email = new Email(DEFAULT_EMAIL); + address = new Address(DEFAULT_ADDRESS); + tags = SampleDataUtil.getTagSet(DEFAULT_TAGS); } + /** + * Initializes the StudentBuilder with the data of {@code personToCopy}. + */ public StudentBuilder(Student personToCopy) { - super(personToCopy); + name = personToCopy.getName(); + phone = personToCopy.getPhone(); + email = personToCopy.getEmail(); + address = personToCopy.getAddress(); + tags = new HashSet<>(personToCopy.getTags()); } - @Override + /** + * Sets the {@code Name} of the {@code Person} that we are building. + */ public StudentBuilder withName(String name) { this.name = new Name(name); return this; } - @Override + /** + * Parses the {@code tags} into a {@code Set} and set it to the {@code Person} that we are building. + */ public StudentBuilder withTags(String ... tags) { this.tags = SampleDataUtil.getTagSet(tags); return this; } - @Override + /** + * Sets the {@code Address} of the {@code Person} that we are building. + */ + public StudentBuilder withAddress(String address) { this.address = new Address(address); return this; } - @Override + /** + * Sets the {@code Phone} of the {@code Person} that we are building. + */ + public StudentBuilder withPhone(String phone) { this.phone = new Phone(phone); return this; } - @Override + /** + * Sets the {@code Email} of the {@code Person} that we are building. + */ + public StudentBuilder withEmail(String email) { this.email = new Email(email); return this; } - @Override public Student build() { return new Student(name, phone, email, address, tags); } diff --git a/src/test/java/seedu/address/testutil/TypicalPersons.java b/src/test/java/seedu/address/testutil/TypicalPersons.java index f5cd4df06d9b..25cd79e50c8c 100644 --- a/src/test/java/seedu/address/testutil/TypicalPersons.java +++ b/src/test/java/seedu/address/testutil/TypicalPersons.java @@ -44,9 +44,9 @@ public class TypicalPersons { .withEmail("lydia@example.com").withAddress("little tokyo").build(); public static final Student GEORGE = new StudentBuilder().withName("George Best").withPhone("9482442") .withEmail("anna@example.com").withAddress("4th street").build(); - public static final Student Ivan = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") + public static final Student IVAN = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") .withEmail("wolf@example.com").withAddress("Centre Street").build(); - public static final Student John = new StudentBuilder().withName("John Blake").withPhone("9575232") + public static final Student JOHN = new StudentBuilder().withName("John Blake").withPhone("9575232") .withEmail("star@example.com").withAddress("Hollywood").build(); // Manually added diff --git a/src/test/java/systemtests/AddCommandSystemTest.java b/src/test/java/systemtests/AddCommandSystemTest.java index a257737a9a84..8d62f9ddd06a 100644 --- a/src/test/java/systemtests/AddCommandSystemTest.java +++ b/src/test/java/systemtests/AddCommandSystemTest.java @@ -29,8 +29,8 @@ import static seedu.address.testutil.TypicalPersons.GEORGE; import static seedu.address.testutil.TypicalPersons.HOON; import static seedu.address.testutil.TypicalPersons.IDA; -import static seedu.address.testutil.TypicalPersons.Ivan; -import static seedu.address.testutil.TypicalPersons.John; +import static seedu.address.testutil.TypicalPersons.IVAN; +import static seedu.address.testutil.TypicalPersons.JOHN; import static seedu.address.testutil.TypicalPersons.KEYWORD_MATCHING_MEIER; import static seedu.address.testutil.TypicalPersons.STUDENT_AMY; import static seedu.address.testutil.TypicalPersons.STUDENT_BOB; @@ -68,8 +68,8 @@ public void add() throws Exception { * -> added */ Student toAdd = STUDENT_AMY; - String command = " " + AddCommand.COMMAND_WORD + " " + PREAMBLE_STUDENT + " " + NAME_DESC_AMY + " " + PHONE_DESC_AMY + " " - + EMAIL_DESC_AMY + " " + ADDRESS_DESC_AMY + " " + TAG_DESC_STUDENT + " "; + String command = " " + AddCommand.COMMAND_WORD + " " + PREAMBLE_STUDENT + " " + NAME_DESC_AMY + " " + + PHONE_DESC_AMY + " " + EMAIL_DESC_AMY + " " + ADDRESS_DESC_AMY + " " + TAG_DESC_STUDENT + " "; assertCommandSuccess(command, toAdd); /* Case: undo adding Amy to the list -> Amy deleted */ @@ -86,29 +86,29 @@ public void add() throws Exception { /* Case: add a student with all fields same as another person in the address book except name -> added */ toAdd = new StudentBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_AMY).withEmail(VALID_EMAIL_AMY) .withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_BOB + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY - + TAG_DESC_STUDENT; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_BOB + PHONE_DESC_AMY + EMAIL_DESC_AMY + + ADDRESS_DESC_AMY + TAG_DESC_STUDENT; assertCommandSuccess(command, toAdd); /* Case: add a student with all fields same as another person in the address book except phone -> added */ toAdd = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_BOB).withEmail(VALID_EMAIL_AMY) .withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_BOB + EMAIL_DESC_AMY + ADDRESS_DESC_AMY - + TAG_DESC_STUDENT; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_BOB + EMAIL_DESC_AMY + + ADDRESS_DESC_AMY + TAG_DESC_STUDENT; assertCommandSuccess(command, toAdd); /* Case: add a student with all fields same as another person in the address book except email -> added */ toAdd = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY).withEmail(VALID_EMAIL_BOB) .withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_BOB + ADDRESS_DESC_AMY - + TAG_DESC_STUDENT; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_BOB + + ADDRESS_DESC_AMY + TAG_DESC_STUDENT; assertCommandSuccess(command, toAdd); /* Case: add a student with all fields same as another person in the address book except address -> added */ toAdd = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY).withEmail(VALID_EMAIL_AMY) .withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_STUDENT).build(); - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_BOB - + TAG_DESC_STUDENT; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + + ADDRESS_DESC_BOB + TAG_DESC_STUDENT; assertCommandSuccess(command, toAdd); /* Case: add to empty address book -> added */ @@ -131,13 +131,13 @@ public void add() throws Exception { /* Case: filters the person list before adding -> added */ showPersonsWithName(KEYWORD_MATCHING_MEIER); - assertCommandSuccess(John); + assertCommandSuccess(JOHN); /* ------------------------ Perform add operation while a person card is selected --------------------------- */ /* Case: selects first card in the person list, add a student -> added, card selection remains unchanged */ selectPerson(Index.fromOneBased(1)); - assertCommandSuccess(Ivan); + assertCommandSuccess(IVAN); /* ----------------------------------- Perform invalid add operations --------------------------------------- */ @@ -181,27 +181,33 @@ public void add() throws Exception { assertCommandFailure(command, Messages.MESSAGE_UNKNOWN_COMMAND); /* Case: invalid type -> rejected */ - command = AddCommand.COMMAND_WORD + " stu " + INVALID_NAME_DESC + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + " stu " + INVALID_NAME_DESC + PHONE_DESC_AMY + EMAIL_DESC_AMY + + ADDRESS_DESC_AMY; assertCommandFailure(command, Name.MESSAGE_NAME_CONSTRAINTS); /* Case: invalid name -> rejected */ - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + INVALID_NAME_DESC + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + INVALID_NAME_DESC + PHONE_DESC_AMY + EMAIL_DESC_AMY + + ADDRESS_DESC_AMY; assertCommandFailure(command, Name.MESSAGE_NAME_CONSTRAINTS); /* Case: invalid phone -> rejected */ - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + INVALID_PHONE_DESC + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + INVALID_PHONE_DESC + EMAIL_DESC_AMY + + ADDRESS_DESC_AMY; assertCommandFailure(command, Phone.MESSAGE_PHONE_CONSTRAINTS); /* Case: invalid email -> rejected */ - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + INVALID_EMAIL_DESC + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + INVALID_EMAIL_DESC + + ADDRESS_DESC_AMY; assertCommandFailure(command, Email.MESSAGE_EMAIL_CONSTRAINTS); /* Case: invalid address -> rejected */ - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + INVALID_ADDRESS_DESC; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + + INVALID_ADDRESS_DESC; assertCommandFailure(command, Address.MESSAGE_ADDRESS_CONSTRAINTS); /* Case: invalid tag -> rejected */ - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + + ADDRESS_DESC_AMY + INVALID_TAG_DESC; assertCommandFailure(command, Tag.MESSAGE_TAG_NAME_CONSTRAINTS); } From 06e0d349302652495f4de20f36e13b81bf06dab3 Mon Sep 17 00:00:00 2001 From: randypx Date: Sun, 11 Mar 2018 23:09:15 +0800 Subject: [PATCH 034/288] Fixed checkstyle error (+1 squashed commits) Squashed commits: [3e8c142] Fixed checkstyle errors --- .../logic/parser/AddCommandParserTest.java | 4 +- .../seedu/address/testutil/PersonBuilder.java | 20 +++---- .../address/testutil/StudentBuilder.java | 60 ++++++++++++++++--- .../address/testutil/TypicalPersons.java | 4 +- .../systemtests/AddCommandSystemTest.java | 46 +++++++------- 5 files changed, 91 insertions(+), 43 deletions(-) diff --git a/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java b/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java index 6b10768b9b50..30e35bb12972 100644 --- a/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddCommandParserTest.java @@ -58,8 +58,8 @@ public void parse_allFieldsPresent_success() { + ADDRESS_DESC_BOB + TAG_DESC_FRIEND, new AddCommand(expectedPerson)); // student preamble with whitespaces - assertParseSuccess(parser, PREAMBLE_STUDENT + PREAMBLE_WHITESPACE + NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB - + ADDRESS_DESC_BOB + TAG_DESC_STUDENT, new AddCommand(expectedPerson)); + assertParseSuccess(parser, PREAMBLE_STUDENT + PREAMBLE_WHITESPACE + NAME_DESC_BOB + PHONE_DESC_BOB + + EMAIL_DESC_BOB + ADDRESS_DESC_BOB + TAG_DESC_STUDENT, new AddCommand(expectedPerson)); // multiple names - last name accepted assertParseSuccess(parser, NAME_DESC_AMY + NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB diff --git a/src/test/java/seedu/address/testutil/PersonBuilder.java b/src/test/java/seedu/address/testutil/PersonBuilder.java index a9814a0dd421..267dd3ff6741 100644 --- a/src/test/java/seedu/address/testutil/PersonBuilder.java +++ b/src/test/java/seedu/address/testutil/PersonBuilder.java @@ -16,17 +16,17 @@ */ public class PersonBuilder { - public static final String DEFAULT_NAME = "Alice Pauline"; - public static final String DEFAULT_PHONE = "85355255"; - public static final String DEFAULT_EMAIL = "alice@gmail.com"; - public static final String DEFAULT_ADDRESS = "123, Jurong West Ave 6, #08-111"; - public static final String DEFAULT_TAGS = "friends"; + private static final String DEFAULT_NAME = "Alice Pauline"; + private static final String DEFAULT_PHONE = "85355255"; + private static final String DEFAULT_EMAIL = "alice@gmail.com"; + private static final String DEFAULT_ADDRESS = "123, Jurong West Ave 6, #08-111"; + private static final String DEFAULT_TAGS = "friends"; - Name name; - Phone phone; - Email email; - Address address; - Set tags; + private Name name; + private Phone phone; + private Email email; + private Address address; + private Set tags; public PersonBuilder() { name = new Name(DEFAULT_NAME); diff --git a/src/test/java/seedu/address/testutil/StudentBuilder.java b/src/test/java/seedu/address/testutil/StudentBuilder.java index 5c7928d98654..7cc8ff07feef 100644 --- a/src/test/java/seedu/address/testutil/StudentBuilder.java +++ b/src/test/java/seedu/address/testutil/StudentBuilder.java @@ -1,53 +1,95 @@ package seedu.address.testutil; +import java.util.HashSet; +import java.util.Set; + import seedu.address.model.person.Address; import seedu.address.model.person.Email; import seedu.address.model.person.Name; import seedu.address.model.person.Phone; import seedu.address.model.person.Student; +import seedu.address.model.tag.Tag; import seedu.address.model.util.SampleDataUtil; -public class StudentBuilder extends PersonBuilder { +/** + * A utility class to help with building Student objects. + */ +public class StudentBuilder { + + private static final String DEFAULT_NAME = "Alice Pauline"; + private static final String DEFAULT_PHONE = "85355255"; + private static final String DEFAULT_EMAIL = "alice@gmail.com"; + private static final String DEFAULT_ADDRESS = "123, Jurong West Ave 6, #08-111"; + private static final String DEFAULT_TAGS = "friends"; + + private Name name; + private Phone phone; + private Email email; + private Address address; + private Set tags; public StudentBuilder() { - super(); + name = new Name(DEFAULT_NAME); + phone = new Phone(DEFAULT_PHONE); + email = new Email(DEFAULT_EMAIL); + address = new Address(DEFAULT_ADDRESS); + tags = SampleDataUtil.getTagSet(DEFAULT_TAGS); } + /** + * Initializes the StudentBuilder with the data of {@code personToCopy}. + */ public StudentBuilder(Student personToCopy) { - super(personToCopy); + name = personToCopy.getName(); + phone = personToCopy.getPhone(); + email = personToCopy.getEmail(); + address = personToCopy.getAddress(); + tags = new HashSet<>(personToCopy.getTags()); } - @Override + /** + * Sets the {@code Name} of the {@code Person} that we are building. + */ public StudentBuilder withName(String name) { this.name = new Name(name); return this; } - @Override + /** + * Parses the {@code tags} into a {@code Set} and set it to the {@code Person} that we are building. + */ public StudentBuilder withTags(String ... tags) { this.tags = SampleDataUtil.getTagSet(tags); return this; } - @Override + /** + * Sets the {@code Address} of the {@code Person} that we are building. + */ + public StudentBuilder withAddress(String address) { this.address = new Address(address); return this; } - @Override + /** + * Sets the {@code Phone} of the {@code Person} that we are building. + */ + public StudentBuilder withPhone(String phone) { this.phone = new Phone(phone); return this; } - @Override + /** + * Sets the {@code Email} of the {@code Person} that we are building. + */ + public StudentBuilder withEmail(String email) { this.email = new Email(email); return this; } - @Override public Student build() { return new Student(name, phone, email, address, tags); } diff --git a/src/test/java/seedu/address/testutil/TypicalPersons.java b/src/test/java/seedu/address/testutil/TypicalPersons.java index f5cd4df06d9b..25cd79e50c8c 100644 --- a/src/test/java/seedu/address/testutil/TypicalPersons.java +++ b/src/test/java/seedu/address/testutil/TypicalPersons.java @@ -44,9 +44,9 @@ public class TypicalPersons { .withEmail("lydia@example.com").withAddress("little tokyo").build(); public static final Student GEORGE = new StudentBuilder().withName("George Best").withPhone("9482442") .withEmail("anna@example.com").withAddress("4th street").build(); - public static final Student Ivan = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") + public static final Student IVAN = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") .withEmail("wolf@example.com").withAddress("Centre Street").build(); - public static final Student John = new StudentBuilder().withName("John Blake").withPhone("9575232") + public static final Student JOHN = new StudentBuilder().withName("John Blake").withPhone("9575232") .withEmail("star@example.com").withAddress("Hollywood").build(); // Manually added diff --git a/src/test/java/systemtests/AddCommandSystemTest.java b/src/test/java/systemtests/AddCommandSystemTest.java index a257737a9a84..8d62f9ddd06a 100644 --- a/src/test/java/systemtests/AddCommandSystemTest.java +++ b/src/test/java/systemtests/AddCommandSystemTest.java @@ -29,8 +29,8 @@ import static seedu.address.testutil.TypicalPersons.GEORGE; import static seedu.address.testutil.TypicalPersons.HOON; import static seedu.address.testutil.TypicalPersons.IDA; -import static seedu.address.testutil.TypicalPersons.Ivan; -import static seedu.address.testutil.TypicalPersons.John; +import static seedu.address.testutil.TypicalPersons.IVAN; +import static seedu.address.testutil.TypicalPersons.JOHN; import static seedu.address.testutil.TypicalPersons.KEYWORD_MATCHING_MEIER; import static seedu.address.testutil.TypicalPersons.STUDENT_AMY; import static seedu.address.testutil.TypicalPersons.STUDENT_BOB; @@ -68,8 +68,8 @@ public void add() throws Exception { * -> added */ Student toAdd = STUDENT_AMY; - String command = " " + AddCommand.COMMAND_WORD + " " + PREAMBLE_STUDENT + " " + NAME_DESC_AMY + " " + PHONE_DESC_AMY + " " - + EMAIL_DESC_AMY + " " + ADDRESS_DESC_AMY + " " + TAG_DESC_STUDENT + " "; + String command = " " + AddCommand.COMMAND_WORD + " " + PREAMBLE_STUDENT + " " + NAME_DESC_AMY + " " + + PHONE_DESC_AMY + " " + EMAIL_DESC_AMY + " " + ADDRESS_DESC_AMY + " " + TAG_DESC_STUDENT + " "; assertCommandSuccess(command, toAdd); /* Case: undo adding Amy to the list -> Amy deleted */ @@ -86,29 +86,29 @@ public void add() throws Exception { /* Case: add a student with all fields same as another person in the address book except name -> added */ toAdd = new StudentBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_AMY).withEmail(VALID_EMAIL_AMY) .withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_BOB + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY - + TAG_DESC_STUDENT; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_BOB + PHONE_DESC_AMY + EMAIL_DESC_AMY + + ADDRESS_DESC_AMY + TAG_DESC_STUDENT; assertCommandSuccess(command, toAdd); /* Case: add a student with all fields same as another person in the address book except phone -> added */ toAdd = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_BOB).withEmail(VALID_EMAIL_AMY) .withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_BOB + EMAIL_DESC_AMY + ADDRESS_DESC_AMY - + TAG_DESC_STUDENT; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_BOB + EMAIL_DESC_AMY + + ADDRESS_DESC_AMY + TAG_DESC_STUDENT; assertCommandSuccess(command, toAdd); /* Case: add a student with all fields same as another person in the address book except email -> added */ toAdd = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY).withEmail(VALID_EMAIL_BOB) .withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_BOB + ADDRESS_DESC_AMY - + TAG_DESC_STUDENT; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_BOB + + ADDRESS_DESC_AMY + TAG_DESC_STUDENT; assertCommandSuccess(command, toAdd); /* Case: add a student with all fields same as another person in the address book except address -> added */ toAdd = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY).withEmail(VALID_EMAIL_AMY) .withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_STUDENT).build(); - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_BOB - + TAG_DESC_STUDENT; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + + ADDRESS_DESC_BOB + TAG_DESC_STUDENT; assertCommandSuccess(command, toAdd); /* Case: add to empty address book -> added */ @@ -131,13 +131,13 @@ public void add() throws Exception { /* Case: filters the person list before adding -> added */ showPersonsWithName(KEYWORD_MATCHING_MEIER); - assertCommandSuccess(John); + assertCommandSuccess(JOHN); /* ------------------------ Perform add operation while a person card is selected --------------------------- */ /* Case: selects first card in the person list, add a student -> added, card selection remains unchanged */ selectPerson(Index.fromOneBased(1)); - assertCommandSuccess(Ivan); + assertCommandSuccess(IVAN); /* ----------------------------------- Perform invalid add operations --------------------------------------- */ @@ -181,27 +181,33 @@ public void add() throws Exception { assertCommandFailure(command, Messages.MESSAGE_UNKNOWN_COMMAND); /* Case: invalid type -> rejected */ - command = AddCommand.COMMAND_WORD + " stu " + INVALID_NAME_DESC + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + " stu " + INVALID_NAME_DESC + PHONE_DESC_AMY + EMAIL_DESC_AMY + + ADDRESS_DESC_AMY; assertCommandFailure(command, Name.MESSAGE_NAME_CONSTRAINTS); /* Case: invalid name -> rejected */ - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + INVALID_NAME_DESC + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + INVALID_NAME_DESC + PHONE_DESC_AMY + EMAIL_DESC_AMY + + ADDRESS_DESC_AMY; assertCommandFailure(command, Name.MESSAGE_NAME_CONSTRAINTS); /* Case: invalid phone -> rejected */ - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + INVALID_PHONE_DESC + EMAIL_DESC_AMY + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + INVALID_PHONE_DESC + EMAIL_DESC_AMY + + ADDRESS_DESC_AMY; assertCommandFailure(command, Phone.MESSAGE_PHONE_CONSTRAINTS); /* Case: invalid email -> rejected */ - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + INVALID_EMAIL_DESC + ADDRESS_DESC_AMY; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + INVALID_EMAIL_DESC + + ADDRESS_DESC_AMY; assertCommandFailure(command, Email.MESSAGE_EMAIL_CONSTRAINTS); /* Case: invalid address -> rejected */ - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + INVALID_ADDRESS_DESC; + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + + INVALID_ADDRESS_DESC; assertCommandFailure(command, Address.MESSAGE_ADDRESS_CONSTRAINTS); /* Case: invalid tag -> rejected */ - command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY + command = AddCommand.COMMAND_WORD + PREAMBLE_STUDENT + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + + ADDRESS_DESC_AMY + INVALID_TAG_DESC; assertCommandFailure(command, Tag.MESSAGE_TAG_NAME_CONSTRAINTS); } From 9ee052f6a63aa70bd40bb25128cdf2a84367851a Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Mon, 12 Mar 2018 01:55:34 +0800 Subject: [PATCH 035/288] Add essential methods to event classes --- .../java/seedu/address/model/Schedule.java | 9 ++ .../address/model/event/Appointment.java | 66 +++++++++++- .../java/seedu/address/model/event/Event.java | 4 + .../java/seedu/address/model/event/Todo.java | 45 +++++++- .../address/model/event/UniqueEventList.java | 100 ++++++++++++++++-- 5 files changed, 216 insertions(+), 8 deletions(-) diff --git a/src/main/java/seedu/address/model/Schedule.java b/src/main/java/seedu/address/model/Schedule.java index 9c7400e02982..60e6d6cd5155 100644 --- a/src/main/java/seedu/address/model/Schedule.java +++ b/src/main/java/seedu/address/model/Schedule.java @@ -4,9 +4,18 @@ import seedu.address.model.event.Event; import seedu.address.model.event.UniqueEventList; +/** + * Schedule contains all events + */ public class Schedule implements ReadOnlySchedule { private final UniqueEventList events; + { + events = new UniqueEventList(); + } + + public Schedule() {} + @Override public ObservableList getEventList() { return events.asObservableList(); diff --git a/src/main/java/seedu/address/model/event/Appointment.java b/src/main/java/seedu/address/model/event/Appointment.java index cfa3535e3d16..35f89ff23eb7 100644 --- a/src/main/java/seedu/address/model/event/Appointment.java +++ b/src/main/java/seedu/address/model/event/Appointment.java @@ -1,4 +1,68 @@ package seedu.address.model.event; -public class Appointment implements Event{ +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +import seedu.address.model.person.Person; + +//@@author Sisyphus25 +/** + * Represent an appointment in the schedule, contains time of the appointment as well as details and personMeet. + */ +public class Appointment implements Event { + private static final String DATE_FORMAT = "yyyy/MM/dd HH:mm"; + private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + + private String title; + private Date time; + private Date endTime; + private Person personToMeet; + + //Every field must be present and not null + public Appointment(String title, Calendar startTime, Calendar endTime) { + this(title, startTime, endTime, null); + } + + //Every field except personToMeet must be present and not null + public Appointment(String title, Calendar startTime, Calendar endTime, Person personToMeet) { + this.title = title; + this.time = startTime.getTime(); + this.endTime = endTime.getTime(); + this.personToMeet = personToMeet; + } + + public String getTitle() { + return title; + } + + public Date getTime() { + return time; + } + + public Date getEndTime() { + return endTime; + } + + public Person getPersonToMeet() { + return personToMeet; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof Appointment)) { + return false; + } + + Appointment otherAppointment = (Appointment) other; + return otherAppointment.getTitle().equals(this.getTitle()) + && otherAppointment.getTime().equals(this.getTime()) + && otherAppointment.getEndTime().equals(this.getEndTime()) + && otherAppointment.getPersonToMeet().equals(this.getPersonToMeet()); + } } diff --git a/src/main/java/seedu/address/model/event/Event.java b/src/main/java/seedu/address/model/event/Event.java index 42e980317448..a3b0cc88d560 100644 --- a/src/main/java/seedu/address/model/event/Event.java +++ b/src/main/java/seedu/address/model/event/Event.java @@ -1,7 +1,11 @@ package seedu.address.model.event; +import java.util.Date; + /** * Represents an Event in the Schedule. */ public interface Event { + public String getTitle(); + public Date getTime(); } diff --git a/src/main/java/seedu/address/model/event/Todo.java b/src/main/java/seedu/address/model/event/Todo.java index 0d5d52a2311e..6040205d0803 100644 --- a/src/main/java/seedu/address/model/event/Todo.java +++ b/src/main/java/seedu/address/model/event/Todo.java @@ -1,4 +1,47 @@ package seedu.address.model.event; -public class Todo implements Event{ +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +//@@author Sisyphus25 +/** + * Represent a to-do item in the schedule, contains deadline as well as the title + */ +public class Todo implements Event { + private static final String DATE_FORMAT = "yyyy/MM/dd HH:mm"; + private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + + private String title; + private Date time; + + //Every field must be present and not null + public Todo(String title, Calendar deadline) { + this.title = title; + this.time = deadline.getTime(); + } + + public String getTitle() { + return title; + } + + public Date getTime() { + return time; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof Todo)) { + return false; + } + + Todo otherTodo = (Todo) other; + return otherTodo.getTitle().equals(this.getTitle()) + && otherTodo.getTime().equals(this.getTime()); + } } diff --git a/src/main/java/seedu/address/model/event/UniqueEventList.java b/src/main/java/seedu/address/model/event/UniqueEventList.java index 0ba0b433e6f1..7aa10d95a62a 100644 --- a/src/main/java/seedu/address/model/event/UniqueEventList.java +++ b/src/main/java/seedu/address/model/event/UniqueEventList.java @@ -1,22 +1,110 @@ package seedu.address.model.event; +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + +import java.util.Iterator; +import java.util.List; + import javafx.collections.FXCollections; import javafx.collections.ObservableList; -import seedu.address.commons.util.CollectionUtil; +import seedu.address.commons.exceptions.DuplicateDataException; /** - * A list of events that enforces uniqueness between its elements and does not allow nulls. + * A list of events that enforces uniqueness between its elements and does not allow nulls. * * Supports a minimal set of list operations. - * - * @see Event#equals(Object) - * @see CollectionUtil#elementsAreUnique(Collection) */ -public class UniqueEventList { +public class UniqueEventList implements Iterable { + + private final ObservableList internalList = FXCollections.observableArrayList(); + + /** + * Returns true if the list contains an equivalent Event as the given argument. + */ + public boolean contains(Event toCheck) { + requireNonNull(toCheck); + return internalList.contains(toCheck); + } + + /** + * Adds an Event to the list. + * + * @throws DuplicateEventException if the Event to add is a duplicate of an existing Event in the list. + */ + public void add(Event toAdd) throws DuplicateEventException { + requireNonNull(toAdd); + if (contains(toAdd)) { + throw new DuplicateEventException(); + } + internalList.add(toAdd); + } + + /** + * Removes the equivalent Event from the list. + * + * @throws EventNotFoundException if no such Event could be found in the list. + */ + public boolean remove(Event toRemove) throws EventNotFoundException { + requireNonNull(toRemove); + final boolean personFoundAndDeleted = internalList.remove(toRemove); + if (!personFoundAndDeleted) { + throw new EventNotFoundException(); + } + return personFoundAndDeleted; + } + + public void setEvents(UniqueEventList replacement) { + this.internalList.setAll(replacement.internalList); + } + + public void setEvents(List events ) throws DuplicateEventException { + requireAllNonNull(events); + final UniqueEventList replacement = new UniqueEventList(); + for (final Event event : events ) { + replacement.add(event); + } + setEvents(replacement); + } + /** * Returns the backing list as an unmodifiable {@code ObservableList}. */ public ObservableList asObservableList() { return FXCollections.unmodifiableObservableList(internalList); } + + @Override + public Iterator iterator() { + return internalList.iterator(); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof UniqueEventList // instanceof handles nulls + && this.internalList.equals(((UniqueEventList) other).internalList)); + } + + @Override + public int hashCode() { + return internalList.hashCode(); + } + + /** + * Signals that an operation would have violated the 'no duplicates' property of the list. + */ + public static class DuplicateEventException extends DuplicateDataException { + protected DuplicateEventException() { + super("Operation would result in duplicate events"); + } + } + /** + * Signals that an operation is looking for an event doesn't exist. + */ + public static class EventNotFoundException extends Exception { + protected EventNotFoundException() { + super("Event not found"); + } + } } From 885a7df206eb113aa60b102582181d9c4a1c8f89 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Mon, 12 Mar 2018 02:33:15 +0800 Subject: [PATCH 036/288] Combine Schedule with AddressBook --- .../java/seedu/address/model/AddressBook.java | 9 ++++++++ .../address/model/ReadOnlyAddressBook.java | 7 ++++++ .../seedu/address/model/ReadOnlySchedule.java | 15 ------------ .../java/seedu/address/model/Schedule.java | 23 ------------------- .../java/seedu/address/model/event/Event.java | 2 +- .../address/model/event/UniqueEventList.java | 4 ++-- 6 files changed, 19 insertions(+), 41 deletions(-) delete mode 100644 src/main/java/seedu/address/model/ReadOnlySchedule.java delete mode 100644 src/main/java/seedu/address/model/Schedule.java diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index f62396d33e1e..c0be61bb6902 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -11,6 +11,8 @@ import java.util.stream.Collectors; import javafx.collections.ObservableList; +import seedu.address.model.event.Event; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.UniquePersonList; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -26,6 +28,7 @@ public class AddressBook implements ReadOnlyAddressBook { private final UniquePersonList persons; private final UniqueTagList tags; + private final UniqueEventList events; /* * The 'unusual' code block below is an non-static initialization block, sometimes used to avoid duplication @@ -37,6 +40,7 @@ public class AddressBook implements ReadOnlyAddressBook { { persons = new UniquePersonList(); tags = new UniqueTagList(); + events = new UniqueEventList(); } public AddressBook() {} @@ -182,6 +186,11 @@ public ObservableList getTagList() { return tags.asObservableList(); } + @Override + public ObservableList getEventList() { + return events.asObservableList(); + } + @Override public boolean equals(Object other) { return other == this // short circuit if same object diff --git a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java index 1f4e49a37d67..801a0fc16e57 100644 --- a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java +++ b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java @@ -1,6 +1,7 @@ package seedu.address.model; import javafx.collections.ObservableList; +import seedu.address.model.event.Event; import seedu.address.model.person.Person; import seedu.address.model.tag.Tag; @@ -21,4 +22,10 @@ public interface ReadOnlyAddressBook { */ ObservableList getTagList(); + /** + * Returns an unmodifiable view of the schedule. + * This list will not contain any duplicate event. + */ + ObservableList getEventList(); + } diff --git a/src/main/java/seedu/address/model/ReadOnlySchedule.java b/src/main/java/seedu/address/model/ReadOnlySchedule.java deleted file mode 100644 index 33ba7a879a89..000000000000 --- a/src/main/java/seedu/address/model/ReadOnlySchedule.java +++ /dev/null @@ -1,15 +0,0 @@ -package seedu.address.model; - -import javafx.collections.ObservableList; -import seedu.address.model.event.Event; - -/** - * Unmodifiable view of a schedule - */ -public interface ReadOnlySchedule { - /** - * Returns an unmodifiable view of the schedule. - * This list will not contain any duplicate event. - */ - ObservableList getEventList(); -} diff --git a/src/main/java/seedu/address/model/Schedule.java b/src/main/java/seedu/address/model/Schedule.java deleted file mode 100644 index 60e6d6cd5155..000000000000 --- a/src/main/java/seedu/address/model/Schedule.java +++ /dev/null @@ -1,23 +0,0 @@ -package seedu.address.model; - -import javafx.collections.ObservableList; -import seedu.address.model.event.Event; -import seedu.address.model.event.UniqueEventList; - -/** - * Schedule contains all events - */ -public class Schedule implements ReadOnlySchedule { - private final UniqueEventList events; - - { - events = new UniqueEventList(); - } - - public Schedule() {} - - @Override - public ObservableList getEventList() { - return events.asObservableList(); - } -} diff --git a/src/main/java/seedu/address/model/event/Event.java b/src/main/java/seedu/address/model/event/Event.java index a3b0cc88d560..421200057dc8 100644 --- a/src/main/java/seedu/address/model/event/Event.java +++ b/src/main/java/seedu/address/model/event/Event.java @@ -3,7 +3,7 @@ import java.util.Date; /** - * Represents an Event in the Schedule. + * Represents an Event in the schedule. */ public interface Event { public String getTitle(); diff --git a/src/main/java/seedu/address/model/event/UniqueEventList.java b/src/main/java/seedu/address/model/event/UniqueEventList.java index 7aa10d95a62a..96324c7b3bc3 100644 --- a/src/main/java/seedu/address/model/event/UniqueEventList.java +++ b/src/main/java/seedu/address/model/event/UniqueEventList.java @@ -58,10 +58,10 @@ public void setEvents(UniqueEventList replacement) { this.internalList.setAll(replacement.internalList); } - public void setEvents(List events ) throws DuplicateEventException { + public void setEvents(List events) throws DuplicateEventException { requireAllNonNull(events); final UniqueEventList replacement = new UniqueEventList(); - for (final Event event : events ) { + for (final Event event : events) { replacement.add(event); } setEvents(replacement); From b1a70dcd9a58558f509ee19d570f8a1a54df0f1d Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Mon, 12 Mar 2018 11:25:59 +0800 Subject: [PATCH 037/288] Implement getEventList() --- src/main/java/seedu/address/model/ReadOnlyAddressBook.java | 2 +- .../java/seedu/address/model/event/UniqueEventList.java | 6 +++--- src/test/java/seedu/address/model/AddressBookTest.java | 7 +++++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java index 801a0fc16e57..6fc534827d3e 100644 --- a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java +++ b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java @@ -23,7 +23,7 @@ public interface ReadOnlyAddressBook { ObservableList getTagList(); /** - * Returns an unmodifiable view of the schedule. + * Returns an unmodifiable view of the events list. * This list will not contain any duplicate event. */ ObservableList getEventList(); diff --git a/src/main/java/seedu/address/model/event/UniqueEventList.java b/src/main/java/seedu/address/model/event/UniqueEventList.java index 96324c7b3bc3..e00107388c99 100644 --- a/src/main/java/seedu/address/model/event/UniqueEventList.java +++ b/src/main/java/seedu/address/model/event/UniqueEventList.java @@ -47,11 +47,11 @@ public void add(Event toAdd) throws DuplicateEventException { */ public boolean remove(Event toRemove) throws EventNotFoundException { requireNonNull(toRemove); - final boolean personFoundAndDeleted = internalList.remove(toRemove); - if (!personFoundAndDeleted) { + final boolean eventFoundAndDeleted = internalList.remove(toRemove); + if (!eventFoundAndDeleted) { throw new EventNotFoundException(); } - return personFoundAndDeleted; + return eventFoundAndDeleted; } public void setEvents(UniqueEventList replacement) { diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 5b0a51dff331..382485ba562b 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -21,6 +21,7 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; +import seedu.address.model.event.Event; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -83,6 +84,7 @@ public void getTagList_modifyList_throwsUnsupportedOperationException() { private static class AddressBookStub implements ReadOnlyAddressBook { private final ObservableList persons = FXCollections.observableArrayList(); private final ObservableList tags = FXCollections.observableArrayList(); + private final ObservableList events = FXCollections.observableArrayList(); AddressBookStub(Collection persons, Collection tags) { this.persons.setAll(persons); @@ -98,6 +100,11 @@ public ObservableList getPersonList() { public ObservableList getTagList() { return tags; } + + @Override + public ObservableList getEventList() { + return events; + } } @Test From ec789bdeed16801e08171ae567da129c00125b3c Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Mon, 12 Mar 2018 15:24:20 +0800 Subject: [PATCH 038/288] Add Tests --- .../address/model/event/Appointment.java | 29 ++++++ .../java/seedu/address/model/event/Task.java | 73 +++++++++++++++ .../java/seedu/address/model/event/Todo.java | 47 ---------- .../address/model/event/AppointmentTest.java | 90 +++++++++++++++++++ .../seedu/address/model/event/TaskTest.java | 76 ++++++++++++++++ 5 files changed, 268 insertions(+), 47 deletions(-) create mode 100644 src/main/java/seedu/address/model/event/Task.java delete mode 100644 src/main/java/seedu/address/model/event/Todo.java create mode 100644 src/test/java/seedu/address/model/event/AppointmentTest.java create mode 100644 src/test/java/seedu/address/model/event/TaskTest.java diff --git a/src/main/java/seedu/address/model/event/Appointment.java b/src/main/java/seedu/address/model/event/Appointment.java index 35f89ff23eb7..41022268161d 100644 --- a/src/main/java/seedu/address/model/event/Appointment.java +++ b/src/main/java/seedu/address/model/event/Appointment.java @@ -1,5 +1,8 @@ package seedu.address.model.event; +import static seedu.address.commons.util.AppUtil.checkArgument; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -12,8 +15,15 @@ * Represent an appointment in the schedule, contains time of the appointment as well as details and personMeet. */ public class Appointment implements Event { + /* + * The title can not be empty string or spaces only + */ + public static final String TITLE_VALIDATION_REGEX = "[^\\s].*"; + private static final String DATE_FORMAT = "yyyy/MM/dd HH:mm"; private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + private static final String MESSAGE_TITLE_CONSTRAINTS = "Title must be non empty"; + private static final String MESSAGE_TIME_CONSTRAINTS = "Invalid time stamp"; private String title; private Date time; @@ -27,6 +37,9 @@ public Appointment(String title, Calendar startTime, Calendar endTime) { //Every field except personToMeet must be present and not null public Appointment(String title, Calendar startTime, Calendar endTime, Person personToMeet) { + requireAllNonNull(title, startTime, endTime); + checkArgument(isValidTitle(title), MESSAGE_TITLE_CONSTRAINTS); + checkArgument(isValidTime(startTime, endTime), MESSAGE_TIME_CONSTRAINTS); this.title = title; this.time = startTime.getTime(); this.endTime = endTime.getTime(); @@ -65,4 +78,20 @@ public boolean equals(Object other) { && otherAppointment.getEndTime().equals(this.getEndTime()) && otherAppointment.getPersonToMeet().equals(this.getPersonToMeet()); } + + /** + * Returns true if a given string is a valid title. + */ + public static boolean isValidTitle(String test) { + return test.matches(TITLE_VALIDATION_REGEX); + } + + /** + * Returns true if the given time is valid + */ + public static boolean isValidTime(Calendar startTime, Calendar endTime) { + Calendar currentTime = Calendar.getInstance(); + currentTime.setTime(new Date()); + return endTime.after(startTime) && startTime.after(currentTime); + } } diff --git a/src/main/java/seedu/address/model/event/Task.java b/src/main/java/seedu/address/model/event/Task.java new file mode 100644 index 000000000000..99b4810fc8c7 --- /dev/null +++ b/src/main/java/seedu/address/model/event/Task.java @@ -0,0 +1,73 @@ +package seedu.address.model.event; + +import static seedu.address.commons.util.AppUtil.checkArgument; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +//@@author Sisyphus25 +/** + * Represent a Task in the schedule, contains deadline as well as the title + */ +public class Task implements Event { + public static final String TITLE_VALIDATION_REGEX = "[^\\s].*"; + + private static final String DATE_FORMAT = "yyyy/MM/dd HH:mm"; + private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + private static final String MESSAGE_TITLE_CONSTRAINTS = "Title must be non empty"; + private static final String MESSAGE_TIME_CONSTRAINTS = "Invalid time stamp"; + + private String title; + private Date time; + + //Every field must be present and not null + public Task(String title, Calendar deadline) { + requireAllNonNull(title, deadline); + checkArgument(isValidTitle(title), MESSAGE_TITLE_CONSTRAINTS); + checkArgument(isValidTime(deadline), MESSAGE_TIME_CONSTRAINTS); + this.title = title; + this.time = deadline.getTime(); + } + + public String getTitle() { + return title; + } + + public Date getTime() { + return time; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof Task)) { + return false; + } + + Task otherTask = (Task) other; + return otherTask.getTitle().equals(this.getTitle()) + && otherTask.getTime().equals(this.getTime()); + } + + /** + * Returns true if a given string is a valid title. + */ + public static boolean isValidTitle(String test) { + return test.matches(TITLE_VALIDATION_REGEX); + } + + /** + * Returns true if the given time is valid + */ + public static boolean isValidTime(Calendar deadline) { + Calendar currentTime = Calendar.getInstance(); + currentTime.setTime(new Date()); + return deadline.after(currentTime); + } +} diff --git a/src/main/java/seedu/address/model/event/Todo.java b/src/main/java/seedu/address/model/event/Todo.java deleted file mode 100644 index 6040205d0803..000000000000 --- a/src/main/java/seedu/address/model/event/Todo.java +++ /dev/null @@ -1,47 +0,0 @@ -package seedu.address.model.event; - -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; - -//@@author Sisyphus25 -/** - * Represent a to-do item in the schedule, contains deadline as well as the title - */ -public class Todo implements Event { - private static final String DATE_FORMAT = "yyyy/MM/dd HH:mm"; - private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); - - private String title; - private Date time; - - //Every field must be present and not null - public Todo(String title, Calendar deadline) { - this.title = title; - this.time = deadline.getTime(); - } - - public String getTitle() { - return title; - } - - public Date getTime() { - return time; - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof Todo)) { - return false; - } - - Todo otherTodo = (Todo) other; - return otherTodo.getTitle().equals(this.getTitle()) - && otherTodo.getTime().equals(this.getTime()); - } -} diff --git a/src/test/java/seedu/address/model/event/AppointmentTest.java b/src/test/java/seedu/address/model/event/AppointmentTest.java new file mode 100644 index 000000000000..cbac5f8c8d7d --- /dev/null +++ b/src/test/java/seedu/address/model/event/AppointmentTest.java @@ -0,0 +1,90 @@ +package seedu.address.model.event; + +import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertFalse; + +import java.util.Calendar; +import java.util.Date; +import java.util.HashSet; + +import org.junit.Test; + +import seedu.address.model.person.Address; +import seedu.address.model.person.Email; +import seedu.address.model.person.Name; +import seedu.address.model.person.Person; +import seedu.address.model.person.Phone; +import seedu.address.model.tag.Tag; +import seedu.address.testutil.Assert; + +//@@author Sisyphus25 +public class AppointmentTest { + private static final String VALID_TITLE = "Meet Student"; + private static final Date CURRENT_DATE = new Date(); + private static final Person VALID_PERSON_TO_MEET = new Person(new Name("John"), new Phone("12345678"), + new Email("john@gmail.com"), new Address("Clementi"), new HashSet()); + + private Calendar validStartTime; + private Calendar validEndTime; + private Calendar invalidStartTime; + private Calendar invalidEndTime; + + public AppointmentTest() { + validStartTime = Calendar.getInstance(); + validStartTime.setTime(CURRENT_DATE); + validStartTime.add(Calendar.HOUR_OF_DAY, 2); + + validEndTime = Calendar.getInstance(); + validEndTime.setTime(CURRENT_DATE); + validEndTime.add(Calendar.HOUR_OF_DAY, 3); + + invalidStartTime = Calendar.getInstance(); + invalidStartTime.setTime(CURRENT_DATE); + invalidStartTime.add(Calendar.HOUR_OF_DAY, -1); + + invalidEndTime = Calendar.getInstance(); + invalidEndTime.setTime(CURRENT_DATE); + invalidEndTime.add(Calendar.HOUR_OF_DAY, 1); + } + + @Test + public void constructor_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> + new Appointment(null, null, null)); + Assert.assertThrows(NullPointerException.class, () -> + new Appointment(VALID_TITLE, validStartTime, null)); + Assert.assertThrows(NullPointerException.class, () -> + new Appointment(VALID_TITLE, null, validEndTime)); + Assert.assertThrows(NullPointerException.class, () -> + new Appointment(null, validStartTime, validEndTime)); + } + + @Test + public void constructor_invalidAppointmentTitle_throwsIllegalArgumentException() { + String invalidTitle = ""; + Assert.assertThrows(IllegalArgumentException.class, () -> + new Appointment(invalidTitle, validStartTime, validEndTime)); + } + + @Test + public void constructor_invalidAppointmentTime_throwsIllegalArgumentException() { + Assert.assertThrows(IllegalArgumentException.class, () -> + new Appointment(VALID_TITLE, invalidStartTime, validEndTime)); + Assert.assertThrows(IllegalArgumentException.class, () -> + new Appointment(VALID_TITLE, validStartTime, invalidEndTime)); + } + + @Test + public void isValidTitle() { + // null title + Assert.assertThrows(NullPointerException.class, () -> Appointment.isValidTitle(null)); + + // invalid Appointment + assertFalse(Appointment.isValidTitle("")); // empty string + assertFalse(Appointment.isValidTitle(" ")); // spaces only + + // valid Appointment + assertTrue(Appointment.isValidTitle("Meet Dave")); + assertTrue(Appointment.isValidTitle("-")); // one character + } +} diff --git a/src/test/java/seedu/address/model/event/TaskTest.java b/src/test/java/seedu/address/model/event/TaskTest.java new file mode 100644 index 000000000000..899f3ca4e1f7 --- /dev/null +++ b/src/test/java/seedu/address/model/event/TaskTest.java @@ -0,0 +1,76 @@ +package seedu.address.model.event; + +import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertFalse; + +import java.util.Calendar; +import java.util.Date; +import java.util.HashSet; + +import org.junit.Test; + +import seedu.address.model.person.Address; +import seedu.address.model.person.Email; +import seedu.address.model.person.Name; +import seedu.address.model.person.Person; +import seedu.address.model.person.Phone; +import seedu.address.model.tag.Tag; +import seedu.address.testutil.Assert; + +//@@author Sisyphus25 +public class TaskTest { + private static final String VALID_TITLE = "Grade tests"; + private static final Date CURRENT_DATE = new Date(); + private static final Person VALID_PERSON_TO_MEET = new Person(new Name("John"), new Phone("12345678"), + new Email("john@gmail.com"), new Address("Clementi"), new HashSet()); + + private Calendar validDeadline; + private Calendar invalidDeadline; + + public TaskTest() { + validDeadline = Calendar.getInstance(); + validDeadline.setTime(CURRENT_DATE); + validDeadline.add(Calendar.HOUR_OF_DAY, 2); + + invalidDeadline = Calendar.getInstance(); + invalidDeadline.setTime(CURRENT_DATE); + invalidDeadline.add(Calendar.HOUR_OF_DAY, -1); + } + + @Test + public void constructor_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> + new Task(null, null)); + Assert.assertThrows(NullPointerException.class, () -> + new Task(VALID_TITLE, null)); + Assert.assertThrows(NullPointerException.class, () -> + new Task(null, validDeadline)); + } + + @Test + public void constructor_invalidTestTitle_throwsIllegalArgumentException() { + String invalidTitle = ""; + Assert.assertThrows(IllegalArgumentException.class, () -> + new Task(invalidTitle, validDeadline)); + } + + @Test + public void constructor_invalidTaskDeadline_throwsIllegalArgumentException() { + Assert.assertThrows(IllegalArgumentException.class, () -> + new Task(VALID_TITLE, invalidDeadline)); + } + + @Test + public void isValidTitle() { + // null title + Assert.assertThrows(NullPointerException.class, () -> Task.isValidTitle(null)); + + // invalid Test + assertFalse(Task.isValidTitle("")); // empty string + assertFalse(Task.isValidTitle(" ")); // spaces only + + // valid Test + assertTrue(Task.isValidTitle("Todo")); + assertTrue(Task.isValidTitle("-")); // one character + } +} From 36de3bda0cd8ddb9280d77a5be3f91d0af027f4d Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Tue, 13 Mar 2018 00:19:31 +0800 Subject: [PATCH 039/288] Create schedule event utils for testing --- .../java/seedu/address/model/AddressBook.java | 2 - .../address/model/event/UniqueEventList.java | 26 ++++++- .../seedu/address/model/AddressBookTest.java | 22 ++++-- .../address/model/UniqueEventListTest.java | 19 +++++ .../address/model/event/AppointmentTest.java | 11 +-- .../seedu/address/model/event/TaskTest.java | 15 ++-- .../seedu/address/testutil/EventBuilder.java | 70 +++++++++++++++++++ .../seedu/address/testutil/TypicalEvents.java | 20 ++++++ 8 files changed, 158 insertions(+), 27 deletions(-) create mode 100644 src/test/java/seedu/address/model/UniqueEventListTest.java create mode 100644 src/test/java/seedu/address/testutil/EventBuilder.java create mode 100644 src/test/java/seedu/address/testutil/TypicalEvents.java diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index c0be61bb6902..4a78c4e7fad5 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -231,7 +231,5 @@ private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundEx person.getAddress(), listOfTags); updatePerson(person, updatedPerson); - - } } diff --git a/src/main/java/seedu/address/model/event/UniqueEventList.java b/src/main/java/seedu/address/model/event/UniqueEventList.java index e00107388c99..505260cd87a7 100644 --- a/src/main/java/seedu/address/model/event/UniqueEventList.java +++ b/src/main/java/seedu/address/model/event/UniqueEventList.java @@ -54,6 +54,28 @@ public boolean remove(Event toRemove) throws EventNotFoundException { return eventFoundAndDeleted; } + /** + * Replaces the person {@code target} in the list with {@code editedEvent}. + * + * @throws DuplicateEventException if the replacement is equivalent to another existing event in the list. + * @throws EventNotFoundException if {@code target} could not be found in the list. + */ + public void setEvent(Event target, Event editedEvent) + throws DuplicateEventException, EventNotFoundException { + requireNonNull(editedEvent); + + int index = internalList.indexOf(target); + if (index == -1) { + throw new EventNotFoundException(); + } + + if (!target.equals(editedEvent) && internalList.contains(editedEvent)) { + throw new DuplicateEventException(); + } + + internalList.set(index, editedEvent); + } + public void setEvents(UniqueEventList replacement) { this.internalList.setAll(replacement.internalList); } @@ -95,7 +117,7 @@ public int hashCode() { * Signals that an operation would have violated the 'no duplicates' property of the list. */ public static class DuplicateEventException extends DuplicateDataException { - protected DuplicateEventException() { + public DuplicateEventException() { super("Operation would result in duplicate events"); } } @@ -103,7 +125,7 @@ protected DuplicateEventException() { * Signals that an operation is looking for an event doesn't exist. */ public static class EventNotFoundException extends Exception { - protected EventNotFoundException() { + public EventNotFoundException() { super("Event not found"); } } diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 382485ba562b..667478818530 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -28,9 +28,9 @@ import seedu.address.model.tag.Tag; import seedu.address.testutil.AddressBookBuilder; import seedu.address.testutil.PersonBuilder; +import seedu.address.testutil.TypicalEvents; public class AddressBookTest { - @Rule public ExpectedException thrown = ExpectedException.none(); @@ -40,6 +40,8 @@ public class AddressBookTest { public void constructor() { assertEquals(Collections.emptyList(), addressBook.getPersonList()); assertEquals(Collections.emptyList(), addressBook.getTagList()); + assertEquals(Collections.emptyList(), addressBook.getEventList()); + } @Test @@ -57,10 +59,13 @@ public void resetData_withValidReadOnlyAddressBook_replacesData() { @Test public void resetData_withDuplicatePersons_throwsAssertionError() { + TypicalEvents typicalEvents = new TypicalEvents(); + // Repeat ALICE twice List newPersons = Arrays.asList(ALICE, ALICE); List newTags = new ArrayList<>(ALICE.getTags()); - AddressBookStub newData = new AddressBookStub(newPersons, newTags); + List newEvents = Arrays.asList(typicalEvents.typicalAppointment1, typicalEvents.typicalTask1); + AddressBookStub newData = new AddressBookStub(newPersons, newTags, newEvents); thrown.expect(AssertionError.class); addressBook.resetData(newData); @@ -78,17 +83,24 @@ public void getTagList_modifyList_throwsUnsupportedOperationException() { addressBook.getTagList().remove(0); } + @Test + public void getEventList_modifyList_throwsUnsupportedOperationException() { + thrown.expect(UnsupportedOperationException.class); + addressBook.getEventList().remove(0); + } + /** - * A stub ReadOnlyAddressBook whose persons and tags lists can violate interface constraints. + * A stub ReadOnlyAddressBook whose persons, tags and events lists can violate interface constraints. */ private static class AddressBookStub implements ReadOnlyAddressBook { private final ObservableList persons = FXCollections.observableArrayList(); private final ObservableList tags = FXCollections.observableArrayList(); private final ObservableList events = FXCollections.observableArrayList(); - AddressBookStub(Collection persons, Collection tags) { + AddressBookStub(Collection persons, Collection tags, Collection events) { this.persons.setAll(persons); this.tags.setAll(tags); + this.events.setAll(events); } @Override @@ -130,7 +142,7 @@ public void removeTag_tagNotPresent_addressBookUnchanged() throws PersonNotFound } @Test - public void removeTag_tagUsedByMultiplePeople_tagRemoved() throws PersonNotFoundException, + public void removeTag_tagUsedByMultiplePeople_tagRemoved() throws PersonNotFoundException, DuplicatePersonException { AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); testAddressBook.removeTag(new Tag(VALID_TAG_FRIEND)); diff --git a/src/test/java/seedu/address/model/UniqueEventListTest.java b/src/test/java/seedu/address/model/UniqueEventListTest.java new file mode 100644 index 000000000000..817757c032b4 --- /dev/null +++ b/src/test/java/seedu/address/model/UniqueEventListTest.java @@ -0,0 +1,19 @@ +package seedu.address.model; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.model.event.UniqueEventList; + +public class UniqueEventListTest { + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void asObservableList_modifyList_throwsUnsupportedOperationException() { + UniqueEventList uniquePersonList = new UniqueEventList(); + thrown.expect(UnsupportedOperationException.class); + uniquePersonList.asObservableList().remove(0); + } +} diff --git a/src/test/java/seedu/address/model/event/AppointmentTest.java b/src/test/java/seedu/address/model/event/AppointmentTest.java index cbac5f8c8d7d..aa396a11cf58 100644 --- a/src/test/java/seedu/address/model/event/AppointmentTest.java +++ b/src/test/java/seedu/address/model/event/AppointmentTest.java @@ -5,24 +5,19 @@ import java.util.Calendar; import java.util.Date; -import java.util.HashSet; import org.junit.Test; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; -import seedu.address.model.tag.Tag; import seedu.address.testutil.Assert; +import seedu.address.testutil.TypicalPersons; //@@author Sisyphus25 public class AppointmentTest { private static final String VALID_TITLE = "Meet Student"; private static final Date CURRENT_DATE = new Date(); - private static final Person VALID_PERSON_TO_MEET = new Person(new Name("John"), new Phone("12345678"), - new Email("john@gmail.com"), new Address("Clementi"), new HashSet()); + private static final Person VALID_PERSON_TO_MEET = TypicalPersons.ALICE; + private Calendar validStartTime; private Calendar validEndTime; diff --git a/src/test/java/seedu/address/model/event/TaskTest.java b/src/test/java/seedu/address/model/event/TaskTest.java index 899f3ca4e1f7..093b91cdb4b0 100644 --- a/src/test/java/seedu/address/model/event/TaskTest.java +++ b/src/test/java/seedu/address/model/event/TaskTest.java @@ -5,24 +5,19 @@ import java.util.Calendar; import java.util.Date; -import java.util.HashSet; import org.junit.Test; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; -import seedu.address.model.tag.Tag; import seedu.address.testutil.Assert; +import seedu.address.testutil.TypicalPersons; + //@@author Sisyphus25 public class TaskTest { private static final String VALID_TITLE = "Grade tests"; private static final Date CURRENT_DATE = new Date(); - private static final Person VALID_PERSON_TO_MEET = new Person(new Name("John"), new Phone("12345678"), - new Email("john@gmail.com"), new Address("Clementi"), new HashSet()); + private static final Person VALID_PERSON_TO_MEET = TypicalPersons.ALICE; private Calendar validDeadline; private Calendar invalidDeadline; @@ -65,11 +60,11 @@ public void isValidTitle() { // null title Assert.assertThrows(NullPointerException.class, () -> Task.isValidTitle(null)); - // invalid Test + // invalid Task assertFalse(Task.isValidTitle("")); // empty string assertFalse(Task.isValidTitle(" ")); // spaces only - // valid Test + // valid Task assertTrue(Task.isValidTitle("Todo")); assertTrue(Task.isValidTitle("-")); // one character } diff --git a/src/test/java/seedu/address/testutil/EventBuilder.java b/src/test/java/seedu/address/testutil/EventBuilder.java new file mode 100644 index 000000000000..3a24326c9fac --- /dev/null +++ b/src/test/java/seedu/address/testutil/EventBuilder.java @@ -0,0 +1,70 @@ +package seedu.address.testutil; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +import seedu.address.model.event.Appointment; +import seedu.address.model.event.Event; +import seedu.address.model.event.Task; +import seedu.address.model.person.Person; + +/** + * A utility class to help with building Event objects. + */ +public class EventBuilder { + private static final String DATE_FORMAT = "yyyy/MM/dd HH:mm"; + private static final SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + private static final Date CURRENT_TIME = new Date(); + + private String title; + private Calendar time; + private Calendar endTime; + private Person personToMeet; + private String eventType; + + public EventBuilder(String title, String time, String endTime, Person personToMeet) { + this.title = title; + this.time = Calendar.getInstance(); + this.endTime = Calendar.getInstance(); + try { + this.time.setTime(DATE_FORMATTER.parse(time)); + this.endTime.setTime(DATE_FORMATTER.parse(endTime)); + } catch (ParseException e) { + this.time.setTime(CURRENT_TIME); + this.time.add(Calendar.HOUR_OF_DAY, 1); + this.time.setTime(CURRENT_TIME); + this.time.add(Calendar.HOUR_OF_DAY, 2); + } + this.personToMeet = personToMeet; + this.eventType = "Appointment"; + } + + public EventBuilder(String title, String time) { + this.title = title; + this.time = Calendar.getInstance(); + try { + this.time.setTime(DATE_FORMATTER.parse(time)); + } catch (ParseException e) { + this.time.setTime(CURRENT_TIME); + this.time.add(Calendar.HOUR_OF_DAY, 1); + } + this.endTime = null; + this.personToMeet = null; + this.eventType = "Task"; + } + + /** + * @return an {@code Event} from the data feed to constructor + */ + public Event build() { + if (eventType.equals("Appointment")) { + return new Appointment(title, time, endTime, personToMeet); + } else if (eventType.equals("Task")) { + return new Task(title, time); + } else { + return null; + } + } +} diff --git a/src/test/java/seedu/address/testutil/TypicalEvents.java b/src/test/java/seedu/address/testutil/TypicalEvents.java new file mode 100644 index 000000000000..43815a1b7f61 --- /dev/null +++ b/src/test/java/seedu/address/testutil/TypicalEvents.java @@ -0,0 +1,20 @@ +package seedu.address.testutil; + +import static seedu.address.testutil.TypicalPersons.ALICE; + +import seedu.address.model.event.Event; + +/** + * A utility class containing a list of {@code Event} objects to be used in tests. + */ +public class TypicalEvents { + public final Event typicalAppointment1; + public final Event typicalTask1; + + public TypicalEvents() { + typicalAppointment1 = + new EventBuilder("Meet student", "2018/10/09 10:00", "2018/10/09 11:00", ALICE).build(); + typicalTask1 = + new EventBuilder("To do", "2018/10/10 10:00").build(); + } +} From 4faaf77a6d5e6b7e9a52e8d316b3f47aebd862c0 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Tue, 13 Mar 2018 00:07:58 +0800 Subject: [PATCH 040/288] Modify Model and ModelManager (cherry picked from commit 0080f2b) --- .../java/seedu/address/model/AddressBook.java | 46 +++++++++++++++++++ src/main/java/seedu/address/model/Model.java | 18 ++++++++ .../seedu/address/model/ModelManager.java | 24 ++++++++++ 3 files changed, 88 insertions(+) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 4a78c4e7fad5..6257a51cd7b1 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -63,6 +63,11 @@ public void setTags(Set tags) { this.tags.setTags(tags); } + public void setEvents(List events) throws UniqueEventList.DuplicateEventException { + this.events.setEvents(events); + } + + /** * Resets the existing data of this {@code AddressBook} with {@code newData}. */ @@ -72,11 +77,15 @@ public void resetData(ReadOnlyAddressBook newData) { List syncedPersonList = newData.getPersonList().stream() .map(this::syncWithMasterTagList) .collect(Collectors.toList()); + List eventList = newData.getEventList(); try { setPersons(syncedPersonList); + setEvents(eventList); } catch (DuplicatePersonException e) { throw new AssertionError("AddressBooks should not have duplicate persons"); + } catch (UniqueEventList.DuplicateEventException e) { + throw new AssertionError("AddressBooks should not have duplicate events"); } } @@ -232,4 +241,41 @@ private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundEx updatePerson(person, updatedPerson); } + + //@@author Sisyphus25 + //// event operations + + /** + * Adds an event to the address book. + * + * @throws UniqueEventList.DuplicateEventException if an equivalent person already exists. + */ + public void addEvent(Event e) throws UniqueEventList.DuplicateEventException { + events.add(e); + } + + /** + * Replaces the given event {@code target} in the list with {@code editedEvent}. + * + * @throws UniqueEventList.DuplicateEventException if updating the event's details causes the event + * to be equivalent to another existing person in the list. + * @throws UniqueEventList.EventNotFoundException if {@code target} could not be found in the list. + */ + public void updateEvent(Event target, Event editedEvent) + throws UniqueEventList.DuplicateEventException, UniqueEventList.EventNotFoundException { + requireNonNull(editedEvent); + events.setEvent(target, editedEvent); + } + + /** + * Removes {@code key} from this {@code AddressBook}. + * @throws UniqueEventList.EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + */ + public boolean removeEvent(Event key) throws UniqueEventList.EventNotFoundException { + if (events.remove(key)) { + return true; + } else { + throw new UniqueEventList.EventNotFoundException(); + } + } } diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 750831254a80..4ce88257c0d6 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -3,6 +3,8 @@ import java.util.function.Predicate; import javafx.collections.ObservableList; +import seedu.address.model.event.Event; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -48,4 +50,20 @@ void updatePerson(Person target, Person editedPerson) void deleteTag(Tag tag) throws PersonNotFoundException, DuplicatePersonException; + /** Adds the given event */ + void addEvent(Event event) throws UniqueEventList.DuplicateEventException; + + /** Deletes the given event. */ + void deleteEvent(Event event) throws UniqueEventList.EventNotFoundException; + + /** + * Replaces the given event {@code target} with {@code editedEvent}. + * + * @throws UniqueEventList.DuplicateEventException if updating the event causes it to be equivalent to + * another existing person in the list. + * @throws UniqueEventList.EventNotFoundException if {@code target} could not be found in the list. + */ + void updateEvent(Event target, Event editedEvent) + throws UniqueEventList.DuplicateEventException, UniqueEventList.EventNotFoundException; + } diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 651f04c4b502..e87b8bd6db83 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -12,6 +12,8 @@ import seedu.address.commons.core.ComponentManager; import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.model.AddressBookChangedEvent; +import seedu.address.model.event.Event; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -82,6 +84,28 @@ public void updatePerson(Person target, Person editedPerson) indicateAddressBookChanged(); } + @Override + public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { + addressBook.addEvent(event); + updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + indicateAddressBookChanged(); + } + + @Override + public void deleteEvent(Event target) throws UniqueEventList.EventNotFoundException { + addressBook.removeEvent(target); + indicateAddressBookChanged(); + } + + @Override + public void updateEvent(Event target, Event editedEvent) + throws UniqueEventList.DuplicateEventException, UniqueEventList.EventNotFoundException { + requireAllNonNull(target, editedEvent); + + addressBook.updateEvent(target, editedEvent); + indicateAddressBookChanged(); + } + //=========== Filtered Person List Accessors ============================================================= /** From 9cd4745ddcf389da4577289e615bf4057739efcf Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Tue, 13 Mar 2018 00:11:17 +0800 Subject: [PATCH 041/288] Implementing the methods accommodating Events in ModelStub (cherry picked from commit 4481880) --- .../address/logic/commands/AddCommandTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 8cc2ff9ba221..bc48adba50a3 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -21,6 +21,8 @@ import seedu.address.model.AddressBook; import seedu.address.model.Model; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.event.Event; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -139,6 +141,22 @@ public void updateFilteredPersonList(Predicate predicate) { public void deleteTag(Tag tag) { fail("This method should not be called."); } + + @Override + public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { + fail("This method should not be called."); + }; + + @Override + public void deleteEvent(Event event) throws UniqueEventList.EventNotFoundException { + fail("This method should not be called."); + }; + + @Override + public void updateEvent(Event target, Event editedEvent) + throws UniqueEventList.DuplicateEventException, UniqueEventList.EventNotFoundException { + fail("This method should not be called."); + }; } /** From f15ee231c199047b45782f5e3de6d232b032a477 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Tue, 13 Mar 2018 00:15:40 +0800 Subject: [PATCH 042/288] Fix JUnit test (cherry picked from commit fd7035b) --- .../seedu/address/testutil/AddressBookBuilder.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/test/java/seedu/address/testutil/AddressBookBuilder.java b/src/test/java/seedu/address/testutil/AddressBookBuilder.java index 6e73a762b0c1..750e34da46d3 100644 --- a/src/test/java/seedu/address/testutil/AddressBookBuilder.java +++ b/src/test/java/seedu/address/testutil/AddressBookBuilder.java @@ -2,6 +2,8 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.AddressBook; +import seedu.address.model.event.Event; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.tag.Tag; @@ -47,6 +49,18 @@ public AddressBookBuilder withTag(String tagName) { return this; } + /** + * Parses {@code appointment} into a {@code Event} and adds it to the {@code AddressBook} that we are building. + */ + public AddressBookBuilder withEvent(Event event) { + try { + addressBook.addEvent(event); + } catch (UniqueEventList.DuplicateEventException ive) { + throw new IllegalArgumentException("event is expected to be unique"); + } + return this; + } + public AddressBook build() { return addressBook; } From aa5c722e50042a7384e926f33383a5be6c0b8783 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 13 Mar 2018 08:31:24 +0800 Subject: [PATCH 043/288] Import command simple outline --- .../seedu/address/logic/commands/Command.java | 1 + .../address/logic/commands/ImportCommand.java | 78 +++++++++++++------ .../logic/parser/AddressBookParser.java | 4 + .../seedu/address/logic/parser/CliSyntax.java | 2 +- .../logic/parser/ImportCommandParser.java | 9 ++- .../seedu/address/model/ModelManager.java | 1 - .../java/seedu/address/storage/Storage.java | 4 + 7 files changed, 73 insertions(+), 26 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/Command.java b/src/main/java/seedu/address/logic/commands/Command.java index 6580e0b51c90..1ad5d93d081d 100644 --- a/src/main/java/seedu/address/logic/commands/Command.java +++ b/src/main/java/seedu/address/logic/commands/Command.java @@ -14,6 +14,7 @@ public abstract class Command { protected CommandHistory history; protected UndoRedoStack undoRedoStack; + /** * Constructs a feedback message to summarise an operation that displayed a listing of persons. * diff --git a/src/main/java/seedu/address/logic/commands/ImportCommand.java b/src/main/java/seedu/address/logic/commands/ImportCommand.java index d306776eefd8..61e154855061 100644 --- a/src/main/java/seedu/address/logic/commands/ImportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ImportCommand.java @@ -1,25 +1,44 @@ package seedu.address.logic.commands; import static java.util.Objects.requireNonNull; +import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; +import java.io.IOException; import java.util.Observable; +import java.util.Optional; +import java.util.logging.Logger; import javafx.collections.ObservableList; -import javafx.collections.transformation.FilteredList; +import seedu.address.MainApp; +import seedu.address.commons.core.Config; +import seedu.address.commons.core.LogsCenter; +import seedu.address.commons.exceptions.DataConversionException; +import seedu.address.commons.util.StringUtil; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.AddressBook; +import seedu.address.model.Model; import seedu.address.model.ModelManager; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.UserPrefs; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.storage.AddressBookStorage; import seedu.address.storage.JsonUserPrefsStorage; +import seedu.address.storage.Storage; +import seedu.address.storage.StorageManager; import seedu.address.storage.UserPrefsStorage; +import seedu.address.storage.XmlAddressBookStorage; /** * Imports contacts from a different Addressbook file */ -public class ImportCommand extends Command { +public class ImportCommand extends UndoableCommand { + + private static final String MESSAGE_INVALID_FILE = "Please input a valid file location"; + protected Storage storage; + protected Config config; + protected UserPrefs userPrefs; + public static final String COMMAND_WORD = "import"; @@ -29,40 +48,55 @@ public class ImportCommand extends Command { public static final String MESSAGE_SUCCESS = "Contacts have been successfully imported!"; - private AddressBook addressBook1; - private ObservableList importedPeople; + private AddressBook addressBookImported; + private AddressBookStorage addressBookStorage; + private String filePath; + + private static final Logger logger = LogsCenter.getLogger(ImportCommand.class); + public ImportCommand(String importPath) { requireNonNull(importPath); - filePath = importPath; + this.filePath = importPath; + addressBookStorage = new XmlAddressBookStorage(filePath); + } @Override - public CommandResult execute() { - requireNonNull(model); - - UserPrefs usersPrefs = new UserPrefs(); - usersPrefs.setAddressBookFilePath(filePath); + public CommandResult executeUndoableCommand() throws CommandException { + try { + if (addressBookStorage.readAddressBook(filePath).isPresent()) { + this.addressBookImported = new AddressBook(addressBookStorage.readAddressBook().get()); + ObservableList people = addressBookImported.getPersonList(); + for (int i = 0; i < people.size(); i++) { + try { + model.addPerson(people.get(i)); + } catch (DuplicatePersonException e) { + + } + } + }else{ + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); - ModelManager import_model = new ModelManager(addressBook1, usersPrefs); - - ReadOnlyAddressBook addressBook1 = import_model.getAddressBook(); - - importedPeople = addressBook1.getPersonList(); - - for(int i = 0; i < importedPeople.size(); i++){ - Person peopleAdded = importedPeople.get(i); - try { - model.addPerson(peopleAdded); - } catch (DuplicatePersonException e) { - e.printStackTrace(); } + } catch (DataConversionException e) { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } catch (IOException e) { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); } + return new CommandResult(MESSAGE_SUCCESS); } + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ImportCommand // instanceof handles nulls + && filePath.equals(((ImportCommand) other).filePath)); + } + } diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index b7d57f5db86a..2abbd60eae39 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -15,6 +15,7 @@ import seedu.address.logic.commands.FindCommand; import seedu.address.logic.commands.HelpCommand; import seedu.address.logic.commands.HistoryCommand; +import seedu.address.logic.commands.ImportCommand; import seedu.address.logic.commands.ListCommand; import seedu.address.logic.commands.RedoCommand; import seedu.address.logic.commands.SelectCommand; @@ -84,6 +85,9 @@ public Command parseCommand(String userInput) throws ParseException { case RedoCommand.COMMAND_WORD: return new RedoCommand(); + case ImportCommand.COMMAND_WORD: + return new ImportCommandParser().parse(arguments); + default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } diff --git a/src/main/java/seedu/address/logic/parser/CliSyntax.java b/src/main/java/seedu/address/logic/parser/CliSyntax.java index 75b1a9bf1190..85121ca24377 100644 --- a/src/main/java/seedu/address/logic/parser/CliSyntax.java +++ b/src/main/java/seedu/address/logic/parser/CliSyntax.java @@ -11,5 +11,5 @@ public class CliSyntax { public static final Prefix PREFIX_EMAIL = new Prefix("e/"); public static final Prefix PREFIX_ADDRESS = new Prefix("a/"); public static final Prefix PREFIX_TAG = new Prefix("t/"); - + public static final Prefix PREFIX_PATH = new Prefix("pa/"); } diff --git a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java index 5b244bfc38da..aa7e775ce7f9 100644 --- a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java @@ -1,6 +1,8 @@ package seedu.address.logic.parser; +import static java.util.Objects.requireNonNull; import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; import java.util.Arrays; @@ -18,12 +20,15 @@ public ImportCommand parse(String args) throws ParseException { String[] parameterGetterArray = trimmedArgs.split(" "); - if(parameterGetterArray.length != 2){ + if(parameterGetterArray.length != 1){ throw new ParseException( String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); }else{ - return new ImportCommand(parameterGetterArray[1]); + return new ImportCommand(parameterGetterArray[0]); } } + + + } diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index d77660e1452f..651f04c4b502 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -55,7 +55,6 @@ public ReadOnlyAddressBook getAddressBook() { return addressBook; } - /** Raises an event to indicate the model has changed */ private void indicateAddressBookChanged() { raise(new AddressBookChangedEvent(addressBook)); diff --git a/src/main/java/seedu/address/storage/Storage.java b/src/main/java/seedu/address/storage/Storage.java index c0881a5a6483..d48469b613db 100644 --- a/src/main/java/seedu/address/storage/Storage.java +++ b/src/main/java/seedu/address/storage/Storage.java @@ -26,6 +26,10 @@ public interface Storage extends AddressBookStorage, UserPrefsStorage { @Override Optional readAddressBook() throws DataConversionException, IOException; + @Override + Optional readAddressBook(String filePath) throws DataConversionException, IOException; + + @Override void saveAddressBook(ReadOnlyAddressBook addressBook) throws IOException; From 2e1528e94de47d7f85d9fa7d88342e4cd83f350e Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 13 Mar 2018 08:40:18 +0800 Subject: [PATCH 044/288] AboutUs updated --- docs/AboutUs.adoc | 10 +++++++--- docs/images/LimShiMinJonathan.jpg | Bin 0 -> 97719 bytes 2 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 docs/images/LimShiMinJonathan.jpg diff --git a/docs/AboutUs.adoc b/docs/AboutUs.adoc index 3bf097d03fcc..8bad6f6114a7 100644 --- a/docs/AboutUs.adoc +++ b/docs/AboutUs.adoc @@ -3,7 +3,11 @@ :imagesDir: images :stylesDir: stylesheets -TeachConnect was developed by the CS2103T AY2018/19 B-1 team. +TeachConnect was developed by a team of students, with assistance from the Project Supervisor, as a project +for the module CS2103T. + +It was built upon the AddressBook - Level 4 project developed by the https://se-edu.github.io/docs/Team.html[se-edu] +team. We are a team based in the http://www.comp.nus.edu.sg[School of Computing, National University of Singapore]. @@ -37,8 +41,8 @@ Responsibilities: Logic + Testing ''' === Jonathan Lim -image::m133225.jpg[width="150", align="left"] -{empty}[http://github.com/m133225[github]] [<>] +image::LimShiMinJonathan.jpg[width="150", align="left"] +{empty}[http://github.com/LimShiMinJonathan[github]] [<>] Role: Developer Responsibilities: Storage + Documentation + Tool Expert diff --git a/docs/images/LimShiMinJonathan.jpg b/docs/images/LimShiMinJonathan.jpg new file mode 100644 index 0000000000000000000000000000000000000000..befb33d61b7acda881c1dc39d41fc476adfb3ef1 GIT binary patch literal 97719 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

Blk 30 Geylang Street 29, #06-40
+ + friends + brown + + + + Funny Yu + 992727581 + funnyyu@example.com +
Blk 30 Lorong 3 Serangoon Gardens, #07-18
+ + colleagues + yellow + + + friends + brown + +
+ + Funny Oliveiro + 93210283 + funny@example.com +
Blk 11 Ang Mo Kio Street 74, #11-04
+ + neighbours + yellow + +
+ + Funny Li + 91031282 + lidavid@example.com +
Blk 436 Serangoon Gardens Street 26, #16-43
+ + family + orange + +
+ + Funny Ibrahim + 92492021 + funnyirfan@example.com +
Blk 47 Tampines Street 20, #17-35
+ + classmates + teal + +
+ + Funny Balakrishnan + 92624417 + funnyb@example.com +
Blk 45 Aljunied Street 85, #11-31
+ + colleagues + yellow + +
+ + Funny Doe + 98765432 + funnyd@example.com +
311, Clementi Ave 2, #02-25
+ + owesMoney + teal + + + friends + brown + +
+ + colleagues + yellow + + + classmates + teal + + + neighbours + yellow + + + family + orange + + + friends + brown + + + owesMoney + teal + + diff --git a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java index 87cb62a3eecb..178a8480587e 100644 --- a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java @@ -4,7 +4,6 @@ import static org.junit.Assert.assertFalse; import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; -import static seedu.address.testutil.TypicalImportedPersons.getImportedAddressBook; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import org.junit.Rule; @@ -16,14 +15,13 @@ import seedu.address.model.Model; import seedu.address.model.ModelManager; import seedu.address.model.UserPrefs; -import seedu.address.testutil.TestUtil; public class ImportCommandTest { private static final String INVALID_FILE_LOCATION = "./data/samplefile.xml"; private static final String VALID_FILE_LOCATION = - TestUtil.getFilePathInSandboxFolder("importsamplefile.xml"); + "./src/test/data/XmlAddressBookStorgageTest/importsamplefile.xml"; @Rule public ExpectedException thrown = ExpectedException.none(); @@ -43,10 +41,14 @@ public void execute_importFailure_throwsException() { @Test public void execute_acceptedSuccess_successfulImport() { - ImportCommand command = prepareCommand(VALID_FILE_LOCATION); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - Model expectedModel = new ModelManager(getImportedAddressBook(), new UserPrefs()); - assertCommandSuccess(command, model, String.format(command.MESSAGE_SUCCESS), expectedModel); + + ClearCommand clearCommand = new ClearCommand(); + clearCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + clearCommand.executeUndoableCommand(); + + ImportCommand command = prepareCommand(VALID_FILE_LOCATION); + assertCommandSuccess(command, model, String.format(command.MESSAGE_SUCCESS), model); } @Test diff --git a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java index 581850521ada..a74cbf012129 100644 --- a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java @@ -8,7 +8,6 @@ import seedu.address.logic.commands.ImportCommand; import seedu.address.logic.parser.exceptions.ParseException; -import seedu.address.testutil.TestUtil; public class ImportCommandParserTest { @@ -39,7 +38,7 @@ public void parse_moreThanOneBlockOfString_throwsParseException() throws ParseEx @Test public void parse_validString_success() { - String input = TestUtil.getFilePathInSandboxFolder("importsamplefile.xml"); + String input = "./src/test/data/XmlAddressBookStorgageTest/importsamplefile.xml"; ImportCommand expectedCommand = new ImportCommand(input); assertParseSuccess(importCommandParser, input, expectedCommand); } From 7f68a8586b7291d90f18e837ae6966540f1c4435 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Fri, 16 Mar 2018 11:20:30 +0800 Subject: [PATCH 074/288] Updated Checkstyle errors and fixed Test cases --- .../java/seedu/address/logic/commands/ImportCommandTest.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java index 178a8480587e..ccbf14f56ab5 100644 --- a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java @@ -21,7 +21,7 @@ public class ImportCommandTest { private static final String INVALID_FILE_LOCATION = "./data/samplefile.xml"; private static final String VALID_FILE_LOCATION = - "./src/test/data/XmlAddressBookStorgageTest/importsamplefile.xml"; + "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"; @Rule public ExpectedException thrown = ExpectedException.none(); @@ -48,6 +48,7 @@ public void execute_acceptedSuccess_successfulImport() { clearCommand.executeUndoableCommand(); ImportCommand command = prepareCommand(VALID_FILE_LOCATION); + assertCommandSuccess(command, model, String.format(command.MESSAGE_SUCCESS), model); } From 67c41f2aca9f7ba9ac6388853af8d36df3a67a8f Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Sun, 18 Mar 2018 01:37:42 +0800 Subject: [PATCH 075/288] Export Command Implemented --- docs/UserGuide.adoc | 29 +++ .../address/logic/commands/ExportCommand.java | 190 ++++++++++++++++++ .../logic/parser/AddressBookParser.java | 4 + .../seedu/address/logic/parser/CliSyntax.java | 4 + .../logic/parser/ExportCommandParser.java | 60 ++++++ 5 files changed, 287 insertions(+) create mode 100644 src/main/java/seedu/address/logic/commands/ExportCommand.java create mode 100644 src/main/java/seedu/address/logic/parser/ExportCommandParser.java diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 7edf2e760a0d..5532f21d0e4a 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -319,6 +319,35 @@ Format: `exit` TeachConnect data are saved in the hard disk automatically [even while sharing TeachConnect] after any command that changes the data. + There is no need to save manually. +=== Importing the contacts : `import` + +TeachConnect allows you to import contacts from a different TeachConnect file by specifying the location of the file. + + +Format: `import [TYPE] pathname` + +Examples: +Importing Contacts : `import ./data/importsample.xml` + +=== Exporting the contacts : `export` + +TeachConnect allows you to export contacts from your TeachConnect by specifying the name of the file you want to save it in and the path where you want to save it. It can export the contacts based on a given range of indexes or a given tag or a given tag in a range of indexes. + +Format: `export [TYPE] n/NAME r/RANGE t/TAG p/PATH` + +Format: `export [TYPE] n/NAME r/RANGE p/PATH` + +[TIP] +You can export all the people at once, all the people with a certain tag at once, all the people with a certain tag in a range at once or all the people in a range with any tags in a single command. + +[WARNING] +You can only export all a people based on one or zero tags. + +Examples: + +Exporting contacts : `export n/StudentsFile1 r/all t/students p/./data` +Exporting contacts : `export n/StudentsFile2 r/1,10 t/students p/./data` + + === Upcoming features `[coming soon]` * Clear distinction between students and parents [coming in v1.2] diff --git a/src/main/java/seedu/address/logic/commands/ExportCommand.java b/src/main/java/seedu/address/logic/commands/ExportCommand.java new file mode 100644 index 000000000000..fc359289752c --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/ExportCommand.java @@ -0,0 +1,190 @@ +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; +import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; +import static seedu.address.logic.parser.CliSyntax.PREFIX_RANGE; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG_EXPORT; + +import java.io.IOException; +import java.util.ArrayList; + +import javafx.collections.ObservableList; +import seedu.address.model.AddressBook; +import seedu.address.model.person.Person; +import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.tag.Tag; +import seedu.address.storage.AddressBookStorage; +import seedu.address.storage.XmlAddressBookStorage; + +/** + * @@author shanmu9898 + * Exports people to an XML file of choice based on tag, index or range + */ +public class ExportCommand extends Command { + + public static final String MESSAGE_FAIL = "TeachConnect faced some error while exporting! Please try again!"; + public static final String MESSAGE_OUT_OF_BOUNDS = "Please check the index bounds!"; + public static final String MESSAGE_SUCCESS = "Contacts have been successfully exported!"; + + public static final String COMMAND_WORD = "export"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": exports contacts to the TeachConnect Book based " + + "on index, range or tag \n" + + "Parameters: " + + " [TYPE] " + + PREFIX_NAME + " NAME " + + PREFIX_RANGE + " RANGE " + + PREFIX_TAG_EXPORT + " TAG " + + PREFIX_PATH + " PATH \n" + + "Example 1: " + COMMAND_WORD + " " + PREFIX_NAME + "Exportfile " + PREFIX_RANGE + "all " + + PREFIX_TAG_EXPORT + " friends " + PREFIX_PATH + "/src/main/data \n" + + "Example 2: " + COMMAND_WORD + " " + PREFIX_NAME + "Exportfile " + PREFIX_RANGE + "1 " + + PREFIX_TAG_EXPORT + " friends " + PREFIX_PATH + "/src/main/data \n" + + "Example 3: " + COMMAND_WORD + " " + PREFIX_NAME + "Exportfile " + PREFIX_RANGE + "1,2 " + + PREFIX_TAG_EXPORT + " friends " + PREFIX_PATH + "/src/main/data"; + + + private Tag tag; + private final String range; + private final String path; + private AddressBook teachConnectBook; + private AddressBookStorage teachConnectStorage; + private final String nameOfExportFile; + + /** + * Creates an ExportCommand to export the specified {@code Persons} + */ + public ExportCommand(String range, Tag tag, String path, String nameOfExportFile) { + requireNonNull(range); + requireNonNull(tag); + requireNonNull(path); + + this.range = range; + this.path = path; + this.tag = tag; + this.nameOfExportFile = nameOfExportFile; + + teachConnectBook = new AddressBook(); + } + + @Override + public CommandResult execute() { + String[] rangeGiven = handleRange(); + if (rangeGiven[0].equals("all")) { + try { + exportAllRange(tag); + } catch (DuplicatePersonException e) { + return new CommandResult(MESSAGE_FAIL); + } + } else { + if (rangeGiven.length != 1) { + for (int i = 0; i < rangeGiven.length; i++) { + int low = Integer.parseInt(rangeGiven[0]); + int high = Integer.parseInt(rangeGiven[1]); + try { + exportRange(low, high, tag); + } catch (DuplicatePersonException e) { + return new CommandResult(MESSAGE_FAIL); + } catch (IndexOutOfBoundsException e) { + return new CommandResult(MESSAGE_OUT_OF_BOUNDS); + } + } + } else { + int low = Integer.parseInt(rangeGiven[0]); + try { + exportSpecific(low); + } catch (DuplicatePersonException e) { + return new CommandResult(MESSAGE_FAIL); + } catch (IndexOutOfBoundsException e) { + return new CommandResult(MESSAGE_OUT_OF_BOUNDS); + } + } + + + } + + teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ".xml"); + try { + teachConnectStorage.saveAddressBook(teachConnectBook); + } catch (IOException e) { + return new CommandResult(MESSAGE_FAIL); + } + return new CommandResult(MESSAGE_SUCCESS); + + } + + /** + * Adds a specific person to the teachConnectBook + * + * @param low + * @throws DuplicatePersonException + * @throws IndexOutOfBoundsException + */ + private void exportSpecific(int low) throws DuplicatePersonException, IndexOutOfBoundsException { + ObservableList exportPeople = model.getFilteredPersonList(); + teachConnectBook.addPerson(exportPeople.get(low - 1)); + } + + /** + * Exports a range of people based on the tag and the index range given + * + * @param low + * @param high + * @param tag + * @throws DuplicatePersonException + * @throws IndexOutOfBoundsException + */ + private void exportRange(int low, int high, Tag tag) throws DuplicatePersonException, IndexOutOfBoundsException { + ObservableList exportPeople = model.getFilteredPersonList(); + ArrayList exportAddition = new ArrayList(); + if (tag.equals(new Tag("shouldnotbethistag"))) { + for (int i = low; i < high; i++) { + exportAddition.add(exportPeople.get(i - 1)); + } + teachConnectBook.setPersons(exportAddition); + } else { + for (int i = low; i < high; i++) { + if (exportPeople.get(i - 1).getTags().contains(tag)) { + exportAddition.add(exportPeople.get(i - 1)); + } + + } + } + + teachConnectBook.setPersons(exportAddition); + } + + /** + * Exports all the contacts in the TeachConnect book if contain certain tag + * + * @param tag + * @throws DuplicatePersonException + */ + private void exportAllRange(Tag tag) throws DuplicatePersonException { + ObservableList exportPeople = model.getFilteredPersonList(); + if (tag.equals(new Tag("shouldnotbethistag"))) { + teachConnectBook.setPersons(exportPeople); + } else { + ArrayList exportAddition = new ArrayList(); + for (int i = 0; i < exportPeople.size(); i++) { + if (exportPeople.get(i).getTags().contains(tag)) { + exportAddition.add(exportPeople.get(i)); + } + } + teachConnectBook.setPersons(exportAddition); + } + } + + /** + * Helper method to identify the lower and higher end of the range given + * + * @return + */ + public String[] handleRange() { + String[] rangeStringArray = this.range.split(","); + return rangeStringArray; + + } + +} diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index 2abbd60eae39..04a9e17f9516 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -12,6 +12,7 @@ import seedu.address.logic.commands.DeleteCommand; import seedu.address.logic.commands.EditCommand; import seedu.address.logic.commands.ExitCommand; +import seedu.address.logic.commands.ExportCommand; import seedu.address.logic.commands.FindCommand; import seedu.address.logic.commands.HelpCommand; import seedu.address.logic.commands.HistoryCommand; @@ -88,6 +89,9 @@ public Command parseCommand(String userInput) throws ParseException { case ImportCommand.COMMAND_WORD: return new ImportCommandParser().parse(arguments); + case ExportCommand.COMMAND_WORD: + return new ExportCommandParser().parse(arguments); + default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } diff --git a/src/main/java/seedu/address/logic/parser/CliSyntax.java b/src/main/java/seedu/address/logic/parser/CliSyntax.java index 75b1a9bf1190..0b2c84c3eeac 100644 --- a/src/main/java/seedu/address/logic/parser/CliSyntax.java +++ b/src/main/java/seedu/address/logic/parser/CliSyntax.java @@ -11,5 +11,9 @@ public class CliSyntax { public static final Prefix PREFIX_EMAIL = new Prefix("e/"); public static final Prefix PREFIX_ADDRESS = new Prefix("a/"); public static final Prefix PREFIX_TAG = new Prefix("t/"); + public static final Prefix PREFIX_PATH = new Prefix("p/"); + public static final Prefix PREFIX_TAG_EXPORT = new Prefix("t/"); + public static final Prefix PREFIX_RANGE = new Prefix("r/"); + } diff --git a/src/main/java/seedu/address/logic/parser/ExportCommandParser.java b/src/main/java/seedu/address/logic/parser/ExportCommandParser.java new file mode 100644 index 000000000000..230d5b5e3ed0 --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/ExportCommandParser.java @@ -0,0 +1,60 @@ +package seedu.address.logic.parser; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; +import static seedu.address.logic.parser.CliSyntax.PREFIX_RANGE; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG_EXPORT; + +import java.util.stream.Stream; + +import seedu.address.logic.commands.ExportCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +import seedu.address.model.tag.Tag; + +/**@@author shanmu9898 + * Parses input arguments and creates a new ExportCommand object + */ +public class ExportCommandParser implements Parser { + + /** + * Parses the given {@code String} of arguments in the context of the ExportCommand + * and returns an ExportCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + @Override + public ExportCommand parse(String args) throws ParseException { + requireNonNull(args); + ArgumentMultimap argMultiMap = ArgumentTokenizer.tokenize(args, PREFIX_NAME, PREFIX_RANGE, + PREFIX_TAG_EXPORT, PREFIX_PATH); + + String[] preambleArgs = argMultiMap.getPreamble().split(" "); + if (!arePrefixesPresent(argMultiMap, PREFIX_NAME, PREFIX_RANGE, PREFIX_PATH) + || preambleArgs.length > 1) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); + } + + String name = argMultiMap.getValue(PREFIX_NAME).orElse(""); + String range = argMultiMap.getValue(PREFIX_RANGE).orElse("all"); + String tag = argMultiMap.getValue(PREFIX_TAG_EXPORT).orElse("shouldnotbethistag"); + String path = argMultiMap.getValue(PREFIX_PATH).orElse(""); + + Tag tagExport = new Tag(tag); + return new ExportCommand(range, tagExport, path, name); + + + } + + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } + + + +} From 3c3c51594922204c48cd63ca0a6d9edd7ea88703 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Sun, 18 Mar 2018 01:53:01 +0800 Subject: [PATCH 076/288] Updated UserGuide --- docs/UserGuide.adoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 5532f21d0e4a..13216c45c33c 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -392,6 +392,10 @@ e.g. `set task t/Mark papers d/05-04-2018 10:00` * *List Schedule* : `list schedule` * *Delete Schedule* : `delete schedule INDEX` + e.g. `delete schedule 3` +* *Import TeachConnect File* : `import` + +e.g. `import ./data/samplefile.xml` +* *Export* : `export n/NAME r/RANGE t/TAG p/PATH` + +e.g. `export n/samplefile.xml r/all t/friends p/.data` * *History* : `history` * *Undo* : `undo` * *Redo* : `redo` From dc6ef326781d269e57559f8c3a1609a6b727bd6e Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Sun, 18 Mar 2018 19:53:38 +0800 Subject: [PATCH 077/288] added tests to export command and one test for import command --- .../address/logic/commands/ExportCommand.java | 33 +++++- .../logic/commands/ExportCommandTest.java | 102 ++++++++++++++++++ .../logic/parser/AddressBookParserTest.java | 31 ++++++ .../logic/parser/ExportCommandParserTest.java | 42 ++++++++ .../testutil/ExportCommandBuilder.java | 16 +++ 5 files changed, 222 insertions(+), 2 deletions(-) create mode 100644 src/test/java/seedu/address/logic/commands/ExportCommandTest.java create mode 100644 src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java create mode 100644 src/test/java/seedu/address/testutil/ExportCommandBuilder.java diff --git a/src/main/java/seedu/address/logic/commands/ExportCommand.java b/src/main/java/seedu/address/logic/commands/ExportCommand.java index fc359289752c..a70588d8b519 100644 --- a/src/main/java/seedu/address/logic/commands/ExportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ExportCommand.java @@ -26,6 +26,7 @@ public class ExportCommand extends Command { public static final String MESSAGE_FAIL = "TeachConnect faced some error while exporting! Please try again!"; public static final String MESSAGE_OUT_OF_BOUNDS = "Please check the index bounds!"; public static final String MESSAGE_SUCCESS = "Contacts have been successfully exported!"; + public static final String MESSAGE_RANGE_ERROR = "Please input valid range"; public static final String COMMAND_WORD = "export"; @@ -59,6 +60,7 @@ public ExportCommand(String range, Tag tag, String path, String nameOfExportFile requireNonNull(range); requireNonNull(tag); requireNonNull(path); + requireNonNull(nameOfExportFile); this.range = range; this.path = path; @@ -70,7 +72,12 @@ public ExportCommand(String range, Tag tag, String path, String nameOfExportFile @Override public CommandResult execute() { - String[] rangeGiven = handleRange(); + String[] rangeGiven = new String[0]; + try { + rangeGiven = handleRange(); + } catch (IOException e) { + return new CommandResult(MESSAGE_RANGE_ERROR); + } if (rangeGiven[0].equals("all")) { try { exportAllRange(tag); @@ -181,10 +188,32 @@ private void exportAllRange(Tag tag) throws DuplicatePersonException { * * @return */ - public String[] handleRange() { + public String[] handleRange() throws IOException { String[] rangeStringArray = this.range.split(","); + if (rangeStringArray.length > 2){ + throw new IOException(); + } return rangeStringArray; } + /**@@author shanmu9898 - reused + * + * @param other + * @return + */ + @Override + public boolean equals(Object other) { + if (this == other) { + return true; + } + + if (!(other instanceof ExportCommand)) { + return false; + } + + ExportCommand e = (ExportCommand) other; + return range.equals(e.range) && path.equals(e.path); + } + } diff --git a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java new file mode 100644 index 000000000000..3c33510a4afa --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java @@ -0,0 +1,102 @@ +package seedu.address.logic.commands; + +import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertFalse; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; +import seedu.address.model.tag.Tag; + +public class ExportCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private final Tag testingTag = new Tag("testingTag"); + private final String testingPath = "./test/data/XmlAddressBookStorageTest"; + private final String name = "testingName"; + private final String testingRange = "1,5"; + + + @Test + public void constructor_nullRange_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(null, testingTag, testingPath, name); + } + + @Test + public void constructor_nullPath_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(testingRange, testingTag, null, name); + } + + @Test + public void constructor_nullName_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(testingRange, testingTag, testingPath, null); + } + + @Test + public void execute_multiplerange_showsMessageError() { + String testingMultiRange = "1,2,3"; + ExportCommand exportCommand = new ExportCommand(testingMultiRange, testingTag, testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); + + } + + @Test + public void execute_outOfRange_showsMessageError() { + String testingOutofRange = "0,10000000"; + ExportCommand exportCommand = new ExportCommand(testingOutofRange, testingTag, testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_OUT_OF_BOUNDS), model); + + } + + @Test + public void execute_succesfulExport_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand(testingRange, testingTag, testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void equals() { + final ExportCommand comparableCommand = new ExportCommand(testingRange, testingTag, testingPath, name); + + // same values -> returns true + ExportCommand comparedToCommand = new ExportCommand(testingRange, testingTag, testingPath, name); + assertTrue(comparableCommand.equals(comparedToCommand)); + + // same object -> returns true + assertTrue(comparableCommand.equals(comparableCommand)); + + // null -> returns false + assertFalse(comparableCommand.equals(null)); + + // different types -> returns false + assertFalse(comparableCommand.equals(new ClearCommand())); + + // different range -> returns false + assertFalse(comparableCommand.equals(new ExportCommand("1,2", testingTag, testingPath, name))); + } + + + +} diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 7466da232666..598068364799 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -5,6 +5,14 @@ import static org.junit.Assert.fail; import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; import static seedu.address.commons.core.Messages.MESSAGE_UNKNOWN_COMMAND; +import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; +import static seedu.address.logic.parser.CliSyntax.PREFIX_RANGE; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG_EXPORT; +import static seedu.address.testutil.ExportCommandBuilder.NAME_NEEDED; +import static seedu.address.testutil.ExportCommandBuilder.PATH_NEEDED; +import static seedu.address.testutil.ExportCommandBuilder.RANGE_ALL; +import static seedu.address.testutil.ExportCommandBuilder.TAG_NEEDED; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; import java.util.Arrays; @@ -21,9 +29,11 @@ import seedu.address.logic.commands.EditCommand; import seedu.address.logic.commands.EditCommand.EditPersonDescriptor; import seedu.address.logic.commands.ExitCommand; +import seedu.address.logic.commands.ExportCommand; import seedu.address.logic.commands.FindCommand; import seedu.address.logic.commands.HelpCommand; import seedu.address.logic.commands.HistoryCommand; +import seedu.address.logic.commands.ImportCommand; import seedu.address.logic.commands.ListCommand; import seedu.address.logic.commands.RedoCommand; import seedu.address.logic.commands.SelectCommand; @@ -31,6 +41,7 @@ import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.person.NameContainsKeywordsPredicate; import seedu.address.model.person.Person; +import seedu.address.model.tag.Tag; import seedu.address.testutil.EditPersonDescriptorBuilder; import seedu.address.testutil.PersonBuilder; import seedu.address.testutil.PersonUtil; @@ -141,4 +152,24 @@ public void parseCommand_unknownCommand_throwsParseException() throws Exception thrown.expectMessage(MESSAGE_UNKNOWN_COMMAND); parser.parseCommand("unknownCommand"); } + + @Test + public void parseCommand_export() throws Exception { + ExportCommand command = (ExportCommand) parser.parseCommand( + ExportCommand.COMMAND_WORD + " " + PREFIX_NAME + NAME_NEEDED + " " + PREFIX_RANGE + RANGE_ALL + + " " + PREFIX_TAG_EXPORT + TAG_NEEDED + " " + PREFIX_PATH + PATH_NEEDED); + assertEquals (new ExportCommand ("all", new Tag ("friends"), "./data", + "name"), command); + } + + @Test + public void parseCommand_import() throws Exception { + ImportCommand command = (ImportCommand) parser.parseCommand( + ImportCommand.COMMAND_WORD + " " + + "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"); + assertEquals(new ImportCommand("src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"), + command); + } + + } diff --git a/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java new file mode 100644 index 000000000000..6f1dd4e63676 --- /dev/null +++ b/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java @@ -0,0 +1,42 @@ +package seedu.address.logic.parser; + +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.commands.ExportCommand; +import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.model.tag.Tag; + +public class ExportCommandParserTest { + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private ExportCommandParser exportCommandParser = new ExportCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + exportCommandParser.parse(null); + + } + + @Test + public void parse_optionalFieldsMissing_success() { + Tag testingTag = new Tag("shouldnotbethistag"); + String testingInput = " n/name r/all p/./data"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name"); + assertParseSuccess(exportCommandParser, testingInput, expectedCommand); + } + + @Test + public void parse_allfieldsPresent_success() { + Tag testingTag = new Tag("friends"); + String testingInput = " n/name r/all t/friends p/./data"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name"); + assertParseSuccess(exportCommandParser, testingInput, expectedCommand); + } + +} diff --git a/src/test/java/seedu/address/testutil/ExportCommandBuilder.java b/src/test/java/seedu/address/testutil/ExportCommandBuilder.java new file mode 100644 index 000000000000..20ae256ed01b --- /dev/null +++ b/src/test/java/seedu/address/testutil/ExportCommandBuilder.java @@ -0,0 +1,16 @@ +package seedu.address.testutil; + +/** + * A utility class containing a list of {@code Index} objects to be used in tests. + */ +public class ExportCommandBuilder { + public static final String RANGE_ALL = "all"; + public static final String RANGE_1 = "1"; + public static final String RANGE_1_AND_3 = "1,3"; + public static final String RANGE_1_TO_3 = "1-3"; + public static final String TAG_NEEDED = "friends"; + public static final String PATH_NEEDED = "./data"; + public static final String NAME_NEEDED = "name"; + + +} From d3371750f4c4cb06c254215b7f4cc8d106638a56 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Sun, 18 Mar 2018 20:01:20 +0800 Subject: [PATCH 078/288] Checkstyle fixed --- src/main/java/seedu/address/logic/commands/ExportCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/logic/commands/ExportCommand.java b/src/main/java/seedu/address/logic/commands/ExportCommand.java index a70588d8b519..cbde091674ab 100644 --- a/src/main/java/seedu/address/logic/commands/ExportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ExportCommand.java @@ -190,7 +190,7 @@ private void exportAllRange(Tag tag) throws DuplicatePersonException { */ public String[] handleRange() throws IOException { String[] rangeStringArray = this.range.split(","); - if (rangeStringArray.length > 2){ + if (rangeStringArray.length > 2) { throw new IOException(); } return rangeStringArray; From 85ea23f05458fdf97b1e4c81313109a32153cde5 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Sun, 18 Mar 2018 23:21:28 +0800 Subject: [PATCH 079/288] tests added and bugs fixed --- .../address/logic/commands/ExportCommand.java | 18 ++++--- .../logic/commands/ExportCommandTest.java | 49 ++++++++++++++++++- 2 files changed, 59 insertions(+), 8 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ExportCommand.java b/src/main/java/seedu/address/logic/commands/ExportCommand.java index cbde091674ab..043ebf131c47 100644 --- a/src/main/java/seedu/address/logic/commands/ExportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ExportCommand.java @@ -72,7 +72,7 @@ public ExportCommand(String range, Tag tag, String path, String nameOfExportFile @Override public CommandResult execute() { - String[] rangeGiven = new String[0]; + String[] rangeGiven; try { rangeGiven = handleRange(); } catch (IOException e) { @@ -89,12 +89,16 @@ public CommandResult execute() { for (int i = 0; i < rangeGiven.length; i++) { int low = Integer.parseInt(rangeGiven[0]); int high = Integer.parseInt(rangeGiven[1]); - try { - exportRange(low, high, tag); - } catch (DuplicatePersonException e) { - return new CommandResult(MESSAGE_FAIL); - } catch (IndexOutOfBoundsException e) { - return new CommandResult(MESSAGE_OUT_OF_BOUNDS); + if (low >= high) { + return new CommandResult(MESSAGE_RANGE_ERROR); + } else { + try { + exportRange(low, high, tag); + } catch (DuplicatePersonException e) { + return new CommandResult(MESSAGE_FAIL); + } catch (IndexOutOfBoundsException e) { + return new CommandResult(MESSAGE_OUT_OF_BOUNDS); + } } } } else { diff --git a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java index 3c33510a4afa..9e7ca739882d 100644 --- a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java @@ -68,7 +68,7 @@ public void execute_outOfRange_showsMessageError() { } @Test - public void execute_succesfulExport_showsNoMessageError() { + public void execute_successfulExport_showsNoMessageError() { ExportCommand exportCommand = new ExportCommand(testingRange, testingTag, testingPath, name); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); @@ -76,6 +76,53 @@ public void execute_succesfulExport_showsNoMessageError() { assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); } + @Test + public void execute_successfulExportWithAllRange_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("all", testingTag, testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_successfulExportWithSingleRange_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("2", testingTag, testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_rangeNotCorrect_showsMessageError() { + ExportCommand exportCommand = new ExportCommand("2,1", testingTag, testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); + } + + @Test + public void execute_whenTagIsSupposedlyNotGiven_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("all", new Tag("shouldnotbethistag"), testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_whenTagIsSupposedlyNotGiveAndRangeError_showsMessageError() { + ExportCommand exportCommand = new ExportCommand("2,1", new Tag("shouldnotbethistag"), testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); + } + + + @Test public void equals() { final ExportCommand comparableCommand = new ExportCommand(testingRange, testingTag, testingPath, name); From 2a7c72935ba42059e8ba952fcfe2d07a02efea24 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Sun, 18 Mar 2018 23:45:23 +0800 Subject: [PATCH 080/288] Added Tests and fixed a few more bugs --- .../address/logic/commands/ExportCommand.java | 6 +++--- .../logic/commands/ExportCommandTest.java | 20 ++++++++++++++++++- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ExportCommand.java b/src/main/java/seedu/address/logic/commands/ExportCommand.java index 043ebf131c47..ef1125d1f317 100644 --- a/src/main/java/seedu/address/logic/commands/ExportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ExportCommand.java @@ -82,7 +82,7 @@ public CommandResult execute() { try { exportAllRange(tag); } catch (DuplicatePersonException e) { - return new CommandResult(MESSAGE_FAIL); + throw new AssertionError(MESSAGE_FAIL); } } else { if (rangeGiven.length != 1) { @@ -95,7 +95,7 @@ public CommandResult execute() { try { exportRange(low, high, tag); } catch (DuplicatePersonException e) { - return new CommandResult(MESSAGE_FAIL); + throw new AssertionError(MESSAGE_FAIL); } catch (IndexOutOfBoundsException e) { return new CommandResult(MESSAGE_OUT_OF_BOUNDS); } @@ -106,7 +106,7 @@ public CommandResult execute() { try { exportSpecific(low); } catch (DuplicatePersonException e) { - return new CommandResult(MESSAGE_FAIL); + throw new AssertionError(MESSAGE_FAIL); } catch (IndexOutOfBoundsException e) { return new CommandResult(MESSAGE_OUT_OF_BOUNDS); } diff --git a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java index 9e7ca739882d..5ca691002114 100644 --- a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java @@ -113,7 +113,7 @@ public void execute_whenTagIsSupposedlyNotGiven_showsNoMessageError() { } @Test - public void execute_whenTagIsSupposedlyNotGiveAndRangeError_showsMessageError() { + public void execute_whenTagIsSupposedlyNotGivnAndRangeError_showsMessageError() { ExportCommand exportCommand = new ExportCommand("2,1", new Tag("shouldnotbethistag"), testingPath, name); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); @@ -121,6 +121,24 @@ public void execute_whenTagIsSupposedlyNotGiveAndRangeError_showsMessageError() assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); } + @Test + public void execute_whenTagIsSupposedlyNotGivenAndRangeGiven_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand(testingRange, new Tag("shouldnotbethistag"), testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_whenRangeIsSelectiveAndOutOfRange_showsMessageError() { + ExportCommand exportCommand = new ExportCommand("10000000", new Tag("shouldnotbethistag"), testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_OUT_OF_BOUNDS), model); + } + @Test From 7f862a4b8a7c49f10e4f5ea969d352d8b7430e6f Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Mon, 19 Mar 2018 01:25:52 +0800 Subject: [PATCH 081/288] Import command updated --- .../seedu/address/logic/commands/ImportCommand.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ImportCommand.java b/src/main/java/seedu/address/logic/commands/ImportCommand.java index 2ee437b737f5..1d94e6b1cbf8 100644 --- a/src/main/java/seedu/address/logic/commands/ImportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ImportCommand.java @@ -20,16 +20,18 @@ public class ImportCommand extends UndoableCommand { public static final String COMMAND_WORD = "import"; - public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": imports contacts to the address book." + "Parameters: file location...\n" + "Example: " + COMMAND_WORD + " main/src/test/data/sandbox/somerandomfile.xml"; - public static final String MESSAGE_SUCCESS = "Contacts have been successfully imported!"; + public static final String MESSAGE_SUCCESS = "%1$s contacts have been successfully imported " + + "and %2$s have been left out!"; protected static final String MESSAGE_INVALID_FILE = "Please input a valid file location"; protected Storage storage; private AddressBook addressBookImported; private AddressBookStorage addressBookStorage; private String filePath; + private int numberAdded = 0; + private int numberNotAdded = 0; /** * Creates an ImportCommand to import the specified TeachConnect XML file @@ -49,8 +51,9 @@ public CommandResult executeUndoableCommand() throws CommandException { for (int i = 0; i < people.size(); i++) { try { model.addPerson(people.get(i)); + numberAdded++; } catch (DuplicatePersonException e) { - throw new CommandException(MESSAGE_DUPLICATE_PERSON); + numberNotAdded++; } } } else { @@ -62,7 +65,7 @@ public CommandResult executeUndoableCommand() throws CommandException { throw new CommandException(String.format(MESSAGE_INVALID_FILE)); } - return new CommandResult(MESSAGE_SUCCESS); + return new CommandResult(String.format(MESSAGE_SUCCESS, numberAdded, numberNotAdded)); } @Override From 498df98ec1a8de7a07195ee81e24345311437216 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Mon, 19 Mar 2018 01:42:49 +0800 Subject: [PATCH 082/288] Import command test fixed --- .../java/seedu/address/logic/commands/ImportCommandTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java index ccbf14f56ab5..189232593918 100644 --- a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java @@ -49,7 +49,7 @@ public void execute_acceptedSuccess_successfulImport() { ImportCommand command = prepareCommand(VALID_FILE_LOCATION); - assertCommandSuccess(command, model, String.format(command.MESSAGE_SUCCESS), model); + assertCommandSuccess(command, model, String.format (command.MESSAGE_SUCCESS, "7", "0"), model); } @Test From 0fd68a08456bd6820a87890935df09a04691d982 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 20 Mar 2018 00:06:44 +0800 Subject: [PATCH 083/288] Updated DeveloperGuide --- docs/DeveloperGuide.adoc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 4dce8369cb9d..28fbe58621ae 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -788,6 +788,26 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- *Value proposition*: manage contacts faster than a typical mouse/GUI driven app +*Feature Contribution* + +1. Mukesh Gadupudi + +** Major Feature : Sharing of Contacts + +*** Contacts can be imported or exported +*** They can be exported based on the tag or index +*** Import can be done given the file path of an XML file + +** Minor Feature : Email contacts + +*** Contacts can be emailed by either by tag or an individual contact. + +** How the features fit into the product scope : + +*** Major Feature: This feature can help teachers share contacts with other teachers. This is especially useful when teachers change classes or pass on the class to other teachers. Updating and losing data is also a common problem and to overcome this a backup can be stored by using this feature. + +*** Minor Feature: This feature can help teachers email contacts. This might be really helpful when the teacher wants to remind parents with appointments or remind students with the work they need to finish. This also helps the teachers send group messages to class or parents regarding some important announcements. + [appendix] == User Stories From 44a42198c220dd9747223faa377e522abc6e0eed Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Tue, 20 Mar 2018 00:17:18 +0800 Subject: [PATCH 084/288] -Update Developer Guide --- docs/DeveloperGuide.adoc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 4dce8369cb9d..eacf50d08318 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -778,16 +778,17 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- [appendix] == Product Scope -*Target user profile*: +*Target user profile*: teachers or educational professionals who -* has a need to manage a significant number of contacts +* need to manage a significant number of students and parents contact details +* need to keep track of appointments with parents, students or other staff +* need to keep track of tasks and their deadlines * prefer desktop apps over other types * can type fast -* prefers typing over mouse input +* prefer typing over mouse input * is reasonably comfortable using CLI apps -*Value proposition*: manage contacts faster than a typical mouse/GUI driven app - +*Value proposition*: TeachConnect provides a simple and intuitive interface to help teachers manage their contacts, events and tasks. [appendix] == User Stories From 34283dcfc52500d4a66a42223848b311caadadfa Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 20 Mar 2018 00:22:57 +0800 Subject: [PATCH 085/288] Updated Developer Guide for Rachel --- docs/DeveloperGuide.adoc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 28fbe58621ae..e6f54990456e 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -808,6 +808,27 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- *** Minor Feature: This feature can help teachers email contacts. This might be really helpful when the teacher wants to remind parents with appointments or remind students with the work they need to finish. This also helps the teachers send group messages to class or parents regarding some important announcements. +1. Rachel Ngo + +** Major Feature : Setting Appointments on Calender + +*** Appointments can be added to the Calender +*** The colour changes as the appointments come closer. + +** Minor Feature : Change UI + +*** UI can be changed to dark theme and light theme. + +** How the features fit into the product scope : + +*** Major Feature: This feature can help in reminding teachers about their appointment. Apart from aesthic sense it also helps in keeping track of to do work for teachers and send emails [seperate feature] accordingly. + +*** Minor Feature: This feature increases the aesthic sense and helps people set the theme according to their taste. + + + + + [appendix] == User Stories From 96dc5d68b6b7b617fbbee61831910b920805947d Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 20 Mar 2018 00:33:41 +0800 Subject: [PATCH 086/288] updated Developer guide for Jonathan --- docs/DeveloperGuide.adoc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index e6f54990456e..2cfd66067763 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -808,7 +808,7 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- *** Minor Feature: This feature can help teachers email contacts. This might be really helpful when the teacher wants to remind parents with appointments or remind students with the work they need to finish. This also helps the teachers send group messages to class or parents regarding some important announcements. -1. Rachel Ngo +2. Rachel Ngo ** Major Feature : Setting Appointments on Calender @@ -825,9 +825,21 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- *** Minor Feature: This feature increases the aesthic sense and helps people set the theme according to their taste. +3. Jonathan +** Major Feature : Data Encryption +*** Encrypts the data for increased safety +** Minor Feature : Sort Contacts + +*** Contacts can be sorted in alphabetical order of the name/tag or the phone number of the contacts. + +** How the features fit into the product scope : + +*** Major Feature: Since TeachConnect has a lot of personal details of students and parents, the owner of the address book would want to encrypt the application data file to prevent outside access to sensitive information. + +*** Minor Feature: This helps teacher relate and understand the index of the contacts in the TeachConnect better. Indexing becomes easy when they later want to export or set appointments. [appendix] == User Stories From abb85956f35d58b523592cdba1298c4f267afc3c Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Tue, 20 Mar 2018 00:52:14 +0800 Subject: [PATCH 087/288] Edit Feature contributed --- docs/DeveloperGuide.adoc | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 1a07311ced95..8d0636c790f5 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -812,22 +812,20 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- *** Minor Feature: This feature can help teachers email contacts. This might be really helpful when the teacher wants to remind parents with appointments or remind students with the work they need to finish. This also helps the teachers send group messages to class or parents regarding some important announcements. -2. Rachel Ngo +2. Rachel Ngo Phuong Thao +** Major Feature : Managing Appointments & Tasks -** Major Feature : Setting Appointments on Calender +*** Users can add, edit, and remove appointments & tasks in TeachConnect +*** The appointments & tasks would be rendered in a calendar in the GUI +** Minor Feature : Changing the GUI theme -*** Appointments can be added to the Calender -*** The colour changes as the appointments come closer. - -** Minor Feature : Change UI - -*** UI can be changed to dark theme and light theme. +*** Users can set the theme of the GUI to dark theme or light theme ** How the features fit into the product scope : -*** Major Feature: This feature can help in reminding teachers about their appointment. Apart from aesthic sense it also helps in keeping track of to do work for teachers and send emails [seperate feature] accordingly. +*** Major Feature: This feature can help teachers keeping track of any upcoming appointment or task they have. This can be useful for teachers or teaching associates who frequently need to meet up with students and parents for counselling or administrative purposes. -*** Minor Feature: This feature increases the aesthic sense and helps people set the theme according to their taste. +*** Minor Feature: This feature increases the aesthetic sense and helps people set the theme according to their taste. 3. Jonathan From ef7ec9140032d55dfb2ec01690712490b7a69778 Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Tue, 20 Mar 2018 00:57:43 +0800 Subject: [PATCH 088/288] Update DeveloperGuide.adoc --- docs/DeveloperGuide.adoc | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index e6f54990456e..a30d5a63e885 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -780,7 +780,9 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- *Target user profile*: +* is a teacher or educational professional * has a need to manage a significant number of contacts +* has a need to remember students that are either currently in school or graduated * prefer desktop apps over other types * can type fast * prefers typing over mouse input @@ -808,7 +810,7 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- *** Minor Feature: This feature can help teachers email contacts. This might be really helpful when the teacher wants to remind parents with appointments or remind students with the work they need to finish. This also helps the teachers send group messages to class or parents regarding some important announcements. -1. Rachel Ngo +2. Rachel Ngo ** Major Feature : Setting Appointments on Calender @@ -825,7 +827,19 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- *** Minor Feature: This feature increases the aesthic sense and helps people set the theme according to their taste. +3. Randy Pang Pang +** Major Feature : Management of student contacts +*** Student contact can be created and be added into classes + +**Minor Feature : Multiple tabs for the list in GUI +*** The list in GUI will hava tabs for multiple different lists + +** How the features fit into the product scope : + +*** Major Feature: This feature is essential to TeachConnect as it helps teachers to remember which class did they taught a particular student. + +*** Minor Feature: This feature allows the teacher to keep multiple list, eg. one for students and one for all contacts. It also allows them to switch between multiple lists without having to type another list command. From 54eb851e8c9c0c49ecf97e347870a834ade36887 Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Tue, 20 Mar 2018 01:06:27 +0800 Subject: [PATCH 089/288] Fixed minor error --- docs/DeveloperGuide.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 3f086604349d..9a44fdd850a4 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -848,7 +848,7 @@ See this https://github.com/se-edu/addressbook-level4/pull/599[PR] for the step- ** Major Feature : Management of student contacts *** Student contact can be created and be added into classes -**Minor Feature : Multiple tabs for the list in GUI +** Minor Feature : Multiple tabs for the list in GUI *** The list in GUI will hava tabs for multiple different lists ** How the features fit into the product scope : From 1845f4d2f4bcb7819bf28368bd503f175e4aa909 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 20 Mar 2018 13:24:37 +0800 Subject: [PATCH 090/288] Developer Guide Updated --- docs/DeveloperGuide.adoc | 161 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 2cfd66067763..569ab9d9d79d 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -356,6 +356,167 @@ image::UndoRedoActivityDiagram.png[width="650"] ** Cons: Requires dealing with commands that have already been undone: We must remember to skip these commands. Violates Single Responsibility Principle and Separation of Concerns as `HistoryManager` now needs to do two * different things. // end::undoredo[] +=== Import Feature +==== Current Implementation +The ImportCommand uses `XmlAddressBookStorage` to generate a temporary `AddressBook` object from a given path. It takes in a String value path. The command then adds the contacts found in the temporary `AddressBook` object into the main address book object. Below is the rough idea of the constructor for the class: +[source,java] +public ImportCommand(String importPath) { + requireNonNull(importPath); + this.filePath = importPath; + addressBookStorage = new XmlAddressBookStorage(filePath); +} + + +Import command extends `Undoable Command` and hence Undo can be called on it. It initially checks if the given file path is valid and if so initialised the contacts from there, creates a `Person` object and adds it to the current `TeachConnect` with the help of `model`. The code can be found below. +[source, java] +public CommandResult executeUndoableCommand() throws CommandException { + try { + if (addressBookStorage.readAddressBook(filePath).isPresent()) { + this.addressBookImported = new AddressBook(addressBookStorage.readAddressBook().get()); + ObservableList people = addressBookImported.getPersonList(); + for (int i = 0; i < people.size(); i++) { + try { + model.addPerson(people.get(i)); + } catch (DuplicatePersonException e) { + throw new CommandException(MESSAGE_DUPLICATE_PERSON); + } + } + } else { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } + } catch (DataConversionException e) { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } catch (IOException e) { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } + return new CommandResult(MESSAGE_SUCCESS); +} + +==== Design Considerations +===== Aspects : Implementation Import Command + +* **Alternative 1 (current choice):** Only import from an `XML` file. +** Pros: Goes well with the idea of TeachConnect. Easier to implement and also clear distinction of the file that needs to be imported by the user with the help of the .XML extension. +** Cons: User might want to import from Excel only to realise this isn't possible. +* **Alternative 2:** Include import from an `Excel` file too. +** Pros: Might be more intuitive for the user and might come in handy. +** Cons: Complex implementation ther by giving rise to more bugs and slower response rate. + +// tag::export[] +=== Export mechanism + +The `ExportCommand` uses `XmlAddressBookStorage` class to generate a xml file based on a given range/index/tag and save it to the location specified with the chosen file name. It takes in String `name` String `range` Tag `tag` String `path`. The tag is not compulsory and can be excluded or included depending on the user. Below is the basic idea of the constructor for the class: + +[source,java] +---- +ExportCommand(String range, Tag tag, String path, String nameOfExportFile) { + requireNonNull(range); + requireNonNull(tag); + requireNonNull(path); + requireNonNull(nameOfExportFile); + + this.range = range; + this.path = path; + thispublic.tag = tag; + this.nameOfExportFile = nameOfExportFile; + + teachConnectBook = new AddressBook(); +} +---- + +The method `handleRange()` splits the range using a separator [, in this case] and returns a `String` array with the upper bound and lower bound as values. In some cases it also returns `all` or the single `index` that has to be exported. + +Below is an extract of the method `handleRange()`: + +[source,java] +---- +public String[] handleRange() throws IOException { + String[] rangeStringArray = this.range.split(","); + if (rangeStringArray.length > 2) { + throw new IOException(); + } + return rangeStringArray; +} +---- + +Any range with more than 2 values in the String array returned throws an IO Exception. To add the contacts to the export file, contacts are added to the teachConnectBook. There are 4 individual cases and multiple combinations of these: + +* All (Without a tag) +** if the word `all` is present in the user input, we will just export all the contacts from the last shown list. +* All (With a Tag) +** if the word `all` is present along with a tag specified in the user input, we will just export all the contacts with that particular tag from the last shown list +* Specific index (e.g. 1, 2, 3) +** if the user input contains a specific index, we will add that index (one-based) to the `teachConnectBook`. +* Range of indexes (e.g. 1,5) +** if the user input contains a range which is identified by the `,` character, we will add that range of index (one-based) to the `teachConnectBook` including the lower range but excluding the upper bound. +* Range of indexes (with a tag) +** if the user input contains a range which is identified by the `,` character along with the tag, we will add that range of index (one-based) to the `teachConnectBook` if that contact contains that particular tag including the lower range but excluding the upper bound. + + +Below is the code snippet to identify the three cases in the user input: + +[source,java] +---- +String[] rangeGiven; + try { + rangeGiven = handleRange(); + } catch (IOException e) { + return new CommandResult(MESSAGE_RANGE_ERROR); + } + if (rangeGiven[0].equals("all")) { + try { + exportAllRange(tag); + } catch (DuplicatePersonException e) { + throw new AssertionError(MESSAGE_FAIL); + } + } else { + if (rangeGiven.length != 1) { + for (int i = 0; i < rangeGiven.length; i++) { + int low = Integer.parseInt(rangeGiven[0]); + int high = Integer.parseInt(rangeGiven[1]); + if (low >= high) { + return new CommandResult(MESSAGE_RANGE_ERROR); + } else { + try { + exportRange(low, high, tag); + } catch (DuplicatePersonException e) { + throw new AssertionError(MESSAGE_FAIL); + } catch (IndexOutOfBoundsException e) { + return new CommandResult(MESSAGE_OUT_OF_BOUNDS); + } + } + } + } else { + int low = Integer.parseInt(rangeGiven[0]); + try { + exportSpecific(low); + } catch (DuplicatePersonException e) { + throw new AssertionError(MESSAGE_FAIL); + } catch (IndexOutOfBoundsException e) { + return new CommandResult(MESSAGE_OUT_OF_BOUNDS); + } + } + } + + ....Storage part comes here +---- + +The final step is to create the xml file from the `teachConnectBook`. + +Below is the code snippet to export the data into an xml file using `AddressBookStorage`. +[source,java] +---- +teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ".xml"); + try { + teachConnectStorage.saveAddressBook(teachConnectBook); + } catch (IOException e) { + return new CommandResult(MESSAGE_FAIL); + } + return new CommandResult(MESSAGE_SUCCESS); +---- +// end::export[] + + // tag::dataencryption[] === [Proposed] Data Encryption From b0f68898d620e51cc0d94aa7d5959c7bcf03763a Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 20 Mar 2018 14:32:09 +0800 Subject: [PATCH 091/288] developer guide updated with implementation --- docs/DeveloperGuide.adoc | 3 +++ docs/images/ExportCommandDiagram.png | Bin 0 -> 34817 bytes docs/images/ImportCommandDiagram.png | Bin 0 -> 19629 bytes docs/images/ImportCommandFlowChartDiagram.png | Bin 0 -> 22799 bytes 4 files changed, 3 insertions(+) create mode 100644 docs/images/ExportCommandDiagram.png create mode 100644 docs/images/ImportCommandDiagram.png create mode 100644 docs/images/ImportCommandFlowChartDiagram.png diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 569ab9d9d79d..dca87c866104 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -366,6 +366,7 @@ public ImportCommand(String importPath) { addressBookStorage = new XmlAddressBookStorage(filePath); } +image::ImportCommandDiagram.png[align="center"] Import command extends `Undoable Command` and hence Undo can be called on it. It initially checks if the given file path is valid and if so initialised the contacts from there, creates a `Person` object and adds it to the current `TeachConnect` with the help of `model`. The code can be found below. [source, java] @@ -424,6 +425,8 @@ ExportCommand(String range, Tag tag, String path, String nameOfExportFile) { } ---- +image::ExportCommandDiagram.png[align="center"] + The method `handleRange()` splits the range using a separator [, in this case] and returns a `String` array with the upper bound and lower bound as values. In some cases it also returns `all` or the single `index` that has to be exported. Below is an extract of the method `handleRange()`: diff --git a/docs/images/ExportCommandDiagram.png b/docs/images/ExportCommandDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..c62439ccb185f20954324dc04f56771beafdef57 GIT binary patch literal 34817 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
    F{fEsWSgW$T6F2n@jRfa54u{=Nwh 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 XqK^1)9s2@bIHtI-WuRH5?hyTdBZ85p literal 0 HcmV?d00001 From 595b7932a3f371607d0c55399421b0ba654e31fa Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 20 Mar 2018 17:20:38 +0800 Subject: [PATCH 092/288] Updated and Refractored the code --- .../address/logic/commands/ExportCommand.java | 80 +++++++++++-------- .../address/logic/commands/ImportCommand.java | 2 +- .../logic/parser/ImportCommandParser.java | 2 +- 3 files changed, 50 insertions(+), 34 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ExportCommand.java b/src/main/java/seedu/address/logic/commands/ExportCommand.java index ef1125d1f317..f7c1a3431467 100644 --- a/src/main/java/seedu/address/logic/commands/ExportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ExportCommand.java @@ -78,12 +78,48 @@ public CommandResult execute() { } catch (IOException e) { return new CommandResult(MESSAGE_RANGE_ERROR); } + CommandResult handledRangeSituation = null; + try { + handledRangeSituation = handleRangeArray(rangeGiven); + } catch (DuplicatePersonException e) { + return new CommandResult(MESSAGE_FAIL); + } catch (IndexOutOfBoundsException e) { + return new CommandResult(MESSAGE_OUT_OF_BOUNDS); + } + if (handledRangeSituation != null) { + return handledRangeSituation; + } + + if (!tryStorage()) { + return new CommandResult(MESSAGE_FAIL); + } + return new CommandResult(MESSAGE_SUCCESS); + + } + + /** + * This method tries creating and storing the export file. + * @return + */ + private boolean tryStorage() { + teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ".xml"); + try { + teachConnectStorage.saveAddressBook(teachConnectBook); + } catch (IOException e) { + return false; + } + return true; + } + + /** + * Handles the range array returned by the handleRange() function + * @param rangeGiven + * @return + */ + private CommandResult handleRangeArray(String[] rangeGiven) throws DuplicatePersonException, + IndexOutOfBoundsException { if (rangeGiven[0].equals("all")) { - try { - exportAllRange(tag); - } catch (DuplicatePersonException e) { - throw new AssertionError(MESSAGE_FAIL); - } + exportAllRange(tag); } else { if (rangeGiven.length != 1) { for (int i = 0; i < rangeGiven.length; i++) { @@ -92,37 +128,17 @@ public CommandResult execute() { if (low >= high) { return new CommandResult(MESSAGE_RANGE_ERROR); } else { - try { - exportRange(low, high, tag); - } catch (DuplicatePersonException e) { - throw new AssertionError(MESSAGE_FAIL); - } catch (IndexOutOfBoundsException e) { - return new CommandResult(MESSAGE_OUT_OF_BOUNDS); - } + exportRange(low, high, tag); } } } else { int low = Integer.parseInt(rangeGiven[0]); - try { - exportSpecific(low); - } catch (DuplicatePersonException e) { - throw new AssertionError(MESSAGE_FAIL); - } catch (IndexOutOfBoundsException e) { - return new CommandResult(MESSAGE_OUT_OF_BOUNDS); - } + exportSpecific(low); } } - - teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ".xml"); - try { - teachConnectStorage.saveAddressBook(teachConnectBook); - } catch (IOException e) { - return new CommandResult(MESSAGE_FAIL); - } - return new CommandResult(MESSAGE_SUCCESS); - + return null; } /** @@ -190,7 +206,7 @@ private void exportAllRange(Tag tag) throws DuplicatePersonException { /** * Helper method to identify the lower and higher end of the range given * - * @return + * @return rangeStringArray */ public String[] handleRange() throws IOException { String[] rangeStringArray = this.range.split(","); @@ -201,10 +217,10 @@ public String[] handleRange() throws IOException { } - /**@@author shanmu9898 - reused + /** - reused * - * @param other - * @return + * @param other [in this case ExportCommand] + * @return a boolean value */ @Override public boolean equals(Object other) { diff --git a/src/main/java/seedu/address/logic/commands/ImportCommand.java b/src/main/java/seedu/address/logic/commands/ImportCommand.java index 1d94e6b1cbf8..c1a9448c95de 100644 --- a/src/main/java/seedu/address/logic/commands/ImportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ImportCommand.java @@ -14,7 +14,7 @@ import seedu.address.storage.Storage; import seedu.address.storage.XmlAddressBookStorage; -/** +/**@@author shanmu9898 * Imports contacts from a different TeachConnect XML file */ public class ImportCommand extends UndoableCommand { diff --git a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java index 61d5f223097e..0360ab3d0927 100644 --- a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java @@ -6,7 +6,7 @@ import seedu.address.logic.commands.ImportCommand; import seedu.address.logic.parser.exceptions.ParseException; -/**@@author Bumblebee +/**@@author shanmu9898 * Parses input arguments and creates a new ImportCommand object */ public class ImportCommandParser implements Parser { From 75d205ac52f4df9fe6d3e4ec05bc0b94b91240b2 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 20 Mar 2018 17:44:45 +0800 Subject: [PATCH 093/288] Updated everything --- .../java/seedu/address/logic/commands/ExportCommand.java | 6 ++++-- .../java/seedu/address/logic/commands/ImportCommand.java | 3 ++- .../seedu/address/logic/parser/ExportCommandParser.java | 3 ++- .../seedu/address/logic/parser/ImportCommandParser.java | 3 ++- .../data/XmlAddressBookStorageTest/importsamplefile.xml | 1 + .../seedu/address/logic/commands/ExportCommandTest.java | 1 + .../seedu/address/logic/commands/ImportCommandTest.java | 1 + .../seedu/address/logic/parser/AddressBookParserTest.java | 2 ++ .../seedu/address/logic/parser/ExportCommandParserTest.java | 1 + .../seedu/address/logic/parser/ImportCommandParserTest.java | 1 + .../java/seedu/address/testutil/ExportCommandBuilder.java | 4 +--- .../java/seedu/address/testutil/TypicalImportedPersons.java | 3 ++- 12 files changed, 20 insertions(+), 9 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ExportCommand.java b/src/main/java/seedu/address/logic/commands/ExportCommand.java index f7c1a3431467..a263b521ae69 100644 --- a/src/main/java/seedu/address/logic/commands/ExportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ExportCommand.java @@ -17,8 +17,9 @@ import seedu.address.storage.AddressBookStorage; import seedu.address.storage.XmlAddressBookStorage; +//@@author shanmu9898 /** - * @@author shanmu9898 + * * Exports people to an XML file of choice based on tag, index or range */ public class ExportCommand extends Command { @@ -217,7 +218,8 @@ public String[] handleRange() throws IOException { } - /** - reused + //@@author shanmu9898 - reused + /** * * @param other [in this case ExportCommand] * @return a boolean value diff --git a/src/main/java/seedu/address/logic/commands/ImportCommand.java b/src/main/java/seedu/address/logic/commands/ImportCommand.java index c1a9448c95de..78ec01cde81d 100644 --- a/src/main/java/seedu/address/logic/commands/ImportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ImportCommand.java @@ -14,7 +14,8 @@ import seedu.address.storage.Storage; import seedu.address.storage.XmlAddressBookStorage; -/**@@author shanmu9898 +//@@author shanmu9898 +/** * Imports contacts from a different TeachConnect XML file */ public class ImportCommand extends UndoableCommand { diff --git a/src/main/java/seedu/address/logic/parser/ExportCommandParser.java b/src/main/java/seedu/address/logic/parser/ExportCommandParser.java index 230d5b5e3ed0..9602aa951381 100644 --- a/src/main/java/seedu/address/logic/parser/ExportCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ExportCommandParser.java @@ -14,7 +14,8 @@ import seedu.address.model.tag.Tag; -/**@@author shanmu9898 +//@@author shanmu9898 +/** * Parses input arguments and creates a new ExportCommand object */ public class ExportCommandParser implements Parser { diff --git a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java index 0360ab3d0927..0a33a9b145c4 100644 --- a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java @@ -6,7 +6,8 @@ import seedu.address.logic.commands.ImportCommand; import seedu.address.logic.parser.exceptions.ParseException; -/**@@author shanmu9898 +//@@author shanmu9898 +/** * Parses input arguments and creates a new ImportCommand object */ public class ImportCommandParser implements Parser { diff --git a/src/test/data/XmlAddressBookStorageTest/importsamplefile.xml b/src/test/data/XmlAddressBookStorageTest/importsamplefile.xml index 4e5b7ab1afd2..d4e4bf93f2de 100644 --- a/src/test/data/XmlAddressBookStorageTest/importsamplefile.xml +++ b/src/test/data/XmlAddressBookStorageTest/importsamplefile.xml @@ -1,4 +1,5 @@ + Funny Yeoh diff --git a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java index 5ca691002114..f7ebc8f2854e 100644 --- a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java @@ -16,6 +16,7 @@ import seedu.address.model.UserPrefs; import seedu.address.model.tag.Tag; +//@@author shanmu9898 public class ExportCommandTest { @Rule diff --git a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java index 189232593918..332886ee9ddc 100644 --- a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java @@ -16,6 +16,7 @@ import seedu.address.model.ModelManager; import seedu.address.model.UserPrefs; +//@@author shanmu9898 public class ImportCommandTest { diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 598068364799..d3c3b291c4d8 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -153,6 +153,7 @@ public void parseCommand_unknownCommand_throwsParseException() throws Exception parser.parseCommand("unknownCommand"); } + //@@author shanmu9898 @Test public void parseCommand_export() throws Exception { ExportCommand command = (ExportCommand) parser.parseCommand( @@ -162,6 +163,7 @@ public void parseCommand_export() throws Exception { "name"), command); } + //@@author shanmu9898 @Test public void parseCommand_import() throws Exception { ImportCommand command = (ImportCommand) parser.parseCommand( diff --git a/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java index 6f1dd4e63676..41e7ba0fe94e 100644 --- a/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java @@ -10,6 +10,7 @@ import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.tag.Tag; +//@@author shanmu9898 public class ExportCommandParserTest { @Rule public ExpectedException thrown = ExpectedException.none(); diff --git a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java index a74cbf012129..f3349671f53f 100644 --- a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java @@ -9,6 +9,7 @@ import seedu.address.logic.commands.ImportCommand; import seedu.address.logic.parser.exceptions.ParseException; +//@@author shanmu9898 public class ImportCommandParserTest { @Rule diff --git a/src/test/java/seedu/address/testutil/ExportCommandBuilder.java b/src/test/java/seedu/address/testutil/ExportCommandBuilder.java index 20ae256ed01b..38f3d551aa05 100644 --- a/src/test/java/seedu/address/testutil/ExportCommandBuilder.java +++ b/src/test/java/seedu/address/testutil/ExportCommandBuilder.java @@ -1,13 +1,11 @@ package seedu.address.testutil; +//@@author shanmu9898 /** * A utility class containing a list of {@code Index} objects to be used in tests. */ public class ExportCommandBuilder { public static final String RANGE_ALL = "all"; - public static final String RANGE_1 = "1"; - public static final String RANGE_1_AND_3 = "1,3"; - public static final String RANGE_1_TO_3 = "1-3"; public static final String TAG_NEEDED = "friends"; public static final String PATH_NEEDED = "./data"; public static final String NAME_NEEDED = "name"; diff --git a/src/test/java/seedu/address/testutil/TypicalImportedPersons.java b/src/test/java/seedu/address/testutil/TypicalImportedPersons.java index 99cd04ed2422..ccf07da51209 100644 --- a/src/test/java/seedu/address/testutil/TypicalImportedPersons.java +++ b/src/test/java/seedu/address/testutil/TypicalImportedPersons.java @@ -21,7 +21,8 @@ import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; -/**@@author Bumblebee +//@@author shanmu9898 +/** * Special Util class to get people for ImportCommandTest class. */ public class TypicalImportedPersons { From 16675b26f57c773228d65b6edae5fb6047b343f6 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi Date: Tue, 20 Mar 2018 18:02:52 +0800 Subject: [PATCH 094/288] Updated User guide --- docs/UserGuide.adoc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 13216c45c33c..eb894fb410cf 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -102,7 +102,7 @@ Examples: Forms an English class containing the first, second and fifth contact in the list that starts in 18 Jan 2018 to 17 July 2019. -=== Setting up an appointment : `set appointment` `[coming in v1.2]` +=== Setting up an appointment : `set appointment` `[coming in v1.3]` Sets an appointment with the specified contact. + Format: `set appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX` @@ -120,7 +120,7 @@ Examples: * `set appointment t/Meet parent s/05-04-2018 10:00 e/05-04-2018 11:00 i/3` + Sets an appointment on April 5th, 2018, 10am with the 3rd contact in the list. -=== Setting a task : `set task` `[coming in v1.2]` +=== Setting a task : `set task` `[coming in v1.3]` Sets a task to be done by a deadline + Format: `set task t/TITLE e/END_DATE END_TIME` @@ -319,7 +319,7 @@ Format: `exit` TeachConnect data are saved in the hard disk automatically [even while sharing TeachConnect] after any command that changes the data. + There is no need to save manually. -=== Importing the contacts : `import` +=== Importing the contacts : `import` `[since v1.2]` TeachConnect allows you to import contacts from a different TeachConnect file by specifying the location of the file. + @@ -328,7 +328,7 @@ Format: `import [TYPE] pathname` Examples: Importing Contacts : `import ./data/importsample.xml` -=== Exporting the contacts : `export` +=== Exporting the contacts : `export` `[since v1.2]` TeachConnect allows you to export contacts from your TeachConnect by specifying the name of the file you want to save it in and the path where you want to save it. It can export the contacts based on a given range of indexes or a given tag or a given tag in a range of indexes. @@ -350,9 +350,8 @@ Exporting contacts : `export n/StudentsFile2 r/1,10 t/students p/./data` === Upcoming features `[coming soon]` -* Clear distinction between students and parents [coming in v1.2] -* Finding not only by name but by any field [coming in v1.2] -* Import and Export (Sharing of Address Book) [coming in v1.3] +* Clear distinction between students and parents [coming in v1.3] +* Finding not only by name but by any field [coming in v1.3] * Adding events and Appointments [coming in v1.3] * An All new customised UI [coming in v1.3] * Shortcuts and Autocompletion [coming in v1.4] From 6a3c8340105e851ea5cd36e821a95eda7862eb42 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 20 Mar 2018 18:12:13 +0800 Subject: [PATCH 095/288] UI screenshot updated in UserGuide --- docs/UserGuide.adoc | 8 ++++---- docs/images/UI_modified.png | Bin 0 -> 269012 bytes 2 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 docs/images/UI_modified.png diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 13216c45c33c..93acef644f3d 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -32,7 +32,7 @@ You can download the latest Java version link:https://java.com/en/download/[here . Copy the file to the folder you want to use as the home folder for your TeachConnect. . Double-click the file to start the app. The GUI should appear in a few seconds. + -image::Ui.png[width="790"] +image::UI_modified.png[width="790"] + . Type the command in the command box and press kbd:[Enter] to execute it. + e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. @@ -102,7 +102,7 @@ Examples: Forms an English class containing the first, second and fifth contact in the list that starts in 18 Jan 2018 to 17 July 2019. -=== Setting up an appointment : `set appointment` `[coming in v1.2]` +=== Setting up an appointment : `set appointment` `[coming in v1.3]` Sets an appointment with the specified contact. + Format: `set appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX` @@ -120,7 +120,7 @@ Examples: * `set appointment t/Meet parent s/05-04-2018 10:00 e/05-04-2018 11:00 i/3` + Sets an appointment on April 5th, 2018, 10am with the 3rd contact in the list. -=== Setting a task : `set task` `[coming in v1.2]` +=== Setting a task : `set task` `[coming in v1.3]` Sets a task to be done by a deadline + Format: `set task t/TITLE e/END_DATE END_TIME` @@ -176,7 +176,7 @@ Edits the phone number and email address of the 1st contact to be `91234567` and * `edit 2 n/Betsy Crower t/` + Edits the name of the 2nd contact to be `Betsy Crower` and clears all existing tags. -=== Locating contacts by name: `find` [will be updated by v1.2] +=== Locating contacts by name: `find` [will be updated by v1.3] Finds contacts whose names contain any of the given keywords. + Format: `find KEYWORD [MORE_KEYWORDS]` diff --git a/docs/images/UI_modified.png b/docs/images/UI_modified.png new file mode 100644 index 0000000000000000000000000000000000000000..5e5eb3dbb4dbd850cef7b2e0e447fd7b3fb08d7c GIT binary patch literal 269012 zcmeFaby$^4+c$iHAOcb@7rIhY&q`Mp5S?-N@ zJo|C4`}yNLp7;IS$KmE;vF4hYGk@pIIp_F3k`~3nAjW_o2utkYJy{5XKb{x9a31_9 zNGGX=po=$6L_{8miHJ}>vb8caF*ksqhrVGEX!3GmgblM{H*em|7rrHX*XrGs`A)Mr zSyYm1=r==gk?+(6GSFoc$luF;mv$W^6E*n${Uw9POYV2>-&Y~TBB1BMI}oV!UMVjtmJpQ`!8@S4^@~#0%2s-}2&&38CNceT8wZ z{lSW7krS8p&HOaZPW98J)2!si>1kU?_#I`6wH=R2Fb=X8pUu5Ve&~XGyA?m13`*1m z1!M=-D;EatHJaEuzP5c8TcgjK)8P>ug7hdccVLno3jI(TxgX0ODf;PRZbmRY?p;ft zrEe2?CBZ@>tpNne{{34&d)cTw`=-}9d;XkLq$jY-c5auuYD-$D&?UGYgC_YYSt;ZOFY)1kj_K5 z!kTt)e9|!o9=^ewWowQ%&oO847Y)JK%R%2b`uHf8Odytm5!dj+Gpt$KsZHe@>NQPR zFR%KF;iKeI);PW7#N1HMso`mx!JNE7Nq?s@A_ng=FaM4U(ipR@J(F0zJe%7r(bq<@ zPpE8S_-GHBrdVkzz3^F=aGItX&NnsacJY`;ooD4<0-|hF$r*afE4THO_P)cra2^s2}dy=c0Z>U-aw_^LgY4c0-+jyrtJ!nmR z;haY`1&cRI;gw*lPVdC`S)XwHw@{Edai6kRpX02Fe~pKpOMb1q-V1q+<|g@9GO}6v z#c6N1xzpPVVOkc#sp(u=oY&9sd&l}Lj>i}Ck)O{R%^sLyDqj4`oxJfiy%u^W#2QKT zFhBO%tt+R&5$N36PbB+mDX)yWWYc{*Kk;(M%H@L0g}7%go-ICO`eK2LLtexES%~f^ zT#97@6HSA~Y~0#`c1-C-%$=UVV&)a3ZINZ}bA3phdnn4jI4h`TcF#twWR}NFBK$v6 z550MuOFa-{zOEPhChX1B9Fd8|*kb6S_|=SBtNhu9fuqW_0L<05LJxE$a?bT%UE+4c zHmi$xR=} zLZnsZ9p*Wd0SOIT-env?-!9qK2N(;FWqe_3g@~w5Fg0W>bW_ck2J1|9A`4- zW?qa&=79_yk8mZdo9&^eql|ww2)q}|ygSi}iS)?p_K|G9x8QIYgZBNMYV_iBR=Chz z;hQf}eYJVrTHS(C71~hjK3{)yQT($w&`|FdZIXV}ohQeM==o2k#@UM@rl*VJOzQLk z#(UEfG&(tO)Pxp@&?Ze&r7Y-x7)6?|CfHeUU7vG*Qs_7O|hSNLM>)KE!x8;(eGg zRwk)&sM1~)&d{iy!~?Kp3zW`gMSsp50i+MBh z^|d~e3#SXJ3tx$koA0m)`G=3P&9vm9%Hq5Rcu8+$Wq9tFh`PN0_|f>oTq?KNg0zC(v#$(q{l8T%PJCEZt)f3g z=}}pjUr1Vj_3(8ca&)s(8`qjOcYf^Ue%Db~O=NhH;6_N!lbi&br|V*JGF_q}DJ7D5 znwzg?U>U5cqpJKFmom<0EUG5tM-3tkUL8!!kI7$M9OqT!4Y4;|Fz@6^>f(Cf?te(s z8u^Cxuwl64zC(undxzOM%dU!#e2FPpgdb=+)v}!KX2~SHUCl_yta@;`Xh|iOVUo0YaB*G?+BB{HIPs~9y!j()^MwCLF#cIj5 z!o|vh&J|@QYh>FHYQCV`$faTATEA5hRig4_;8GrSp3#iz48tb!ChsPUfE|j7RjM^py$)Jyd4hgWpuOD>_Q;7S<4J2WOXK*|G*7M;UI}-7%3 z!Y@# zo>`fRsjj9WRLWB_U9#+S*fdfvP~%>7nCCll+2wMPjN5me@1J-27docDZAtD7PYz5Q z%+>9ruDi}zEVXQpP8@ePbkd9%1+__NscGe`UK`u>u=LnG8a!e>r98cK8VD756?>(6 zp?N>>Ht}}wKE4xp$L`7C6ZFq-Kc_vh%H2{XRb)&Ps^!tw{QB*Ysj;N7!dwkY8jFpx z1UE7HrApo-&1WXhSl-cIx|e%hNpv*mc2J}5fyE^o+3pVuVlwZR-_1Tq@O|6R{BnS7 zlc|@>@&3{Xw;#8dI;`CGsC#d4Zx{UpeHvXOq(LU0Yya*$>35VlJieh<67p}DXp2{e z7Rb3K^GY+uyXr;n=c{zJO7%s>^BjM@IDK{LD%u0Fw#K(w=2zLSvpE`G zG@#b!)Th;_G9n{LMQ3|Plee8`WZ?8F{eIoMOwyv*0-oc^N9%#=H=R^1?c#ZlzE$4J z2|l_x-@4nJ)q2Xp<}u@~lA8A{kEyjVy25;?>q+$!t(kEao01x;z6@Wl633 zx0$3p+0UJU2G~u#%!jI97R4Fo2{4N^6Ynk8;L}?!d4-N2)AzVntk*%|xdLYvmr9lG@hqK3&$j8< z!gH)rl5h*>s@G-fjnu1B+cDdm5tb+U_p_&adlNGPI1D-Phh7eC6bTHFR~MEw&t)@JN22A@^ z-S16(ef2){{e96Ff%v2(#+M7W$z=FWKDs|R9Jw4Kqt3@Ouix;gUCu}bEnd*3ezrL$ zkK9PDtt5`mZFJhL3pE8ZfRK!t{9t5#SAbg+Ow~Mb6 zXbezJE;qGV-L^y4PT_)VFp(}iJ-rp9&E_NN<21kOoX#aoM*3hVdpeo7zsc_L1p13L z9pkwGa_9pARQdA7^YdKTSndPZb))AK8AUy)L!-AYmez@jM^MWqds8fFq5E6C_4p*y z0Kx`z>xU|K5JW%)|A!tS6UhoY6nE5*8kFVI930zl}dPFH=Wotmm!NktQa$OLEl9H0& zR^O0U_TGa(n}gp3t{dCiTk|qAJ2^QqIk7QW*%~pk^6>C5v)pFBeVY+{gVD~#(q6}z z(bDe5A1^t3&piV>JzEoNdlM^5O89$qbgdlh1+HI*cl7hWKgMa`Z1RtuEbacB7MLJ2 z{4dO`Of1Yl-wm4b!$0MHWa4aKu6)nL!oboF^dWeggOi2-M}zSjNpmUVq zf4Bbl37(N6qsDK$--RGyNbKGnd1s`h5zo*bhd80N2%etc08Y`@Hwm3=B2;zsxPorR ziDX*n`Yzh^ab(Pwb?!cF=k<}GCHffhWuvB+g;xug^K(}y`G)cLAWEehz5Q%ti@_qU z!vSBAr2-qiDn87qOlb3g&5lO#v9P(Vyx?0ao~?HCC>P4wJ=}EmJaLQPJ&eq26Fdx> z5cPtPkWnt+QVRd=!$mr8JroG7$L%TuqD^pbUAO=p;3D*T_zh}^7iM;F5X2#s=mW*@>~+(HYkw$IfU7zjf-&s!u}%0rjMZ1 z;ZjmUb0i3e=buw}`bZeE#+8n~b{XL|NWxXia0)RjK@NWHqo)%Ts`t zmv=Iv>S&rWmJ?yY@_w%|{t*MJoE2F0P0Om}jgE=I+&r1|V}78frgk(*SoLuaTX5?w zPMw01hC*?nSzl)H@y-yY&gWMTq|awm$Bb?zNAlPi`jc>Fu3-xu&&y2ps#ygPYC7w* zSB7{aHhJqU^ll3%J12)#RZUH=_9b49)9R>4Tl3K9PNDPO#0$NaXpST!=BlF&V-pkF zxD+(4gU*Oap_3^gy39DIQJ3|oHn(JJDJc61b>l2mMV|ZNj&iQP*wR2=O76s+*5_Cx z1bvz?3sSpg*2fl^*c*G-Mx@Vq^{LxQ#k%hd`0yfoy{MhnK}-;^LxeTZAgl8AdLlN% zW-pV<{T8eGg`PBtHZ9w4RIDx=-#cAgv$a1zaXwmapwC2y6s_fBKOj|axVS8QO2J6G zRk_hfkH3uVXxm7eQp;F0e2FI3`tDnk-4fpZ%@?*>(AuLdehGwxUbx~yw*$2HoW$~F z)j?VnadyvOftg<2EBvHc8KL8?FR6AlFL0RE55LKHT+%w(h?v@+O<*n%!$E=Qx#^@k zA?^KgFtDxiDtagxsoDpVFuYKY07}<(yo*rxkoQxJi>c6fQRQ}q^LCFC&Vj7SQ@tPo zPEPZFT(u(04C91M?g&evm=llfG_CsuVT+*SuXNJz?qh!{`mZ0xv(Ya`L*pSbf>(in zyO*CFEOInlf|lZxp=>7-r@ysRe^|fZl;5t59=e2{RBIffVUDVv3`2G|aAz_Y}vsX4(=cYMx{H(PtK4 zZ{=M~Pwfh8-R!H}DcD`_3QxQ>`N67{Kmj1Tcohst3fRm;f;6tI*8@ozj# zSI(IXM)pcc@NiZ4Jl?jM^rhLEf9f*sjW*fJw@R9yhD4qTX@|GEV?okUx2dS5W0fQO z;3Hfge~ME-E4W)?Y-uStr=D`BElDC`XRi?ZAn`nc9%Jr3aM;&Spsq)Q!zFf88CLFQ zsJpFke3)t{$$f47o6WCa^J2vOk~KP6RVS`Nux*bCYZNHYk^CWKJydAn^ND9Uze`+h zt4ZtRcA*szj13x3SyhExdp4fEw$r1w;^o4j^A`PiM;fGv*~~|t$WQ5@{@z~4hxDli zCCKAyqZ{F08a?&u{b^ekRy}sh_8OHcFU4?L(D@ub$0j4DIP7l_SNldlGUm3~($UfJ zn4gT@vkVPNaNGFyaCW*!No%=}FBbf=UdQZ_lOH|GRkh!uT;b{vL|kAErjhNYeR@20 zs-euY@hK&qPF--PU+=~-c4vn7=_K>XyKej4l@XuB*&b~_5h$HzB? zskL_(7;K~J)p!HQdbrre2hz4-VXoZMZH^Zx%f7C@uDU-K|U!*M;vqGv?<)#paSgQv+fk5xo>7>R+kzi!@quyK{bCa_(_@oudO$N7Qy$2O-cKdq?1>91RPaST@8*9 zsabFOC*ybph(%+4c_A$;umm?9jvsnW=GC>sRZPyLfML~z>p*l9go^~N#*D@1Zrv>!i8iCnEG28=8@+`tV*WC z`*RH>vf7I8Ag1@;-WPx+)%MiNR83?^gS1s?upHv7zo7f*2pn&9`LK-9XO-Jl>u6ek zMqU3TG3u-UGMeMJ=Imh9p6`WJzD&%QWGG z8L9go+BAQkn zn=$kU^g;t=PFCfs?yG)gSrvu$F2KR%0E^eTug(3H4N|6`^+tgX^WKcX#tug#*^H!3 zcvnjoGs)8)hg3;)U96#jA^fJXpgF`3V* zJ$8d=dK76%g`?Cd=EjzxsGhqNPPR2*4qlO17QY?4leaP70*sQo zU*Cq{ft|WV%;X8bC-Uml_x!XIH<1D{_lJ@Tk3K>802IQeiLvM& zPzfC-P1pIPA2^|}>ck=3PA;Ng<091C=t7B9ZGW5GeX9fRLa@1+8_1m0)g5{iSarTU zlP%+0DZWv8ylfTGO7?4{^^+l#m>}{(LV@J=OuCZmK8S^g+qI95k~@vLJI$95epWGx z!(Vl2gH3MtX$1jP%}DM#_qM;p&Zr>S0mj${X}@}eIqQ8M>MAMS?p4zRxT2y}hPNuu zu;ta{PJ5fssatal7qiE@pVroaKM8_vg6JjizR)?Z_o6|8sF(!uk<6Oq+~lyOoL6Rb zA+K+U)=P1XT!G{0by>Hayo3Owc$Z{*K_cu8Y^e8(OCq3<2i)mufp})h^JLc3RkDw7 zY`^tOZ&gaXtLgk`eEkSk^W5+8_K96P(fgBev%E zlWDD!q;_hJ2_UhSeu063x>2vHT3T9cdK8qlmC>``Js$Yh=CPBfoNxSisXyoa(!w~8 zB=C*R5~a5%LC7RKc!>wAG0D4R)I)_gW!1Wcqwk8Mq2wX#U_J#?&t<}gP<$lCB3Ux( z(q$TH26foZfRSELsscPXBVyIP_erDR=}4JVgND-xJ`VqyaKTU}qNKg-U5X8Pz%72& zeoPf@`5c__dm9l|q*;{*3tn1B#Z!TPSJ@0hpJ*-iX848CE7ivf!01c^DTD-1wzW0U8*CI?P2$*xxlB4g+@%1J?^TxDG(8;W z$R+^GK2&5C6k}ORyR$MvLUGXk;yRWuTu2!Un8`nEy3NKp)w8wn%awm;M$kN&UVl`C zR2^Mz5#X2nITzq_4r$)`4|^?E9+$DOu-2b*m0yd8t(1Im2`CdXZJeD@XM~(LTew7t zQ6xR*kBh2~mwkebOU1wY(!>+N4Z_6OV>Ud^P=s)ocMTmS+9TvLx0A^Gs>I@{~n@o7O)YpU?@D#xbtAh#O zI)%zTR*~T`(-DwA2jJvAUn*(2bC7!;t;1Q?b$D(CQO_U>#z>aQ|2I`j@fgUc!Z% z#bwD5v?#cg!63}i4(u2CU1EmzEgbP>t&7Nxr zQ~CqP+J;709gd+`xxp7?kqTPycekP5yW;{3q<3Ur@^ z!l(lAkx8P8BUMiY2?=(6d4;f~AR!N69_kM#)2@dKgI!eE}JVLzD2=t85c^wn(+l;p-glHa$k_A5cMxs z<5z0aEh!9T8|Gsmh|__L4FUtv+p1{rn;E~NE6|MJ%s^B`{#R>81ZHy-8x6Ho^cB0= z)&MjLx9p>EJw#_l@&mSBJi-LRO2cK{eG%^@K{RN+? z1IuKm(~FK+BhlAjh>zI^UTi9$LO3avm57-@?n}Ve1l6i!)Hs24h#E20n~2fmd;#b# zF~0IMn=?}NXEvn=2*Sp3ToA*PZnDpb(n8#GDeahu`JP8cfFur_*F+b<@^Mgi)V3yK z#*~x^Fsz2kGjy9Cat@U$?xRA;&nM1+?l@=!#d(d%DG1})7>FkW@X9EH(0Z3&Rv2V4 zLCVi3f)SK~t6-1a(CgzpIsdqF!EmV&=8gg4%PIVL%n_e2K;b&vHxU|`NpQqa)09O)zX7$pER2;m~fn%JG$m zsU(5A5TsrUWB=sjYp699Vighe3mml{CAjJrt{$4v&_nSt>5%dXMj=F=Sk~}2ruYm7 zw)<7%kwfNz>x5dw5n3m{L{6$s-mS)3Zc4*;WA*(i93*{L2wNk`W~thiN6A>f*9xq+ zkj&QClPQqU)V+8hF%(PGSIp_qG!OB2~rm0N6l|UND(1y9vDv@cIt|-EKs?($O$iYp68=UC@(`JKHqcrgu z{n175?%uAy+80ZhQlU(w@3xz_IpsZJRPV!hN=i{>tR8xSFQOrzHcfZ&qYU*bJMUzY zj!o-+QkmGd*17&Q-GfwG^@{^LNqa47C)cQ@e_AV+iYWvaVUUntP{J3HNkk=Is_Zhn z+QfO4cg?V<*-x}+MP?zafWqBGEj{+J;#)nN+=AukRHV|!ghh1=Q5qI}tFd?qrFwEE zc$GOJ5w*FWrgjuom5B)RkNJ~@@|O~)%&f|;hiAf)&E*xaNknU(sqEIi%UnrgAM`XC z>5R-t6yQ{7!Vk3crJ`5U8@t6-yWt|!P-Z9-U{|WN_z>BvOXm9D=@rCptlT3YgipN({ueimuAbyz|zv%uD6-AJPKp};t|6_}wx`kI^ zr-gN;h5I&rIEA%&%rryzTv!2kvqvIswmUR*N*iii%mcZ5-u~)br)bzL>@AihviznYKVYu_Dc_#v_DCT_zkl1k318`UV8~1S_^WKKf53SxVVVIMD0v z+}EHVDbRw6F^m+yM_X9KX?_Wt)fjYew@{Oetjf%;SZzno$Z>ouF+ch|NvS@4hcRh$ z@(wK&so5X?0g~Zk*d#WBJVNeD-5`>`yz?%A+L&9Cps z8P5sRpr3MJ2=wjhyJuok^~PLJJu*F?tIRy9VmjlpUeD!}+9y(JW$~-(`f!zE2HJwZPSOrOQe-%{Wv2BN zXvuOW7C}vZL2a#%3cc{8T&Z-@ywbO|XmP*FHun#kQ}x#t8#qyy}9>Pm~K>JoU46oZZIF zcI(S0n;aQ}dgs$7eRHqv@&j){PyVW|ZrLZKdJ=Ab?Q(RAAnk^HJH3OMb0`>oZB%Kr z7*IG1DPo93n3B-@2H4aIO}8!*RGG-!Gpj138cguud47{nlU|eI*j=x7bcFRN)+EQ= z(B^7Ipnh1zyg}Mh7%?GsbXzPb4&!pFmWR_wdAKnw(M@P%qwF=xcY>Sr-{bO5Cy|~! zpAO;(3c|->4Aj-Mn$PzYo3lQ>-Hdgu zA5S7=*Md2dP8knc@}DM@^i`-}eypsh2xVWaxrP{wM6t!=&PDbT^RhT@l)Y&Qd69Lv ze%^APgx(gRXVB|DmSBBTROJU$`*U8Z1=%pivscjgoubo`Q}wBSeZNVAB*y1l3>CKx z3#*K^AYjKb*VL4Hqsr1SACZvp7M}?qa z=#~d4hGaEPEO;gG9P0d=N270UhAOFxFuS`+zmM;AGtWp-I2 zRRii*&3~iw^wHXdv~zjKwdt&bHQ` zCa4xW^c6cCg$-y`o=2*FzM18hRiJSt1;2Ezuu-ds5$x-srMpd88X!znGn~dq z7!Si+{rU^9^&TI{OdZ)IVRkqUH0X`w!P0h=u0sAdv$$9Xi%7XMxsJ}UO^&)mgfB44 z6w+ua496Gi=&Kj!2#8yi>DZ|Am`Rz_7GyfMU(q8>4>Fits_Jtw%9k#=5r2ylA7T*S zLo9_1@-8KWkG6w_ZjduGu=9My(BRaYrigl^8(sk|th#&c#^w)aO|AHg9L&nqscN_! zH{K|778KiRUK%gcy_;)0dN{RGu(@NE62l*lvcM#c?7){M2?Mg19z%F}ko=+R(lQr2 zb(S)TT*H-Br}_dyDc^vkNi5b>3%zuv3iH}%{kobuG}U$M?{yu$f_Y6wBVUT&EuY-V zP`d>w*X~3hXlNan;fD6|%F3MzED1F|MVLuIStGibVn@vD^mly)^`p_n=0}rr@o&vY z9c=guT@B|4EX)iWru`@wV}mN~?*N>rF3YSdl8e8Zu1`O@Qbmqb{Q-`b>H%IVlu8iD zGq}TGv7Ab>IQXV|ytJ`;y#HH{{y=vp!RL;s^b33QN$bW189pSUbv{~}WO)+aU-Z+J z;z{xvcdrRPgU0*A^$k9Et~5324c02;l$d+h@Yv1Ng1uGUmEjV2c9P?)jWlB7g@k;3 zg?kckj9*ZZKcBnN*0Q6-(WY6;QOn%@Q}L*#om3Fb>%RFllUaHu zk};#?F@Cf2V@PNaiQadgp!)+WO*t0J1?&3;B$qesP3kJHLCV<6kq9#O1(Wr6z}OHx zib%ZO=0(-MtgqbzIoCA(udSy{)jL=Wsg;)S4^%oS1TDiFiZWl;F>0Wf?U*t9CXvu{ z;ad{Bo1|;;yjP}u*VtQAfeQKISPX@eTljTJ^JO@H+A7*?y~;WrD3!GN>M0(@%U;;b zeTlld?>A|S88gDVmsN7vR?79ohac|~zrcn3jfq?|%+0Gl9^TrC%c{6uX}2UgDWV9a zuT0S)=yT3fTHiYl$-Th4Ox+;hm%J08KQtJ*^Jzb4KdEu1MNe(=ZKk_LNZmF;L#>LL zIQ?Q+Q9R4kin6_ll5>`xii)Uzi^bh}ihD0-~JE{a4IR!*}gcj<4$u<6N$y$O<&zvBNx@C;G(vuS^C)iL?lo% z)Dc8o(nZPfmmo2T6iY<3!9dC5wkk8Rl7f+1!(j2@3T(<-s_kY>x8o_t{iZkD9jdPR zH!>@XUCq-8VkIanNXaaMGW<6s40v@1Yv*%ZP6f;Hk*ZshY*s>dh;EzS&39W$ct3rV ziGN-q$Z7}|)2c*Z#q-_aZTBRC5$tH)?{!MGG)9HBJR>Vhe9Qh0m=SeKtDe{6GhBsA zBGdJYDOJ8%k8P6WuwV6r*-%W3#(ydnyxv;AcUqs{)E2~QLS&<6WFHS=A$v&)WG_!< zNLgq48KN>sZG8_7@?*!6649%rrD+J}dH_%7#DneDO7LmDjAN#-)~J}AiaJ^bfQ=Fz zA|NC+H#QBN5P9)HPox%POx5=vZ(y!3mTv_!)qKTFvhl+O zfr#!!rSL3fjqSnYYs7CNO!~{Xb~rzH?$*v4w)l!ELQ4wGSP0^VEv4~~7oZ)&B!Xp- z-bX`?RDFc(QsDglq$ie56w3D0RYh>|e7qX0#GvhbTgrq0XfUJ*xr^9Z6z)U#g5JSJ z6bKdk=(a~}SF8H*b+BvJbx#T81BTbv&KE+hzM5PJ_Q-u5zLON)dlt@b_m=Q8Mds3J zHhx-loil7DrH6WJ_=(OTrl+ETVCO^AZlIkg0IRNb2fl^xMw~o`8C4&^QDOdfaV2{6!KnxA>dphL~x|AwydVxnm6=?ljo|FT?$#I( zxx<+ci0>r++-yg1K?B$dcd)&+6ceI|piF`tl}s?IMN{63&k?jVC>OT=-(iR?CS*C7 z|HjvzFAiW- z3rv{^#$8|=wUhu%d~u$Y8)3bFqya`%>X-H(s0*0*qO0r0!2f{nb9hktXtM&sqY_Re zM-Ake@@G3y4m!t1{U5Z0=l_gaAi4kwrrE_M!=6#QkNUr1y_h6+-%%%|B#2QZZ8j zEht1IGYB?=%x!^TfUh*S1|kR(q zr0oBP;rDN~_zj}|?*~!dr){HgFNQcq+@aIgAKqQNb`MWZ7dyIdE41p?>AtTGdxtz=+{E@Pv<@ob->aZN&Ubr#9Mp-Ymija-B-_$ z-ruUMF%ei&d~U;ufpCjk@D)Na9tXtNIf);D-8G%q0L0gv#lf<+vaEC*;(Pti!CI<0 zkz=3#(f{AR~*?f5$z^xIhdHdcS@ZGQWXzf+^1HaYRPEB_}b^ph-q z_3+!3|KE?SqTK;RjPyr*BGJjhhdav>yg9G5Cv-GO=>Q zWt#vpH>^xX@DvI_0?|Ig6-tmf0R}ZQ|YfX%WoH2C9lA?1^}t^TewlK;o>q&xUyY6Hw>e z>aQ%qUlWa8#M>09+Hemm8S&yZs_E4~q${`1qXGx9ylD7*0%-okqg0mN$@#bG7T?!sle`E0R{TcCI0ir-)#{Em0cnSZ=rltNz9W{0& zFl_4V3(0@6vh$A)g+oA2t$AmYp6wY?!a>Gpzir=W#4m+ATN}^-^PiI4h0nnSmZf;& zmm4s~@M23Xmfs}L&R(_O27;ni&wD8TOGzOBdA!yg%jG}q@}nT|qV1PyX1{FKco)!; zA-qHMjFycu;De*yZo)H(`^(WjQU#>zbX^EIV^HEf&>Pj0ZmeH&&H$ckTPU$ubN12} zHPD+&R>Ht9N%`m$J{2o-l(VUL-v@PD)KS>8&PILqzMt|Ae`tRPr(Cz~q4J;Ygg4Bps!|hv^1~p6s~w zJUh*!{Te>os8+v!CBoUH&PZ&m2u9UnS|S<#r|o!D1o|I&pn4_|f8A{&DNyDn9enq* z(_x7Z0S_+J(EjAoUp_P{gKzm0_NDx3&KTvu?*^G=S=49aIrHQH+6UV`vFi2a};}#U+X|39^e}Z(n#=`4jjNuql||8nQ1&5#=lBU;yfSK^r3$pmF?@PW@}XY_y5;Ll07z%6Y_W~|HEuuK7! z(oyRze$9hWcx)5J__6H_SN(llA>0I~+ttM-`aew<0UTpJAs9;eB_Z420qs)T+BkIn zV?>GYs+>(W3htNxQtp3JH5Ev%BA3l92?i)bEb(BdP@*1wHAa_=PyjgH?p8xia=Hy_ z%!`6T$WwmIl`la#agLK`&3}-!8Hk3pAUF9hv4C)*KT6|msJQl$#Jw`dWdf6^WSInV zHltSc4^9&MvT2GL??hf;`!LA`TlS`__$>PH(C&O(eKfk!#7xm}dQd#qo1rGz#K2rS zH%SC8IlyEaq3&~>3g8MHZ8)ZryS0iVyex#!I+h zhH60B76d0GEQy}x#h=gn<=YmGt@nZZUQUZ2u7+yvoZE@4WHtivz6;IQLVmMMgqmQLG~w$IHQV)x|^wRDk0v zRAR_$zP;Yr#N2>-gXs#yFijCq3FkrLcc7G1G(CS)?pBdE?R|@Qd{eLnb0&A+-TA;o_Bt_XOT{ml-Jyu|D^UZegxGq zC@Ddk()xq-)z^UqW4aXcH${!xmrxp+p#Eg3m~`ZkEZwxzLyr&b>fkDr*|J;U;-s(i zWeV)3srXRWk%#BBf=%Culai!^x5w_V-Y)lE;#0Z;d?>y4@$CIUWM$N9-Y9msG4-Z~ z3-mLB8u_0>_?Hg=pc)WD>dI+M8ogiXzQ-wCz+e*pYN^wp9=xLfE<1A4gdJ}aIWL&7 zx*u$z&R^%XpTiYty-Es7!aLCw5dP>G+|v+uj~K4Q!k59hPjg*NUEY5+B>!d~a6i&` z6Hq|>2On?frI0x_y9hjmNVukJ&J?~ASY=tz%jtsRTWpJUuWK)S&y##YrtW|>g zcEzhjtlUDf@OfOj*=BHsmm4eKp5pqga4nC0bIch%z4usL{-5Mh>ZxupXRv1XJNi=T zjyUuMI7$>Wjl~JT9Lx76i;2@nlJ}EV=SC}F3}FQcY%pnt%Du_;-XW{H5Sf5La9dXj z%gK>+ua@WW+{wu5gN8t|O+zgY9xlN>ZCU=)FPN+zM|-MT8K7#SL1XB!c?}llOM?gv z&cS?3vV^uh{?q414S^Z!e5Pd8f7~_lNEevlOHUX6=Fp&&eBym@M@&ze($-v#MkTw{ zrvt6%M}Sx+13Ojcq^}ZLRqoHYoqkAtPU1(R1d1H6jH(!6z2e9d*5_^IJALB(y+hPb zi#ArtLaiVR6R5l0t4P`?KIm z0jrlcu=&z^PpHdxRFA*~Nm=c* z$kdn_b>sZSIf_rw8oa53ZB`!JS{fFM7*Ow(6Nya{n~wWEUp&<;bMD7>&(=;(moUV%&e8Z1GUIJ1vM}^`nzi9x&~jl5;oDCNrxGEc zk3h0Rb^e1rz4a!oBVF&AvSHh%x^}xZT5|{3#C^hsUZK4^?2eGN&KFOO(saD1ZM(+PCDE!khD|rPEmo{IidHnF*!cXBK6`O=%@E}19L?;h(jWCG^klW$ILayw4bnk{CSBA!BSs1Ruq*-0kpPc_`Qo`r z3Ejbb6CW5pP2CV%TO{iZ*_Z3SGzsa>v8PPHNp?D_gj`+Pld-hY53hhGkxGb zFx`thM%LGEI^Qp3w8Fqs6u{=$8}HZKjo)9EpIEIGq^YAxaFaDw=g>+j`KK;=J-wbKO{BJAW1xGjZBPq@khZX%CP zT0Hk93N_YRT*h-IHG3F67BRN*aULlRMI(E)1(J~*E>$?~SY_Q++Qd9{n9qF>>r#I; zN50I_sH?hGN^&Cd=UDdwjULr0qdT=fC(O-G-&fE(cg^*lW6$(f||u&>@`m-Xtp^TYcP z%K~h9tsvmnM@7BsFB{u{8f1%E6h;XgA1OTsteAriSE{P4N93hb&qHn8Q_ac-VG6qK zQAXb+?x7g6?=vBD0_xiP;Voj!}OYzD=%iUele!HXY%)lg!jpIXd_bc&KrYkx6 zmWa_PoV9hL0SS^G)Q!c{ZEP?12?;iPnDGS)E`01aX>b|Z8?{}`SWhv_YKn1O8Ri*! z;QZ(<@_5bZp3%PZfey#(ULP@k4WQZ2c@yA6l0)sujCx!H&QoqCqn@Y7+&q{O_*T1v^1bQYC=ql} zGBh4rVz;^AF;eEql`s^%YrN10^pzk8${e6{blD;Wx(>3as*lr5-Ef)1EM5 zL&*zXg#N`W)COwwefA$LUdYUkG0X0;pt7JP*jZ-ie2yM<3i<(BL*a{US6&_bRmk}d zoFd#sX#5zdI)HPSWk_`gToB3Lv*2m+gaZ|l`?!3lW_i_Jn*ZAAbNO#f3Jo#rF18*O zo#OO$B~RO!uJKMMJ)RB)jHAfKdlj!X(=ty)j<#F*=$Xup1lCf} zYDZ!26<70j4D?q>!Xkuc}=Ok#nQh6S1B?S*kiufsKc7GswDAGMg&cnuQ9P>Dz?B zXAzwZLY~W-q;kLBY!XICRh5KT6i!Lnv$W*p+a!8U4`PS81OdXoWE-BDHi+y+#%urb ztw?JCK3MiaqsL|?P-=xSrde{Wb$98yD*9w*wrgs%`BkN67CN9po3A`nP^(iO1Tn1? zcJ2d{KzO)ZCX)oibX^}qzr0})Bm@le7kV;2$7W<7nBfr0s&cVX*S9Gde!QxRqgQT= zqm#49UUkH+aOq6sfgA1@3b#dnEuC(5-UOhaDnLNMa>uFS(qp&cTXMb)0fRSr1zX91 zk-D|t**9+p^5keGvNtRgSeay#Bbcb8-Flu(Pi|T(rHgmp(&t9 zKkUSZ@VbJQIe^)t5*S+8WFDG@0&CAEGcjk;DD1U&0$|_!J~iqLB6C}8tMzr5t}E^r zmVujVOar7MR82q4btXxqm#y%Ef{|DlI_;D7ryes=+)iKH;pkMhy}&VGdS`KsI^Q@S@8}wmaT3vM?*Xbm{Sj^87ZwOmrET?< zIxKP@cYE(A)HG0dk{+LrgoN-K+ws!Z|OX ztO^A8%K03}DvXYn#-Gwh*EKO$U4r`x+3Ku?oSxHTt=P4gsm-CRlUX5~gR4gOZ0=X3 zE)#Aa42@~t<{Yxmt$nvf@we;du9nWY{mGu+G~7v{bUqXO_I2s)&_j4hmU|jl#SsLYLK?+D{Ra5uY9}_ z=xMVWe;4PkVWBn(LdqP&g|~W6d%qU;XuvWG;1Iwi z(xSdOYAm>7rO!{qnz?F2Jl3W@>M_4%4`YBIjMTcZnrOFE!beR3EA{zK=caec#g~>N zrPHhBYm9gCw zS9dCflYcP&FTv)I2=o$qDA-izei+d#OS!y?BUoJRMq-|QC)Q!+s?UyI{SjX$L5bZ= zGwpC%P{^c9ABgxq7j>PFCtgg?b4;3$b6#Ca*VVL9&IT8iE{u;q#r7B2?SJ3i$5=E< zz%^no_cj6CY*@D<0IMH`Evp!ZNE1*)k%LalgB<6#7D<2!l8j(w#N5_!oi_+8#FO5I ztrV(}9^{F1ns~s2uOE@bsL~K|N=#g?@WjdCs@6xh$d$NwRH_ESU3K1oE6~w2Yt`4b zE>HMEzz47Kbd@}e-N7QO1k?*bfs94{*Q+A#`nezCyxbjyWwk$mvV|vplu3*B1-6+@ zQ%OmX>8@Zw|UcdTDjzVv#sY%N>KKt7eAneF}yH+i}q{DpZmK1@T~v51W1JoNHBgD+V;Z|Ie-p( z(J01^tzB7^KM#7FJrlf&Eox1=)hzxh`T3(Ss$gDO2Zu1r9WM+K`S(tY9HsU~SR zVyH<}Ljen4e{ufj*0Pn}ocjj|%{8pv;^g&CFS%DZa7i;_;YV{B3BHIhImC1vBPE_c zSGsyZZCrfh{R^Xbp6}`|pljWEeCc$0;c`B9h(mlUj{dmfrxK26=j5iVua3CcTV||A zbfN{Ev40_gpwsj9}xXE_2dELTg1q|t}ceQI~5le4gYc`4f%*qmLk3TIyd7k_&3wx?<9+a|W6Ba*HYqLE1tjLf!GCKDz9A-Mc*Cu#7{ zP}Ji!C75>2;`~nFm+2Pxv+E(W|4vf!xJ}7lE?xYqdy$M82vRFdCyD$!%(|)u)Otek z<*^+PN%IzXL-yq&)9-BFwr~A6W>Fh}0-C|^$A4=XetzF2N^7|VO*!cH7VW3M1km7# zOMmEg9+OH5xH~%`Pj3&ZiPEY>XDFHUa+lsT^_p^H zNYTNdlMW6n*Eyt)Kd@8Y*5N#_4Q_gOP7Sk=g`LWFyA_% z*3j_n{MscbW%KoPp#NUP;X#R48q$u_@B-dU(_{VZ1zx7CFQIbZKcAW%VU-D>1pbcJ zHMww{g><=eHrD_2Ib1061BW61P@&=le$87btlSBkp7kuc;)`5%={v!)@56V9YJ6Rg9AGf`!R<#P7u zmJnW$oqLGu`uXcIPrw(3>Gl2rNf&|Cf^Z%K4980Y@r_`F%!KZRBnsypP>=G17#JVk z?sgZ$NpZ1WsR>a3>+#s%h6d+hlbOGFKVZv@#|v%G@+{qMA3 zIS1W|^%+zK;g&vmIZla!*+w04A>^r&d0E4yhS)Fm;91lr%MNu$>4j`j{FLx&Vy}dcBB23c>9fL@1mkT+w_^r zy^dAla=v7#PNmM_YHlO3%Hk61^}uwNn+xk{QXbC$lwVu_BlnAK!Yk@N{hO#j@i`m{EqWg2j;;V&YVM>U0BHNzkv z^#>`w9V5FJ5-e(P-x6*&O5ZCnCO0$~xvyI8N>8@i zf_*heIUHN-B9)U?9_l*yFR$n8{bM-DceF&Ulzx8Fo>aXX%^$bV=*Rhtw=9P@*4H{? z8KU2LXGtQeUP^on=_A<5Sc*S;+$*W#p?#WP7$-VNf#(LE`A`AszC@kP= zNE_A){gk054< z%XF0E(o%}i!b`uL=Po&hR{Ec;TPGYE<}^i&7po8XkQ!YsB#iGWHIChEG^tuas`Oat zO5jQ~HcTwFLuz+@{SoV26@X?7wyr60OpJ`hP9hCwC1T*R61|JBzdIc8)kJzukUh!G zLS<16j}&p{!B)R~FWXJR~dJA#G3mu!_k`t(*x zAfo#9ZfChpmk8|8+ui&=#D1mOb6k5NY(?kr;-uFSg{x`y4sVqB3DEt=P{_W4lcXBb zqLW(+wsF4f19GAEWkALh%hvis@~1_y)IqmhUzzUrZu2JJ@c?J{JB`7w^!7i4cHjZN zm!YAB_`a1}kq~58>lYL`Z_TWbiqhuEs;m!L8)Fu{lChwXb+p?7U6C{ED#8-57owcX z3OU`%j~APNyZZUF(+W13G}i^Y)uTh4a&*L448>ZO3L_5t={d(Etg8x;&F?3lR zQ;4*K&SXBEin|2qawT*vtmr!#SU*!&nuE%=?|E1^VfT2$pv}X{)OzT96zI{qSi8@a z1yav-dIkJfS3Op*Kj}E~y=(02N2XFY<9m&V zhJ<8+Shm9qW`wiloRd^up);Vo$@GqxBQ~U_1A-z5O<;HC%AnFE=W+@^seI3vv+QNC z(a2!tdc}lhwe1gu{9iQLWza1;bGDJEOWnx0pkE3_0T^Z#s66NCVJpdR@K7b zzDoGXV=0XIcW>YNxg5PB9eKJ{TJK8nY`8xHcLCBR6~y97(%AJ?Ukmb7cNsE}9bT4^iKpGnPA_EB z7DUj*WZ%^Pi-7_VDXuq}6w?K(RPT;_0E|*_)yL2B2=9z50?ztTKUeEybFzu>ZNk;t zl`o^WE>-*T_rEDb+MTvTSO!S5G8!RPybhSrX&IL{T`*bPfJN2|2^k!|YWN#_I1zU2U8x)z}s+nQ&^nDooYt6+f%0wbFvyRTDI9 z-d(P@EK#i?C$Xf;5CP$`W+8Ra$=VtH{AK+2D8coy&yp`%hgT3aV+F+8e0TMYHh%OZ^v7fJmqTKjEC$8WeizV*ZganXAPVS;fs#;~3~0)MP?6qD2oi|5|; zRsJ;JPg&YQ{su??VCdmLf$PZz^;vP*l#o-+Q{Ew)%|0O|0{r|>vHA09_Y~ynBO=QL zc~K$SMi;W2tzqI-M-?!>ML9Y(Luu0QLIY6g>l$S?oBiNoWhk`lr{?gG1u#SRxDeqF z24szb-_b%ADpvp*YB5frQq?8m}A^8mgdG!sWeN?D4Q$lO_J_-#4+uZl(tb>^bTL%-&5<_4q* zxcC3+aB9B>UtOnZ0{xX0%RK{B)rs6Lslb0*5|0zSO@>tNDe1-XJgtvHLr9~+^P`|C zP=Dpy`DQsbq3$X|?#4nhpk0}^C#%&*UEz>g9eA-iS8@{Oi#7e^iN?+3k+QJ*&Gm5wqJUorJ@znnLMfV@Z1y15WcvsPX42U3L9VrYpsD$$G$s$rq@0= zx>DJ7Az&3;eIBb<;$TDUgLhur@{%fcm}LSS3k}QpGJ;w!*9IA0{_>>IRKm$cf}6%c zs)Wn|Yv(O7f?LN-_p6n>NS^3C^z4c_$o=5IbUeOZmQptHGrL27<~@*~^_%~!K6bVh z@MkHp(t{|LXLHxHK(w|Ie$k{p2|D(!`7DyCq8={Eww6ZnCDEghuT67{lsjrTH}Bn^#eEPU`jzF|nbzN>PezO8BMjt= z$=2Qr}aDu41qo-`Lt<8qf3_RgpB#3&|~E9lkFD&ZOYC?9Gv*}#WQ8ugT0 z?b1erwXa`Zhwc?Lv1dA?=1aJh*VO|14t;Po}!V&w;-?`2<=?LMTq7s61h>sE8=7(x7A^`#RQsZy@y-)Uopc)aMU+1 z{y`rY@Be5_p&XC^&urvTX|7KvZf?AgGeup)#crlc@E-Fu0d*Z%`^L)qPZdLe5><~0 z2BgVr6fWpu!x(HW+$!NrKOD6fx#6U=t5~=@A0=lTNCjUVJe-q;jQ0Li;aO!8jf^UQ zz6aT?SF|9H8M~N(kyy0!0kRY#W^X>&-mU@V^_^|!KD>Z7i$=M(%@woS8|^>|6e_nF31srkwO+`Ax-P??{JUL6G7LM3edm z2h|`nv=*XwZ|`1T_Qv<2!war$`dnG8_4XdptE0F2tdW`fo)$(@+W`FJ>iaAIy zf3{os6g{XL_Rj6I!lf4D#0jMjVX_5;=JPb|o0rkjc3pFh8*e!l7Aah$&GqGmf*hr@ zrQ8|CV*N;B-^nI4RR2{*0z@y_ymLCZrV{9xFzZ2~)>wj1ZZj#K2vbv*;7mykDSyuiaU50C;CtF+Q^%YCCSW}xgt$g9 ziTY8X9|Z^yJYMj;w?)4Y|8XESG{^7#v$fg@G2HK#rsoWDQowfE`0Xjfh zLBE*q*0RkS6(co71Td_wU8Et!r#Z;!JDZixSBGc0o;WyzP>Ghfukp~GPc2IU8Q(M* zBDm!{I38K>b=Ox_E$c)Ux6@e593_{zZ*hfVVHW1S{RK4+*s2WQ*+2{&JcEu!>{do9 z)zDZtCdI&!!uRUT;eGYcT@co;)4K665ine=QSDE~GI$|{)l(@ocSCRXWIH|rSy`of z%#P-%IgLF@q-)DdSBBQcqcIr9Dsi`Fw{24^^A4C)q3psxa6ht-U8;i^XvgQO&GJdF z-9;H_=xutgPDjGkwM*lJ^~Exd7OnuMERj0OS(`!&SaV7q3w~}sTwQj&H9@J4z@X8V z!YR`U?A`>jH)8=ZVBZO4BleOCG~LRU7v!Bd2Z&XS(8^T}=(_{Q*j2-7p6ka+(MiuV zbvY$QF5Dls&bg0^^^;T|o)(||sCH1|nST6NF9E~g)MvO2DxaiSUKFuxB2ev?Zn9p9 zqjP--&xWIx3rJH3Rs;I^ZX=B3%6CE^5+gb9DXo7j$qTAi^E0FSIB<9ChvY3{9=lH~AL`GN%-ve5g|TgRPB}=>|>U;)}1pXsoZWG;6mi+4NnlktQFBMv|TE z06mUQY%Y;vVqC7vQ7CA}45Tr}$0^(pP2IBsug0D{@jw$&GjHTchk&%Cuq%8ta2`;R z)eypHP(G0R0EM(VIIaY;%&FxAAco4Fp^CT&YZgC)MFG|i>08`g8~qNxy@#j6+@`+h zb-<&K-Frhh{KRmo4?mg8*K7>QmNjf!mmGk4S~M}EGdV29k--y!3&FT0;U4CA`7pF^ zc~u1EmF1sVOqkh-1xj4RLi@a)-KZ*w` zP+uot!&T2CcW8WZ_7Y;1a)dJnD~6Xv`o91>AOR~NOq*pvfXm=D8_&DQuL`2c|6 zqL93E0pB*C{O#~LShUW(1Pq7x_J(HqP1X@f8pKE9bSYl{)z+F;u4U4@-N zZ7gs*HCauyCDB~nDt)km6Vv)G&|nMr@?Q$oW{Ht-+&hbm5wHRDkOhLHFQX3ON^sszTWJ>q6sxdBGq?G#$U65pC6AB)rBAgrYe3?h zs|Br`=*pCmhSFZ@weP$kAn&3sjGB_Kl5 z3?~L0KdKnG(ISj`n4tLf2&4XS40`THyl@pGh0Sr=e&onJfS0w_=*32Hr!Ry^ct5XI zP&6DAYLE_Zk@NirG_`>hetG_zA-ZsuKO2;wz-m;Tzyx5@Pe5uBGNtLvo}M+zm7 zjr^2!gQ0wBBROS@9*(ocxZHHd!U|v=<5@{gJf_R&HizqD;XR_;THRv`D7to~KQ#Q2 z5j_Z?0bq0s8O~{$FeJ}L!pVE*zsLHiYol}Z@PnQ#C$Pkc4>;w(WkA5V`lKODElIDc z>iM3QAl+v_G%d5LvZq|4)k@VTMcz5J9g(Z1a0`s?WE9%8uOS7@RD8a3?L#ds)KxVc z9H;OSXV5s;wdEb2>Y$dGmdR|Mk<6B>)5Lt3v>tOozp%B%fYK@z4Ph+ha(=e>uXfW>FB*} zDuHETzAAfL@^L7+)1*4+*v+_u&TeIkjph~cyf27YIF3?cv0##=x8d;_B~EfJYGDeXtU{-JE4+$~yJedgvOt z+9*_drp}_-qY9PoJl6^a_c4#0EktcnS0V^y8b(-fOei%X>N@s$A)us2e-vMFSUNQ; zTJ<`CQCeE;3GhcWHU|&eY;7J^HSbJTOX=dpMyJ*^U+bl`pHJsQuPdknVYN%mB*WC<2MU$kHGVR~k zsUpyr|1uX|9(dC;f|>iV&ap(JN6B09EA~!_!aMHef1B2&pl8^t@cc@p8rfjoqlYDz zp1SHUqk-Nw+pYZ0zC(+|tOilMULNZ!#`TjXS-HmO^M*ndZXY}c%OQD3Z%O2@qY2}~ zdY2bk%m*vI+zp(adX^?_)0jBwi5R3iZ7T1m8)NEX{ z+<1mB+m<ehxaYd<9G%NZmFMr ziiPF->cP9?n`U7JxFc?*V`1gX3E`Ih)YCz=$$Jvc?>)liGVzI`QfXjZ_f(p!he*eU zJ*df1oODpa;tKzQn)aME67?x z>`lvTpR>hCvoS(1UsidOxw`tJQM~4Z-03JBljQp3$;*~qRG6I4(L-xw;0+H~Kgi2a zsuJI>-hp^Hft4a3{heOeMh)Ql4N%+~5@Z!=-|-euWHn=8HqlOF-6vhiPV?O+(VfLp zX5oD(EwyiyDq5IF?(z5HQYpT{$ukXvJHzjQW9Y&>(3U=RqI?liFw}iTE5ycB9cc}S zxeNtkBpoMmY_?3_7xUTH6*PLXPh7aiw89*d+<#|R6{roYS)Cu|mYf2iCBbVnP`+rj z3%YGnZb=oji=giE<;?aS6m1|Tt4aO7=3kKj{iS0RD3Gvx7dr%a>zF$XljdSAC(2^8 zYoBecj!RFc-tWw_=v-}>FN^gZgNM|St zv2`NnNds4}a{Dr!_)-%n9${m|x7#m_JXEfFbA*xaDJ0X8>{h(eQ#jgzH9vjs)scef zEWMes@u&}6oa&OG%*mSA$3`(Aln_~pRAc!I<|<%vf^cq>C`U^jUrKAfHb?inp|wU# zNdmlY8@lsSdKJcR?Ok>KSM09sC8I?R;XYxL6dzPeWvrKN?ygX^gpu;L<}Z32H-`gy zHS5k`u9xdLvE}k8BM^YyVdi0H4nrqKoxWYA&-5L=haaSC@fF&(JO|b zMT|72K=7Weo8%P>K3vmd0j2HM#8)W=5xZY7`$9anObCs`c3fN1zHa9}NRm*-xV(dB zxjx^>PyG?Z`)MY(hnQ-NlfQA}hU}rd(5=;GwRmSFGRudgwf5 zvJ%>s`V9YTe1Cg6ln2@M)v;`&RN~jV?1=?$80f0?ANbqv{_lb8=LU~WJs`L9zQ;9Q z@WwrUw!?lqlmD%J+|mRie3^9e&CYLDf-8F5ZHyuv<$pKLzs57*05+&U{Y>Zi9qG#g z2_FL<9eP&kzkX?F-**PL^T8W-iV*Fo%iY-z8AY({KAcW?@13FicF?_A;BVm_;U#?u zGDDSbFFq=N`E0T!9vkttZd)?;QzZ0TNq*_6KT6ra32-Mz%biHEytZVmoBkXMd^-8C z08n9E(wNQMN_EkTF_^Wl(G+$6a49B*;?=>qkF$viV25l4aQy zL(T->ylI^rC~EuU)YTYtoMNcT310nkttRz_lR}3IZK;%)MEn`e+p|R^kn6ci6Wt0o z?nQdd?T%B9))#|2D;;FuxfCvJ9d!2Q>)R9XBZJHW+b7sV^BfS5Af7#b9)BCl{~qM6 z9GRwl5Yoyd?<*R{ASj#=L|k9K!fUjJ;xtZB41H{{<@z}gBCS(+|49RRBB4`Ypz(l& zPFZoTDLK1rki46Eq@keStEpH_IfPG7Y;x6{no~XZ%f?0>|7F9Ddhx#(>u>TZ(*#7?jyDMnF?fCG)CD)Pi~l*dzji*X^t?jFt1PZPY6%_gPkCYV_^r4{+i` z;?F0v=mSB%07aFKX|gvX^aL=)*jx=Mo1t6Ra^5_y3sPDb`Ej1J-lceRxf7ZV$LWh2 zM)79re7^Pef<+LI|JU9vz${;pcC&rl5LTsmJQw34x|AJp&Gm)@q5FK2O1#&78UwwY z@>d7nrhl^f^yyQ!^_Hus<6O)pE1(+Gxi~G}Enb=&i2|i@6}~Lu?1=iZ^DWQCno3X0 zZJ(NKsy&eN+|`bMR6S>`fF-a?3m1p1PL{4Mfcg>nihcaWw>Jt9tA5gtE5AQ*-TjD( z6_MpC>6BpJF3>sYLCY*s3+@ORt$Y`QyLnjZQW;`7*GR;&>(XxO!$Bz;8Lx}-?NijB zG;*!1&K)^F>dEG|EeNE_PgrZ!u#&|W)c%R^a`rU5u^kONw)Ox}5=OjhpS7AHHlm z#-ml>T1MbRZ7XSdUa-WmuLAG>*@S9xfNM7MF5n?C)0w!whi+s}N#_-R>4wCdi+3Y5 zomXbgR(Uhn(yeW_321lXB}d9%(d2XWz5n*&!p-$1Va<*dIGggdrXo%5&b>?zvmYOD zO0kBTn102;Nz1_iqVJU;AU-2Y@)sVD)}lN&U867CC%a@VDPTnHXWC;+9%G{VZ0m8p z>Z8n(Pf||{ovnIfiC~53h~KhZe0o!6G(Eb=B{VKwpG6)HrPm85PCYU#PJ8v&a?h z*$*l1Xk`&-tTCtLNQ@h`-o93uOLLF^9kYDU)K9L{-XBXpEd~2Kd&@jbT59@p~Cge0upV zuk^wf$1w^XRBQ2fhpYWL;8qwXu=rxjS3k-2*_E9LaUZM=OtGXHF_iU|H_Ex)|^J)l}*d)A&=^Q;peQ&03T~Kn)Si*NdJjlpr>1T!=+S;6ZG4A3h zj)x2crRf-hGS`LR1B;?M)jp?S1L-p4jfCeo!ATJV_tT&d@Y#6d#l8{;2FZ-Ul1B** zc;Nd-)XgM{*p(oawiNmB6RDdWN)g*6A)|HcAdiB`62q z10g4NVqdT}UD*541>?H1avvr;7g7T%pJ^yc67jBP|A7MsY?K?MwvFTiK46_|?}q;6 z0sLi*|Ay)UfqK!a8=?z=;j(V7heHNNo9=hM+2TUcvR?bT@0)91nNI(7r!t@3I@Url zhM#F4vy|PNxOnU4rSc~ z2_uv#e7y8%x2bclNaloi$7UZmX1&8T%J1{0JBpMQfU%0RPYKFb%2XFWE$I+JDl+0I^N#Wl^qa>UZo3cF9xF+b% zuQxs@dUkQLDLqnhh7K}T8~U)=ZqkyQ*}Ti!9jawId6t}NQLeSleu8P6}?%BWJ@7kQqa7(*>lfvd$lR}Jc5q-PV3aOAO07G+E@L%xok#j zgYpKi!QGWO(yfxe=UF!Q_E+@n>*^!J$&gbs<8i8mf6$oHRKvn0rL|;j`H_I6JpyIW| zMAv*mLzY?Wv~{b)50;*Soa?po$E4n8px3H#0vSg5WgE1@*@uxCHSeZerrp->wqf)R zG>2YrL%HNPWb6~@+a*I>P9$$U4C2*c-y$R0i|SpI2!-|MOMd{k1#exNR#(R{-5Zp`4W&!CYw;E9k=55k||4(Oz$I?491wwF}Y0l zl>{H>Rk@W*H30J4(+rR{E?eGkk%F_*M0*qo4+)QIo$GRUC3MR~l+b3jl8FnWbqixy z!gp{b(yS_ed@fSF3GRkrHl0b^2Z4T3dl+`r%JSy37q1Tm0_w|JnJhppgtj|M_-l`=dyWN>ZVE*@`9jY3yOeE%y z^r5%hO`pzAsS&0e@HUO)*?o{a`?<`)^8i5dHh$EP28dzbid3Ws#=2dKDC^Nt!!kgl zTJ&I?0%R!~lv6d+;463}u{EY21eJOVR%STvy#Jan-BJ76q9dK5jL4h;|6pg<>RfHg z@GVx(uNGQ;X6e}%iN_rhMM-<^K$>n=(*0bFs~|Mt^TZ%w8$SNqsWN;^IZ!u#F2vQLh$~dem#-lCmA-3PJt|RTT#fl|!t{pxpx~~{@ z)-RAx3DWeg{HMZ}$))HSP+#<4EDN}ySEf^CXIY*!MriG$ov_9>?K98QNq&6SDaV>k zJQDaX+7D%|n!fJJ59`ey<+j{gB$fxwJX@}hT(A9bUar^gT$)baN0Vgryqeo6X>Iik z{aO3|HGe>PX|AHkzZ?3rxU25#kd7+q!z>4FkrbCj*6Vn_Sj=m_KEfx4!_k9KL-v`Y+s0TV>^CX$`DbW+%C;ked(yM{g{ z{Zmzf5)(GR(o?a?>Pu4BIH{K$#oe@SN}mDlg;SY)>$P&3miUfEq(5cd@a<4lJiu?l zF-b3acgd8YWWC2In0sX%*vruAnji5BZdk&)vUBU}B0a3IO7^V-7LqQNce+cgqwSp2 zV$*uR7`>)rw!%_PqpX-tTDE0=YI7uuk|H57#sh2=*z6&GMg}rRcgB|H&mj5)h>O_q z-iUDzwYURx!0WQyVrcU@*_pW))Q5j0E{^>G=I8=A3&Jmh0nZMj>H&%?yiNqdaZcDP z_u#KXyd0S17yEK)!7X2s@lOZKS3atL3YR3EXI50O#UWKb-Pp^ik?$i3CvP}SHm4K- zj8zY3LgTE3AYTH^+HcUJM6t+w@RkLbtiI>iRAcFsW{{dE|2yp+_o&|wszHn z3~3{-%~1dnk|h^?Mrs2edOGXrq&!h#e$qBPg*Ny`HH?O;Tu|o2Nb2G>NHTcB!b$T48`z!VxC}S_2zi83H!(Q0Y z@X!W>J1M#Ht@3TQVU>o*Jx|g8Pe}13-6a3C&x!3zR|UrVd({@N>Q1o6j)w^$?j}oY z=92scNH|wwq++<#c}4F5f!)@p_gf>6vMZWm&syxQk_lITqG;t3aN+JbW?{>Zj}jIr zcn~wk!KI!H3tV=IQR*}T-gdSLL0`PGVCYfI^wPCmU+3(uc~a(1PXUv$Dgj0R8)g2@ z$a{2gQ&uJ_ffhDzSoIi0=Py53zt|HVuKyeHNpxxzxw%Ja=6O*_70gIL;46 z@o+0KlpEItE93-+dHHJPIHV!@aX8ujQm1&c;c6A&N@gSpjjS$Bpo0Q9l$|46 z=?xl~gyL?j)s!V4!uRLMjn%K+k`H!OO;%4bq?PkK#hnPQTq%y)#!mZhQDV+tP8du5 z`Pe!f+yj!o!uJ7__CYRJ-|}=PjG+vzi0GQ=zq&u<>`iB#S%ItrT;>AGIs?@s3H!8* zlv$2mD6Gp}FJnKO;1y*($Hx`@pyKVR%a1dOrLMDK5$LDa&rL^5>4`nS+<$m>E`85| z5#@)H_lXtQT;$VaRnAcy_f{>?m*?G>+=RCWXm|remleO*D*ti31C5lN#o}1+ksXcx zMjf28=GwZEp9=rqe#oR!auyar&#C{4MScdX8iTfLmuV=V<8P<(f4)bLrQ|GD7>3q% zWY*&j#TZ{WS@Gw9%QY@whJ5)>`~4?paTE;Y&g$KS}EgLT9}{v^ITtoHNG9<<+1adGQA*Ha8jh>ZQ`vzPS{Gr z9WpR`@R{V!R?^o|=9|5D(B{vBHl=KbQl{cx8H!3!N%l3we;lW3`+8nP z>7ku(|3@kLsZ{TS1)vRkdEl6QJD1u8lg5Z=>q}-@`7T8f;&8q*r#a4Xya%}Lhrejf zm&Ls4&e5f4w^{(o&P&{Fi6e$h=X@_C_FH7EkqGF~iL6+VcflQrI&aaD>OY1e&8%{3 zq=!uV{a9NZKkrgTS05!A9(OOW2UW3b(K#ayuCirUvAxwkaN#YepB1x@TcOFDK`4T} zJ%~|m!j#y8x9C*jcGy=?3sCS-mmFfn>T@*-)4 z5bU%#R;Mhzb$TqqR_3N&dsGq^Mw%FL;jVwBsHL<}X@TPp#%!0WgKN_n=+ed_^hX}8 z8%)BcXVwakNNJCMJW`ZKq2`TrFG88`JP^u zWSB#MKzsbtPdEIf-CTcs^PTZlkb{M1Cx{6(#hth!)aDFYlN?}S!Rn*fL8sYo4_@cMm}Chw`Q z@XfynCp{&0CK7Y>qWpyn5Uh#ylQ>u6x~X>C*Et$uu*dC|$LqjL4{j8PxNC#t#BSQG z8tJITxAo!D(tvBLm3^m1L;TLJWBxSOBzvOODdUdm${zvx6}e%0dJoTLxRw>`*C5fR z@1K6p9LzSVp~F4QH+2&8y%5Q+f*W4IT?cWQ8A7~f z^XG*{e)RV@N6sIB+%{i6H+Y-bop;jITgiZJUSNqLfIo&WUP^r4Jk&E zivbMilX|J1O>${A?9NA)m_AK=oiw5G`IZgh-fl;uns)`Cc*o!7jasLi;Egw|Iv6GB ztr(Ajx^|xdTV8O$Txv#*;c0uawQ+r+P2=cF&W%?KEeZA(%1!uAD7?;}A0+@o_}%R% zEy_zCJEUkrjpp#XYC88hk!t{4${L5j z=gR@hvWa>j z;&3@UzgD~ZehPU~f{|Z;iREY#0Z0-!S8+jM-vH_w0eb0$i-(is@09n>36mLkO*vxp zHlnM?v91l;P8r<_O0Yn2WIpiOLxXB7MhkFs&a7%W4IP5*Ym}r0Yiq63O(h1Y#6WA` znQkT7YCd5ZN1%R~>D%(t@o7u3ezg`X(7avJW#BsV-6MeH=kVtBO#c*C13)=5v>Vzv zPcc+Xi7#XzD#y6~{dKX>gRl0|9MAN8QXh6P+70zx6qd4;XMt7cl6=t2x~P#PKnZ9| z-D|SRG!riYo;2okqi;TGwm&T;k!i@EKd82aA7D2r6CcvU7fAlLWKL!Ebj!mQcT{e= z59TR2K;2SEKi6g;EnTehto#3;g}crMsSguMNqZl}qjk9mI2;k8$lJNbsp@gI*5v2P z!F+nzg95ZC%-Vs^)7ULS{IH{w=EfuLd@K!O_=S@kpss-ygvTal_wvM z{|LaY-Mkm+e~3LKNE#}2_rv8^EX>a?SN3-vs43#OW0hX_IDKn8+HK@}bL?k=R;IzO zX7!vc{WT5p>hR(29C!vW9qsxFJ}J{Hwy4RS=Lo=eNMD$WmNbi`HK^7=Io2qAIMt1aYIKfljP6sdRYk|v_{y73 zNU!v3OJ2ENz9*k+#NlCk^X8V1%b2xBMFI%cX1Oh{7a-a;`f?~PBMKZ)r0lBiZ^6dS z2YV7J+56V;`)#0g!$ea5Sc!|Rbfigg84`aWu;_)dP637Kuw{~-K`=Wqt(yUEMfdM5 zz#$pg+hRSU5~EyHroub2?}clOi*2?+dg?=SO1Ub{?i12bNXvmcDQ#x%O5Es+z&aw6 zXo=vYY2~U!AzC55fEv*S=^f$^`tH3v^{R+C#;Y@eJeJ;S@KEO%duxn8qIIs{Gl2bv zvh?PRXzDkVRGIVLAf8a!Xp7IH1iEvRGQ<#T_4MPk`DS;Ncbi2jt=@ZK%cMOmVi0qh zcnsAl8kMBo{&H1&D&1vizUH#qHxmaa_t^4Gcf~#&)n15D{TBk1Jpb$wm3zE=p#ME~ zyF|j2tFU;{G#l+&*&}TRX%OWU-Xr>b4=p@2GuVo0WCok)XWx3pC-@uls~%o6Z}SWNZOzP|?c17I(lIk3-|6Y+K^)!p^AbtgENq|F&R0%N0ldw0;y*9f$si?dd)@Z(#r&+sinyTr3Ddug+4m)J2@)itzDT#d+KBo)8y$+ zWmrI}TktxfWgsbEomJ29nxR%ZgTzVWh1q^!2GXU7Rx9+`0?r z(eiMB)Gl8yiAqS;QkOnoc6d^}wA0P~w7@rB6AN5=TB1@a$P_2$e^(0SipRP8`%0T7 zmzt5ZO{|EvY3nQE$I`=&vO`Xq`jjxFpp)(K<0(s($Ash80fvQ^r;)E`?842d3=~kS<#_QeQ-&L9M??6n^$}kP;nqJ^ zSi~b*^KV48);h)}SzU9f+&}#V-Mr48y4IVs)iA3Y(`l|INz3P&|MXLR*ye|{sjjg= z4T(UyzBFHM4dHfbr99cRm}?Hbj?6BtMJ_r#;)^8LDQkIdek;MV5BhrDsL53BOsOud zrGy4yTCT3(%*8M6Cp+@kM(?w zw7nM@E@Z(@No$FY5Fd8R-OLBzemTNzJEL9HZ`nFGxn?^KJ1NqniNnESYyf$~WA!}1 zS>#k9Yp)&M^ESSMH z#)eh75q= z=%Im?w|B;SvUPTOIfKA6J#Kob^tI2`+=O-=02*peM;D+kmJiZovL}@4J1E@t_Fy# znl%l`D#zGtP_q|~CyONxCezJgyU#>ou|)-oNrC5tz9#ZQ?OSoR*`sxlt^V95_nZi2 za7p4C0H169xrDMMB2GBByYRtH<*LGHH?r*OuyJ_DZ4R4cV$p8r_5NZ$?IOX_2E8L$ zFP(5A`UJxsG3bZpG5C0{Jl%0f8_o&C+9%n{56!x9f?xj}Q$m|?-ttsOpkb9)&mx*! ztg{cKIc~nhqj!Uh&}&Xlx>GZ2y!b2a2lKe%)sME>0*A;vS)*g2_u;r*vV4Cd;VuWy z*6Q$z$f#nv8@2Y`2YNKezw-lH+DhsR-?xg8`#RKzPf6Ul9D+-;THo^dkq{Q2k8c;S z01lUMAhku8t@eSrSvW3dOS*YC$YAh-OvWS3q%;#($6PGA&*D<hFK){wbO zv(C+L)NDN+^?Q{{Ow$aKVA+vM6=B6II!X-pmo0n0d^nIUWvFbSvk1DAbS@SQ>sD}3 z?XQFa|7IRO>ty>UF#85db^R1*+|g|U%Tx@0w)*|U0;t(=PMZn{ zV9L{UQj-R>TV@DVnAx;tPr6#lOJm`|a7n~U?VAU&meUU;Gp=Www#@ z{eT77tzK)}Xhx$++a)?{QUJqR5mG*Jn%GjOeCC3DY43^XD0Pk|prEki)_04lFKqE? zFjtW6H^1rZTrZLvkI5M1PTM$P+Df0ek4Yn4cU0)s3q)UiZ?Sr@nSF)*bSL6nGe0Ou z2)fN4H)`4AWnbl$5s|TSML9~Mr2w8GkQUhY0=2$w5h`e#pb>a0jjr>vtgX(cdBCk% zXhdvU3Mh_G!?@6s);GBM%|}tNgjqY3%UWCmcbepNVWRU$*_P|%|0C_a$3E8Kd!2ge{k?tO@7_M& z-|xRVPtWJ`dS2J#dR&ijf7~BX_IoTKx2L&8%neC9RQe|AdY^=Ip|D(##LT=-0l}9! zaa!%^!`YWdv^xZl_?w>H0kpz{W}CY1J;PdFDJ$P;heryGGtcrcN@Bz++-E@e>@ZM-n&{M`8HH&Q5@x#(@apZS>GzU9Z_tnf0v^R^fZtny49H-KqhezRMnjk z%6gDG=_0K|9hYGx6R1oo%6+w)O1Tb3z=~lz6-nnQ`S?m``}7<54tZe z3N-@G8%p+%;WH`E;`J$>_pBzDEMgkeZR`X9AZ6g5w1YNno?K{Zvf^UD!=MiZ>$~CG z(UrFGaIq0+=qMwPJ0*nwAT9etVYEt2i5uM$sb|1bu(z7n?KKZ8S1@kta+gxvu`bLu znLiYHaip|WRzl5XaA*U^KsFEqTkE4mQDb?Zq%A`wF(M1b?3U(f%UD~zE~zH462D;o zFyIZ{28Oe|sT{qG`udtW7ER6bG9pW_v_tIc%A)ndqZL%eBG-?+(Rwe!?AVe(O;gt< zHx_cIky-0U+`#X8I6qdL8QY{c-AxNQcs8%vV*-z&ojmyLj`kuT&8t^)$C1FeZVA-) zCbC?gLsjvT0X!?Y1U3lVX+N8NVhHt+2*lM@ING*Q=r~h;{%hL}ffDaag!_VGz3p@K zs~3cFMOMap0L4Buls~&`wz3%DYO(lQsF-lGdMKjUB7A_H=D*@tS z3?KJYEg8)bc|1*ezdW##mBiYQ0@9losu{dNVl4FOx|oF3!Koh!QE*?tV2+LIEqHOu zPs@dlloG>`w8PzX(KXQ}dwq&{F36|_p9R-PuPT#3bS198-dP{dQv1UX+D+it`fe_b zjpq0Sylb8T2WW=1Hs<>f)}oqozt~|AL?dJ;<3Ag>aSE^RapnQ-O->toJ3`3lvP&%g z4~MD-@4(eFQ575;yTlN49W9dgt^k))?ZX=m#}G#%-2<I>W#m^EnGZ%*{1Ce>rN{A#ICd8S?O=gf)5GyF9g!s+vPYF_9C|=GlVRASM z!>!5?qlrYX$Fe4NPFuapUc6=AyI;bd2;dgE8J`YE$(E3vHJwswlrK}#Nf*WdzK?$p zB+aphM$J{1lhfy~)UX@7LLCGw&4;^6HY?4kS#uMND-TEBegY~@_`6|$wib@05Il;@QRC8 z^`3ho)L^kMlcPmZrbq0-%1F5p=!64szvo4Cyca0a{2eRVhfmn{X_e;Wq>9?6CX+K4jElfs{@deHz8vh4d7$ zOu-ofaB%d&@=izUq8`$5VMhJT%Oh_lorgS$sL7n*OOcQSwRALQUoagUv ztr&QH#-k>)0d@)m?whSo4BC@}EX5rlW7BQH%)Vy#bcSE2zn9N{cCR68t{;jpS`A_> zVYW;d4?*4Y1g0;6^W+wnK*F@{XUeevIx%+l$h;?W(<)BQMb&*lS}sHoVNz;+c!D|` zz@vDH0gEc!xHC?yz(F0DIu|taqE<9l#X>R6EKKZ1zjTy&$)8JZa(yK*4|oE-Z&z_ z^>`{H1RS=9STNO@Tajn}1o-~8GH<`(-l2uOtV{(p3ARR^T*hr-Yv#0z>eq=cxY%}n z+6T)(a)mFb!rmM)p`(xo1|LelIP`=&@FB&cOCQqCOf=%bm1t?-{VGVTfkWFS~ zcgF9QizsQNrs}&nSF((l#{4j}WKi&WtzBFI;66j?5(Y&wfU1Ytxe6FE$=HzOC!~9L zDbi^`Jd` z`mStDbu4d*fK<~t<3xll~aRbN$JEKvRw9;VR4HiBGdu!OjI<;m(<*xC|l^u zkZq&-K5ZoP_N-tia(ii%gH1Il2-t;#lJOlIAjJ;7nPt>+UVr)XR@56}iEvPQAeSts zJg8%yx5;bQJ_K}G@%gdE8Fbo!8U8(}URF+xPI-ZGvU*D}%b=4M-^WzWu!en+t`~`i z%X0z~US!xL`*y5q(e!!(4(1+SscC0iXk7JvvrW&!AT4Cm-hqW^6K+d5*K0J_^)xOh z#V*^;9Pw0-cl0VXq&J^4s&Dz-?6^=U#&T~i6z{otefsb=45nG{k!Hb9XIbTqMl{PUP?kMpxd9Nw^**wDQG^ZVlH|VBSv)**Fzxh zdB(o6paw;8=wjDIgYjgeVjQfyE51aB(=20X9-L(h=qP@RW_iV^xg0Ze)Jl6X<$bJp14ni-&lr=iLJfde)57{*lNS5G z006u2^WS_CcGOY(Mk~5kstO3(C3ZKaL%3o^BKyByUjFnhgtZNT!D4#^5(cVu9_{OS zy|j)Js6CW=-5HT!XrZ>HBuMgVi;ogwUu8vYwKSTUN+O%1TijZ5&^HN+r*BTQY;RY& z!33(UHfA{E>f-HmC5kmxANM5g6maw|0LP@Zl*qS<9zg(%@+ec+oP0gBKUZeAscq<%fqS89qjJO(wDl}{ zY9HS9BECeaU+#5B%3_v9dcE{0fD`V)(?HxwHBIG?PNd!Ld&)SfM(S5CJ+JNTdyYVV z3%d3uPFlHkv7u;Dw4cKm`9_1I7>83Mj1{z!b|N{>T7^+8|lXPd?b zqK5O3BFh6W2<{JTqU(PPVY_n?qHaL4D7s~2ET7HzDYDQ6kpTzj=zPZNVea07S-zkR zEYwwBEtIorJcQO|lHMIhQcMG&nLyD=K5a5%B0e!y^O);C^S$+{65GcUU*1@^GuR~J zCWtRtenK=G1g4Yi0MO}!rN z(#QFU+s=BQe;78ldi!4y+c2xtVRcC*H6O~iBavqwxCzY)oEQrEvQV1P*6sh4>sYEXGTZ}V8v5K7} ze0@tX=w5rw&ZH1aLaA1cex-@D-|#|-ZL(YkGtX>DIX280hoTm>fDS_}u6Lj>^Vg-- zfIdLMwcJNg+-ILyXtupTxfQ)?iLTa)4xP8p=0J%^um^R8w}sXu_k-11s)Vlp{D7VYB5O z24xK8iaPUv$TlZC&c27;4^Od7C0&`&3OM}(qfw@(v5=TH7(yK9wevx;eo*B%|4Vc!s-HBe zmxex9X5*&aks%QQTq6yx^PDK3(wYV2*n#*L_%_IIwsbvhPCYPefdoA+jfC>4KYSC-&}>YFW>_m+kh zXkK43!S$w&Ict4Iyt^t~S;T_mVu|3V$yK-62MSlrt2GffL=a4YqL!Rn`=-PfTeF7f zg;JMND`N|4H&!HPaw}m7^VE)gXT`44J^!e+3`@^S{W+@L%yj(iYSD z`r_c*TInY2vAYCzp!|f(mx_Bk<8~?z6G^6+eohSZO$KAOT25GThxO;ijZQ2aZP?sO z`@2P8I^CQlbwGyJXK(fEM`Z(IFi-;sT83XumX~1H$W&j8GRSN<+aCvJz#xxOW8$Mzw2pGhej@i6s+~+F%LA z7ac=a*I^0SZt?CbPU!}@Id+k=cB6Y+0(Td<71F(|(CE!BFS22k=Ui%fokP8L(*QdV z=|qn~^xhhNrE^3F47+DOW_@xbZB#csl}Nt-AT^j4vLddxTJO#$xdq2k8nx8N0(>-^0IJF$j6Lysp-rCw- zV)4RkpV0w}=`R5(a;Z7X4iwjyt+jb5ATNpY10@eYvGk?df%wvsTw{^He@L;6_U(Y#%yd|O@h4Jd_A%B{Ov=;LmzMNVS7=#nU@iHCbz@)#gbD%vc70z?hqtOm=1JmW04^QNS=u8 zZ+jwTR@&DrDo1M-y0|g~(D3;q2|m$GoVK@?R;JYgUthodybi?UtREJy0lGyaP9wtS>)0btXE)nna=Rt~=#9SEOf#)o~o-Z5qI8yp_8J@Iilt!2G`O z7J*eF+k0!9HtLc(8(}vdN}Zu(zdlr85(3;{EEa4T5pza}*~d-dnog-zNWA+la{wqo z_=Q>|4*@qDs>Z|r!36%7bP!C*12P_4IHPo|q3UP>^3w4^L^;vPrtT#6H7-PskmIjm zFvp?-vsr&-$d8}+pWmLZ0W4}uy~}aL$8%A34@7)QPd6F=_Zz`gNg4{U1)8Y*n*LB} zSg`=~yNOiHNqYk4)GKN5;ul#=)_)4`9l>Gid>zD+k4N&ym-`=!^hz7ts>039{R-TD*DB(YPrP{sStw4TD^eiQWd^-q?CRRGuDRLKJd=I@y~_>Rsk3{6CMk2KSE9x%`>?KNpVo+Of30!fvFzoExY&|H#Lh zCitOB&sm@5-^Tbq9`X|_9gZdARb2m!@Ki1MVcfuQ?BpU-6)?U7(&GnuGEjikH6m_Z zJb86-z;+|>n7Da7E98%`AKw=`S$eD^UH7mhduRefA##a+#PTAKkq-jAgPYUdz(L; z`6C$5u%U^w+>jH^0i07SL0|?%PJRD_PxlmI25M7D*6vpc(OImA8?$0Z%|Gjg z3$`hf$5-;>AC9-e@zei&2*YWttkqv#KXd$i4;?_ltmEZ+@~w_w%mk?6b(4Q?C0E9N zM9-Vq;*(aKVGJv!F!>JRf6iaYJg{hIw<%{Z|2D$^Idsn>FyeLjKPu`Kmdq!J^Lp+d z?f-8gaXe+%IQ}Jwcf;|gO6mf%`=v*Z0%m{H;r!26{h1|j;VPh+xM{2J_vbI4RRd9Z zTzglP;pEk2#;W?)A7qa|&T|k8MA^>5S3a3H;BG2-&s?vu)$xKb5P%72gb0_OTt@Ir z5-a%$cJhDj6$VRmKb6bwWV96(B2D z{>aMT--$ICcJe!_j+M_>Ch)Cm&-0x$j;HQ#!tr(hEbipi`o{Y4Ht+*Kc-d$;v7U6R zBtsT>Z5|8FpV9s-0zcfYb`d@1*ZQ}q{WIs}Pr(S!r9As1e&m8!x$w9D$#&BAgLopa zWgeBUbpJ4KedPg9%eTDaNOSU_|1I=#3+Tw3DO2U##|!q?WBi3FkiRi4>lJUwm~&-< zvgc)EZs+S(y6JK0S6v^-(evf)?C`>dbk_91lDiz?uO6NxY~%)~ekww4+WdrHb02dF z2Gt?5&t553=n2-RfR^sfE7kDtv$F6TC72L~JGiouSMMd!bAV!zDL}>(uxYPL{+Qum z;@#jIW~w6Nno>4^o*?8d3<=FWnr)S^omXAbi|0d+vT{b(-T+P&f2Wgdib6c2PKgz< zU&CeWRCzwee!M0pA=%0L=WeuQ7a@dS613qCl)+TkUz_(|4U_l|ctx0e!`;|YmE*Tz z!i@o;*Yy?jp#uWlXe6j%_q!yfEhT;QZnIc-+#tcFyr8?thN-g!AWwspXTGCd$gES1 z)_wx|pDUd~{?P($N$EWx*TfNLm~Zv~&*OV^^)-Crsc_`U<+9u%NT3(cT)(BKu7G6(Gb|qlptXOv%!! z?AQ=vfq`@ubWvWTHbR%=TsFH_tr9f-@u#ZUJK|9r?_4ZiB_Ec=2o)fxIsk=JNopXS z7zC;GsX9v|perRMg`3j{AlcV$ z;hYAH#Nq}QUM$6mP5^WRe%-mx4;~0ZB7iz*iRX^LrW~h`V^GNjN29_4XAq%_KOi}i zlcRWF<**gCG*?+TbC>=3g9YlNf+EEl=-&+=M364Jpp zADXSL%f~TV3}lD1^_V)=EOvO2eGD$i)^Q5J6g>4(h~ZJh)w+$hTGLQcakhd{xc zzTt>LhDQ2TfP#BUW_D?%K~~M^$P;gcQE*flkldMd=Y0Z2dR`7$hmA${n;)}Hj6)y)`L}>`_?goN&>*9i)KI2uxObIm&^FGHh{Y0D!Y$c?sS~^!1w33KODOyOr zqnw>=p;~{jtDYiwzd?N$aH?21_6*v^cO139hSaY40SruG5wx$HBC5w@B$3&`v7-_O zXe(J16>qM1sxmK6C`Ok?WVom`ko1)2!cZ2(;{nUVa;@rY=+JYH$6Nr*6V)mA3cU}C zqQ>p|GM(@*OB_zAX>E2%Al3iJTS(`sreks-atELOaAG(`KxLF>brZUEH>GpT^=6#!G;ZFM+w5<}2 zgpE{~Tlq*42GdY-mCGO}3ltaPb?*U9e| z+6EZsHh`;W4Rz0zVWCjX-v2@z7nBj8Rbg44T`}u7pzK_(Kh-`| z7|f-ojXh?kK*g6`ln zIX{)(9q8;7NPFaIIablP_*lWsh7f{|IAh23An@JGVqs*$=&~kclLSHs_%@1aV~rc0 zT4g4(TF>Svh z^oG8!aFK-}n!iiHWL}+|dxT z4`1Fakwfua4iAJ{qPA+~yiFD7lyuJT!>Q0Q+=9@n#%-b|WM(&QT8l30qf%J`D-+xD za8cO)##H{~rWhgV6)r|b#_h_(&z(Pu3i?s;F2c$+T3gvG&H_-U?6^(|9l%0Zx?Bv1 zTuSuyi;UixVm6=YHJD~Oq(GM z&*OdM^@mr@hSQ!#B*b$U5tRO8{!PKz@7GoW&;Y~m9{(qz7x=^HuPHD9I@6Hyjam3B z?V3B4X`~Rh+h*?%s-AiwADH(6l9|m9KFj6Vh?1cf5j_Nh=<=f2)jCG$X;8QIbf$Y% z2NgGZ&&#Z0wv49$vQT!rnxE{H9SifRpJy7B2B^CwCRQupSxidATnF~R zroyDvQKo0-e4$B8ST;g**4qAobP9JA{1Gd6D&F92uTcvc{nOo-k!kh5 zCDjFPu;}vH@|W|$XX&?UX!bC9c3Kh2*AK=%#>hD54aBs==vy<4c7IYly4Q ziG_z;`vA^L^lQt8D~lC=dcS<1=UB38|1yO?Ob~x{SHE8MOdx@nKgohF_5()Tr`#*n zwFaEF48`O(zEDu)X$Jm>x)|#ECK9=-D5?~pwusY#{%y_ zeOgZ7S{en7knP?3RTB4O%wHd_T#Pi-#?Lk0FiB*T9^HiTEq)fl;b5wmb&v=rpfGKZ z;{?uVNaadJn^^mb0jPRc7hHzN%J~da?P2l_p~Vl-qSUywx15Vo&lp9#YxjIP-z^s? zsE;ms?r_8fiXx)lFx%5!>CI#XHhq4nR?!sk4|WgBUq;g{Y#?c7sr)$2@z*J1c)^N~ zJ;OuCse5y0^GEV*LR@&P<5It++evXWg|g{sNAW|KXo4Gjj)FchJ%}P7K*kx~DxM^T z9IiE;ixh=c=+?T4jWl74hhokWt@*8y43~T9$K4ThxXL3?mEl&iVFoF5>PZRa(P%}G zLd1_O?SCA-+_?D5O{uc%&v(p!<^ZbEvaRN;&;laH)WfmgtGchzgBB z;_T#Mc|U}xekj8rU1EXzjtS*ovbMg;Cc3j$oP(TAYQ!>@GFV~5$X6D>s-3KEN;v?{ zv?Rbu&HqsB2DSFCMN!CzwaEsO%~1EM7(Qrk*JQc|WfbaNnRxeHB@M-c-uOI=-SGL zD+aNrpQCVDIcW1}uo88hBO?nn8BG%%W2bcW{9Vc5)7S54OWq9{nYwnVk*KqMKSzrf z)h-(Fjwagg6n@L;SJxBYzMo=Y5}IXcLN9sQXGce^q+F@sMn*BC$1*^%gX_XroV%Na zHD<-n-_K72(nV|Ow}?B^M>o3hH3c^TRT#IiD~df}^>9JVOPr_?8{(3c2M1!eGhG(J zv0L`n0G7-R&!DrAneQPF4mW*ZmI$pkSA?9i4hn1x{k*jqSC;F&l3q+mIp`*wvAd-d zBttj~vQw`sa5)ddw9|OwheFzZ5Ow*_j8yuTGefbil`6mkK9E1#gr|-B!YZ$kRbBX zb%63NoUN43Jq6(;I>JhLizfJ{0@s%}PE5IwzYUR;A%K8db53`+St!CmlmFS7Dk1F} z#&Q)>2q`_kwt&^}(n!TXX09|tWs)w=O~B(@LSha0PY3tAHETI)wV7i@9D*`5*b%OP zh5VxiGHbg6^?HXKsNAj8Oj#7&=<<2KcJxG(^dzNHmS*vL;F9-rd|pmO9?cn+zudL$ z(%}e_s3mHx;l$?04e$TJy`4r0DoP=qQ!HTfmW$o$|HG~F*X{dNnc*6qM-3$e@6Dh~ zIhMfDnlw!6&6#28wpv}r!rAsM+U+h0*8BK%L?NloXbbn#j@%Gc9eFMJSwp%oep`Fe-hm%EbxIqZ*lITX zF4MC~V5-FDL`fC~3ZKf-z5tK|ic2&<(^+Kj>k=$!u(A~V2ApF?YY~sHo#;rc*5NW< zhF}>|4m#bdEe+F84`yZt@LJo09ipLX z)43g&wCJbZi8=iD;!z2#l`6WbF3=+|# z?y)pf9SwzMLOn`RBWBW`&T1052Hb{BtgW#kFi~`biuF$rpa8D)!E~T|5TI%qPF@-- zeB|vHck(A(Z_$9G&Sc!Gkz45=G+bhLNEGY74(-XG; zI9zP*{G{mo2sRKmm97@&y2k=eBGp?e(rY?g@|`1*a%BV&%JJxK{E#xssfbHD0L@tuc9EK&$HHn^OEUqLNubQ1 zFn_3TQ8}JQD=YR9_^;ftw%$K zrVe|h4h1*=ik+W(9_K;wOybeJLv22Q#)JaX_?4w!T$hriiWT7-( zexYAWpT$5GX(e8+_Bp%m-t+>q4XWH*9fYm{%ZQRt;o|t>N~#;$H}>d%F-p~areJ{V z%q^AkoHTa~t2gnbgdu4`mldXqoKwE#diNLYY2_`4lUy-wDKG|g8lF$2le9zG1x}@H z05x#GQ8~s^3JQM}p!^n3Su^Xolr3gST{~S-+Cb2H%n#kG!SN_eAX`T^PPDvwrpygf zk+owU>he?@Ptc{tll6MqK#!cyO17pyb;&oY$B#{Z@GC~~XaE@MINeXD+|V88m&?!a zJP@!YzUAks%|mvxOE%EH{R}PN9!;l?*^Rq86od$EJ_{CZpIRfbPJ=udswk?)TTpI3 z^XCKUhFtn(*C!Pp^P2B(M<_WZ7!F63>V$VV1jH*wPc+M_{XEDj>MJ6cA1*S#ytOd!uP$}Yw60Tf;F1{AW9PU|`aGENpoH?1Ik#5d;!BA`=61|w(jD^?g9WYi zWkZCEb$KZ}`I=$Fr*=u{#h)3(=HIGLQH<7n$we|TT4uwP@=10(!n@%N)r}`K-4SQ( z2bhgBKHC2L+F}Hk@Jw)(Hmii8@|SHtbL*Yq6Kz?xi+d=%;aX`sodGol&ajh^>7j31 z%ElBg(g~Ae(Kf4)(zp6;&Uf3X$(XM3m$i6}8)T+h7M=37Pjb*?qoUV(N566!nl1$=3ULp77Gdb-(xy$3}*Dx!OL>N6K8ZB2L7~GXO-(R z@l2knSaI~;=6gqBz>uSt*x-8|fjg$w` zR14ql=ZT&L6HO)^Y4KNk^3R1peTFH}ER>8sSTvkV%z21hyS}A8aynJ&jr3eV8RhRa zl>#V^C(k7eR!#=by*MSs1sOCNP|7$GQWo^oFFrGV(YTeR%TnPuqxlZos44$VB>l<$ z2sJL_MTljMA-p??BwynO*CX+-D{m3M^V|KQQE4;mS5UaxZb#K0H@^ zj1~6GreFGU@Tb=o98;q&e8kx9U}S_G_@Cy=L2f=3izN9i+F!97AflrEK<)}LzfN#tRPOE zZ+?0F|F73a;6r-kKh^qwSRnCjjvR6i?qeDdqnY-xq5QwMO%PTMv-mcBy?XLD5mGr? z;(D<0zLw44D^K2Bm0{Dls{mO=tv7t#x_bGpRjhxQh&PY1_foL19eX)^zG#Fm+qLJy z4aP`Y~l>BmLmS;9%xnHBa%DQx9)r?{(axx>b zfyOTW^FU1*I!#ZxE7ckK{07*qdst6|q;&Gyhf@gA@)eYOoCDnu`9o5fZ*~wmrr2B<-&oafaK9y`sA_M*%^Fsa8&?@ZR8bOnkC7YL+>5 z|E(6vn=DKwgAqme97p%AZK;#=!r2!q--Ol@XyOG`1p>8L!(DOTcbrCZ{MzTgmrG_C z?8%Vrji>e}A0JXgq5?Q|H=u_sB!oMsmPzR@-0Fi2pcgm^VR|8!%SVhP&ie#AAD#VO zMmMc(SIi?W7uNZm6B1|9?eBPj>oJr(MQE2CY~9$g^^w$NMBXhD#(nD2oUmzP;x*`- zGv@)d=8LEs%QS2QF`YB~(t$1ANuRY|`00GKBt>zE z>&y(T?o}klH8ExkKDLQl!wj=p=tAOom?}VCY+2*foweVW3vn+hwxf+$6&w;a_8++! zuR4>)FnuT_)jIseYjJvU6*d(^G~=YlYF?7Hw|HB~y_{-NSVNM$cySMGfY5?@M7DQ>yQZj_ZYi$^&bbLt?n(eM?2m7Ni_UP{Ub** z;)O6Yva-2fgHR8r4l>Z9B5Te``>e_Oa_?{vi@52me9w%lQ%lJjKj#~R<*Opf<=i3K zJhl7Dd{!y@fQ^l;wZ`2(T(M2DxofEVLQwlRUfEVe>U8&*oo&+){ZuIA3Hc?5Uk3+6 z&?%reS?Ybh1fO_}dENzx!#Sxf^%)%rU8-ua2bMo12G%?%A-w8A8S)Qg9?}Y;#CB~b zlw>2>Lua!g>QeS;U?gm_D4GnqX++rf-O~Pk%8--f`)@0D8(MjnB-%w{w z=fC#l6!=)lbQa?WHQXtMc|)YFYfikzsHoWU)u;sBzV}`>g8*28a>}`)FS^V!h zg$OtWUDKECZYmRcM=rP$C*86Bz-#!$c+2m3A$RqKy;;@toTn9Dg~m>^4{f!4oJ(%D zj4t7WFhaKO!J(ay{kXO$JLG+m`7Rj|y(I;_Aor2sP|;%8?3s!jnj>9?t>ua9Lo{Os z+xmPyh3X-=_Ge@lihQQq3$|=`GZsJIh)o)Mb^6Ms5uUW#rJ*Tds&P)RHLoxIUT21P z*zZUr^EUopdX{8Z}7QD_4k#VIjZ3s9XcdB1I7&m?RVXkLs$ z^Yuw4<+e}nN4 zgV|=q+|PTA)kaq3>eOUZc5Y=t209QC9rKp4EMIka>F0Mu6(wGa%;qy^hYF3VM-HK| z_5q@hXDPAPlxk(x8woFlDqCDhC~&h7`s@dv!#}>zlM3?-E#jb`f|fZsW^~wv(2du9=JYQOq;0^UTnd_NxQ@s+TwgxyIf* zm5EWCbjY%@ZDE$>P4otS7I6U}ErZGF-&<1_+rap|6Zs9ie|(s~D_t2Qpq}5IrD5-( zfSe6wZE^kO@rjaR{S=?ncCnNE6bSBB!1G1*6&ttCin#P!FeQV*2^4XS4$t>LL?Zsj zSk7ZHw}})!jaWCW(Qbm+U6Ty7dL-r}GY4D1tXyDPMW49mJWfq7)ka3dEH4zqqgQP4WGHE?p>aT^}%a z+Mhg$J{;u1ICVbq&3(t~; zYk9YiNB#dLko2$83~ZeT9;wgqNdCI@Jju^vok0Bc+3*`$U#3=KD{W_2^n{!iKI)de zVAK+APM870Gfqe;=JvT%Awb>F zQf@o*@gtk6-20Dge#m=Rfa6HH9joSIm)!mst&l-9GqvyOn+a^V#OD&ej3i&2q8#KvsdUgy8UgT`hY2LarFj|RM zqa4d#oFo^jn$j7=EaI?o=62)Io%I>3Oay-x@8j3D39#v)2HhPc3abL?vpU z%k4UEnFFLjMj--K{QSe0?kY32bnWB}7=oRJeVbXYtC>`*YX zwsCCpG{^~>=Fr@sD;RS=3XOB=rrRIZRT~}r zy{M-(fW&;-Gb-mkmKdzB^&gcic!KE0?@JZlPVec{e-?%Jt^2;}0x2BDm?@Z_Pgymb#Gam$$!weYaC<@d#W;UW;(-_4-ZyE-0B~o zooZ0wQT*+Zf=G)}ee{+CG+AciOB{xnijxWx_)jcJ1zX6Jp&Yh<@-be8FNFn_9PMo{ z%$Flj{f7+594)3F;asu+PoonU@(|UYPkjC!C_pSVwEs#$@P%kW;`6H?jdm71`0c!Hl#k^?=DfanEiZ%w{O`^ z|H#)Y9{wmp-K|x9%HpR`$sU5A$9Ru5u5<4`-s{{_xT1OFe%E)+eVu$&0qD?GfN2kI zRTi7ppj@p)4YYn`Q(JyKOHVREGKXj?BJD7QEhF6}!y?bXK_j)`rIep>np7_z;nN5| zOR^j*=o8W_di7LUZLRC_XS4`x40os)UP{DF6|Olk5zM?;ZT=Rd$n{e?BiO>Z3`%A# z`Xou@7ij7QvJ)N`+ZuP$wE6#760%!f#lm_(oreDehg)i=L0PjV?WRZ_>2Eoc!k+AJ zMP;l`KH19xvH9WRJ%ey1S}~kzCt|ABL}vNw>jlQ&*{w;buVZ@y>^}&go+!jpcr-OUXa<-Sytv?7hM0bZM>9ma+S ztyDeF2C6l3)MW`a7Y$*0RWBYMVh#yy7kb$`gK+WJ5v_1%_u0<)a9OpKmj1Nsoi?tY zC(2hwD+c@PSe0TfkgUeucIxK6FCB#Kk=ayw4+_xbDQ%Yr#4_yQYHazQM7RqnjBUya z@`kC*`I_8*b0b64^VI?VF$_ATm>Tc(=~g*(j-KeJX2yp5&0$c4=s+#lQiP;@1eC4e zrP2}yj%nFb5lnE0%9T|1Q44^1<)4bgHu?(qSCck!EO)~fvT&V0XV8D%)nL2pVvz~G z3)Wr)XM=c><%iheM{X!rA%}yq#S&C?HpY^3zP~&KbJM*2wpJ}bA4W)u6jkU~4h%cv zdTWMODOYoFfr#-m)l zjVObGRV)>G5a5AM!|StBZ7(L{&-G`#&3?RG4!fNhMVRl~g^3dAo4 zn;+U9d?lLA%jOwen0~SEG_#~^{OwVuXj6>fJ>Lsq;wjyU-iv&Y+jjkyo!VG905!kM z7-?TvCH0poyV(G{4A(w6?+*SNElhU%!6t9H(?-fb#1r}qjawRYaAf9s86fq${B-4E zC#PPydce)SqO2tw(L=bb|@k3YVcLeQ4d&mb3-q>zYYls&_E65)eXqwv?q5c_?Cr>_ZVmdT4__Z%c({5VxLL2ZlcF}|e8j`-2@7b~1SUmi=prHgEZ^Iooy zzS(X8A9Ou&6y2ARJKa+r52(bzk^QkAZ%B$k4vQxhfrFj5>RlK6#v#+;3edfn@<$wams0*mZv7pf9P%X<# z9xO8}1OTVYnf-+TSjkU`avpZVdo!b30!l!{5YHZ=LG{aL1&on5QTaXJp7XcG0cj}d zkSo)*X60sDTR)AZW7!!iTnP=HhIf!E#v+Ce<_#Umth_WnPNy?Z><@BcqO3Pr14Ns4r) za?UYCN(bc}8#z|UaYoLE5sHrJ;CwzG=RAiolA_4j3^OA!=d%qne%Icw!{__^{XVaE z-#@!eHrKA_bv+)B`^i?l#FtPgmoe!Cojo?<(*x*7LIwScm5`AOCe`Y zauWgmR{!7t00BzI?4$pu`?;B|N@C zu6qIBi3g-faLjw9G@8@P51H?%;Le$0-72i-Z>xoJI6CAv)XbaJsK2$zBd+iQ?g=1H ztv&1g$p>+y-*xa#bvavvxqMP3xn8w=%_#+9Sy6C5Gu1A*fWTG3tastJdk?1eh!d16 zz^S!-H$OVlF;;4xWWErdeEGC1rL8hb`=HLQr+*|W5f{f9KzP5@d2r(7upcv7-HNbC zKA`eGvBuLEeZG_9e+DfF^FU{%w)Xvr#lLrMf3=lQD^#jNu@-;yno3f7+u;d~A6WvHL#Ysm)`NSnIG(C}|y z{k}hc&8tjjx}`F?Z0CiC9LV{R+jSQ7V02;h8EejqHms#c{52)Wx|72zvzl|$StxON@N(j*A!m#TeU+go5)APiA4 z$KK{8#wuyoBLwkLQAFs(I%DOUtF>rpJ+Q3 zs~P!e_#W2nV%M~f4+5H3T`43X!z2s6WIq5N-T!n)D#!C_;I_Ub7DD&>><#3)r;VYV z14As|#zx6f)5#L7*lRcb0TBT|dllzF)9v__XAdpq=4Q-g?B)cP9K|@)) zfRZ|1IC4(rL$>w@q*jhtC)E^(?Os}=Qab@N>PG%g64qVgUJPKJQRW4@Iuqb~dlB=L zm2r@}b_jLR*q;<|$`;bKpSqFlIMuz}^weMOV-=EIRKb~2!P*YEoo+KjcZB2e0{L3v zCB5@*AjtEsR9twZ2<&|lsb)YyCg<|wEie9F5m4`}&j0anmme{$;`MOZuujU{8ey2Oe}9U-c3%gEb?5*LYm$@k zJEtDt?M%6Njw>^c z6SeYJ>{8}>r+VHi`^sI6seg)~`L0j?0SI`0pX|zI7k9R%%=m|U;Eie_2P#LE5j(`Q zY4IN~!S-M_$q|2~GcPI@iZjPpubrb+MxvU@y2rvGzT#3?ZcwuJbh%6)tw$yHv_;W2 z92A}3`X}TaYQ09&_Q`fU1WHH6FAgFG#VM;ZBn=S$hY;D(ijf)M^MXp9lquLSbS(l# zrRAYN?=f_AoXM1}=dZ0se+qh>*!~NfILxe_e(H}W{pMT;J1~G*VTRQAnyy|Y327#s z8LX4*%)(QK{VY>HUeLQ@%l4_tV5i5S+;&*g+-d1vO6%7u9g%grnh|N6j#o9^q;j3d zajGO-MQt7TFM0eLs2s%jyIl<-y+Bw)5KlvR$?E1bTnCb&c2hq8S#ox?EtiESn<^A? z%WWQn0zNL8`;hIw{4%%G6R*%V16wd$FpeJ1C3`IE*IY0tQcb(@>4=66C zK&l^UEzw(B+NSLY`q5-fwboB#h7RQnWKyK%KgzX0U1sOfq7&`=`_9FmcMnjq;9DXy zllNk#vc#OpJGL)?((fm&W_ymb(t(dA5OI&MCIVXHHe;CnWcxE)k<0va0MN@s>RC21 z&uCmz)m7UZ-F$qex=Yb`5k01k5QTZmuYxq0FbB67`(fDxPev28dXb0$=7Fbz$wwdP zKr6PvKz_no&f&efLGt&S2?dwirnj7Ul_3c z`RgGJss>n7XmRoipBrt9XF9nnXQS4abYBjZG_DK?1ob8wpLSmAmSBe1$t4(NI6ov} z39)Lse8#lsX1EY1=E%tjNYRAXr|MupGjE)^0Eo+JEMKyPl`l%jIXUj~_wl2LB}#P} zm|pRnPw+pC3$MfZ-hB?jy=-tz<+0M^V7xS^TrSUY>-<(FxNo5sH`yiEzJx%NxCQd# zl_qUHzbu~waKp1lN13;!sydj4?|a$&P3x~(;=f>1G#;>kDZ}m{TgiIy({=@Bj&WGV zPww%MS3Re92guA`o&MvYPPo=uJ>9HXVYt?g+ivYi6_g6)R~Xz4pjy<|R*Y|$-1$>RXlygU ziA3~ix3K-3^cvTgb?p9PkmIoK7yR@b zaNW3ct@ta@Foah~rT9j`s~m_EJa)SENzf!MaDms!i#_3f1bF)8PJ;4ILmx-eZ?%HM zhE+R1a-ZxMUPp$K=2u(?ujoFXI&I_OXEfs&`#|fv(VSjy+e|82x~*Hc@(wBnV-lU` zj4>JaKky2II;q{MBR^!B+0grK;0>S54|#X^)8YY@@@_MAE)%f1hic~N2tB>!?*#*Z zOM9o@5}R&1P`V86;@L}Rl^obn%uN?ld4&8>neVe-t?>kSaIgJ~KlNpMo-zG%bWx>4 zzxSXU5j)t;qDp~FTeqCM$;n%ahZLFP9-H(eskjarBq$v!l8lvJX!L=$Cfw(YkHW>a zp@yn`Z#$8&g3Vzk5Aeltl@|ho0*ye{jq!O>4fU#k>ukRZbGDr_>Q9$Bc)wVcr3bDM zYFh7M2DDrv(OM2a8*hhw0}UgiiDNMJbZxEoGSipfX7cy%`sb~80)xN*JhmHqlKLkk z9AUs@THwz&Vt;#`1U}>O5@mh5SEK2#RRB*zH#m@E%99V||NcNe#01T*-;p}-chMPf zg9&H6<7klj{afE)zR$N$n*W&TTw!8J2TT%XevfR2gUs%cbQenA-xY;w8h~pwWsHUX zK{NjK1H5O(I-gs+Z1fMcdvSyb;0#3^``7>T_X~l)n4W(MR|Nb1v4#6`4XnZO;-kOK zM%#1F68wGN*GEg-{_fvSF@4iig=c@i(${ssyG$zU&;M;ka>5n-vhWSwr^G)g#Q$fN z8YRoo@wXSi-*5Hj>w(S8g|l4Asn+}J1us+Zjj4$1#L<68!47N&Kyp2J zQdNqH&h9&LNaJ^(nPvAORj_cZr=-~a*`gnrTQoDf!T9$d`U^LxO}@xkw|rzyN-lx| zFF`559P}o}Y3b>L{oAK{u5`{bA7!fJz&R#?f2I$ifSM==VcRNwV6G6W4~ju1dR0P6 zP(j_&PE-+?S+SIs1e&M!S1o`}KUi0AxJjg#ZVo!LtVR;mT5xGy%_ zZ;nZ;Ck=U@Qwv#rLZJ#&d(T8AD7xQGlQ4VL;TArpu&LYvtXKd#Qo+td*_g&nOq9*~ zy`aXC?+*SSa(^H<0Xj!Tw%%De{=PMfe3lU(qv*~@_Z*+bJ3Il|4VM{xYsgy-tQ*R% z;2gaf#@{$YK%ToF@~mp%oUf~>s1>s^olPHa`t4$|NH8nYERATmqUYo(a4bg6$QSyO zidRm%=k=B%cl__u#&k+u3F0=D6c}X^kE^)?o4PYlxnOuqTBSQ=FldgJ5CcIb<>;Cl zhg3%V{Q7F6jXDOr1i;K6WRY9?Hzx=@jFr~#dL8Zfv}=G;>tD8Ma=*&!WkS6(z?6y% zp;EGriwU?}0D@yoTm~6iq96%R&S^N|T#)jCvFeS}=K=+)wO$w`>yrjM?t)b5TDTh! z`Q5jv(*e@Lhr5i-IW|Vl>!R&>fT@wgce^0Wyw)y9jXEQtd_uuH5Pgn4;5|I!YTI4) zuD8gLiPeiC{5{y#TIgotBM)dy5SO`8Z7!~ zL~9=c6hTEn?3uONn%7Ute1ZWbV6Hhj&a}!)Z{kP%c|JLyfN{-H>*2L{u~d#GrdhR= zPd%XyDHOQ?*o3JAou?n45HqrE#F?KzKN89Wo&kt)7Z`|G11le)-Ydf@I;5h}`Z%Ex z%J71zaez`=yxcp08M=FH;HEuoORH&GCKc-fJpw*&nfkAg3zma&jzbqf7igCZ(;WNh zs!3R6PReh*{F&54i|hQ^+!(^KPeAAk%2)gg|Lzlk;BdeFv|aG`+=bhxz;yDH{3h)~ zsdbA{HwgW62okS1Wc}e7q-8wNVfF`e48YWHCEY$KDtW}Qp7MpmE4=|btbFENyd6EC z2=prB8r)b#*NK9|BF4Q2YYyT7R?qjzv+$BOup1(@EPlPwV8SnDt!|;gWOL~s`P2|Ed6erMmf(YL% z*n4!!Cs8X{4>Ucfk-Xq`za?+2ACx1>Yv-s6gIN_iMJKZG_AI`+K(ASGofMX+1d`!u z(#V)5Xfn;fwWqHW1R{R`!%*+2EVTWa=SO+uiH&xHkoaRMQVBNBhfwK}CoPbK_K;yf z4!8&`3|_fn)Sw4EraOl%GXr$`Vs^le64Nov7X})!$!cG8v4U^=aUI=mnu4wFJeR(U z3#Bko=-|=E9eDCbr_DD)T8Z}l8i8tVNw2@GyxpFAF*$gXY5o!%!gsk>%qHx3H^>~} zkLjCES>Y95#s;yo*TkO6Et^ud$Ecxq_ov;L2K`96^5IFP3=SF9fwpHm_V|KP&4-^e z@^9qFX34`Y%6jDlNGBlP-EU-FvAAA&5V?Ha(yj*^>3WQw$MWew=>D}U62P(yhoqU- z-X76oGH(t~oBneV{%f!1wa$9_B&3&Gck%%LX&}a1?QZ*c@k6cs=Tq*Q4hE$1wgnEg z5U-$94Xl<8R9~$V9S4fysA&>$a;aFm9H+kQWS_ot`to?22!p=*ersc8<~Da;{No^X zGLg2a^Yy&2`VC6E+^_7>`jU6RIl{9YUT1oL%86A~`;+qvmw{45yz6>h5fDGh@|3fy zH-J3u{xNXB0JSY^g>E4%J!H+DHIz@-xOVmR?gMK>o?Z1&b+8YJvR8h%3{Jz;9I$qa zi1J*j2bk~`3EHwXizg}$s>YmHga(YaMC!92n3UMijFHrh)GYe`ev$(2J__(W{X(^?>rl|5I#R<GsUlsMdrIinqYRP)RU@n69+uEA`!g*BxoC5gi4_Xx`iN zwrgF;HV`Zh!q%6kMbM5Hh=|D(E2kEKS>U+<9}1$Vv$CC66cTfg#yADCD0d&a4oZ;g z7o`5`y#C7}9kI%k5+2om-3+o3zU^#ngjeJx!6!Dsbo?Wb8xLk5`Oni&*P}@CU_MLP zl-7W}0KR;94c~6Q{>q|{(x;Wt@XNisBV}qQYwT>7Zt8!(D~}$joQ}sQot^{N&Rb2G zJP8O(9rOLFgYRN3OuX%t^hxFK2|skMu5jHR3})HRb@=?A?`Y2)*fABXqjeTEVn^V% zcdFi5?x*&M19OA8<_bM3B0P@+g9lmnJ=CvQJHZBkaI~a04hPCY4eVgpa=V@wS#oJ% zU4yo=Me@5ajY#24=si2@(*7&*%7z5pG$WTT;de}`0>98@pT&`DMJ-;6?E^CEdDpPO zm+0Hl*!gp~y@osz@E^0Sh@yavWuAc=q{SOD3$Ca;%estR2^3Hd34V*6rxko=V-SgP z(l**k1Uvn`%TGjw<)%GzQN#+l)hx0gA{Prp_BP+mi)52>o$_x@w}bYO8XLzNNKJY& z@#A5ms}BRXKN1&uNHv~UvV6i87&B$Ps`rnq5V5Y53fmexGPR=wHLO^_kj1lB{yZNZ z)}uw-oWCT71;mCCSpzNCSa*j=MTD6NkVa>{pEwq);u@78O(rQ-F7&&zZEjaF75J6= zrpbhmQvsxUi>9#T5t=Bz#xwlHy{Yf7nkHTWr^>!<4_V241X4C8pMG8^QG7<;(OCyc zu4%U8`Sk71huWYT|MOp5L*Y`hq_P^uT-YUAiEqaVr4Q^!K_KiS6W;J+yms|P?Se^u zKlhs4xtE_gKTukS{1pP~>t=P-3oFw;5rIkd+x81KnB;L%ivHfy0WD%&| zCf4Rh%(YGG>_yOFmPH=C9d^vpq{vsu`>Fh<-w@Bkv*)#=`0&Y5uXvL8@If?R(EXnZ zx(c)IJp)>yYe!@MF}nTNlT3Y?HT)(-(&+VV=yRwPPkXsw7CU5Tjl9z`)nhZO#&zT< zR|VO-+t^x%Xsw9$F)Z9PR*9!qTa0`?w%{*jniFArbaDc1@?_)_OSR8j937ZrPOVV^ zqG(1R22qBcqw%}w#DlRRFG9lk=6HU&2z3iTKxsJ`LEXO|ZgFi=D&mWpCDvqrl)5HM zdK@5U7*%96dVK$S9&NcVMLt6{a7(UttVRe^U_BUMZ=wyg-*CEGK<^q<7!~)tsR%u_ z|JbGOqP)cR)VV}VcWQg}b~H3AZ{YkB(lbt9_wWee$mG(7v?Xq#mScwMchu}gC1j)7 zJMc8K5Js)_44nUjYu(BA6p*xbCwOzs(Y^AfM%3Mv$6Ah=w^?IQ%_TH=Pphy(s zrEubh!Vh2zsYMvf!%D7+1rs17S1!vLSaTqZ$9Y4`cYaitEdz+;Wyq_@k=cs|5_#)S+?--bHpg*2^t-l6n%KA!H)9go_eQ}|7(xW}d{@}S^%?{t+z4hW}f z=Fc=tATujo957(fC7oEU8!J_5Iul_8N@H$~DDU4FVHtu4mw|;&HT0OukVJWU__ao7 zB$Ur~mqr~rNOt$33(UH!JsT}vbK7n0*-n&S$&cOMQS7x9Vc|1b*Z85bc9E(inQv*Q zFOh~uFC*wmb}a_=dA5q}mEBRu3p&la2g}ov;9V{8^5N*ia&GJDfJC95l4?$0^|9;8 z;L$f|XaA89%y-Wh@h#EX;T;NR=wYYwGJ z3uRHV9F9H6ld$)a&eBqI+F2m)h(w#h*0FJ~UTE`A#kAus|FVi$-X{V)Wzoke`yY7k zXZMnx`*3U-lRJ1c9{n=+P;SFrQu*5K`pXYDMEbuz?s?@-s`0?^kXYaDIL#f90{j|& z$eXEc*?qhUcBRnvuQczOwY3_?t$KgCXS}w`?J8(nW(`L7bq!re7@IegJtp_$BLY7& zd@`9fA3^lz9>NO;@@4eO-iQHS8gFDFmjN$O=eZtvhDnNJ4|U%GVC|2Uxb;r~^7A$$ zHS9FX*@;R<$4)K9F1aAkgt6c5X0vKMoj$Rj^N7^kXL>C4^QHhn`2D7@W+sn>)&;5X z+`^o|t7!I|$Qzh@SxDaPG|aps&Up+pK8}*oMvzWBegQH) ztd;NBYt={0$&u*&i9faD|K}X#|2;baULH}Z-+(jT937^@r}!g3&K#~EnRmVVNtW`Q zNK!Q{~CzDKOJevP=8C#LJ(a|8=`e`TrZvSgHm z^y7~GM^AOHIlR!#|7EADp>{`GM7N_2l=i8`FWM6kf{LDORS-2xOg@M)lS;8TsRYk| zXJ_=Jjpm>QnGE?Tq7OH&^cm2>FV}snP&W@#)=Gg@#+1R zc1qoPV@@-+q4HVHU}@3ANpk=oy~r|D3;T18V&0Ob)rMKj!Z+#!Vks7HhD-k z!i~~y@_|Zo zKnWzAE1^QEudffgF}!nHn)X>x<5z#lSVdYq`>0GW51E1{IESh*nFPsg8>Sv}1BiV+ zcX5N5%GnYJ!w(rU=(06>PJJ>c zbz@#d=nPi|Jp??+O#M)*hwPxg=}u1@!xvw#!J(-%w-{}{ylGAhoJb}K6(~0vRQFN| zdrPJmH2G0A3XQVmFY{))eE0stkY4-j13sY7_n%N5xdx^&DmkYpe=6$!n~v$b+Noc= zo|bs;s~f$leBS7RXy>+RR-)4lLVE?eFe&~ZaD5I`O6jN%$F;le8uJvV+xh0Fijs!VZxUZSr09u+ zK7Vd~1VK>rTeam+>2Yo!k!OEVq0u*O3Obij*vrN5uXqGMmp|xR8JgL*I+SoK#ysCV zaWD(&#K|Aj&G~9xOQZ_7GV!3sVIx{Z^Pp29rC144iK6f4zI>d*qy8hY_1UB*>>DW9 z`|tXxX%T-iOW_WjuSaE|7SzP=D!x`)&fmL7;qK~TVOfux`hK$Vj z2V5NaCZOaom}2_z{tDn7?Fw@-jC3=>a?~tXP>$OeizuZU*bD_XAsj+o)k< zOo#l9Y(%I@Y)YmRpEkp)Pqaf?mm@na9?o#xO2jBnI$(rh8R>Sd=#FnRg=v)MpDa9* z`K@42zEf)mXdtk68(O0TYlu1CGQAyVin+N2Fv$E&C#d zVrWg!2t!ziNk^;LLpU}1H$Z%BzMj8srn?w{U7d1V?^MVN0nPkd*o6Uw^ZgFMlq;4q zo;3Fmx;kA(ptjMtAYk;sVZu%S!z%{ddMC5w2*2kwpGbtTs9M%9=fg_f2A&i}RfBeN zo}ovqY+aTxyc)InQCgqLFwdTUQ`z1T&Zj zLrqw@FArpl7vg68NztJv&&AkIYnK-RY3k|WYp$=(8S8XCcyL-@%?#&zLw$Q|P3?tw+AmStCw7nYK4DsK`#0jEezd!ILbP`2aA#@$0X-_` zv|d|FwdYrI#MoJ0X)NzuLj>eeu=%?Izh=_39&iZ9t@T~dz)_?f3|`R2muJcpm`^vqAx2bx9Czwkc08s*yR6amk zlh3z)xnbf;oxRU5)km%l*_{}XyT^G4WHX(<6iOj(6_v9L*57>Qj z2kb$r$~-TmH)XQ+IoBMS6~R)#Zp?BCz-2!7m(Wi3o=r<98ExCZQEJe)vnAr>{$r0# z_RYwYfTV16{FpD<#Z&@(wcmq*uS zj!L0V83OdbV^`PoqaE*^T?(kpHzZzB$%)|wg^fyiChvzyC*yju5%#)`0?d#ym-QnZ zA&UV1N`tZIUuBe^zmSm{1tt-WM(UK;8sLJy9~S|tF}&^9y7QWX#j5c&q~eMjbA*~o z954D&)$|PV7j=$ko;{^})!H~bN?Oco?U;6)BHpzKj3hsr3#sO?2zv5A@T6OiBa-RW z8z)@F6M)6~MWf=Uwy$lW=8u7HLMmp*%^WS1g>MUDgP;hLKc@DlR5w@U_ubS^5CxX0 zuG&jJ2!Lq1*^=AmU+X}0b$S12r?%p)RGh46d8>_if??7^(1SG-(97iN7?c=9XaL{^J=tW+ktioFYHWUR>?TyLsr z#K6LU^3CLmx_xe9gkrDywnu|x52?9Z`9QtUUgAJI@iO7^cX(;f1H*79GsK>|jq1z_ zsQ$V8TdgNqbWzepZU6V3FseL1U?n}a`fl% z!Xp!JaO8X?gN)QXzyWrQXd|)r<8Gn9WCe<5lk&j#9r9&$&^-wSAFTH%>NeGMxRV3Y z>YsPb9h$`Q`FB&|1RbI-V<7uwqRVvZcYS?zIP$TU#VV)ccI`Ir%LJK$6^2$0WCYv^ z&EN0S8RjT8^vgdWKceM}ay0CKIpaoNA2&kB0@;-{2wNyX}^?II~BXT!ieZ1FW z0O^fDZ-+(2Qu`FaDdJi&_&BOqa%!;p1C;mVRe#fvH%A4twG%nLrYM@3+KA^MboLEp zzmS8i_m|0%v`GD3i23Qn`HB&yUzb11hfVQo8S;7VPeni`pt=I{*YN{LXvJv)ldcHH zhH(d7%54g^#g1MnuKy^ee~Xo|6U^>^a*RrZ(wN~lCDsVRf#i!jB z1(2PnVzi5_Zu;pcfIhX1urLr8?8dU%($FrXR9?zYzFX6vZ{Ir+xr1g~wB?2jjUC^= znaA_1{HqP%)G!GoQb47k;Q#YR=Tdv%kv6UIOWb}>LZPHUNm9Mdg1L@vheC%pe%jqm zGrkj9zhmCFv+V0j+H{|}o4udLdRv?S!Fkn;(~`|!W1AU6z(USgxsc(2NKB=!jWnnM z&fVaa=N%9{fXu%%9rz67VkgYo+iVWt@HyM%pm^ljJ7&Vtshmv5#npD^q?Y?A49!!~ z5z$APrld$u$l|wmXD5_AyHQ-`3z)=$kRLK59zS;XxoJ!STcZ%)_{H4qZMPnecKshn zEs^`f$R2X%2cG0&{1x|E*)ljIz6?d#e^IZtih;7TZUO*FIpWR9bLt5|`e7ni23%%o zCQ)P;hOd;{7xk6+S_h)D!`gLR{iU%p$_O`8ExJEJHTQFPG5M9<*?&0!blePBT`Aj+(mp#~Z(Z%}>-wzSf zs)!7Y`1XqCD~_MFwbvAZnXs)-dcai^T#GQLTO<%=~FwjLu?w{T(Z&|XQBd-l$-Qz)a1U|nl zhhAMBtPYGOB^$o8+)KOR;=30yTHC!lL}s1h$cNp!3e+2nuyY2GPSRkX8L6{6Yi0Tw z-L z5OE}4A8^x@=ioP1E2)gZlSBGs8V(6o6>(mh{lFhhGN~2g^VXjOHc@?u=5{ln+bB0; z_&+-1j?)KSsNHp@fNI*Hj=h>C=vK#|u&w!6?IX>E}&-mc_8W zTog?GHJU$zUItp9QmX+e{;Zw{jzID_SKZK;S)aOpZtxCNUrV>1!@ksI<*{!VeW9BX z)M$LI+>Gc8yKG4}tK@ZIq<8p6Y$(sr6bgxXNcd~`iQal1(Al`)Jql6@SyfYSC1axjoGZx)l!AucLtD$(j9GY|m?JYYg_1G`txU!FE zpN=UJP6YunVB~9O{K~2Hbeu-C1U<2cC3;xdr=QcXE^;0lf7b+K-&ahrJ>|6VD$<`K zpJUMh|JbvO94iS+f!Fz;XH=w@*ja84<|Ag$LwUoJB`-D!KV?$B?6?NoL*Dq4>dEY9 zWgT-yGt8CGXsV-g60Uf+l%GB!!soS0l6mpr`|jxZm}yf!<0nYIxM@5t{t6;5B$vj? z9n*dAv0TrxOecmO6%bE2YUyYr9SFS*Wk%<=Pcte^ozm&oHOJ*t3yGg09}PKRd$ zc4j41VS2kiB(2vyB9}dvmQly&!v#m{iF{pqF)3^uc_|Arf(6M2b0s!$rzkMmAwl4i z!{I$VpXc1rm%`P3(0EYBPAjsC-`v5C17f*Z=uI+sdVufooRje-LqPdc&g*deoN+Pf zZZL~>$u%jcq{@ydsv2QD&#XPR)>k_G)krFQo&3BCm*6l3h7f0|TClgW);IkC-%S%G zx5;9G4M%j`p{`7@>%o}2X*JI6Hl{XWTuW~6fWBKUSKsQ(GYK$St1EZnC0)vImR z^f(xz?+qkzE4Y*vm{qpV_%Tw(Ru>38_`E^O`6HkFgDv}0JLqWn;Y9=6HxF~jspDB} z%S_$jHo(~GzYhd{It%C_>w7w@|1WHM_v{9MOU|6=)pal1Pn@oNwNu0B*U+oExQcfC z(>L(p|IDT>OoHvX%(Jf#17(Kh3nbQ%2OE=Al(aJe2!KJ!VevB7aRrwUNK~a_hl)eq zb4*35B9sd%pwi8q)YEyFms_}JBpS|gT)`s&Q8e=-^;)6|&gWG~og2S(SPgMnaV!Xj zHTgUp19Vvfx;?3lG}fE*D|zt3S-Y}aI;Ms6Gt?_p#13m4ru4+q; z|JaJlC0c62Zj#|&{{vF{?ret1E1C2eDFV9V9@YnOE z?ksna8V%@e{>C!##^Pd0qEp}Ax+&TN(_g!b$Uz}yz`OrUu4cXo!ezEld#VneLh~sM z@xZiUDhB%?WH#f!uR*HUhtAkL_tTIe@EzZ^NZ$a$Dw43L?1Xz*N7PrNDNm*TtT5y6 zCAz6WPu3UzIOb3*o05Cll7iH|KIBzV5v{2+|R2HP89tcxj|&k!;>o#ICE_8hX%kcBj-SOu!!vH%#|& z&t)oI_|PAZD!9Bi^wK1Lw)cGi6`9V$)1t&poEq=&{piZG!#*a-6wAsfl@Ry3Pi17x#RAgHgbONv!eE zi0jSGEVp|Y2UIkqxq(Mu^Kthsta%i9x8p}5{Vn##O(Q)Q;;2R5D{+@P?tls?=&fR> zr$00iCu^I6$S-Kd;FmX{{Eq5NpBjR(B5)pvJ9Dt(S!0#xFb>pvl(iYbo39SvOEp#S z9)3nlSV&(`uG;17Q>ZVt41zRDX#|u%`J%ws@ah(mhyvysi?e;YCH~p6>Jv4L0P4JS zOP;V9ZJq1F`#;Wcd_Q*h#jZWfmBhc7(- zgY9M7)4)>-mS-pl3w~JzB!`8;c;N!!f<+7E0vy%YHIr-_zrFm1hHGjg-Q_(uTx|D& zoT=(uKaA7FAIHp+>&e5Qqo!|AED9nVE)ErHIpm`*=HybV?OnG(YQ4YX;_Yji7>2kR z_T!FN_)%HK>B_@zUek{4pZxClCf_(GK;rNfKdgzNA*MVvnb0*4UYUE|fzKOfsE8hQ zq>rSBqvA*W=E?EYxf9EjPL=0K_Y;^~`z1IZf-AGtsV+B=TtM;bV7te&*cvZiL>di> zq+w~YMn^GVUI+#myKzNBSvREh`D|g*^#Z$MLl;{0Cy0p-kn6iyR;VTxYi#}<>rlXgl zO^`!5?~07GsF;gl{AMYL?%s2BYf8J7T70#~*Sr%)_}#b;7(BQeNvUumo)|uU-|(^q zOUVQ8MvN7FkEF*PnPk3fkJ=9CiKD*iLkm+tNzG=pXq2t3ce-)pb6mE>kkZD;E-{pQ zO~12=r1)_5=M=LO3yy7OwlcCBjxjQqZ@~uK7>lJ=Q&Re`;V=yiEw)c1{bWUQNhD|R z%2$8?O26k?pq327EIuQbsO*lyq`c}=l;ueZhaZ10>NqAF8; zrj~|ED8H0g4fR2Di0_>+{%xuDY2kbXV%O7Pj(so6Ro{-oh__*}^ajjJv$`jlV%zq2 z3{14&8jcqMZkq|W;gU8Fx(Qnm#hG~l(%<^rrMFbNR@v{Z#{tYz32=(xT*gh~GWvRlR91M>I=wr;-Ok~R3M zh3{CkDBkUwn6nu>p>JswY5PVLiF^_dD=_N9c~;L>aRui}4FHR2EkwMp`@;OLAj3nD zUdB``%pGkOF9*--Uz>IbCKEHReYR8{^T`s3Io2>EPH}o(> zb85q~BQ|OS{Q+}{lbrTj>A;DoS?nKlw4)zU-cYwX<-XCv2Fw?!aT4zzjZ z&RNRS6yiTz_HZlXd&M`{&OQlPzCnd{IQY}!_AL-=kjYvJGGF@&Elz?>PjK~|+KMT9 zav5Kp&-%!o7k70Nby(QoavnA%&mqs)ZkBq30<)bTu2~2xm);-VQ}3exK1Y_B>Lt&4~zORp*p6yByFEx;J28L*sMt-C0+WEq$zk z9RRK~ctnjl*~X~-RDrAK9M_Kd`q|e-JI{r+MoZY(bL924P$Uv6gEqQ_ z{`~sdByej3#Xo8)zB}7BC)4?E>zr0x6}&PLb@}c?Tt?+^Sosa@seUgy?2?#g($Hhx zwy+aQaj6f_VXnfC-VwXct?W?6KXL^boY1eq(XlS`H=Me1DkUb1qtTQVQ9DM@VS9D9Q z_Fg4FH@mRVIjUBOUI=UTVPAN9y@a#MX|PrShZMt8dg^b3(a%!7D@F;VC%$nQuNi;k ze_rwSfRr^uwg^Y%Q*xg!XRNMtcxt5>|Anfb%d;(&`2BtG8;qyZ%r;)dS$z zA8z`ep}$uF9Ah$2)QlADZgDadp&XRn&t-SVTek1n?SX*0Nd4nP+T&s7|Ag9Pb4{IbjOF?R#^a z@|+b=O>aQJO>CRD*OlD|tKI-sXX{Au@3mInZh-|W>#~}7cDs5WTdQ&q*6|z?d=sq~ z`u3kZR%b$&H_^frjd#18PHu}g346tf$?x$ajF)MNuV%M+ zU)@>Oi1NFIVRdq$Bzow)J_4_DPR+5o?DF$jn@Mpe$N;hBIB??CU~_cBY2E63g8G@Q zAe(2vP$PP<4n=ou3SRjL46Gi5&fQK3C;@&ao>Glsvi1eDUdI2JXZ2p0!0^A~rG>|e z7>e&y?|kwH>_6H|$_ChMf%^`DAG}ta@O$g6Z&qN9r3aol|Cy`_K7*<;s5-J>5o5n6 zd=!A4FX`}u`+rQ(GK|3~l$U$-A92UO{!La)>#h4fn^pgqf}W}d8{?Od%I^Wv zG`3QANHJ61{jG5>J;{ir{JZ{#w2CFcvE79=;zetJ)yN1Ew(VBf2}}BcTyM1_lisCVht|Rdo(1B znXW`-1FnvnZ#=~VAb*A}NST6d8N%)Quj-nAUO1({$BGDf@bZv+zlFKa_g9C-ex?!% zO>9g|A%IbjuJCCa)C^4KcKSK!P~^_?DXA}Kw5{U%^W|INC}}O0PmjJ9R{9#37e~=Z z4utAr@^}=Gl=LTnGjn*0&11E{q!nsy!MFQvl&D>R|I*bhrSA2L!TgApfbh zDs4K{b5>TTdMcjaX%+sB>`GpX5oWbsU9Wg09%CHvr9zb?zIQ{Qf=S+4b{$Q08B5O+@DACcO>@+Kmx*-8=1H-WY>{^4cJ7|OGh8i zDIQ3H9uCXA7%F3V@PH&dNLiVP|BPBXg2_azJP@fV^OmlsPj*?V?5=u*&+}>=h++qu z-R{$vE^}pq!OA>7D4P9yo{?0nY6TbMh?sFN5Ybw>+Y?HgPx|({>LgO5iVk_U$$HOr zj-K^cUwqgKsHKs>)v6FT!ACejtrEEGd}^TA_DztL_lmg#u=uJtdpqn#(_v5s-Hp2N z(55}9#H_}{q|T3UKe8o~RPjFQypEHS|JF04{Benttd%GclfFV1!Z6OaGVzLgi?Csy z70^<6A`mNsz^iDkIoZDy1W?{A%;v$=ivedDGv~#=Y z2m$Q$pbn;(0iOpGC1=WELrG-_4>6wu3h}LCSepHO)f4O1YI?_5=)9)~zdWK8Y&0Py z8FR?uuiOvw$MFRK-q=14%)Kx`4!SPv|6O}TZqnPwBcRFNplG7d<+Dt(g_s#1(zX;) zDeL5@<33~0#(CIzrMxv{|H+3SiTRG4Hvj7I1=|ZYVm9pwC38yti>{;crkmXU5;DAW z>iml9(G%%wKv?Vzg4QLfQhu5%p*A&pBS4DvhG&-7($8&y9&Hj4PRKJ}xG{U^M}F;U zo&El`;lmdq$n{8K1v1=6?ro82_4@$v#F^~mfC>cB^PKNVncJIUOwl%nuxz+gjvg9o z=C&hZl#((B+W0=?P|U1RqCAG>Q}5<+TF+&A$_q;#uP1`w)5n5SialX+j-i( zPX~I+T3w>)W=$rK0%&X`Ul`gLwj-Xb?Ah)yKQvy%Z@`ZqGC-Sty<1h?SdmwHsWHPr7AJ&gwr`eO?|VYWDa; zwvZr~*~Km1Hye+ZqUGE-SJhwSn-Ii37Qk@uDKZ=-v%>8_*L4ul$GY{pjOk4qTG2 zlDrS59)49isc4YZHV}5w|IHhbdl@g>*VU99TnLHp5Dl;9J)3G4h-qJ6kFnzpf1KW4 z{Qxhy{(L0jTXt9?wU1b_`1IR!YM4_ntBcdz{ae zv1UIxifjBfbzl97tuE!^uJV`4(}n3N4`$P7V{@LvZ=apzv7(Qyblf^VAz@_OGo-*% zwJ!?mK5c~LH5R>B{vvmCM5GA1Ld#-s9;~QZ(RLtHQ`MEmMlPe~2g(Q*3rg}k4QZ;w zTxuak)laN(qt|#Lh@Q=c2cEz5X$l0~*c=gq=|i7*;dlVvhc-cec>jLOm*25wBa2=$*?-#+qs(9ALaEs5AF4QdQJcwNS_R zblT&uck}evh5XJuRow)c^O^zr?f)0$(yc&8UWnhXQEFd>*37fM+{3vC4 z+o$<{@TSoA_gPvxM<52p7rSESb(D|o9TTkW&lJcrqHWZAzk4|P31(#(6e;UK09RM| z>S$?*Jjp7UgGxIaU1T)%*$8=y^<~2-bQ)i_jqh0q8JGRkul)gzsp7rJN(ofMl zU60Qv^ndHJ+`5um8u!^yY@uF43NFHL8mS07FADHTl+=uV{L(PJ?)tF4&XtFiq``g; zvbliVm3tR;cz93F^monQIe3aod%IOa2{Acy)^Q>8)e~@Km4l%NaSeRw3EIRLdg*g? zS%xG*?fj3pbt+&(L^uxTDVHYHfj4_UOi6`fd`f06iv~)gv=Ndx(`i#SLFqJbX zZ$8F$gIY5#=dyfQ$s;%DS7dFtPhS8O)h1VM|E}RlHDm<225m=G>)<+2KC6p7>*Dg- z4L$PBI>kVKwfPWBKD}!*dtIr&)II;Ld-KI#{Gz!G(#%m@@DgjLqG7GGlQUEWRMCN} z%)0%=tAyV>Hh$Y;9RP_dAOedJCZCLC8OpXfaCKK+X(dQKB0q+qui*z}kLTROSC_Lx zczS&)xC67%iApGkzA*6@Mr0VZCvCC6RW0wN8n6v zVwIeb)AjjrM56RC=54%uwJ^#XeRE}^Z?l2J&skEg6W$Ah0%&%-NFA>N8_>_unsa%L z<@BVHP@V>|Sc0jpc#hK%2}n+!qw7Sw`$H_M@Rhl@?^f6Cv!}(MZw-SY!BDyPEjylW za1%N7&Qh?&8LU?Z)+4#Ww8*F5zfAryw>~SfFl?VCiY`CKO zjXuNZeV;u>Y1$mqC!)pagP}dWA(bE`xUc*>Vmo2f(lWdUCv022I#Y!D+Ss0`7(1N5 zxZIv;A2yiv3Q&RA)bO{wCl?84PuKO+^u}QLCrSB^UcE5A0$_2n=C?Veo~gvP&%)o` z_MBwCFMZ|p&M1u|RU=VN!`LrCS?y>2DD8g7xo~9kj@9LX?HSjMI}M=p3LE4uPSmn-rHK|w824_k50%v^CW;y? zIRhIcy@h;nxdzyxN!27*fElC9MdFH5e@l&bU)rKY)mr&*Vja$>AN`g;`zXXfgfbvL zd(^!5$a>~gm6LmWaX*u0d}#&7hd^f0G=H7{tk2h1JX^Jso>}AwWA38OZ32C76SG~Y zugv>WY26A(-Y?c|0AERDi{XN{m!5lblDKHT9G;V6-(KlNoDY4r>nUe--6ao4tL@J$ zrcm<*;RDlKx5EWiny15qLa#|GZ28|}FAf6pl8g_aBX^;fFczjpnga}?tJ_6N%+ z!v90wTgOG!b?xH^!~g`nMMOZt0tE?4X+*I|g`pdyySoHY+MrXqL%IAGq z1^qH!qe;Kp_cEAV3nhTlxO@mGp2A$IT78;_YchxmlZgEOfiguIO=T$rj7ByW))6YIG&KvaE25VbC9z?LC^NH31D+ zD|?B+W(3?8Y*Sv0Me;Ty0A%#2Db4;RAglIog+HnlLmFb+3i0Z3{n9hKblskC+)F=8 zey1w+d7~a)otC6*)T-jt7CA)za3Ar5t;%LkppEJZ9jVi)+~N|p=McM)>noFH_t!|& zLp+VBIk#JLDjYv#@7D=L^Q^&kzn zG4(=;XYb%7Do>##i^P7}kNjC+naJg4MgYcyD&YJz^66u77*To?0E*m^Yr1gq4J*Zk zv)-Z;{lycv&-o4LGy}0KWRZJibAu{5Q9UF*p*V($>y7b=D|y0~T!i8{)kbBO{rk-C z*|&UP49S;HZ*|UEPhTA>oN8XG`0~mPcK;;h;V$~na#<4FM7vPuV7+XKDCa4n!q%}u zKt=Ownm~6Wc z51;otJ?i2>yx3nN;rQXUXC_Yz$V>DergiOd4YNaQ0DwX1DuwKi1d+OPc9$#@jA=mf z*ZlV@Uje_gf>3~I=@J1;iAN5xN0yYW<5SRFvTHX3lksB8qh{-|M}l!~4qw;%TTq5V z-~7ZP+XW2co-p$p?6(NbrocCc+$GKP*n$1b^u4OP?%jH-(@cuSPv;%zs$-l(nq^`y zl3(guBY;xt!Nyg5;0a<;va?jjf{*oRHh=;IoP;)7M;zdzn?Bjk(r+4`xI$XHzohcx z02B7fe(U>RB9A=0R~7Xh5Ha5mE2nec>r%Xy11n0qU5{-w$ro3NZ;DTHt13-9EG7uU z*L`JlU%YBi_th?OUiNv_XW*2XhV==Tbdy{vB|q9Fdh;c6)nLOI=4LYWEX@3@g>)$`>5gw> z#>DcM`ekt-fk^H6h zhg;fa`Oe0I3Oqewv+qh{7=Hc@=rY?KDxSAkR`r#!AzVaO?JdxG%w0NnjtZmv85Xev z4yFDVC{ZO_SVS*0^Mz*TsdD`ds(xfi63nFMoJjn9qs7Dk#~ERx7<}(4do&?BSfy?@ z+Qd~rH4at(<-|MiQF!g%LTCB1ww*UUSoiXLQkPLsOyM#Nk6pu(rQFie<1N1D7n^ut zH->I}rGe)gW%+gcJolvJeM>C+L`#}z2J`dtCny)5B!M7v-7ep?i$aA^7^ zxORRvIpliyDrBiKiu09fz>a)LLtXXy`*YuLP-0nApJy+?ktV6_$RcV9&;dDplP)FM z#!=BX?@9MxSKIhrviM%Hq1UMaPZTDwXE@6!yz~TO=WY$W4|%oW3I%bt;bZ?et-o*R zRf7}^(C|-ji|7OM>iXXJeFX;TC+w;8vgOWk4KfqPS`+>z6aGdMCYt7w2d>+$KZX!7 zJZokeew7940aYvOEVk!p`1P(o4zZgkY@g^6Z*UsUfJP!TS>6sO%mw6a?1g?&XouzY z*zEO{Y>rl#D1M$G`fg_fBLrc(2s*5Y$F9rgOZ5|?s!N0oU+%!p^(s*ccclh!*G<{e zrBQS12j&Yal}XbmTIEMrh*!BcKBDF{kEIcG{9aciSq21Ko{UywDXfH6(o z+HcdN02l4m9RSX)Mcr=v^45f3hVJS0W!)ePqxC8RNF;$5nI;`WYbWxB!YT7)LHMdm z46e6X?U#+lgb9V(9%Q^W$PW{&7MO58|Dw+m;IxwWn;Zk&Rb>RnhU%z6#flQpCU#r< z_WnvEi)Ulq_BfS1boR#9L&z%-SB$EwA@=xQo!_qjY*D@3q7REi0Jt(4l)-Zbof#~I z;+?w{1yz^uZJx4Tw)@$8Tg2w}NiPmi)sot9c$x=S6*<2bR}54Iq}#gnalp9b#EZv; z_uDH){z0%7PDn{axS4(U@P1O^C$lVl-AoNnejJ|*!)MJewJz!iZ5A>HnL^)y+SSDg zkyMGW&muMJNyG^9&)5Az20ae<=}HHDkuQ3p6;N+MKFH=Sx~93ZlD_|7e^AYlgp$<~+mfEJz479v zgbH#@C>P`(UdoRvpqoCJqa>>Iccoy}D8Bxwv~?J{nijJ}i4C5s7|2Iz?T&DxO~=~k zva~W)7EalGa!9hs*QjmKEbsnA=Q=L~!kx<}6-Ns}D6mcflEv#j#MXIic(ty&8SNKJ z(=2~Et+Lae<)2Oz@XH8n9MGiiNKmEXDPEBgnMWFwTz9u=_^MZ@>8q$(v0GDX_#ELe z?%D33UB_Qy^4R?}k()Fqx*1F(LTl%{Drn@FCFwrFB!W9TKnF9JHVefmk-NS zN-$$Tq~r$MFRs+60e3DU~kf&4B;%r#yljKC2bQ_Q41+*zQhG$8gx zv5eduZ^gnVj6d)r6(z!lQ!?eQOAn_d>LzFixds>sEgqJ8qJYPgqE2|i(`bWbv7sXC zmhxAa{oX7BZTc+>_Kqk>+hz2X3I#k`2vIiQ=fKhq+;HZXSuCaAg#Z&QFu}~)q2&(0 z?@2z5Udh^J35->2#+e*0#Z%W0ls$Il4KyjO2UbRh#i35-Rj_!Uy}{z;uuJ?GC5}Vw zy{=G07vma~9LhsOFTwQWU_~sdWfhjPlqLgdC8L&&B<=|ZdZkbzz9v9drW>DqkT%6LkFtE{9!0jUDU+_};?Ar}R|N0&-6f1Q2f=|Lc+ zYl9sBT-7rVezaTOPwiFHERM^?R~3Ft(Xx78t`;Fy3mCkixGaM@cN#7qCp*!dXlA{r zaBj;oDv!L{22qAy4K}`h<+6##y*UT&6P}f&D^J5NkiP~N&g%qSvjLF9_Ds%k&AX`Y zeFlEwX6iRZa#n6X6`Uo>R>#3LnPGPBUVgLs?u?dlp>L&HF?SW{;=<=_stP$ z?kk4Go2L`*-&!2#FTbv~WoA?GBTFIE^wlmF3xoRl6~jh&OouNHCG>|`YO!@yG_btk zPMbF?+gY$ClEm?M9tF`ZW*shX`1w5u87=@+uNV%qXp77{&6X$mJw&}lwAo6OXeXHl z!mMCx4Tx6{`w;b$vMqm~S2yl@Vav zLjeA?#2d|hr`i+wnAY4PS7nTD=#s_FrTqQR3nQ5y@>wrixE3r+3~ajWAUKm$2+}V? z)y=Rw^4yZ6=<>H@ZYB%kt~(%-6-^wwiSd&2H3SVt^c{H@adFW~TrNECGwI`dPw5$Z zfwBNO>e=BnTMag}9so@GaMH?K`8n|@Yo5PSi81Vz)PdZx7K%k_PW7{K!Z2LghJ4I> zvtXIlSeHhvN}ts1J_)@- zokc5puHsRY8YA<}9E&su?hHRJnMdy4lX_F0>^#-{jw4XF(^IJv%6yEanNQUPwz{ zewuX47^aTV?u<{PQ^TFFYq$n#)WxfD1%(&5P2934ANZX+9f1kE1bZjj0it82cUR&@ zJjO-!>J+^DOF=v{&7Ktp1{cN^IYdb)R4d)> zS=(W=ueg95SAre7Os+M%DM??gO_{e4_g(Y00*2KzvSrXRD~m15e*$pRl7=ZyH;?w0 z7Yfae@r^n-c3E+%b9bWEQX2>T-vP5JX2dz$qCFR@zqCcT3CO1taxr58fX%KF)tyRq zu$fFcP7F@gRchcc96Y*5dVF2W&ylzwu*SULN9#{Hf=)lT8l_{w(fwc|i&6l?2H4?fW-r!4AVX3Mu;II;VF8XD$c9OxF(@-P% z-bIbxBtBu=)leEC`#W8?U(^UCyKcB=T+lA~E|2&9;}~ky%Gsks^B&s$!RZet54|xz zalOj)a2;ioU#6AI9M6F;!$q=Zu~js=<1cng&nXLF6T)Q-;Du%S)tIVLcwePu&_bX3 z%s2a5F`Z`vBL!B;HT?vH%`Qp<8V}5=k_8*;7`G0on=v1FupZ) zj^%z_1b39bBv;3m$ld^>e;|yl>Mza@p#s6qrSHYqxG~-|`}~cC{=$X6tSHIWa28#c z&83Zq=j2}#)TjsS76%wj_hZMfAHv{|A$DdsEjAdu{#Oc6RTJr(d;B=;aU_**`o%MD zSe1y55b@Cs0d$Q8r-2()Nf6ta6ov8d*Cb|IhqdnIDoir*(I1B&Q2rtthd#x5tle)X zN&%hdH#y>e{m;u5XZd#|Qo2eO|AL;wf{P?YEd{>AEU!{Wc7y58M>wX?6ZMYYW8A~_<@7jh%X)mzzJGsI zF9p0uVDHSx@jpC^8@1D{x4>_DQ@1#n>q>U(3&+hgpdf;{X4|^lSCZeoL;sD&^lz^U zxfOuXj-LD1o$#K64oQPJR~QK#7Umxs-34v~R+OD|iZLoYpaV9K;*d|x8| z#0x^0a&+N;)jPP)(>vg{N8Dml#?cFU;p*)&NHm@} z{<9fiiBI)eb5I^VDtZn2u8DUfIls}Rf0fkpRA6`ybmO9K{`060t_byc71Ok1D_CFs z)z2d$q2-?`6=etGKidR*Dg8f7_=o>QUx01#RI2PW~6n%7(g9VC2@9k02P^14x6jC0H_tr7?tSNN3r0TW2??_Ba zO0pgszx>zHZ~XBqLr>s-+*4fZ%+afg(t|}i_2NVAF)AE{(qlnqadwdAb^W(x)O{0N zQ8%qV-r}C-$IX~|%VqYXF@}ByEBDdO@z{ksLl6L-)KY#r`&+_qfTf$3!8;P;KOU23 zNWiatD(q;x@Xw=SxUF%9g-7l<9-CJvI9V@u|A0^bBi;0uaq~2l#ld(avVYzgnP9vr z3?sj_w{;1)pjP90miE{YKfygJFV}Vc=*jOixGmbufA`t(zncsm&J4Y@%P^Nql9og1zVNjOE=5!wN(e=T_h2Y{%zPC$@$U2_gl)9ahl4cW}E8wXXkNS zBQEmX???XlSw39B+hCq%{LcLGt?RzG;5O^e1$Lez!Jx-&-yW|f=0E=4 z(G5}7i(nTKQv_Z8t>|y#0F9@921k$l+j}0}5M4dvBMB7%=dW^SAzQvy&1t4RMiIE$ z{Q#{jF~Ts2=LN_wwS3^ShAk_BO24tQh2NT*7J#2%2F-kwE zjd78VE@6*YScbKFRV>cqV7p`V!z_AvuuxZ+rTlL%fu0?_*NLeoY)3=*^Vp;*&g?+r zCn+wtwqZ3F&Az=o9ogLvfF?u z^1(r$1#YYE0F^Rx_4lPC{}@>3aTE9H3ElA%*FkY+7}5g8t2f$u9@r^|F==EMj0dn4 zJGWEKw0{^Ns4!mKJRFCTOqd}quV5l$6gCQUTERZ=N>aH7^gCXWL)w6n3C{N~LWRBi48k7cLUGNKNd zt!}UGcnVrBt(D*Skr(!4%Unq*veI@XrO9Drg7*9RfW`n=09#F$cz{(YKWMwuQR2>0?V2l;c4+oB`DDFi5_@U#ED&**f*A?dTAMxrz*wthy5@q+isH zaw-0}4V*;624c4utIm3!{F;coQr18^p(|l=;D-XgdUpE|s)5a}5F9^z0X@{vFHZ z9#a>$Q3qfBwnrV~2=)M-p0M7KLh(U~z}antZu-{_r~kXLM>nU{k(&LJEq3OvSK?Vn!|5A2 zmGBau!ELj?5^en-eRY!McT$th0cnCp2V7AmV4tf%>Dd^vO1jQ-1kQj|Q5PO{9Mv!D8}Y zZ@*y`>^aVz_X;ID(+X+TEavriGVTfl7@g35)wWsZA_Xz0HgXyoAf)0sU`Q5~kKN45 zKih27=5ry#6Z#KcpA9E@G~B3}0q2hDEv`YW^aB7p4&zVK>FejWC`R^1Vt&hQ=2?xP zlfUB3{oUM8G9*@h)1^^NAgm<+B$FByWg*@ST8d{TWELx~yqAbY*$D5+770f#mnDe# z5@j}DKlkGxXi#_P=ZrKx2P0UFlo=Y$I`lcoxpl(tJ{ zUW-+ChIb~`98CAX*Jo8NhI&keK>e-8$AO)o`g=E5TCq>li=I-u?C^!v`V$(u1u!y{ z$IncKgEc>!!{JK1-f}BlEY)BP4^(crrh|23~y zEYIuU-v?R=mi4hIkTw$R@U}Z{vl^by3ocBdDr&YtR?1H{0M`Md>Mx;w_h&&0!ONA*b$% zb()Bpis|N5XS<#3r((hJ2vUT7Y4;f0kMJQm)E2yCz__y>ucLzGjI^uvdk{>H*;-%9 z2U;=HCjE3Ab(Q^c_xCQi38)WmK%KJI*0BsuVpz7m6iP~UADy^eJK8!(+tt<85&rd{ zX_AXw#Fgd@RH?W13*QUXz$tYb&_IF2(Y{R@1h>s>Ov|Zd4k~sG2?S~} zJwL?u$Y@Mis;|$Fs*;#zq16sbb$mgKl5aI61s1FA=8UGyyEN=|Zs)4nSIP@@<&zw( zP+ipe?g?%O6;;YD?{D^{W2Y*so$XNZb!MJ!WrzC*yL9W5fPJ|81l__t(5rCB7;jlB zwz=G>Anv-jT;^usqQ1+oXX{qYkHW{D=kzzgVfuRdGpEt9JL3MY9bvaV+C4B9v(_Z( zw!2)mq7|EaelW?2v&6iwRd|!%+8F9I32jl!K^EMPS3P-}Uu%{U+Oyeru3?`S2Y=f% zQqRoXn#102R}2r21F?wfUGHG%xVL9^VyR+3Kew0Hsa1X-Tf&tgsI%GapUc+HzF45+}(wh^M&i+a-v2xmkg_RG+!u4|rSa>zwfNvMv(a`a7wz z3FymZ2Mu4>cY=!w}G4#%Q=$@k4Il+)!Qq2|Q65 znvP$pyZbtDX@rcce`8R8+^^HZUWp{oaB9JqtWqA~$pILwsO`J?L+)7r=M^zNn?NS%RF$jed zYQ>I)m)y6*4(_TB3S*awvQ#!WP*J(G*s1PRjpd@L22SWQCFQ*7ZEBaFdeN^h%y}wH zlRzpLsW+EK=I=Kffa3pDLi&MA_I2@y!$*%Fn>2i-&?_S(owh=lk@Nw}K3$@!Wc48? zs5b|eIKUWclf;JG6ka2@!4f#+Q70dFdg2juGo8NxXmQWFlEhy!e;Jwr-Ff*f$33MP zUe7bZvNE1ue{@Swa70+)8KQuncts@WLtC3yr#kkQ6zUS#w#0;Jos>56syZro_e%z(`kLAHJ4CMYo*;+X=63Y- zNUH;Izjz+UJA0)|6ZN~3-M=GH|Lj^z)?fPNJYp(DBn<@6`7wt(F&12y_OkaS1u#56 z5o`{Ve8zb3HZUZDsP?OYar(iHF`HKJ5wx1x@}b0W4eOpR3p!^Di5RC`yLK%Wb-;9W zb{a~gv3(U|{vu&4L|{s@jP(V&Jv!ChZTB7w54$v)4g6#yP+Fk_BYJQK6c$TfB>T?S z^{bgC&=tTh7Z?b7{@XAAqkb_W$5~CFx+mB-8pfUD49!!Z`J3}jl)*X{sk*;oyVQ9< zSEbZa#N~@Ab(LPr1#HRU*HgsVni}diB|i4%saN4_<-EsHn*y?U^}srM9z?|*Yn7*7 zCf)ctL{?2r?Y&i5OT+PV%t5!hfrs5cH@cVc0tt& zzk8qnx0_*Ua}YT7D-;W~?w6Q$iD5@Zhew;@r<))x;1lvYETk|5p;w~=NW7(EHnU96 zuyY2l1J6+jzd|_bF7M7SAmTd?6tWp`zN>QFxg|p^JYn30~CMxL->A{}fHY>2?(_UNMhM6MrRmYZ8YSFy1?;)Gf6s6uZqH;+}< zNl}+nuxYzY+LW*W1w{tss#k?q)xm`|6M6MJY&B2sOb0&-T3>xI8fUJUv!xCSTv{qB zNw$~amk4KWUo!ip_`OwuM`D@JR`ffj@W=B&4gWq3RQ#bh45A)&uUe_A3u5I$jO+-w z?=SPV$8$ClAWOGgmTDc`YMd9e#XL(B_8C?;Cj;1S|AdQ-!a1i>I=BbsGOxah%TvtT zdyw25*dqJweigTMb1+Rc6Wwr!*+wI1>DyVojp^_yKVOEX6^jLy8Wk%xSLJ2W4pVml{pP!OWQ$KD%X5!M2T@<)<=z&&Z5_4V_A=- z2D@nOV@kbSObVKxlSK>LSQr|SYT^$h6 zo~gSQlGzujHqr+3<>acC866(%=jo&N;*jgQuS|Fb?Le}Rz+vj_Z*E8af^J36;NJI(xIydD zYaJb5|7!i5e-HG)1M8tzF5MvUO0FzVU9Zfvv^l=UWn&McTkO^xJRX1VA0eZE4oc8? z5FPiGo}z}h*4jaKq&v!&Sk;uwR;pw`qIFMdghKe} zZW1+h7>-XVz6VCT{oo9d7ie~xC4+9ZbJ|$Yz$h2#=Qhd2W&m_Fe^>4AS3KW_J2{=~ zqJGCX{(N#OctYdK#2wa!qBzxsT5Fb1enet$$&Zw#n=!#H&7yW&0SNn#Z=AYwe~&l? zG{w~#Zg>1Il4FB#dUh)7u6`Z9wzhUFNdH+vgR%#=goVc}1kC@2wR!DQf=p9=TE!m}K{`ghalKTgs#saGN~L`qq$VYhgt zjbyA+I0n*gjQLs~nrTd5AC2*if7y>vQNg@++qK9T%%sZf$S= zqaHoF;bls8rV<*@!G_E2vmp**KW{dc5@{he51$S^M$iPN?Pyj`zxQZSz;mrLES#oZ z{Tq7w0TxQ1lAG@M9sU_cKZoy$5kBBky}#|)PgGpFyJPECpu6s6ThlCYo48s%$FY^< z@Az-%O&~c%K2afmoRQx*hFHNQA|gET^d17?eYB2$$ck5AAJcsuELtcn&WV3M^RG3uLr&8@g}4jtQIxaGB1r~l`^85 z3wdqs5d|!F)op3+gf1j8&u2{&GbO9e#du^u63qs(A`bT5>E2T$_x8iPc%;MI`{u^x zk9y^2WEe8ju9alj$(TL;X8WQiH=6`cG=iWGIIdnxxY%&bfh*0w`*;82>HYfeI}>hz z;hVrM<-n`Q2Sd}x_v8f{xVV&q8B$7Fb_C{OxN%@_w02L4!;hdYcWiA|H2IZ z<5vI0L^|bs7pNu`u5Sk%jL_vgiPzEtB_u!Q6Zl@OPche}+?j;m8ZlCA=j5;qU!#nxhx{giqkr zCwFz%eq~X{%tW-RUGsIaTd}fI@gHXU7U?vYto1xozR(Aw=fTjionjOU58S`Td0OD5 z053uc&j!9xPN0Qx`#PjW@hlwsiyjtZ8v{I4OVm3wKPM#GbN~Ewx$y zWFn0Z-wW;tpESIDD3Vc7%n8o+=?4Q`w!|8&h_(ukjqeG&1+BodZ-4qwz-q;|ZD*f+ zoNVi_)qcs8t<@sNFT-fdWt}W{v(re|wBw4G*P_3-8=-xaRv*|V*c|I1EyiNc~t(uk2XQR2`!EM`8-OW>}&J1VfoJ^JO z2w^X!*V7-b5+A7MTiUtJI4(A(FJS@WQG*1V;$o`r*CfFmBUzYk- zB84Zy8B0+nmF4)Lq2{HkR5?71imNP`^@D~X%greND5RtA3@5pGE+^9PMwE;b4R2J% zS?*cIkL#6j)7Lu5p#b~HB-P5^CqHRibfwUjhKrdVt?&q3GHUd1$m;JlCpQhD+4&^? zSiJdRBu_%5d)uXYi{j2Qv?Ifuf0krfZDpR@zK`OFh{G-G-ZN%fO?Sj5Ck{IN`BVzC zd=_kt=A1vS3Ru^=JKAR@CA(s8lFEH4Jz*z>ea$qn{hAWpN~n1Yp0eg%3gsof#|mcc z2&vmx)s#PQLCN$jD0+0=P4G<0_C;CXd&X16;ymOb9DQSVX`ADiLlkK1F#M|&(4KR7 z@6h$Q{%(TyS(h|8Z8#5!R7Riyg^m|tgB{i}KBdO#5Z=YWHK$Sn3U5elS;+RK;N4Sn z*u+*b$UB(mSev6?WCjy=l*87R|?`q@@|h30=CJzS3m$^8y)BHP=M^qQQth8Dtu2S@Lzdk5%d{39ULkY;nbS z2IW9!q+C~YwVsUOiPFuxPYhKZxHdV$Amrxd!D#ig?xch~wK9AfD6rfh!+de5v(K#o zO(T$E-RLAVdsay5mD* zSU~*nEG_3)d>(~@A?n)gYVEipyav8yZgkja-l>)Y1}O3l$vJT5d)>il;?xn> zv&U;<9vn9GC?-xV-#A{&tw(GAC0VDnw{@E5@C&jxCK%g>A_u7|Rf#AwQ=#E9u4TWN z&2O=}&r`qkq@I3sv)E%rE;EL?H>?R7XCmvU;=CKn>-32bp&r+XdQKKhZTUdw37lY) zCo1$)`)rL%UBzKCA84_{KE)Dsc@Sab?KM#H)Nz2h*Z|*ds(nzSAVekl*{igKowr8c zY8VOz5N$2?1|erpLdorec^tY$G*O92ijXJVX6&oQ#mjE>fa3NiIMWQcc^Ju(a*m99>VAmO5?A+lO4o(wFUx@KcaAiG+4nY;~A zD0_%qlH4zv2^}K7C!HRr<7#li^Dq(`4|xktrVYC1QxjM|H!~OAjQ-jp`NQaJL2;9e zoj13$W-rpJeL}0Qe;6_w6fnHZ_c$QIS>2B``kYT#?@gijz7iHPCh|OvFv7CPR-caN z6ZUN+i zc~U3)1%0sK-q6=2^pn?(kt9}^$8zHpuEoR{{4$~od&YAY~Nsb ztELdU8o3{vyje`0D%Ug2Ymce@7hTSk?kk3291e$6{ZCCOEHG!Foo#7HDfK$b_dV`X z=ze{ZNuT>ZqnsKJe2A@R7GLyY2FWaXX6dgq;)FewGJ%O_9(eUM!yH-J3U0aw?COt| zDAkqb#b)@(Q-fpHp6cs94+V0<4w%M5**#JE5)M)0&f;KsITwK|*uP z8jXOCnDyZ^Mk)H$kJ|yjBq-wshEY0r5`uyBZAj4Fle zO%Z(LlW@_=#ijYQpISPDE2aTO1}mkr;R2B1*pMF6x#6qMGz`d+M4fJbU!z>8d`N!F zM9T_p=STqM_URQd=qpa%c%1MyjY!vqEK8C@3!Mh0EHE|??$Ys09b#{gU)sI#Nhbk& z_PxeULTG0{_z=?SS|hd#7!7uIwr~?Rfpr%~S;_NEWq@*zTvbE^t}h&C{&$L71G7Qk%M;(d# zBb-pA%4aku1ZYiOtWFkreatISrwq)|s z+l{u2H^$#fP|cl z%b2x2@wohH=(>Ebse0^rXvqlQ^WD=2F5-(Bts`rdt)K&=E5hf51k(8xYnDq5(*Rq< zy~MAY5>knl8404F9GLMvg=y7rkjBtWV9QiZZ?hh6%aq`MB7;Cvoc1Wm54k)8&8CkL zXa$kZG%2;}kBn`m_ZNrUON}hbU>kg!tRP8(tgT0?n~p9r*JRm-tY1|tYuJuAJ>IL* zjJWMm#jL&r+1D5yrnRB#?&!B-)9(71FD){dc`k?df% zDBCtT)6rqh%C48-!r_*fu`b!$**U}NM~u!lN7fFaOz=ImVKB_1B5dgFVZJujXnFD$ z`t4SQwFO@60;Cmr?X`O@f-1V>Qk2g>!u&qV~LK4^m=|k-z~|aV*YjC{o95V?I*_RyFpeO3-6b2RZ$1U zuq-Wa_mxJ1gQghIM7I&fyQ^ik6qMx_`x;7Q zf%8-+>4{kNT%JEc&9E*gsVU*{ku=8s@b1;>YY4c)n2iNr?BE!uy-=Q3z1cU8NHH(chq^TD1DIB!PYZ-tjp8(hc)3+sRnQd-^eXC+s@ zbK{BnF20{2w#y~yS&mH37pT3~h_-r|F&!5qpJ5ppyvHT;9HGTD7c>hpE-Jyk@P7>YTTlJ&xbq4lnJkt<32y? z322g8UGT*RGzEG+Ps^iS)=VvN5+l*PDPhxwjeok=^jS(jTa!#I=l#9-`)M4Sj5Zqd z`4{)o*K-KZFz|#KK%KA8QYdnHRr_@D-ESN#X?Hm-MGuThQ}Krb6O`bXd0=eLd^%b; zkaB92_X#TDV?XQrm8Ez~1^H&y4)n?+ZGuxd zOSV$C{rPOgoB}?|&D+alNdKVfNDez!(%Bz$cb*8!(i7^7HU-q|b!takSZT7%>B+qmboWMMk@B4!kCvaBq zqm_7U@x4Y*uD4o4+!_gxMlckGQ-p@iV&Su1BP>lT{%L zyV1^*d4a#IgRFw?Ba2%%NHArCIvFbqqn#F51B+-#%R~;Z(9hR@h@JkMx%=_tAX(wn+O3_GdRCT=A&!WvWORZ6qOs%01T!|VVF(sSs;Y|y9 zuFs6T`JzWcC>|llnMaZ!k-!o`sz$Fa+vbCoEct?Hl|aHiwi#5HLZ$g%BZ=N5OND(Y zTNaS^qL(&MNhLPo`ZWP%vLia1@zA zKg>uP>L{~!BQste6;oAka&O!t8L-HvYOKosjN-i{J<#o-m{E^mSW-0iRVbZH&s`bF zT1YCTv9-hQj7@c46AyMl1e(OSsKu-A#FIhmvKwkyB|O4u{cx9Aop=v zpgx8^6SUZCbW}jM>23!|4U$eupsyb&R4J;*e4Om9Yc6%63QW(}Ak$Y0dFo zC)E6Y(h5o1KJVl&8&ov>Oe{0x7{Bdc52!`tfBp4oZyWPNBi%Ok?qNHqK#&50vbL+^ z_lFj9?qxucUXSubPGB0kKi9Zjz0uu_$t%>0lypSw0 zIazIC9d^|#PFq_={uXclySC0^CraG>y~DqK62i>jN9=i%fGO$wNkiq|CUw}w2fjU%RIz&bVf@(16)n3Su!r>xz8a7;#En2CsvSnM1 z3#*aW+s@x~Yf(5qK{kQ=@_y;G!dKso0J@EV|uz2;%oX4omvO4viY89)PMJ?>==!D3?wAq=0jzV3g zmrR!nX$mB6n$?-DTI6TmC`r<~-{4^cQa*5kpNZdc5(*$^P77eIyhV>3tMjM>*&rvn z6|LidFDm_d_diX>uc;FC7L`2(DXSexF#X4q?}?$|1&@h|3A|5lgM#d`pi?PDdi-F5 z|F#GIv#@(T1d_gY`?qy{pCMEYDo`mg{)~W5Pu{bc4dgK$JpU%|{qieF>ob?&|E3lG z-)mQJUwHLjzR-DN0WWTTXJhfiaDs&a0puoLemq^S8jw$&T`YgI)~0cNHY(f+qyDqd z;O>UvqDGlINxySnLtQ|GayGt1=f7wN{|Fb%JmSvb6y%j#KntB_C3^J_3B=VSnL8frx9_#*5{Uzu5IteE2O)Dm9DUk$apewEqFVsC!GcZx;*We zv>q{&p8y2od%}N}YltJve5rd>hRoYVTO<<`Us_k`0u0l6K&|VK&~#57{J>Zf@1*gO z3HFRdwYZZe$Q)a}9BVOLtxV^>^)CEy$K<_1Jg<5AfwRz-)?;<~&nYM~vWJ3cpr6A0 zqD5`jU7HpDynIEO<>6B9DSx}sXPXX6wXUtY4ZfghQzam1FZQwKB1^QtNbARf+>&Q~ zWsMj=6J)JhG{0Fi*bi|Qnyy{qR2+IBHKmz(rT2FJnxn?YTN-M_wOe9zZh`}t(%q5Z zeXrBQ*~M#Ep<0k3;>Ly51;kVY_8kbrnUxxjNdm@`-HOM?hT@Lv7YYrta^n04vq!Z6 z{ubE(Q|_*4=PBqqu(7;O#P`nhWi!T=G{=4a{v^oRJx~#XZI zcnR;#CEt)TP3$a~PM7#V&O`VNu4(!Y7%XXvV8?Ya(0{H>0VN4YX9_%i` z`tYc!+Sz|{;SGQ>Fk=>f6EKxS{OA-KUzb%H?9M1^8nuK-kYmwxSq4l? zqob8!yF>qQ!7B2XTW&_EB^}5JegecHJ}fBbn6jPVx*$IUnqC*EM0%>=Xvc8Z6OJ8H zn5iae^UlU|BGaUeEGorHAcZ7FE{%T-)VD^HTkkF`TCC5;Sn&6q!Lg@Doqw?S^Qw+9 zI1KXf0FpMUF!#n*w**_&3D5ccyyc>&Qv&jtI;nbfZlE)A7@ML7D9vC~TVpk)NhM;H zBmgO)D;K%yea`K|U zvM*yosDw8AuCmOSA&hM>Axl|C7{f4zWF3rk24l>9xUTPY-Ouyf_x0`f{L$;xt7&G= zInLw!9G~UACNm(f#1W} zs<($;fH)v=(L###DhB3RZr@_nstRZCv?B|BB)3OIMk<>xsIuDR)|oVvuCVa467vy~ zW)QuvCNOq)rH+SMIm4xMCOvTO@y^|@C#wLRuR>}!X*SaJ^(?7s_W-^lXi3_>b-?ey zrl)B6U{Fbw&+O0b+soZ4SwN&W&C}eRh=t137+v4N_m({F1K>bHst-P9Yjf4LZK7Gh ze?!!>`fSF8b0t&aBB?P>y+^+8NXJu=Xf zUpNUgY43DJ+AEuLdA!Z9FMl$onQNJU_tWzG-IH}_M%CWHYZI4>xe+-9&8Rcj@-UOKO zUy~D$azHS_Wl4Q=E(gxqRw{uC zjOG|&npKKWf;IYT*bb!-O(yHGd)vj4cJf^2363u(-v31s-L-|`xms1E{d=Fb`9HQ0 z$4nnrZ#>yo*--QmrxR|Io`NquAmggw-t&Cq<@4wI4wq15h@QTEcN^2yk8%G#!c9n)r@eBwTGWo5S8 z+-JZ78}04{Zb{TI$F_8@P`9#mif4ny3;kTOR358zEg4RRhyuy)MpFYAM{ z@Izkx1CSvbPK81=$#zuYLkP1p2@p3x7MbzK%4u&r#s-)+sC$8pUi<$gB0feYfb?1 z`D1YmcPgo(=JCQ!!Kt+$A5vYn#AknP?{#TZ5{3lL{IIH;{w|dUNkKhHusDhR6OI|U z;tTP^rk&8hV!fR!imw;7JV<*tcE@jbWsVUAt>7l@HXq%<>w=7wTV)lQcF8 zHYC%4x-SV6n9y5bN)-?)rB%iNY(BQ!s?2;3oW3@J*65%C?5`q}Qx$nxD^f029owwSU^ZaKBTlgWQAjE-F0dg4UI z914M$l%ibfl}CtL^U@Yt0I_=ANrl(j0TaGj{m-o2MsT(vDJqvkxtNOxl-Qrv6f>u!7Hv7MxH!!gac)UsZe)CGEh`s9`Q z)vJ)sZDEF6s}S-UNH!e0pw)ikw}sqSE)cOND{szh=AGsdx^e?h$gH$nrKWfeUu@|g zC#n{4dkW$h`m5Kc!GeVh0`i>YLqOkVJwV$34dYtlI1`a&$x=?xEb(R zYkso&{LL22mRRlr@o0HnS8UFoJDxaSzsIa-6%A&G3B01RQChk`Zu-UlfUc)Mj z5m$R-abQCApE=`^eIK__nqK#l4*u7QY%94QJ`SEBb!_8o;)DkB#=_4IuksC6c@B6kLv`4u{U~_544bKYDdK*ZjW!d&Ja0f{PsTXQ+Uby?fNH z%kY1T{OsGwy zH5K1-W2VpSAh9)GHi0#9yX}v-LVYXgTP%JZ2ejk!Iz z{P<4ek=;QD6|%ONu6Wv_Pd9LfYWkrH{M z*rn1cO_iMgexkn+x8#h@M}fR@1ii_a@oc!el0GYSoPwbZ9C=uRO(q!{=6ht>)h3m$ zXDoGY6cPSdNCe(0eznfHWyICOARU^fSoujQ=QG1UEPUZje4Gnv819F6G98>Y}s9v3ohT z|L&@V22kzj8GRE81*vXoj$ux1HV_}5vnW)=%Pm?CgrIteIJlZU_9vWIq_gGChf?o> zG9#FB<*hBni^(^~jXvJ~11MLR0rhpCHnWTFXk9)ZFRPL)bz$CR-#*FEhIE)Quw7je z9$XHJgk&80fd-$K8PDB~!qW zO8Y{x)H#3{tvSD>0|RGUx=yO6c}S6a#t_1Ph0w8*jB$Q+J%~x4)#~b{M6)ddQ9F1< zhOdyyVA#9nEZGkfjCc_6G4kFzY$>WHD{8`%NZ@yHpmea-7Ax;g$6YD}?ApUB-}Bol z9)62WzT%Al051v}HCM@Wn=t=yOO57|KVz}FvFozHj>tsUXInLg1VrIKxm+%^{v?Mw z?(E>7JfmGtw$hH;FWSEccHZU(DOn~DiAQAqqg-Png`GK7STpWhhXuUI7~Z(5&`a=SNbVQ-}Thk1)wZgP3uLK4`nw8 ztUO6?PrIx~t7fKqy0s4s`WAX_cK!NhR=pZHG02Ea8<4x6VN5_IfbpVWr1M`J9{2>S zZ|?nVsTk6^Z!7)Wdc0;TC%m%yH!lM%1$^vbB-9RTg&(D}H;Mhm#G$AcFMjMhaC&L) z7{;al8lTVPaCPyYW!nAF>?>td%s?jzGQtBK#Y#V$bL*uphk{dU#9}~P{&rtU^YN<6 ztJ@}qc9gizx1Q=Nb0)g^rg*0LffgVxIIQWF@Pvy=YFA*$DteYuvQA0mQ|khMjH-9v zIOY3Z#?lNQD>P+9FPZZxfNy;Mj;wT*d(h{(#i;azZ&l-NKaNcd%Bdd`6-DK?%i}f+ zk`rz07;fZLU%JLk$JhA~hXJN?9%NE4Jn+xGU$+H6?=wkU`#nuy_ZDrw)O?A)MKZn^ zH*V1!SYkKDpqNazC3Pd%>v>VLu%1EX@r8l9RxIbZ^wInTL)%>F=HP2sHF zo}p`YT9m+cW6Tx@cByU0E>|c{0LPvKE9A3xtM@{2oT@DcCGE{yx03DG1{oF-_wTQj zZV)M@9i@*&NDWp!JM71YlZ%GQGQ?U-0s`C)SMrJyfDI7UQK6X*vo zF?EPK%vrQ$RU+c0Z-v{pDz@FYfbaBs1QdnnNK;m<(;gV6q0BEWPuY9T^qtSG;o*vr z=ctd;jQ2vvCNpU`wbp05*!mk&-Njyye6Pbgqcsx<=2HlLFGn7d2Xg}an@^XLa>&s^~=*QRAH%9z>nYa z)z_7)P9t!oM`wkqOwrX@Q6pxenB9Pb8O|+WQNFQRmi2Aq_${aI@pdabGWqqeK4>2d z`JrvczN-NXrR{}?s9Ksu@YZEq;a$#n-3roEOU58#X93mEZ%&K1q95gILE?M z{Z@VQXWb+xROFV=#L2~NHw@HW=R)^XUtLx z6;HJ=8s45fgHD5ia`F50KyLZ>_%owM{-p#l#lL>!E*}s#>uT%U{s(dMFT(emsDsjo zmpRACQ*!oRS3@}Ml>7bqUj~$MTRQP#F(}k8lj)y#mDXr?a+3$^Cc{XpMC)LwojEyp zeFxiZi3!mB?4qRxFQv^=(2UBJhO<$uQ(qF28)~g9pPV%0nZG8g96V^MEW9~jS9UBW zHdaqZu=Fo6vj1Na2(Q7u9j?0Y=s){**M0Cak5;d0|CZ)(O%rsAZcAT&_a6nq5PdL{ zJH(A_6Zu^o0^xW8Xlq=5=VS;^P;@?t0a%mNl7p}Q z>Pr5%623(nENN1{)_=%#U=}aGHH+WjrTRaZ#fO2faZ#Um_s>P!ZK?ffTdx0p7V&>x z;;!f5)1IE|`cpRLUl;k$VZ`Xxx~`sl@bsTA{{JrDzrJ7HZ3~}mZW8nOpHbB}@PoB? zL=61>VgLT#|8p;Z^Lxi{;|w^z!3`3kww?XY<~#CiD>Qu`Gp0bflZVnYN9UU$h8Hw7&} z0*NRpI0!qGL5fGLg)#54RCzqp)d9)&d*US(HTIg4=lUyNQPq!RECbLCRgZ*8-z&QV>W*sRLoP|k5m!y}_ibq)>c*B1v!HTLBo`}pHX z%@?ohkaOo^mbX0i{uy%pU;p;YYpY`(F@Z1C5c9tQ%na|&e7lEp-WM;Mv89w1e|F8l znTXQrYNG!rcNe!bFGtI}ZD@^3=o%Rry?=|%_!zc#Fb|5%Az@sRfXRQSt2I_DVY(q! zwJSzc`P~&ya?#PxTWzd&P2fDPgo9bf<>aN2NZq_2Fu6Dh-%B-ypqJjcVB37@(X>&s zY+Pa2*)Yye+NTRYeZ~R8?wtTqEi7^<>-~NpbJ-H6%`#F z$HFpyb?ae3c2#I^@eKWxXVVhSTB*W9rQ&3*Wp+Q~i4OieuLWb0eI2=FB&JTkbNBMg ztT9Vb6akWF+jjEE!$+|f)}j<~Ol6@j4*qpM@ptcs)J_%f#J+a4qKcwxNi|RkK z#DBeY4?k>;dLmUX-M9og`vSARQ3t11i1vx|b^T6I`N73!yCGJL4E7{`g}MS1$kHG- zPZ)+PSwcCw5QYKtYK+5=RV_{p`Wy)^O9E^}nnlt)`Z7lsQ z&)i2Z5hbtNg~{hSWpQV<@(<&$sejp&_Mwt)5{XFPj(!q1qT4DBZ4GD6viq?IJW{^b z#*VTt-sv&SI%fDuKZig3^?0sg^6A6byANN;ecNVx?U75mW2U}=W7osmkK#=~B`rG) z*TBnrgNZ}-G*5a`>S!trX4xNDSkr{Bp)1k6Rd5Wpo+ml=-qrh4&gk0jCY#iuk_6YG zYDEd%<3tfd0?=`CdBlTvvdMs}QX+VT$Jz2u{wcjER4p>`kd>I~!mACIL0+vhQO3B& z3^R|u3lrZ=Nu7S_7-ahS8W(md$9R)%dgR_p|3rHEL^@n`^^m{x2*P4o(LXy-ELT2W z#(bQuihSU%%LjyBRkn%z-r=fGj?-Tr(uXwBQ(pV{uKH)HqPqt4pwh>dqdwF5m$D^S zuPpQ!$`df~y|=P6t+U7Ke3JZ8MxV3!M0Z>*Y>dK{I(FwWhesYai%%fe1-v=bqQNsk z%B;H{l+r$&s05tEl>4SIPHQ*0xm8zsy6FU>b!BJ$3z=%)v_hYcvK034b?g2+D5ZCz zCRUFt$sVi~RY)I&3z7grdAv*mHD3veEh`^5LqIZNr?pqAk&sH4sSC<&;YBi)tJ$|b zZpE$NiaqQs9<+MDt66zG(Y8QqqT>y>8{)xAQ;K`?wQQ#`v;4a^v8z9$P({u>1z88X z!XkM~!01Z?w%54LobzVXLCk4@3RM;fNSUn5Pf_5wMqag?AgVu8Pc4~dH7o(=--GS$+Mm};@G29W zPi1dNo2-8JMy3>84OxacWDchX(xQzxwE35{O0PIg z9NzG-EwMwlQ$Gb$FH-_qPw6C!D2hv;H7$PTO(hXDD?8(x9EcIV^cls?n$7&VYY%2E z?`db94`)Zj9&+4s@a*#->ra}Gupcb3w@+5qvex@I*4S*=!^Z9IK=u6Tx28s@WeWm} zjQLbn4LokoamnIX^nsQ?1hgH4Z9SD4sU@rn7!EP{pc^llD#cgZgfZ*YW8?C{Q$Tvr z5=p%eELWVfdzBVjj>CqvLXJfHjb!BUtiHDA;{P-KcMc24!rcnjg-W}UmWgM}7C)L5 zl|O-U3b^#@H|mGS3#5P70l(=M+4_?Y1t`~l83_+sGtN>AC_x7AwOxX2W*812XL1>D|B zk6;P$_r{6Pt5je^zP=I$=dZ>!aGh8w=q*{^++=xHCxh{ojgQ~&WVJcAFP5pN^Fa`z z))XeKe0G3+`}{lZ?>vXEv=~A4W&y8~puDKoC&9gb(oAf~|GeP2(~IuP1d8Q8y^+w; z2+6H>bAzObYCk_>iU@ytruvYwn~P7_p50dCg0aGCbtYu)UdR6I@WNfWc!bSzD3V`L z`1@|ss#BV&d$r>M2^~$P8*cS(uOWMF>o0pvyDjR0`T59lua^LMar#JcgUNzxy8#9I0 zSxJ3IO~OsR#a&3%-+X3PyG;bUuZVbj;V83f7c!|?q~^8vJXn6VI0nN$aLrva8$33?1Rn#6&X?faR;zT@ZTKv|K=NxA~Q~^TV}obvu%hh!5vd`Y4~$8QdqP zQ{MvmOW+r-VNI-k?6^%X@^<+*6|K_PK95TD8DzQym`{~1HjBF}!9|xQG6reiR3g1L z`!50OC0AdcxrgiRlG-Ar0q**^TD}U_{Aes%dftP5WpBoHpG}s*YK=WZ%sBh&kIm}! z$|GLYl%Un1{WT^>FdDIQwTS$2c=jHW`xAUnxR`fF(;kSi*TCuLD9VHE3F|k+4HL1YcA*%R)Fnjam{uKqW$xvl9@<^R&BQnuewS+8A0dnAS zDb3=!#&LsA*&mBG0Rl}<#4^_tN0vxbxtY(+;<3W}cbDz90+PPeP}|5#Z+00JY23sE zcrZ)tKAZj%>pH;WGn_Y&QQI2%p5JLw%|rj?(+K&y5QJ8OvZX_QB5bxEdR*+#Bee>B z%L~T=7=1KGxtBELgN^g%DCo=T9Q~*vj=4+;lA4y{3Y+`kUHN5LV`+TtOAMly>pF)F zRA5i2Keva4@9ZU?p-OCY=t?N@G9`I-o7m@&QhAg)Q~o_-@Z<2q(WdBvhcEWm*=<56 zR_ouNp?{YuY~rD%Jzk&kNpX%ADsAO)zv5QEor%wiBoRz3$B=TZ5qPV# zr@B=A%7V!O;!j^$8Zay}0_PT@x`6`mEE+pv%Cn)^h@2J>(c(D4HO$R_+D47N;b}y5 zM7>MK4)R+VL0diUA&U2C4*AmNmU`Vk>ZU1eZtjgyv>iW7$uY|isIH_ZBgrC``+`JQ z*4H-H_tLBh7o1a{ymX9t&|Dp>_F1DTI!YLEw{Lk|-nAfm52T5g94ijH zh&MUey&`q{BESq}8*8=SlsZ)hN1y@DG|7@i zxuCvwY<;6n%EbkI{G3YQ&1=JTcXH^1cklVV-*ZXE`tz}SWSkw{KYL;gL$sp8Qw)?h z8DX45vbc>WgE;4fUOm^Oxsu+?m|{6!N%*z5a1-;2^U<*eo8B!1=1q6-b_IXx!2RnKZR>?!!Xa0H_j?P9#$x^4agsj* zJCTlsojXwm_4qSYtFq-kJL#dpyuIrFy(eMjrr@b4lQYuCeG?`3dQT1Zo9ynPUytA| z;Zs|0p-s2^Y=k8m2z)qr_TJ>cw&sYz((G&8mUA;MP^8g9NWzV)S8?5m@CyeZMu9C@ z%f1V!h3Qg9`sx9_Tbw=`mFHg83ss^0uA@?b<{hgrEj!%g+;? zi@|2jTj%QwV2w=AW3u)+B)E}XslBLROetM_DB+sQHVX%N5y`t;cc9ny?98Yi_*!d{ z=+awo`B;>kry8J9E{(SzzfWn=wH-P=!)#eyppQgiGq$ZOl@LWepSNhF8SXnos6THj zUR-X6j|s|{j80Dq@R=>at8NbQy~5yT5{bjLKh}Cs=FLjJGl`Qu+3~Fx7)( zIZ=#NH6NoAcYef&n&h88d6>+oRYiYy>~G29*EfN-XBOww>Q@BSe|_=B`@;Gy>Bq`d zxUKo7CPStdZEnw4siDw)2?_!^_!yiTB0Zlw_v(rorZ?KvFg^W%$!W&31K+WbjkmWO zb)kqJ3NKgmC>I18Ugnt_Q!DgA@<_~~^B3+OKCj>dL|6;nnQL4%tej-et^PozybI%g zs+f=e{M)8lh>FDP31D^od}S)o+9*yEa~}#p-&_)Av4>^d!r`iG%iYg|{@i~3qML>S zl2Fb)*Yvk^SNVpwqmDqc@@$)VRfF>MJHEbnckC*%E#UFMs zc4Xye4c-Bw9}<;GD5hhd5G1WpIwJhTo95fH{mLN zWgP&mi1I!fAJ?s$c}0U(PR`yY$~!JT#AR5bz3ouRn3?q)ogg5NsTSBFl5+0;gRiIM zi$19L8S1IIQY{E7&|2r|GL^>gLzjB7bR^7T^5ibx(~!#^>TtO9x)sNDsGT{h{j%y6 zpKxrMCw`6XalbnAO_>%=-&-9TwpY^jBzMloGHYlQbz1V;4#E$kS?9SxS`y+XY_vnI z0(WfFy1m~>tqu}eD%BWEvrRqa>sUFe-uUONL0_lHfH>s-{4e_F z9&CG>R4ES4*I(MdH@t>FhMd z7kZ5Jhz`>@D?+dZ<7133m|Zd{$n?iG76a?vGA{8+Su8|jDcaf;i}j-hO-XK|%Gp)udpr^F?zVkv4AEy+ z&2(v@)}q@t+yu}j0=LM8LI9$Tv#sySH(G>1|CXn`28?T@x<0+ z@~xsNf?XPY?GMDNArMwJFZRlhKD73<@PeSb|6@Uj;kjF`-j|BA7c(TsG46qZCyd5@ zH)v|y*?HWS72butv|*BkWZwCSS>Hj%fe+VWM`i_rfMdB<&~4qL=^$x)hSObD{lM|1 z#3HJnj+QQtILllSx4~iOHT|A72t*x(-QQ-pOF!->xW(LKHOq@qXCw#Xq)d9Nyr&)@ zdOjY(ca9uCb{{>gz%7$6;9wxQ_wMlRC9%@Ey*qt+NJa#KhKW3u&x}VTUsc}Sbc8-v z2r_DuX)PY}<1v4P0km@w>w*_O1>Q${2oK5YXG1z@)i`M==gEH;I)FBko*W~oAtEB{)zQbZpxr067eiw(* zl!;B);ZH&J9OuH5jLth(?$K-F4L27!F$l6}Hzp%n66I*wPKCkdR#L)|xW+lQ8}XE4 z*^|EL_T>Jt1k34isFWjD%0>QNcURQNQptsNbHS_Al%iPcI@X7C@pCChwjbh!#7iYC zFbxETd#15&X{1g41|Y@`cC(mm7Uh(yq40W!^^E(Gx>NZw z9f&`7I?pOf=4|fg2VI8p zIG) z&$fj*azW&TezmsvJaGvea5XL*O4?i&P}l%U{-IhgsuAlwokzothal6@#c`4;z~hvA zVXtSMYB>2pbLB+3t+ZvU5j0N|#hGn(kyvPgcSnCWle6nsriFcp;S{m8d_DKUe<_PVMIdc$tb4tfU_vm| z|1K_sX=x*G)k0nFc3$g5c4*+AWudFGuazWK&JB}()->&aFtO7C!k67%nnAN#gweR6 zv}Sg8JoS3rwmqbR%Xa;sG}K$LtmgXG=A6yE<@v$JNgpF8GPhS;3!lKjnqx3@SAFw~ z60WrdxJ@N>Vi{xu{D6%()N-smkX(bx;*Netrd>b&0e`?%_=^2Xa8sKpdU{yyjWNb7 zKJA0cDP?G&R#A{}8*rJ$9(^JSqPQ%}wQcFIzA)0#K&g$K6$aJvL zJ)@;}4tYXjt%cRoZ1`NQ(V}vIDi~5cEN3;{tA-6j38q~$lpdoorEoj()HAz$Mjunrl zg?jBLl_TppwE{)Gh7f%LdOgP%kCRRJnwz50r8zputBoI;tK^GzOP)I;LZH(Jsz>`G zEmCd?&UNkLRIak_xh3zhVqFFI5=B|;(dHVer#>r`rHgTw5u6oX^YaRY6Yo%K=vndQ zk2Dh&jwS-Us%d+2uBoEnp*<0t2HZbcOL(=q?2pz00g|T0AE5>Mb-FK-HYH%AC8CTOG)ciQu3?#AC&$UDe8_o=TAx5wx)$}7LC_7f8E zOEk#isFcy9jq*$pdzBK=aj81vAw9z(ZQfhu-1Jox{`98|g6JpPaXzF<$g2YTT!8ZGvj_ zlh?JdlYWf2sXTOB3X&IS?TIkP39S#Tl_5)!)0GHqgyhGOQQ3P%ojcP!mA2o8oEvf} z`5$OO1#a!r)lbd?{-9+y8nO7Yl5N0_q0i2Kd?&e<1ihpH4e!>^J5s};4rLowoV2>v zOuP7womby4eYt$W^#w)>lOj4*e+QwR2MI+CoOu{$#&w0uT&c3Ri5qfe{z4~4rM=_e z7bPoM!6HS_vENve{F?RpZuK9}w3jXQ&z$Rr*yvx9LOFBqgx2dG=9zg`sK+qF1+xxV zQJ~SnTiKz`52uUiHvs@KBb{87Rd_Am)r<8(OvE(TCh16<=j=MsBqk%`r)9@}(YqV1mF_fE z?b2V|cYO`NRXO66S@I1WU*_rgtfrsj*hdzbC0mstBrl%GeXv=0MBS?5u1&TxH|=_*ze;Wn9ry}4)H$vdR)e` zs~!p@FUP}R$DyAdl=E;tMfef$7!`u|r^}E$PvL3Fo|A}WeqM`kDS5k#MF(nCq0Lkh zD$v3gN^~CMbP=@j2#((Yd6Wlh)rC%6Gzwo#viB`7UfFYDE%sVOf@Q#+kM$1}HUtI_ zD18O~N*3qNR-JTN?F7CU8IEol@R6GXMfa~8AxRz{venT;$k}ln^!fw80xMQDu(&8J zTPa8RbY9(glhba5b>hGity109svQ-OVTp`jA=RK?tR!!$S&BRghMWW4_*a9mAU3yM z1qo5!wWkZW6d-vMsdG$mOAo0Zm%&B zF&@K;NcQHRqlizfX);&L+W2o76$P}DFpu>N@Ddm&W9FjY2onan!SQTIcia*hKKFIt zjuYrp1`c3q$mQ>Jk#92*bcAH?T%?EjoL}?cf!1A+x!sRq{;}oz*TL?uYV}$^h-Ae% zQ0#WITg1`)pY*SS^HX5X-(%UqaE~!p(Zy1i)%ibieDbCaa}(c7nRoD>^~+=}F3GBD z$K{a>^bKS!W_5{KW1nIan|c=Sa#Y13jXx=bZ#jya5UrL$$82%-9${!1ORLrTY*o#5 z^|U52(S>SbX+p!!Er#4oD>P#wLhsJ#KS!}78E{4m>a6gj{7fI=ON^{o>RhkEI@niM>@Jh^Ckza$1-|IlTnyoh<4 zVXkl9_E6)((TkY%ngOz!M5_J}jUFzTn@AF&28Ctm&lDXEW4S9JIiHRkti`J`Qjs%j z*E}lnh#qmp9*}c0Z-Ta!hKG%7Al2w%=zokD-U3;fE``61-=_i4qVklo==FMw*}kkg-@PO z=O=PWrfwR^0A&}Zng60p%eiusx74M-9!xAfq~=I%Qo9PXI@8dB6Kcw+8{hVyi5I+5 zlv%@?Q&&GUG-=L-ejlKgIM-Am_kj5v70za~nrE0yEuf&vl?eOUz%99X%-ee51 zZ>x#U_~1eMdI!*K=G74V#C+SGxYPZR%xhugH@KyS|a`m!BP z9DwYl2);o0BUBd1HMB)$8v#g@+D<{-9~UG!rlHy5UVt%JMYgDt&12&a|1PFfN{ESeUL-9hJT<_LZ9td`uQq0IB zWz~;zar4jPQ!+U%fwVBU*>rg}tP!bnXcHxshk$#Kb#XS6@PbQSuu2f1*jExv7j0K4y< zTSm;QTzdSIU5|HShhKM`Kjb7$B4GH86SZtxI`7j*G{m{AbJv8nLj-IL!|Qq^o5Fo_ z&JirpN?8#d$U^6d3P9#>kwlbvd#0qIhLXHl#am+?&LF-u#y4X~Pk@u0&}wwXxgT~l z3%7czr4+zfLWT9&qnsraANCd99+s91Njva8pl+XiMY|X)i`|eljyc>`#rT|KQ%9K1<1^$A(Ii(3)f4 zgD<6(Aa?FJnqy<$uD2wdGEg~@Ix8q`wj9nQrt~#K!!LOGQ8m+;LnVC5C|?g{Brc-T zMA`Z6S*MX{0UXCl0M4zQ7z_cbN%Ivb zbTWg&#DgiY4-PYMc2MckpXF>`CIV5M7TBS{Ty0+-B65tZl3Ur$LVthfv?jWJ z;q7A`J5l(2BHYUjWuZLo*)ar@owP~^hX#EPd&ZmtDe6y6F*7AdLN}~>oPs)sk8Uaz z2U>ZnbJ=4nopOa1(v_1(#mHFGMs9%(rO&w5qBp=(idJ)Zv3g#(0*(fzBgq!NDE8{4 zZ7i0;LT02-^`kQ$-{~Ood+e{TCaKC)avkXR;1Xp8j>rh8gl>PSf?=8 zDf5f&b0k-52dxB|CHT%q2hr zm&x1ibvgU?C(zuXCFmFabS31~u-nY`VdkB8;?dj7_;;i#-oC@PIAUa>Lz#bT z0ccpkF0{)s)Mk+OX-Sm@4)>?(eVLs zjam=)2Vu8HXb&inQkqlPu~w5lt-|UV&i9nQVCJlSu2JFm_1oMqrvhK71apXjFWZ<8 zW2g4230h4`UaRVDtN(9YfXUq<;eY*#i-w7i5w<#D5C^Jj{mT4o*KQ`h>u$xJ`{v<= zq0U4GNKH%FJ-zwn6qz4i2C@KFd(%j*+a+ z-RF1i0X!ifoj(1ep}eM7DVZ&i5%k^Yk3|m#7Hy5I<$_;-P~P6Q^sCI=J^Gm|hSHqj z*R`|K8%Izb-RtZ%Cb0S5Tg8_$(5ymX&jrEYi;${R#f|#+f|i%Q zu9U?FcAN=E}a={DqYV~x`jo4=Y zt*FUZ$IwCAK~R`C{Y*tyBlL&i(^J(~6mGdV+@7@|9F$MW`tp+V8Q3uCJ6_3J?iNjxi%S`_Uo4PYGgTbvHX1Bpo*_%g=DDZ@wl7Et-n^k zNMnLY&vL;Gk)aCLYZN&(ZChd1QD_RB0(rf14>1JyVp$3MN3M)1)IFmlUP|Z>7TJlwEPkZ!$3t;2F z*#606{%;_9bsO3JEdbCVCUfy%seE)A9|kUMnDeSIn+_yJRy7}g7U*79TSb14tKSuc z+vqYWT(5&d4R2?KISUtPYLASK*ghM$hIna^!CbF;=^@19q;OA-X2wdiF^K}nFiIwXV#1G{azf~r;0nk%mnobx>n%$ zjygz>?h=J8GrfuM*-IuGh&SPQoufJZXwnFn%)j*-!_CvHhBnJHR9P5~juOKGis$#6lL^fNV9WMdpX%>FrQjTYxdBC#3Wag4_P`n5V9GLgr0!zV~ z0t>$sldeS~|7b#Arbb@|U_i$+W)nN8kBHSfm_%fHq>hD$l*4(kpmM*31bW|rSgcb_ zTmk43ZkCfuh?Z~U@pS=J9k=HE3n2Gq^fA>$t3Z{Tlkz3_1DJO;pbKP~xf;sPp`TW6 z#

    aALiLbTO9|z2dYE(;XsOKAyU6wW>tw`0vE?l%w)}}@|rjqJ-wT?+&7j#d-eky zZWOm5W-@CSr?OH2ppF$NPXQgq*UlBHl2-ibk%3H{!Xu}_2IKs@{piQ=os!U(;z3a4 z{2AGrhgufUj=^&vAV!!Di~N3`Gb7mY4#>yaw{9Lk?P1)35iokLlXV=l<8eVQXX268)@e!Rec;qp=mWh#i7PpI(_bp6y@KAH(dQ ztJ-QD@EwwTRn|*B@Hy_tJF>N(O43yDn*olUBEz_KW+Bc}YLv$S`eO^3L4+YIqPLM#rvkk2Gq*dNlr0222UmB?+m5$Ygvx0yts_1p`8aKhvT4)HHW zz_E%tG&v2TX|>;Z_F$LD=|SOAOI`JMQ;kY7F#xd$ucZ9iEMqZdcjL|Rgv>{uIr~^U z_CDtxv|E4JRT(z8&X7n;_`}y56C*Q*=$|81N-Y+2doF^uM-(<#SNa4b(Qr{j@V`c& zt#hrf1Q3uI1(!8i!#EM^zLXlqsuc6V!UN%RHa0I`+qHLFU40 ze7bjXWY1VcYacBO35)ClD-LYVdjp48}{L|x_l zt~<3S3lKw&XF*L8Eu=y+318Z?x-&%OtbT2fzxWLqKw=^L!qtcuV0B`u+jtWO0Oe-9 z?C?m?|6tbxK2@R$dgfBb?w)+hfw`H%Gwn!_0)FK=taMSs+%w1jZNV^?W`g7+a+S}D z>l?%422y=l4G{xxKWQ17N7MGT7>9H_6P_@f1;wuc>%&Oaq*;^PVmaV9ZK$v~cA%03L{0F#Rh7FfyITA9;l3Nl}KmeM}nM2GsC+FKMQ)mAQJjSF1ho zpZ9dAQA|AdW{j0l;N^fCPiixD-&e-nFt4hyeYzKA3k=|j0L;FBM$yx+<5$bsU+6Hv z;;>w*>;Km#-#;((ZwW_YANIS~3Y-Sa5Rl>bn5=jP4rSgMiC?%!_Z=UYC!yxdWL->i@t)2EQ( zp(}x@%D-E^Bd@E$LjOYD`$vAWPYT@oIf3r4cYfa{NZJznb-d>D4}|VdL#Ik-RR!VS zZ*(m99=n9I%zyCNPi})>%v7b9~c-~A)1)g=o)j%DZa&!_!A|NsAsrZuzW zSI1~F9ZmiFB14S88svmFnEd{W#rC%>aeSF3AkD)9R%V_bkD2e@YL@f^jLomCGr#Wc zYpM8B%bar-Ooi9RoiS_*UZ0ZKk{)5LQwtAMj+*~@GkPrF<$@Oc? zPOvRI-?oG62pK#9?(OCF9TUIj+da(KDu;R%#`v*-=OcR=;E7yjuJiSS=HWZo+Zjcj zkna*1E@?_W&!1gjGjQzw+zgoAR(>12v7iA=P7?&Aje8KO7X2Xh9O$R`QegJBO{%|$ zQD=YY#BY&I_uul_x{6;)Ter|nQ{m|EZ=w12MHk3?kIvG~}`M{1;7mkOy z-~JbSUmgzS+x|TgLa1y-q)m~f$i7BNcGJT*H&E|F&p2hX6GF^_v0kg_=z+UA@WKuY} zhr0Eew=gY4c%`6mMTwRx8}I>v!MbDI@^SauYMvc_UIo1jyP*1xIo=(I>)+8#d9}Kr zm1ONWUC1tW80w?CeEYRi9UjrJq8Qe=_Ha|yI35t}AeA38ntOt_HRxDzTWJydKkW@p zfGeN~AZVJ%%6?*=wp^a=G3}d|#})CM4sBaBqYF)Pro0JOL8kUsHULl>JPuChvq*GZ z1nBNOT_N4r!7Em=LQ++>pM>(StsNd6E^{IQG!KyRaN99}-otb-SRTF`iQ#a%eU>@w z)Y_p3d=*aJ-H{U(oV-<@>MoT1EZHYB7jUP9t>79VMBK)D904+3+q!&&Sp3~YM%&w+WLUwp*nE~5hO8ZN0{3x6~*CB$L0*~N1(?D8`n}9S!{ThQ%iCA^6VO37p8t~)S))# z*_Ufeqs1QkvmvF|0;o1xbW5G$+2PAyyW{6qql{!mMb|1E*<*yp?|}2^F482;bqB*f ziF}Txe_aaYV)yEsrGFr^`A#C4nl;X>=?%@6_97p`1M8yw#m*!~O~~XW!1*6wbm^Bz zHF9*O*TUs(Ll`lY;nl(H`L)LfNWk1W_0HEK`QQljaA3#U#CyDP7QyTZLu8~M*ziF( z7bB%@O7-LoZ$;H=k5@O(H(`dWYf2Pe0;hG^2BjNhB`-lF_hDe_>Ug>Rc;N<%gaJt) z!EzOkYY9aj!PNqQ^GEv8#=&BFp(V6>ZoPDT)^m;a)A-pa&?f-`pr_yZBYRnbGU1d+qm z>!QLm7mdF@Sr|WTez7}A%DLU*y8WdEH6UDn2{03FEtJ-FUD^<1qV*{5k(Ra=Rc zsO+q8eIe&8K5L}Q7qx|m(v0ZAf`!(eS-K)u)dvY~8wE5(r%H(|O6u0bN#b?@va9vL zE)FzNW!UI|p3Yp~qP-r^quEA1cNEI>&Um?bM$9j66JMixQD2R&@+^ALdcebaH^Xa0 zq#9ND^s~&!7#OGxD)m#Wm-WtD(Kx%W1m3c0ejAO0eIThL^=UL2t29B6z|qn8T;83F zF{Pl0iwW`dKl|mvTFtaM4n-yL!NP;IilR%s3Cc)EQ_eulMKf8lt)_yY1M(X5K)#=P!ImDok zc}R0s>fHsc>dmG5xYbz6NDa1|u3;3V`enyKHH-zMl5_1b&{C;}m&6piDB3J>e$Z8M zJ=+go`@J9W1lzN+Z-i$r&o!F!C<=ACIH2Z-4grM6YOa+iMdHQ5%tw_hZ9u-|u2!)w z2r7f7WOV&#WU%|9q3c#|=^?0t0j}EuS&o|97V-UOeV{7Z>BXc~j!xbW{SN0jpBXgz zQ=q%Ea?(PzZK@3P^*sQ;6}?|xTFv$ck&QW(8i@&ZzDX-UI=kyFOK?$bL@8AZk;U|(g0=!oE0?*zHnp^b_ethK<9*Yju%6-34I9B{PmJP^wj1C1_M z+WRn+y0>#GEln=d)AhlplOy^pL>S%{C>OBxE^q$0 zhM(sFYy6^r2qhfuNdi1u(k|W-DUGzV5B&L52D;vJye)0@+w{5Gk+23&x@%%#6rG(U zuvFi>maup{ zEZ05og#rY@`yEwfd1#0lRPjMRao#|lj~Sid3nUV@RbPRFoH9CrR1^o#MUsZ`Ro4E@ z+*Ow$LdV5#h9%wc@E7quOYRoYS>j{BBbb*oWsl)QQ&aiQwz!5b1gWGQ|m``|KdH-&UB|%Um~*NneIoD)RX|kZmx2(ex@mCWJf+WMk0*PGF}Dcx`tr7pKkIl zuj+el-$R&g&|=eW5)ws`2PW`o=rCp`p^u2J94v*7DkLL-ossfMjM++0^k@eC4+{(O zLs?l47Q{LGmsZaDdOaIfZs|J|KKdHQ3pz&Jv`y8X^k4RCp;QzxftAZR(JjQo^LXs2 z@eweD@)}C(D$&)NVa$`|+VvSK6@+ZLM&{F|(b8&>3tFmm1&Wgxw{zSGh`|eYN5()Y z{?05%Rlf~2+HPz;R!Tv5`gG+%R<;g3DhxXh>Oe(!zJ!lP*8pvM{ZhQ`I@vGS#nLMhc^r-vqwe0j@Dae`YOvixxQyN2q(oy8UDR5~`m+LqWQwyeC-$Ul zjcmY>Jbo^7JCnqBGy>!-gtLC;Ph%a-e3~#im*tnKHR|8!YauySqpN-8+{c!e zLo=$Y!Q8V{JpY|HqXkjp| z)@f=6(;oKT*ksMqz9K~wW|6X<+m9qYLzoIs(qpzRFDcmR0m*JP`Uq1$R8yFgbra}8 z6Q|15`quuI?oO?>sA|St9H#BMLPY|gL){y!MV7+gtFP0Mr5qP&&UPtgN3gpWC~svA zHj)TiykgkdPY$^9g>S-51%^FCbQd8$U2C&!wyHhdBZ#m}zXVYgngw0#sELi*F09pK#4qM%K< zvm&87O;dZoF?NKGhfg4g7~PbDu1m7R0V|uuu|Nr#O&K=-lnTjXbK_=~%MewF%2f`6 z?QSs;&3u-puRVU;{0==Zc}Rp-EaTGQH&81!Q@*04T4o9095G{~rBKVArTCxtw$-ka z48%(WnD5!FL=&#)HJbW-h1mHLceX;9)%hM*_ntunMBsBHNcaTcTnT-h3FT=>kUkldsMr4^pi@RW0^y26 z52WSse^=7_b;|4lp1HaYH`%!Xy3i82{?V@y_GS4MzL$!=OIyOr&CK<*Bli@?{s^^P zH|ld|OYz7xIDgzJ$y$w*W#({+hHeHMBQlbXhIwqp;Y;4%86%2iCgeHr6 ztj(aX%C1sZ20^PbcI^^2{-%s}*tD10IS8BQ;RdhmcVqYwN*my!A7x?MHb8YEXyq{s za95f<3Su;j)UylJ2cBI6DaX2D*LpLFQg9-FeQ6sRC&dJGR$k&C1{^j{$%zfIt`?{>N$jK&)Y5U(U2pZWVQ%IW=cNJR-XNs!CN=I zTbq@WPU4CqxSzZ)gzpuriy5oW6R|I&{^H}2Rj2;h?nefRWy@vzx3KE0^_dK!$4Cu* zcav(Do#HS>K^C{b%o_bAAAk2aS*s>~KUBro$VfnQv9IIuATrdj(W=p(jAb{yU=Dzn zOcoO1)^AV^q|fnR7`6Ze_JebrRXyPEjnQL5%r}9vi}2cfn~TMAgYbCW+r{c#F*Kr_ z1dyV3K7NmNI`UpW-{g99W;G$BR{8S$hnTE|-@(ZG9 z8*!e!1mMw%GnL{p0PNiL&i}pWa92mb^mQA~vyd#mtgIrIw=~6gc@9r+E`KjCg1tL9 zB;_3D?pd?GblDXX=b2zx>$6SnnF%@f4IhBy29XIiODS;HBXPH)68=m%F(n0(K;fx7K)hF^=klek4eQT z11Ws37tOSP}2&#Y6|d*lplBxEb}_yqpp=6d~Y*U0+}VpmMc= z>i}y*btJecdKuzo+pY>rVf8%?x&E-~0mNGvr*|QWcOy^MyF(y2Fmga(ASutUc+q$vBi}=94)qn?ko>%L7!vDE*dPvyMo4`-bXcsiCS46 z@kv}UtUm!G#CWjNz*Ils%T1$@5dc0bIS$~V(cKzqB)-ZcYByI#e<*lPh+((G zvOn%cQ5g6mhX(WYdjyMNiADe=ZxeUd_PI^Fa(=kZvMvHLct(q$rG$~(C!nIGu$^z| z##n$2>C~g3nu2=CfE!kb%ax#bsSh2}vq$I)TOXbVYxH7;^{8lmI!!(IP)9`AI<6~b z$6r5T5XC!oDvHF*)?5?JlXVTm?QG)|e)*G~t}qb9>6W32dc;ca8C`ipQq!iEYm1!l zh|Q0p(Z+J*GATO|LL9Akx`q2nzp4>bm?pRnfTbsh z!L5yv>-1`SxVkEIykeliP$XAntGLfitxS?!;42O1(f1n6k&w{BN)dLxXrc29@M#}6 zm_PU-;eII}o891mYqekXHj+#djzFdBb{%7f5Y%OrU4rRIT^cdsB z@l0cYvjYlF*Vn9e-`C_V)Ovk(RG*-nXsy`X*6Zu9UHQ7SAYlS%hlAPrVmk#H{^5?f zlA@ZVpf+&7{Ugh2LwIQ{n8iiVK*OO!MSSR2tCBs{nsvZS^X7wjP;FF<3Z8g8QV3OL8B&%7_YR9-Sseb-$WZgBI1iDYosc1} zYf<0WxyQJ&mg{dC|04^lww@bl+8tw3TUk;~H=XoJG$31isYuEkUAZ!r83s!~1l%fn z5uI9!4`kE|&dvjTUm!22o~O(|NdEQ$%pS>i1cMrmN*TszPeb6CO->NBxPzd@*)zCY z;>7(Uerlf=k`Yv!sw-sqEvaT=l$TZ^W+p2I_#9*X%%!%oQaBLXar{vm6yV!40MGIo z>s0&|fyan!h7}1bOPxg)gzeY!kB3D_YRW^^?oyf2^Le=4_(aV%WcebF>a(fai0NBc*F*bzE_bb8eW8aP=B3UJTjD;(vhr<~Tt%(E7E*T&E* ztMG}ytf_Qf1Q?M~0AingtT}n2+a?RhD}HA17&cU&B-mXV%v`NiVaj*y(JL7tIJ~b) ztc>@SFi$O~IfrkeI53QPADcLk@8#Vq4@^gQ36i-{i1QPOicL{W5orh#<6 zh3WEn#tS)}CI6`{+vAK`ZC$Xrt4azetc6_X%NMLV(Aqgw_BDV7RgS%kNA%dOhU|*K zwWon!{wb9l31L&6_sk}Qkw52?yDuS98&Z3OF>&(If;<<_-GE#)oFxM*X^UG)H=lCh z6IXId-`kA=BE0dH66|7f!h42%0*8qE6N3t6lm<(xYR> z?(`}<|E5-YR<^=R00w(6Uy^4`C(3EbT($bQXdIY|FLzX$x^XtDX~ zs(PN5Nn=3BU4q*@4axlO9zzHk_0Q#=M@L9Ns&2TDU>{7AE(kiKA761VCcWcS`XTR! zLlsTkbO~akW~kn0D%K}BPz#do@^npB7ne)9&hFDEXf5U5BZd;L1WZ)#`-n@e$!VIi zA6{~!t+F019`U0Nkn+=V?Cy%4T-0Juq|Kp0t9dIU5agw26qe!i#m>R;wNns~(Jo%o zt&EaL+87llTHbhr3;Bz|=@XZL7aVe;3%YU%S7OQmrHXMlN<>fDFjG+s!{bPOQhI781)!5`6l7&1p4&TD z?T#*sI?%dh?oihWx2ZMvUF3cKDqDE(!8*cI1W-lgF2~2q=SEPM(NC=<=SQ;LQ)^PO zLZS$`1sym5ph1wJc^1Io1-3*EW5Du+lZ(kimyUEeA&9iMlq{r7~TJ(Z%xHnJN z`lVc~=y-zbk>725H3`*hO9l;gC+cn-30Om{ri(k`OO_d{6&yhOqa@rU11PrG15%w< zL;-8|XsJ0lD-YphhueH-^cvru)Qy~rKq&?R=zs_>sNzk;^cT?j;MzN`4={%OS1$%ApETq5*w(S0)fYYn05&0NW3-XQVRyIv%Jnwq6DMP~dcr;qQv<->Z%yY@w!L z$djY$vn(%CNpq{onsE={e{HWl56RD8vH}UZ0i%xaqMf`)(8(G!G9qeSJtYh~8?N;EYy6ygKpx(4xLS7~ciqN+ARK@|u<7A9-B+e^d+Jx8oo}&% z#uk#ci|p>rK4AbQ+Wip6F{d`fgwN4VUM0L=&r>JwZi(eq?qGC$E)%kTBGLRifV) zTA{cS1@i4DTTvYF6cAfqv&g-b=rWon7f**^+x68N1TlXT)v2@1uv+X3KxMki{?gZ^ zYR&yr`cRh1_}G|5#^=qljahU}(A3*s%TuTdG8_?hh1@3|C`?1RIxa$m^7t!Ve?AP% z+>6F;p~XrZk?OGmmJwaCXxqbZNm)Rx=2=-TZ>jR5+LwfJPQp{x3NWW4D;$?4EH|8B zRJYZOGX^qMkR)X#-$4GRG+$@g_*W;B_z_NTY8Mi-PfE6UAL4*3$DKSHIQxtXUiTk@ zw-AjsQQ&^Xn^+JC)tGG0a#2R*q%HA3|JXZ~kZP$1TKWh=PJ z!M~)^N{lmJ$=&yUzsK(j|0XkU5%9(~J+bx=e~X3*$F}|A4yVvbYXtbQarqb>ZtA!* zf1a8LsBcm8`|6Xk5#_pIRjd=QcK^W%NT-9_Irw}L{C&6I3;1top@K-DsAICXg8Tk3 zWM2UM;&L|{?S8+;U$c2kF!0Gv?X9+fKhG!y361^h=l@)2y#n5Ct3}v8{GaCu4Z#(v zQ`_dBo+M@_eVir?_4PFU!8}V;K{jbs%e}Pj3_0ZMdZ|AMU4DJ>we$m!b#sC@g zJM8^|qW#CT9A4<;p;EKT8y3f{ULEi z+^t%eKX&{f$^WZlF5vj!A&t-f=q(IT#+Q|LUtV~3;;(*E1jgZ@>KXkX3GLvP21{k@ z^ZQZ$dJiyl8fe--pr~K6oWo61FE{1jr~Lgae>U}hT@ofCoYJRrVEz~uJ8|$RwwFxQ7<8uaEw-`kJ`8MY0!1{sSWaW$@7R z2P`wE|7_K5oHv5;D1ivW&0z7zdrY76!@etZ?X>g zZ#5E!gu4D!xPLDEe^dJZP3a$H_^(?K;{E?iN*^Unrk;>3B5fL!f;@@GF&3S%%s&?@x$@CMEf);fE^+%Iqdk3uEVno9 z7cBqLcm(ETgGrnPT%To;6k>-4q%<6bAjwucX6F)zb0kCm%`W^lr~fW9f8!B@nOKAY4&XD(7J{IExkS?y+2tcbv6iT_erJ}tr1S+b;y-zuT#Q0Cq z00z$^b5N&zTv2M|`V_1Z3U)m=hms^Rd zZCX4qYcMyVWFWit%VTD_;wzp9ZHZCAeQ9c>xb)nyGYCm}EjlFue%J0;pcJc;4Kl73 zCPA&{T~PuZX;p_ZbKJ0B#_1_;%1Z^s`laIU^TRX7uD%Pbrs)OnSxid{->=08k$H^(>^*omPbum;k&-YjQxD z%@S+uU30q|ke9=T$6tb1M>PX4JboO!vjUpRwCyK?-MZyrF?#Uac(q!+xsNpm2bT1h zR{ph)*Jp6=>fMi1m$k+}j@93E(o0uT*0+Gu2~)p zp29xMLAfF2enRxdt;E7yWJ%LF2Lh7hLBu!N-wvuQ7e;oyiCTtd@@wAU-eYMX*QhHG zMknwYEw=ZK(S4?^)pX+5p814x=^U@r{K5GD{g8PhorfaUdpGoC15o_h9iBJIf4RosoNo{%om$#N= zhqA_+3N>wJkoD!8vR0jqAxh@#vCOD%0PBoad#951nBf6>7O+K+DCQxG{Rf3s`&Dwy zdatJpVm7n$p)+%jXZ;~6q!5c+j~Sdl0X~W}Y6ob}P>!}K*m|9aEuD;S57f8%`^E%l z(L)ExMQ!Z0xf#UM__)0&i!%}51E-7s`l7!tc(c)fE=X~Lcxy8|-G;$x(4{-TtTymn z1~jFWBi1MZXX+L$+uQXPQoCv{XobA%>Q1Ymz&4lQSLG5tR9(bNqnu9Mggb-Rjlex;S8U*FsOFk z?NMN-_5Z7C{l4&!c&-g%z<)@ivwA0Ap>&6y?-^1Xwh{D{6q2A;o4`}OHfo^ax)g1? zx(Z*A5+#BK^B>w++8S{Kh9qK-UNB1l`qh_W{*8=@p)Ww`jN+$0UKq82d7J8aih$A@ z7OU||+R!tzf+*3`_Ko}YMoXsNfjN)Gv#l3Hj~j9T<~vA)%kV?)vvMvAp;KPUm)&r7 zZ4&{U5;qa7j__}%e7{M!tP-V)g@V?WyLC|h1@^P7ewfq|k|cv#2r>HxxO7?@7& z=>{TX-mwv?rZMMsQ8kM5gM7EZ!dah;D98hXwg-0IBlo$x-!8-npg^^a~3E zhld~8E>MX?^zm14sog(fnxdXxa!7RjOe0Xr{5 zv#6V?nfutXVrXC=P!aICu0oOU(>tW3t`FP8S?*{SnIOGl3%1=tBwc?*b= zq`K!(R7|Y@e zf0DXDFFn*9zf#i?$ z-~uSg}{PIRB(yD_9dwe7;wGzW9dO6zLHmo2}RJ4fsDo3o7H zdcg5}fu!%QYDk{$kHD7Y;nGyKu7+E3(hi8~IS<5yX>}wdNnI{S^TjZ+pmn7hJ4m(*dERcwBdJ_MwJsXwyf+~@nsLV|bKu2Ac z_N8Us;~<(C0DoGj*|i?}pIt=xH`B0dvg)&GtuUhV_B8y*s!X!q#`3r2CM__~n~h_t zzt1Lml!!;<@3DUSmV~MDeuOeoREt{8>WfQS`|)9W{oa_=*4v#mGc{3 z+=w1izs(=={Q3FxV{v!Q-?$ymhOAx0#xM3K`wC;WRn}_C)K6*7b%i}Xh$%=Z85+by zbGcV2hAK8DN)nM>NRPKm+Q%m#Ld?u2dANTD%$nW`fe6^oO-^~p%Mr=0Q?$gMBY%nSYgOwSzIEYRd(Aq|Fk zsaHJUt%gD2%VdNKywGq&cy`gAe#eL>Xim^9bSO8+xOSFY%R3$`+I$(`64#jG-F@tg z))jEwjT=wja`-u{oZz~9sWNvp0l_*Eo~9rNdUbHY_guK5Duh-m$_kvD0H#~7qQd5rHw;7Y+ zmT3oxgmQ@XPxdgnnajK{LsefB2QLW#?=Vy?d#E+}`s0X73AZk+SL(bqTMSoq6Ul+VTfwZWwee+{fxoN`t36V;q`>2+~*Ts9*Uah7{ zrjmE!&0W=X?_2Q=szN|tY>MeuU;Q0I2s*|9NpvMd+6E!GV2$;4LTllD6N6+J<~~tL z??`S8h?gDhSptwL_*60Bp!m?OBGXE>;X{qNGvKdVAPbG}qX2 zAcv(+60=av=Wy>ry;Z625#x{j2uad%+aJ(atL7iF z6HUz19(v^}RLLHQXe#zF<)# zvf^hW^w)Uv_k}w53xH*sc4m_h!c)AxvDj}ThMG)ipJ?@i5agn$M~c;0G0PM?*&_1slIZ>`krF7zDO%7y4M{kB zTvHssE_Cd|XRyen(H*y$2s?gsUn#94&N;DNBU>Hmh)qteIGWcQeX1TQ4)ww!k3G;> z3Lt4!A<<+p7xdzqI$b|%fato^>8i=H`7Qq$hq#hEgBZt%y;B|=3_~b66r+gMZO&)( z2GC=nB>gMPnc?SJf@7JG@HGeP2YS|rABtf^gVy?0FO`|)5-!|T%EX@mP~<^zb}#H5 z$WhtGE!W(PjN53vsyhOOrhM$aL=^+a_oMhdW{d?W&rdVV=UFy22d^T_4eK|UAsJUy zXn=dngurDr*?+w2L3r5qn=KnZKirscIs)RXUUlbD&03A-@yZO+ za@A&Sp>6N8@Wx_xX?Awt@&KXUvje+o1#8_(1tI+ALBUn)pxJ#=(MS{hy!E&1x?Pq& z$*>whxi_E%h$4rF-D{yUcER7s{c#a)QsF0IoRXp9ZBA~BuEXMHc0PtEX;*vPw|M*T zbmoQms?g#K5MjGH4QG@u#W-)p5pb?ALAFa?<4(Dn)RJ87K*AvhVk(*(FzN0rz3{i< z(k{9JvUOR``-N8@h#c>2%x)e%zCLF0s)F-sP|52-_1+4z<=GIaCVkECo_es`3L!V) zKzI9jn@01V(H`^GjUK^Uz3@Qqnu)7Uey#C{oo&{dxmSTki1pJVDKb~Lg*^Sa?C|Ux zlFetGkeFF8H~Is+B`;Ea#2mkBD#*`ClwrYL{n#dn5v>k6>!8!}k{0%(VRgs#5%^gj$k!z^fAX6t8>68)hw|6t>D&AQ3$^=YAWKeKJE^1V29b-tS z0E3cgHci)~0(NwjyvEf_*Xtvs&gEG!R&0f^2s<6H>;^X*}NU#(Gzk|Oh~$c*W&-MB98lJ>H|uo)U^rs$p~muUnZ_8{i2vEw)ujNSl-(T5rdW5YDl z98uIl3Z5^scguw+zs$IYOq8Ee+mp2-5Jwf=`gAI3qJ$4pX0*T&%>_M>q}XNl2}?f1 zbZ!QyjN~C{-Rw!(d+}Cajkdv5uRPT!{^WE9lInEAG5jWP%=T^#&*)#Z1`a>-4c@E0 zhLr|ew;XE$eXttwxj{D1Erc&3S8-#7n`ifnB?_t$iT-rf!9U=@{KdV;p>$6Lfif^ddEhgvRgl8MCrEgt1h^@W?csGf% zlk>!7B^rDt-dK2_vY2q5CCT2`@6ZcZy(}QpohX)=FEaEvzi44cq-GVtV|yPt?#j334L^Xhkm4+)34vBpr>>X$s*abIYtNhSY&~H---68 zxWonuf%mW0#BvR)8jRK0n|{;oLk$QiQ)aU*<^ zsA^n-fV5qI@*pg?APxVN8mU|xo_O^_g`((H{Da+IwUJ7ABChe(UkJfE70rE~OVBOu zvXI9Zqv8q$lzRLN_Ri+>RR6V15O!GMr>zAu-EpzLqk_%%+h1Vw_Q~8JIGhn$>&zXZ zAI=XE*1L587uO~eLgyO|#-i$gc{Ng#=>Mh@8O-nlHZ%Wz>P-cK$tzB!R|l6q+jFaR8@0_?7q~aM}JY@J|Gxu~*bn8~VAU)}b^$yuptoIwHOLQ8wX{-Po(fiDR=@ zIu&jsmu5WXyTfH!)pD3FalN3*^@#ka^ifFjl=_D|kiCQT>8D>LoL!qlT+uP@u+%w_ zJ^8XGuH9!5q-FZ#9bTOe*u!Ud`p?& zAQbo?p9J7ApgY~?l&(;qh%df1@5wxwH#s$9DXRgc(9X4R2vQQc>sh~0xY9wrcG2`v zqbIC}SLY4&ofmN3s+YZlKR;;6cSrN(^~{}tEFI<-o3qR7ThHjpB*Hene@=V11anGM zm$TaZF8jUeXUEz_U7VohqPa#`-O1?t(atpP$9<;VAKo#aewiQSe}jkZr*3i9Ov>ku z=YA4f3q7}1ktL44X59j#>KfU-`<(w$*mzFGgt5)}?EE(+WxE_32 z7$HN<^VAOM3ORn%3K=Xm+HRo`v;G(j;u$oG(co9GRgd#7);p#Le>)NX=7s*g;B5>b zCl^6mOpW4D?j7vG_Ga>6NirB17XgOKwt@`GO#)IHn-CPY+V|o|E4V1sz55Me{=v@L zYDvogRwb<~)RBITkR<*~+fK9&o;XOc3?V%?%Gt>jpa;%Hul)Q1^&X31Bl|Bx`b{%H zUL(_h@7qFjari1x+UE5B)&lklcQ2AIY6WBf%$ChiDbzomR>p4L>O?rOXnlI!@0?Qt zf2}*Y*T;;@1kl%QlfUMiqMfuw=~U$5RWox|FBZ8D#N?ZFS1Hcsyn0q`p+=w76~mM5 zy7ogh(qw_NR=UFB=ci}ADNj=#+M=WK=m5|JXxc zAwiJ(oO1R@9`10|{kv3?b_d&+E>SabXf?5Yo6&ccYk7N*U5Do(yq4w|G8J%LN@ngI z{ga9~!n7Ity&sX|c6+VoOSKG=K$eHt3Rw|e9k9pR)EQ58b99R|w&@M?* zJ4?(r`1%!6!+%JOsy$+RsTyedv!WXUm6k5HyJmqEBZrRxm`PFCAxJkv+v<#G{$NzMzVnYeUZkyBXD^mi>a*!sjjnPyk`o;Eqd%cDgVgh4@0w(-a1AVfaP2*ZBqgJ7 zw%AzqWFUK!#~Y5`T|q8*wwfa8?}Pan`Ep$7)u^B1C|ggJ#K7mg#ah#$c=(@W!rPsC zaJky0x6yV#+QY>gjaK`3M>zRBp3sR-G7a9tP8=F*q4G2<)yc1jURW+Gxv(~n8rz?v ze0@sjwq8!g_R64qdj$J+twDwI8 zAW%&?FKAdU%vA(k9x0+9dj5eE#@J?+g};=N2I>tX5p|KA`U-inA|IUr;U2Re3C%}j zsb^${5PU@h43bvJ(+_dGjh?MG)1!Ra8GEaA3^e{QI?tVV4M|r>Bp-f0;>x%TURGQN zS3CYbc@BMYBjAk?pwx4=#u4|gDUF@pAf#B~^dqG%RHV{(tiQiGEc`E&D;*`cVYA-t zkdt9@r*Y}a)BfYhw?aV~=I8g!R467#(Q{tz)!WNL>I!lEms~Ci-@`d2;#oNCY?l5N zzW)IA_YAl*KA9JzXb9})TCe76-H&|!=#4ZO>~fQht<$~pk!(aeZ4gZ*GUp%of))TS zrA6>Hxu0A=M>C5<)+Y}6g~CbaI$|{r(5u%$$zaR*!+0fHdhb=B-H#=;M6A_6H>Shg z*uV6v$bWESP!L|9Ad9|AO$yS&ErbvdV8Rk-Ha~Y1J|AEON%MG}TE^%%iEp)kDdiax zV5XA~cb%P1vM*ugv4mB;y?=5?m3_icH9 zJBy(+xYsPxXdpWo?SX#8Bu@wlqN-tK&>LY1XH5t%D40Z%UJgrR^N!`?ZcnJ*H<>uJ zu-jDK{pe^v20DUpqND&TI)zWTVE5}^|J@&Tk{6`y!RdUA9YRi?J9L%S&j@hWBs+DK z2&X%D3b38|EdPosg;jx6D8dtiPKq(XkION25kU0mcYXVFY?r+8?2i$kns>2qyMcxf2&V3g}MPDg!OQ_q%~eciQL)r9y!1;zxVJ9 z^YGR-eJD!8x1d4gTpdPC#cZ54`Hvi{_zF7r=#?ekh`nZDhX$BFU&Lz zZbfO`^dG<&c|cZPZoU)_^=?}x3yF59Xq}cKKD$Ox7Sf7;?Z0}){bL~pG(~i%88XNkAHXNZQ=xJ)t$|=w(d}i1xTXH( z;YPiUlEdXF|7C#wCfQF0U`1K>et;J}=(q}rauDkNWe23OKuRjdLUY6?E6b}huT&v- zm-yaGZ*gL;r^O`f!nsvY%$aw6jyOhgvlsMx_8DKiCLsUh6aPZZMdJ0|^kKJ7phx#z`|6pEVuD@KbiH&N;y#aIw`Q$VV@2>zc6-kEFXWs; zd`A~+*veB@yA!!+hB`Hyi{5T*yNq*9+t#$%Fv9ylXoFu^Qu&#!|X{2^vGyLFS0cdC!NeF*Y$h&m}DFMbGUwK1-~= zw)0TbRq<0Eab9^4aW(sG&J>l9G0yLUVb3Z}8mx~o{;k8X@m{ANT{iF2N*~h2hAq9L ziXP`ZD5Hm5W-CmI7MN&93y;SX>CKgYPr%L}$ad}!#ps3&#auxJZSRlSkL4`!NJUvv zt&g)`SP^iH*}oQ_uqiVAdc&=G%%0xLi{z9BXw&^|q9eo|g?R}pw%v9nE#jVqbhV-kwAioe9}4t z4(QmpBcHXwlp%2MYfF{lTaG0P>PKC^T?|! ziLSrGJ1!r8#kVDhf6DU$ z6NW)-#$8`{s60}NtnImnSGtgb9G6PC;EZ}#sfLG)f=p#F;nkVMKD3|-PMEE;Q0e-n zqY+s@KXD9ZHR}owmAcCD!@`IcM*6yANdlOShsGz0i4UXq{aZRq&3&Y^qZT}o!dppF zy=uF~WUw-Uh4?6YnwWLn_^9>qYC_0zHT!0=vwy=p!$XtTyRQ!>PT$lIB$qkbA}Z1o zPGc`1R_e}#X5C$qyp)P;p~+;7?{#PQ zwJLW#H+-Ww$MMdfbJlRRxz^OtPZoHwZh1+c>O>In1pAnkk1au$wIZa43=-oGi_LNx zB`YX*V(?bX8~jmUg||cqAoA<5d}8?*_G@?M`v8|I z_iDIl%x*jL#YHw{=C?0rDx{modXpcRdL}8J^72+4{^d!ZV+FQU@`wCZ+zG~*>DYA)UL6ASsGVR@clp)NQ-l!L)8uS|3#UmT71U?2 z)}nTP&UvCQ(xc(InGG8KTX7rXi3zi>ZsF@qmPe$!q*xjS6OafBrt>Ef$t8U`66zit z?{P^>nNC{!a_8yk9+P+qFmKz?v*Mn0*c=#_9mP76j zY>&DiFSm@@>)_QHpy6L%5hex_lYz0C{;@K??7~bHE);m;BD!5QlT3xyf#6JV>=`#% z*Lq(YURlXt_6}meME$D-aOTw;AZ8`!KH*y@in#)UC*H$XCkDCbDEH~%_#z%DJlad2 zqi4z>I{}hF3Hiv)Ec{I9;1yb4dqUv|>I{o5X&je(-F^>xlTTADTXBvlEnOowHsc5{VIz1@fey!Y#j`xr_@=R}UKRX!51}`!j$t0u z)Tn!qi|&4liOL#}6s*oikF~wRbBruMBDBBqxytu&kQj2{UGOhI=_zijEIDo!oVZmQ zz$ZmGC&eI(xz88KYRc223MK_9M=OmRtQC1_Sk_+)T(}J}JLN$sUx%tie2CASFKs*h zlVo`~$^`XX<$;aTwv-(x_}?yVKK+ALkoJ3z3bU12gGWi@n(_O_`5JEL2A9o}*52uB zKSdTEM%%}EO-=nwJJ3sA^d+K+Qm=lI(@!}fs(mAWATCnDzh87UJ}7wdH?N_T6z!ZBf<%6h)1w zhy|or00jZ1N=Fe3Rq4HmNDU}RClv94qSAW@>AiP|iqdCA6t z-Z0;P??EK@o_p>-d#}CL+Q%Rjs|M*J@~R`kzik6KLrccg1&x zY17MWU%{}9;N~3@`NH=Xqofn`6^v}w7}GhEE+U5BQu-kU3^tOVLm`V{>8+?@iYw~H zAND-7o_oN95%&${CWO_YVzd4e!&cuMpn`g45kmW1Yk}ogsyc}J0$pj|h^VG8LG~og zp7yjh7gg@U2RZYb33G83qp|iMJKi&0@w8-r#@xa4o(96qpY8yQmI|);q%B29S(=;9 zF#WCi3SK=bXo}swfZ`Z^qu$fEkR3-$Dv(qohN=~C?9cz9$CcOZBL?v_QJtCpmYri-v*rio-*&@J`7jMs0s@4VHueV$_hy+m*)^@*D~p+y|_VJ7N) z=`l%War@cIkXwzzjITE?+P?9?MJFXDzdYYC?Mvf;Mk%fo8tN@b@%uuOA(GlmQuDd+L4Z;3{0iVwd+R+KWaDW(|7a|i>^!$#!MQBbZLG)G(HHo z%%1(BM)^9RA7h+N*nDrJj#=vaG8x0ie%;JbL1PL6**?HOc4$%Oeqf!0Txu!xa=QaQ_L!T8YD+Nvm98jz>R5ZyIr{+W zQ<`DIUB*hWCHmL8IMQPhvu3Jiq5Y})1T;G*p`xhJ8G!#6y zn~uad{Va*{nu<$ktV!yc@M1g!p(-x?C2nTDPtGx$Kg=B{-({Wom1B0No;Gqbp(Et0mKpyX zjXo%j)%;)m3RV_R!6~BSo+D0o(DPCNR)tZ=P!BeBSsMP`WoG4ZX8^dZGp9GuBFeEc5jD=Odomi#Y07+!7714eXr44JbZ+sr>^`(Lt;aU)wu9~KH*m9QryvW z|L@ZxRfr5vU_ZS={Qdv`OX(}!d#G0rvQlO&^{9g(BP9K+w#7XoB>vmlYG$>?l(zFx z@-effH*a`sE(*MLG2^| zzOu0+;7SP;;WrK{oJe?jqrEp9y@#B%M-K&UV_m0Fq%JC?FXneD?fMaf0ggQ zFXw-}`pLUM4(k4-SMQGlg0nREYb>V(A`jN_G8cn8_S>VZ{G+D`8Y5qdZrJt#YelBT z-#B&VS7Y_@>a!o$?B{L)R!x9jjfXyP73Z$78JAnpZ3&jBIm@Z`s=XKR^5= zc2sV2aUf2A8SRAHXO)liyuqOyZ$~(+(*iok0v@Y}v$Q|^O6+Zp+L{i;2zvYaQxg*M zcT-<4c1sTOvxuzaw8w~P;#uxoSkW^xi*K@&Zvw65diU)(eY|SNh6k|6te@*>=e9ypd|KpXoCqqX11)B$R08a=XoiSdqwJB^h>-ULK z5s5<07LAsrjoypFjd4t0iJxwjvX85di&74HwliMdz%@BIOHFei z!G3*C5%9!(0p+$OUIsaIatWnL9-c&Cl5kZx$F0u^nqqPzy{4%SALc^%HI>|!QnOwV zdNO+?y(w@fIX#)wVmZ;6ljmS?bGkN@iZ~pOO!BU(HFn4L>2~^2Hm!&jI2?- zzLqnPGdotbK3JsQHWwnS%q)f6DivFLL_dgc;KmFHH zC|O$5pY7ra#{@1jUXrpX-dmY|;H0aWt&xAT!S}=&m}(CF>;!RArY9(&L@iH6))&fb z9%vU++wCa|B?uG4vK{%U*&%4fQBf>5bJdr3SA;nq==*clm~Gqj~9=w5B3 z5Bh>W(4&^S)3<+4&-O3$IR>Q2eu!Ezkm`wO0$LjBnE?Hov2BOhBAv2S!$gC@jg1BV zwIUjc1WEfwroOMGOg7I(xiQ6#flsD=iDP;oCh=Bl|u^Q>+*Eg%i3f3g(t-}0(3zDgiT{kxL2*p_X4l-nv0qD zl9)49szOe%@C{Rsmcvk&f6}oJe~Hn+VS0-`ixZakh4eCwD-$cMU!^-rF$!hc`gl~! zaP3$WDxc4LOIYmwDrBA!zVRZKHI91DfKl|j2K2;PNbb|Tm=nyysEIZb)sg4@Q7;p} z7;n_hD#%aY4Y~TzvFFJ&V2`%|>Iqixc$EKN1+0(ghDRnml7&v!F_+)nNi z%=GjG;k6o`|J0yo?e8FdBxeifz#!Vs;jdxu?MTTeuc^Th_# z7Q`IE^ytGA(BbVPkTO?8^hqrFoN~0x+smMb5YIy=E$F3T-nn1DfjB(8_*RtXA$}=^ zeycPj(G}<}d&^$V^ytdW|MfWb70j<**8X)V%g@2#DUgUI~<)qMmdY%90AnPr_MV9h_w)S~q zMqBf36VtXq7=@t`X>WT*YQnWmW1z-;p?Gf{h1)Gng*u0rnU%0Brs^XH9RtfRB-}C0 zR&LYl>ek9(IMd&4@Y%NuY3Vvj={%jT=%|+;Cz7TR-CJzCPf_KFjTzU>x7OB$J;@;) zJ_d2bjJ0T7>c`j6Db)NNcT3?~9|@I^stt$w96l`30M`(VBg_E?eiY3EW+4iRyfe=1 z>D88LozpD>hz`lexelJU=cmPw) zRi|{g$Zu0?z2jo9m+|s%;O(%RO(2(*x`^^As0wy0)M25c_(v&Ly4tww62$C+-f%t9E((R_#SPyur|A;H2aSW*Z)tkM&2sQ65FX8I3%*Z z*B;&30z@gwWF5`Af64RCn*}EsIqA8=Ds}}STL@hJ`9eUb6bBZ$I0Ka`71>0Q*H@>O zw2|q;T0iQvIHH&iA3q!90e5}xyYqV6{pS_!+Sk$gwD_y}kfaGi&%PMV#90u0Q(%G0 z@sdn0IrF{=e?LUq@a@|(^)n}&@3nUV*I{|5J`YW8LLtOEU60=RIGpM{x65b&Bg+bnjn4{u7~D??HlW zDGn?jPBBng@If-^cSzF(p68&A3u~C3&wTcSmnyy)^jwj({vpocm0>b<3^E5;9n_mR z4!{fTNtXOTeL}Fi+`|5wPLE|-J@a_A98lMex;QQk-vAMu%wm&V-?9CE9`c&ffAuhA zI;LqqrqdCe@M#E|n{#cEUCS|oX8F0`aIhaHsu9jJ2!?@ltY&vl(`KUfhM`AUZvw7V z7|-$<8911GnW!+Yf;_y-i!8?lbxH2u3y2o_cJrV6{2M%=!~aJD{%`+f@su1#H)RI^ zmleoIu7Abd%!e4ID@3Q-{qR@G)p`obi;(toS0n60mhdxd{x$0bdUcJ5DA361WhF#7 zi1pEn&haxX9LyCDOZ9Qhw}0Nv*>q73t zM0THg1S|yL@X_UR!^8<2^Y;C4rTE*btr0xjn+a}%8j!sq1S&F=JuEUvR>r$a63~f1 zAV*FPL4J}c-n#)z6v{&p4e_F-k>~_?BlA$J_cVuMF!9LALzi#}ez4m$CNSeAe&$F$ zDE%*C&;9#b%ElFmz&X5pZQv8g<-^$8B92_j5IcUJ^IC)7i4gK^w%enwPK_KTv%Rxz zMV%HC8>SY3>o{IOIA!zAJGY>44NtEF^ZJArdY`2 z{#4S(FC%&BIFy6!(Opdr3{8Kp#8DBjESCwbE=C6?h)=x*m>~U5F+fP1rCsL>BC{MY zm^aI5VUl`vuk=%{M)2-B%f1oUwtoF%Zl&Hq_af8TJ zQse8F)!pzYvn^3JHQZP-Ea4^)v~NBoNyyt zqC!(kBU&a7e&zdEKu1-}eIhw=?Ck`)8(%lgu2f1PofnkJ9p1o9Q$kN22z0T9@pf9n zSJy@hlT}(upATk#_}tI{i~Z>(-1rMA0pqH9~?s7}{juH|vT>6e8vVq1n`N$hqc3l7_S-d4c_P9Udstzb`a># zy!(T!TOklZrHAyr!^zpo^tmgKoh;Q^7JIppq#%TKC(688rn$|<(2B9-JT3{eEsn~! zcwzKobyj9s`Z*Cygm@Y=C82y*+EKf$4o$zu!B=FLif;71Xs(7jahve4bxEv$v@jm) ztk;D-+*@t#Ng1Hj{wE4g<^z1J=3MUoA;H%s@24`XO#$=xxO7atG_0$}1g-SG+Wuie zuIj^>`myiu0(sz=+BDAe;)iaQ5`jhB`B8)?nCW)JU5)Q~JL^D>M(DYY7`cE;BUlR# zrMNKKhXEl#kATE74CJ(V)z`tEC_3o@#p|Fap$^mroy-JMbI@g<`}glRk2+we%IgM- zz%lLcv7BLfm_)B%*7og({Cye6Xhn5|26s%=SFyTCn$V1Q<#>m4f>t0no6DP+jg&YQ zECIF125B!6jCgMy1XN^@x8S=?*!zY1)$sP`HdTf|YCCK;7?j!xWL-DJ?(1Gwj^a}< z)k!WXwHdjmBV;>g-8zKI4aX@ySsmN9PiL~XaRD$;*;Go&{HjP|X9X-a9`61RF6woZ zLc0F&!5h&0Xle^kj8>0T*|o$LAUFY(_Gw+w!|I+>VtX{>t^0VOG3u={@w?MCv z4_ysSZw8g(lGeVz^Qw{&_0m|Ge5u1SDDe(o$`2<3IO;i-pSKPK^LVtr!agHF^6SI> zmeMOzxgzV&)Q7;-=cHO8>r8-EcJGHJAxqGmp`b<|o@QX}_e%6VN>}XM<5hF{D z$8wRUO*kGV0yl*Z?OV^wfeJ`u{=&(>Q{uT==pIj5Qd$7FeqO#<3pZrD z+K$y)?*|H0j&HYyCsDCG+s#!4UXj{wPJj!O=7iXQLpRtyBvR9*8=Y5xM z9?xKlhnSGW=n2u@nRMG#$=0woBH*79>bNlGu3lLhyR|1Ed37P(I<+|cTWF7 z!vAF@q??bWEV`;ZwNXFzdJkm!eJICK65FGoyT2|l`6g%-grOw60uJgD zC0`>0-%nhV#kqdx=D-^fchElroJj`q=9rdP5Bq0HPTeE_VBT~+^Iz8J&)+=NOaA1} z=K9J%pA0$&*cj7HiV$74_Yj*FFwGJbjzr&isAP)zC?jro^X1`^RE~C=NG9*!6|uTO7JD!@9&Xb zBU^4t%D?zOIQo)1Dq(w$mBPQ%RaP2sAE922H-7)MKhN~fH~v%YNOO{%gO3?9RQzdF zekb?7c$fkXe#RCL!DAV9i4_0iDQX1ncun?S*Z0pa?vWp;d97Ij-`m5zpwFUR{5-h1 z`4On3jv3Q1lcDjWOkhQl*YjOee&5u;!L>(W;FEVJ5WeXQLYcfjKG25(EWb6zcCa;^ zOY_<=iM6kg(c6zRNXk?4Vs}O$$c{DeSSi-f45d*1)2C@S5;mODUnbuR;Ws;3Md#3D zunR=9XI|l#sOo5We5LJd?B%jy|RhPR4y_C7^go5kiraTV)5DItwo&YUv_KLiAm1iPoQG3 zSpa2J<^VV@O!sDP*iBqWZA`O{?(NNzachZT%h>}Sk9=Tqm5Ae>^Bd+gARBH>u9483 z32-@Y|D2F8jEX*_81e3IC!uoivmhA<8L)w<$t2Gj~-%@X^5d)EDkX*?$bxE>7$J|x%TetMS$!F%Yo!(x zo}QEjw-Vyn{Le>9*0~PvH#z%F)Vip?=!oXP2p#e`iPOSW`#v`Wjgi{!%w)ZK_YqQ_ zcG;YjcG-(hP8TpougQVUno@b;&l~b@NWsxm9d7|fh&wP!$^z=kHwNvZbfVFMPWj4r z?l;I&?QWKN)91wr8TUSCgq$dsx_e&k3oG=EKqeus6gJ-a)}(lpKi?3+18O5d`Z0V{ z%;lnK6GdP`@*C#5Dlp7vI(lNH(n9r;S?ZV!P|AcR`%qWit^B7z=9u>_JCo`g`MSz( zHd`TDQXe3`2}$-i(;({IINYi?)sb1U`4B)%6K`x1oiJmM$+9Q{#%;&B|AKJ84zMu0 z2=GN{$PUYT^z~?A0X?DDE7FW|A8i*+*$-73{k)Qh|K3U1c`xcP6GC&pV}H*c9Laj_ zs%e$eY4YL4h_-0H7obv)Z0poVT-#zc6fiFAWD>jP?0ydso2Oe|`16_BR3)kYj>+<- zDwlM<=<9dnRxKEIjRmbOy`0_S=Wb4xpsEtqB_7SAWF&ZX%dO{dgIq%Hi|uqvgeH-M zC}rY)E2hCO`j)d+ci%Z)efGpy-0ORhVBBTvt@Yihy^f*vb36vm_Ss&aY`i=P*b?1_ zZ(#?85NTG}vD6XBq*a5jzc1%&ZNyJ8y5$;Onp-tlUTNVywG;te=iD#LgK25-wy$qI zzT#^*CK}|xCQ5ra)T#2>)ge(kg-X=K`nV>}`+EQZK#s10(n%Vq_76d`dw~{^?rml(uLbZb;c2oK z#Yx8bfe!*Auwsr|diQd2Kod`wN3YUcCiUslr;<&fZZa~ub=6Lxz&2|%eg|mN!+=3d z(F8z%&p<0I=mpK9#bMP%35W8{ks8NkYZ<)^<;2?*!?(-*W9`Mu+$A+~BB1vci2*b$ zys<*IN-KF7RDoGSHiquwhLi~0_k>Ni;=Yo(XM_YlkyoQa)=Mu;IDZ1Ji*Z?)>SXT~^{2Ny#G*5pL3rmS=lSwnA>;NdS+|Y0f9o97WS~Zl2^>IrLezms{SIn3?uR ztsJW8R9q6op`G`EzX}(_V5Wwmfu}>1o7IgQkgaw&$DN2^Fd zE47NtN_9`6w;Sm@5H_u@&$rh4(Z(3}^;jsu_iLF{M^i1qdldT>BywIi3Z_X1Z*JL%ATs z*|PRMp4FH5xM#{n=fK&yR8BGvrSS|C(I>}tGdz;CjztXPGb4HRBRomFa1r?2M|kM3 zm&?r%p^@JjED<~IKy*ztKXtAC2jfi~HRe zflQ&m53&kV}R5=6g$M2snBeL)wEb*TqRV8RY+<%YQXT zpoJ`w{&9_Y_Loe&eXaU@92``^WoZ_m&!EVtk^#3*g&q^}<}gcm>)xnNvC`7SQjrIb zcS-Mzx`6^M3F{sAa{}JAH?{fNpsI)YuS{8g@waPnLFwqLBC8jRfm5XETEB%PVcHtl z8tRhPc|FSq<~Q8%orsANgy**6Q4OC0hLiocaln3gKDQ)d_j5}2eKnJ*%rl+8diQr7 z*DFv8NZc`%Bxw(q?}v_V)}*8KaVh99Ud=%dj=nT`4&cvno1&o)xO;jhp{US%m(uMr zHKO`<2WN%t>lz+fr^L|v5P|el*2n|5xR)4>tPgew@rNS!=2(qh*FzQ z$tBwo1FiPe&bpYLzyU0P;@h}j$YB{2eBTE;T_${aUfR=;GCr{%ZaINawsl#1-(=bp z5T6phTAEiv;{Ij&V1T|oQtS{r?=(!)$A-tn>eQ|-zPw>Jk;jvxQBVX+^8>67h8Ie} z$HH-4ql@2GuG>D3MOquc`@ijB zu|}R8z>(xhQSc#sHUXEC$G4q7y2-1n7i^ zF5H|yZ;e=A7F_v^y|g~pV&X(@R)fssjdO!67PQF#gc}TIVzy1CwOJ2b&)`!_@=|)% zBu0n~QqGGRK-k*$y!7|Y1c#mp@Hs5=uGL5EJ>zn=sO<6tuv-XCbFGb&aTqZ9tYVFCbOu|mbMX{x*U@~IJEBlJ9tX6M@T zS8s#@#Y0+PM0e7+!#&w9q|3}^^(t)g!>qc%oMFuV&0&b(%0Rm5@hn4}2>NxRG8Ao* zgq}*1m)xBmU7>||+W!8&j4F1%{oXv66|RP2Ipj6HGd?+nB$7QRGE# zoS5eXlfBe35{Y;07(xxNB)Hv0&_=^9 zU?guaMD!V@?5AKqZ90wZ+LTqBhc@zV(>hc%a70-Gmr}cm(Bc&CH-3PAfqR^@55M*7 zEo}XgIS-LU%h26L(yumu6UGu{6hrcuD1aoDx5CFujk_WQMUP@(EjgZ6@jpC0wdQVZ zkJeTo(-j?_k(d_=dtIJeKIU!; zd?(A33S{+`PTbn%dgt7Wy4{BLyNoGQMmdo*n#%miIFmUXHb=&9bTJyt8s*doxels^ z_b=lPc0^9)^A=!%^dB=~`E=>xt<2;it`Tn*z$nm!WA})JlOA`-|k27 z?5jlF)IGN{N6o=66d1?x%Dt$DdjRBnqkMCf%$l8Dd79)R9G74z?q~xzWMf2g2*@v?w(q{ zCqE|_7s4^Fv?fEJ##4@N%tLGW}o^U%fg_{rez~|oAh|2l`0;XO*>^hHa zw48;KmQtb%ph-ss$$B~gfw&3hb~x=FJ#1-sJ~e)7w?6L{&e5j5CJ!{nYPUyoD8Qt& z{-D`_cqgv%1+n?={CIKOY~#iKqfm)Ll?uF7`}6PR{$);g3{GVejG@R6xk8KvIjI&WJho*|2Q~ zieg*DC3hBdWzh2oUdonFLM6rudzLhXtTiAzT}W@bOh+QQD3zv(q$c{a)*J3ryC)q& zfQK-Uw$r3|4uRMPLQT?5F*>rXS<$nP2OA`)WJt%*LYT#!o7HL(QpgseO2j zh0Z0<`j^4Pded7l$F4+#k?wt~v@+03|W=(klu9d6Nzq6%EAfb~_ccT@4h!Vmz1V z+Zcyp%=51rap&cWJ~uMdPWaB~QO3bG<)my`pLHiL@(pKy zR(jVZ=J^aaw7VO6i5@~OZ;_qaGMQi&Hen*6CjaZ`{?@uK-d4Tv+=i0FQ({dLcYfKG zRE@+9>hLVcd`NM~ee#j{c3R-zBQu;PbsOZt6Mmjs%3U<);*OOX%G?L+%-2*8-e>Kd zA0n~|t%MA(dgtqdS+J^q6%@b-HTz#EE}CX<=vTQ8XjCxvBNDTuH3iHkn;DyXS;uPF zAEm*}>g36mMxl`gr8Qs_B!^V&tq7ipb7>64jAAzKxtu->jf(@HYZxgNfN^z>QyOTg zmdeHQfZksrg;dSybr~u+Lr|aTwtvCQTN(fue=xWtDPCbUs5mMfPNAgU~_2q+~40XB+P!K-MBcvo6YToL&Gs} z^TUXr>6|I5hr8WuM_=gbmM#l~nZz7hGgn?o4)u3qa?XBNDi&Q#`m z%Hb6!dgN0S3n=z0aHy=CSvZXx3egW0mT`pLXMRun}D{6KhMQ`R%4k zWg*NYkDhlEloLtu5koDjge#W``|iY@^f%^aBCod!p>~!@s*&dzgu-~@MZb@-Sa*J( zC?F6xL@2!`vIAbJzihXm%=L7icGv|T=+!&$KIu8t^t@7@3ClN!AU<_)Jclg6L{$3k z9E_L&u>X6PxI*`T z=yJE~E+{t$=qt`Y;-avuwCxSEkff(`V76tIM>==L@DF*q>Ym05(v|m`0)h}eG2bo6 z3XBn%NWie1P<68n|B?ziV{&7ISmdmtYMN5c!h&1Bv@+nAxN-??4ScrJbOG!;JCGmI z06vocxf|9Eek9QQwHyXOnQjqJ{-OtQcf*lN%KOc8{5KD&S_*cAjH4>ft$%psP7aML zqF_QUg0Nm6@74iq`AThizQI&6O9T%~R=dUa=%Vbbg%YQQ;T|YN6y{lnc1757b>LP& zf>!H?t)`X`jN9!GRUXA*5hUXNa1HL(jqKdOX+LqV6EdA|p3|J6fAWTcUiNA5$B?^x zQ&TaHC?}uY{3~znQ{3e{BYP{KhV6RNqs}+1B3E5r9K}hT&#tJ>a7$-=VU)hBE2*HV zIi6j;nH95|h_dfIHDba!x6MOugBUNT8p0ZS5I+G{rRJFNuwtxG+jY82uP08Uoh1;| z^o;!lXaeDzMAP?sCY{@Fw)?B_ixVC7_Buq{=EBocB;;(I40>?nkaGND*v>A##VpZ{ z^8tGk>Nr}*Thig=&a&0JwTwi~(NnX4y=o1q&_xH3%}@)l-kqP3GVukwgeJpNyhT>q z$f22{M&LU2cuAYxLEq_vgHy9kmptSNy;cao+KucU+c6&;a2$@mg+rcD=_c-@<-vS{ z5OQzQ*H9o#CD;6Efl=>!I*yr7cWpmtaP+Y~dD&VwPUx|;(uNLiQ4hH{9p07b|016` z4M!*EsUW5L2FqmzCSx^zB8^8?L_dhNm%9H@=JS}krX2OCsgmGnqm$N2G_SYMMDuq? zH3kZ-sm(A-8Ha!%U4_0t@E1#R&I1TT-Zq$Ii(IsEupBxAP5#7BNbwfcA5$OK$TPTV zq9|Lb<1}%DX;dOKi89G;Vsy%(g;uIE1EW2(yS%bgQttYTCR0Qs!d_PCbKkqMS|*It zSc%efg4|+5W5sA;Rr;f)dORSJ2Ia4|z=ipmEy=bgR9@Z_!V=0-bQ`a;cNgyDnJ*ad z7y^q1yV(#w21z4fF?27!OCr&&Q<9$u*V-B<*sV^<5|Za|t)_0uvu%;`D>n1egxv%! z^L9+?d-tA2Po+ERery`VE@CHa9G~+s@m5dY1MR@N3B-BVfYfvGwu#IVsUNeBF66(? zP+u!8vs+L}d*11{ZXMo{+DX6YK8}zgQF@J1lm0^Qvb&DBte<~J(jQ_Q24uF9K1w8^ zdUzk7NA4Kw&pAWtfVcOfmrW~5rZR4^0q z#9(=>D(yp7P}uuttR%=IeK6Cv1*Xdzf!Z<;9?JI{C(T3w#-zX&h>C_s6~p zk7syShH@yo_|jhwGPL1(3SMpJm7pyRQ+vPoxKrWi$s8{4#yj=|nChZit*>KgN|eU( zI`q?afP<&g5v#avy;*-a zsJxb40vY%p2s}sIW~mjuc@2y^I>n0Qyq8VJDcHyJ(ab{6Qo*G1tTHQPBfnY>#PUfG zYRbb94EqR+t3bF^RxG%wHL1hib4=r}4ZLay@{r+^LoI0tQFq2#? z+(%zPFWZwU?gz1+<00e;YGir5+Bth4$}Fl!y5rId)Uv8nj&;>iW$*`8p+y8i&X5n1W&qxY2^e+7caawSD}d9ew+gj{BrLT>?Tvog>_UTM(X* z9`fwjhnnJ4dpJ|UkYR~qJW7T<>w_0@=L_{iL1&TI-;XMXcQ$p1?SG#R1k-KNj!J54 zYe}A70r1j1*Egqwqk{P1Z<3IC-mRY=VPxS>Bz3LPX#I;&CNU3w ztbiXN0kD{SGEHLorhJL*yO90!$xG+#yEt263}vaCckkc__}!GrmiiryRql zevX%D`$NoWctMBC%Qf%x=La0-yi4uL5j2Q00N6_wSb+e4Iq!mMbiPatkcYVVon$J< zzApQw8>z&U3cRyZuMDRa_u#W)j!}kx62Bq3j|qVPDyd>$Qt9U>oG~yF$E7H! zT$v~SA~Ha`t01|>+m<#0P~+}IuDe&GG(EwNh^jzOJ|GOc=fAi+};uM5mIDa{zp3HOsk=W zOJk)c#~1;9@zghe-<{FuWAOty>SYhNNu(-ehXRYodkV3Gj-mBpfGiVy{5;Pi(e*^0 zNCnw`Ff(A}*k3!u2AB2O$z+*y(Wx8TFmyiV*lnvqr5sbyF7+;!rK$Wg^KJ^6o~SVp z3rJE)#x*roLlKo*&M5g2+(rK9L13tl>zhy~V3vr|9M8gblyy`geh~N1)-8)QJRIK7 zFdrE4sB;_b{>+>~fv9sML?=C`c8h7V`!xZiBhkhZVP&M!@a;UWe(ApLTArT8kyR>h zvci@9O#{!tTjb-RE0T~*>?1??s;q8utA5@M^7)|OpgQ{PsSlHqI>)$>KEz3RPDp&uw~C$gr?;uV=ulWKZLKCOYAhG3 zW>QEy$?I?=MNUq=@X=T&29b`4 zf@NU))T!&qVmIp_EPtN2r5uZJouDmvuTNa-r&GM2SjV&M6$eaChMS)XB{^>1+CAOA z8zIOkmw@Zjm5VM+E_Wpj#ZuLcPF8oJYx3!D??wrgF+ATj9k8TZxpe*(WZo@zeO#jH z>F1_a-W*M_ntP;N*CwWNSU&Uo$&4Mb;9WusiX@G6#7$iN-1spZ0L+INLS`JH5Xr%< z(^aQD@5)8gcJO<2CDZ|Y^6;*~7Bc^GYjnw6a|8@2-c+f1kGMNWBCZ0iZ=zU~19Ww< zCiMd~+%Gn%7-3mZrsyCKJ&jrW5otJ*l$c+mD~BN%ozI)hg!L4l$7%37ACL2b^5o~H zcopNpPd!Nb`w_?odM-|0+O1Gn)+ljAW#h*p&f z+k$!asD%{@<+xmWSq^n7L}ReGJRK-TN`~YEKewV~+#nv&Q4TR$EtWFfJfi zBK=qrk2j^4(_rT1u5uWb=DlKqsG?G$h)Lip5A#!5y6DaXORG^0=l5A>Bl|Cyba2e@+T)t&C5#sSgg&RjvRwn zIy``;iFADv(Y%F=4S*rD)5e@^soaJu2^_7(^jvYO&hQ5hAIiJ-CE!2OtXdXwdDgoF z8*UC=C|~!bjYF)AGU zr`<@Y^))gT3>zNy-9|l#&1G5CUj|(cp>pAzqaDjmAO^!-@kgupQVgs>l|-R?vZkO* zl+p%l0~_ezZ@S07vQfQP=#TC~CL{86XR%Jc+j(PY6fAjojqK--ci(CjXj}O_7@gyP z@{+R~KgNE6P)j38&!g9zV1=!A;In8I*lyrBb+$FM_UAvR@^%`{i4!0o?cdbV|Wfnv`CEwFbsL?pRXVY_~>y;}{9^Y{8 zf~rtvhI)5t$e6d!5eLl_`CAn1PC1$qBV?!b1zIWBPR4n-VvCCuY5w!t{m`bROODH< zrn+1#0Epw~F#EwIx(QXQLbXU!WExEf*G0IEfkgRvcTh6TUKw#SRFSztHC7NUv%Q8X z=vZGP)pZZn(|sxs%T4#zg05Hh_&g>#n!f6EyBRUT;5V>~@q|7-j7I8(O!yuQgLsUjy-Cu2DNs!?)>%7@B zCte*V?jSdH#v*Y^WPVXji7wMU*^uRiO6oiJwFR@{FME9$ONV9>d}kODu7g$8eI|x5 zt4F`|q}{~n-a<$%1H+_zL=#A7x=#*pW_^ATxa!KXTvZeBS^)OLp=YpdpU@~R@@hbJ z-_bHnJ!7_jX=dlu$e~AqK@(YUvE7O(UAlSVVyrFpDD*kC$&4sd&QU-YH25{U?qBy3 z`4_Bwhd{QG8Tgcn9q39o#Cw2P6uHt8FKFdlzR((E++fIGKZ>jUMRYxD{?9Sbrb3V8>v?0Gi|?a+8S0qWZ!iIl#!~3{@KIgar^46p_38b!$LVig_ayZlXZLda5Fbk2UQcpNwiZC>uAZM_?=(Nd(2NJmX40 z#E{coKe>?dz#iQZ2?lb>bpoxFQl8G#9(T9dext6BIM%le`chf7r=#k8-kF_k&-&7z zH9)A?OiV9MDiHC%u<|B?&{&uTIOutbo-H8%0y6xn<^?3H@na20@ z$v)#BBH8ut@&&7o>UW}!*P)-9G)7HM;Sc$li=h(cob=B_KX=4QaD0uDX7oqtC{#OP zIJej41jAMKbzORhPJCI%f|u>Z)(6nS?)^0$Xbdw;J1)@8{T4>&hFW6Add0K#h&(>~ z&PyWpbGd55^hUa6=F1|V#4ce+qQ3i&nj5L1DnKnXyzj*J>S)dBqh$1-6)N@*-}m2W zO+f8lc;+Y)VuYBelkiS7N{F(}e9&-J38~?PQG=>k?8-q|sw%{WR-i>4QG!U{#5iKI zyC_AT5fyK8fYaR6Tja(rFX%$KrRNouOG8V)M|G>A1DIy;YqQo`N;!Ucx`>IKQSBsY z4VC0PkfepoDNA8#^s3NFmkZh0w^F%HK)!E{>BgPocBG}L%m>r&BnbeXeWNT%Pek9W z$Epj%MsMQk2?;RG#gDHzu@+jEQ(-p@uy;1~EsW>Jk~}2LDp6f59(wF0bM1=VSB7y$ zB~QCBwN1aP`Pl)Zo0UWsX%NO)GNIeQO%Y1uMhnnNLkC6d?4 zk!?Hc=T|didC~NPS}~n++_3RbJR%sp+h+*)RHbktlsi%_>3Y*wLbUxTt(94_WzpK%^8woZmk<4S6Q z7x`XSLT^?z9V%Ha4fyoo1Fcqa8$97j6Q;;jYP46g!Ad7f5xGw?`o{H`J5X}3PyoJ2 zBi3#ao&7T$80-%(YI$cHT9nn*19H?Y^`zSjgV`|7@AO<63V@o&VW#k-ATPalGJC-4 zevZGxa`#v2?Y+OsC_8kytTy?)OXuTy@XY5u5Y1NRpDYJvRvQCHg<{D-(@ou?Z&sez zn&l9HF%AnAOoNfUxVJ-)_1R7a!Bm%$^zx1jw?yhONq+U~p10SPZ)z<_J{S^ALf1Cw ze0rH`Am8YD7Xwe`}l=Vswj-5xKyh@l7NyaI(>wHBiw@d#O;Je_#^ zo+&m1m|A?1D8Vv4TPL)M;e&=j-|Xa98Nhhv4)bwA#n~@p_^vX;`kVW{4byg^&8Ch7ca_%I?i{xs>3Pr%#Y$WfaZS@Nb3^1~cE>haIIOStj%0AVm&rX> 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⁢6OezvNXh(a|EbKGsax~H@7-!yBmwOd^|Fw@RIt> zYa@5kesiEh!w@FbhM;ebI+4;vcYQXMA zB7oM&MScm$Cq7s#f=ss@^!9)A(Y#s<`<8Z^gG(3`@|H|Dqb8N_`Gc;RW|`Kl@}}2^ z_&;MAG=dn%7N#GjCyY!T$iT{7)l<%^b`a%ixlwD@>-QT4avGsB_m72hD+b^rW_Sz} z9gMDg`FzlC6l;e&-~W{Pb4~-vrMrQmHha#0hhpD#n9W?yWw>HIuI!2VkjDNQ&2256 zW-eP#SVCv@n9|JZM{4#wkRb4V@y;Ss<;ljYbQUV|tqyTWRa5Yb@WGBRB1EcV5|XXB z^O0svag$%CS;HSTPu?9n$|vW`x9>(z7WA8zdp48CLJ zu6HX~)*=^QS7C7=yc6QzIodp@*~JK%Ud)*(N`KkXM-_jeMEhVM`e`SoxrwZPfKqgO zIx7ncIVbrEAVitFu(*?pr-d8nvrOJkiP7lp4C8%{zZ4BqY1(9kZosXDRwX3p*4(iY zacJymOcs9tk%|OSstYqxc;CmodYA*@Xb+36-Es-%zw{w_O6(j20AEQ}MLn0z6hzYg z``V019^(4^epX$jj6EM&%Q=sr4Ofjj;io*A=JJvjL%{ERUKfIjm&PeI&ODk$ZPmY& zo+CeJ%r}mwm+mmI{T}xoB|7*vaM(l+Qh0gmk5vtmsesdeG(g8H&kS73E*wC)4oB85 zxQ>OjI$rxL&iXPOEOHyadeT(ttcyJK^V(?qL%sJ_7l)Ti0}fWN4d5QP)d1prKH7}1BefaK2wSL`jMISo#f2YZv~9{3%!pC+HcMn< z5E3jJcioL73e|*bC5Lf4Alu0e0{C}-Ey9+h7qvXSI@*@M9QHibpKPleT(HIdT1HrO z|JWa6G_$yj!`P-a2b4r@OjP5=iKu)pbuZ-)8H|4}tCzuO^QRrV$q79FUAFMS`5iW% z6JXZz0}>h9Dy>%U>zh1@39cs;(RvKHO*bqt$v{mcmEf;@;j{Vqg2968f`^fWG!z~A zIwFZnQ$pt%b~*M>9&;)Ek!Ryy1AS+R2|mscb<~@Bke*Ej%y9N?4$Lq`gF^NsP=C`2 zNPV$TmZ~>qoqEFcagoSt>kl3*nWV;pnUK! z==yT|Rolg{`bm{K6)^1GAf5_nTd3CXA&_J zPK3%SOn;^j{EyUuUuv?L<_*hwHh&1w|NXMj2f*4k?tD`Crz8Hi`;=`UO8`xkHR@*k zC({S~XzlA@@Ye~qXPo~&vj1_b|Mv?<%fKukZ*CV|w*PPj%NQ9jDn)5^qyNJj`2S0w bf$R*rsH~QuEHcRr0$!?$ny_+t^U(hVKJDMT literal 0 HcmV?d00001 From c08c98b8d96332ab69beebf9ca5b39549bc37b32 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 20 Mar 2018 21:52:20 +0800 Subject: [PATCH 096/288] Changed errors --- docs/DeveloperGuide.adoc | 2 +- docs/images/ImportCommandFlowChart.png | Bin 0 -> 24897 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 docs/images/ImportCommandFlowChart.png diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index dca87c866104..9113dbd317df 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -366,7 +366,7 @@ public ImportCommand(String importPath) { addressBookStorage = new XmlAddressBookStorage(filePath); } -image::ImportCommandDiagram.png[align="center"] +image::ImportCommandFlowChart.png[align="center"] Import command extends `Undoable Command` and hence Undo can be called on it. It initially checks if the given file path is valid and if so initialised the contacts from there, creates a `Person` object and adds it to the current `TeachConnect` with the help of `model`. The code can be found below. [source, java] diff --git a/docs/images/ImportCommandFlowChart.png b/docs/images/ImportCommandFlowChart.png new file mode 100644 index 0000000000000000000000000000000000000000..4e9e1948a5db67ee93b4b382a82b8dc15dc317f4 GIT binary patch literal 24897 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 literal 0 HcmV?d00001 From 9f7ab56c5fb877dfd2f766e9b48a49131b1ac623 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 20 Mar 2018 21:54:00 +0800 Subject: [PATCH 097/288] Deleted Wrong diagrams --- docs/images/ImportCommandDiagram.png | Bin 19629 -> 0 bytes docs/images/ImportCommandFlowChartDiagram.png | Bin 22799 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/images/ImportCommandDiagram.png delete mode 100644 docs/images/ImportCommandFlowChartDiagram.png diff --git a/docs/images/ImportCommandDiagram.png b/docs/images/ImportCommandDiagram.png deleted file mode 100644 index a1d3c6709d88b53756890276b4c08b79733ec8e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19629 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

      F{fEsWSgW$T6F2n@jRfa54u{=Nwh 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 XqK^1)9s2@bIHtI-WuRH5?hyTdBZ85p From 0d74ffa04dd5e6e71e86e2ca04f851ec241ea900 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi Date: Tue, 20 Mar 2018 22:14:50 +0800 Subject: [PATCH 098/288] Updated the Screenshot --- README.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.adoc b/README.adoc index 435f94c1f8c0..47fd4bf51fda 100644 --- a/README.adoc +++ b/README.adoc @@ -7,11 +7,11 @@ https://coveralls.io/github/CS2103JAN2018-W14-B1/main?branch=master[image:https: https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]] ifdef::env-github[] -image::docs/images/Ui.png[width="600"] +image::docs/images/UI_modified.png[width="600"] endif::[] ifndef::env-github[] -image::images/Ui.png[width="600"] +image::images/UI_modified.png[width="600"] endif::[] __TeachConnect - The only management application you'll ever need __ From a4fbb7b7b5c997b8a21d0865cc241742e3117847 Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Tue, 20 Mar 2018 23:58:16 +0800 Subject: [PATCH 099/288] uploaded an edited ModelClassDiagram --- docs/images/EditedModelClassDiagram.png | Bin 0 -> 27470 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/images/EditedModelClassDiagram.png diff --git a/docs/images/EditedModelClassDiagram.png b/docs/images/EditedModelClassDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..ef05425f8c9bcac1fbb1813f19043140bd682717 GIT binary patch literal 27470 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 literal 0 HcmV?d00001 From 554f683144dfcb46819d56e8ea69c977fbc7775d Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Wed, 21 Mar 2018 01:52:06 +0800 Subject: [PATCH 100/288] Update DeveloperGuide.adoc --- docs/DeveloperGuide.adoc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 3ae28f1568c8..b385dbd3dede 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -519,6 +519,26 @@ teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ---- // end::export[] +// tag::studentmanagement[] +=== [Incomplete] Student Management +==== Current Implementation + +The student manangement allows the user of TeachConnect to manage a particular type of contact, a student. The user is capable of interacting with the student contact just like with any other contact, for example: adding, editing, deleting and so on. In addition, users will be able to form classes to group students of the same class together. An overview of the Model Class after implementation is shown below: + +image::EditedModelClassDiagram.png[align="center"] + +As shown above, `student` extends from `person`, giving `student` access to its constructor and getter methods for `name`, `phone`, `email`, `address` whereas only `student` will have access to `class`. + +==== Design Considerations +===== Aspects : Implementation of student + +* **Alternative 1 (current choice):** student extends person +** Pros: Allow students access to person methods while restricting person from accessing student methods. +** Cons: A seperate UniqueStudentList is required to store the student contacts. +* **Alternative 2:** only use a tag to show its a student +** Pros: Simpler to implement and tags are visible to user +** Cons: Requires every operation to check the tags. Tags can be removed. +// end::studentmanagement[] // tag::dataencryption[] === [Proposed] Data Encryption From 580ee1dad0a292049fa16f54b223bcc21e19c48a Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Wed, 21 Mar 2018 01:54:21 +0800 Subject: [PATCH 101/288] added class into diagram --- docs/images/EditedModelClassDiagram .png | Bin 0 -> 28533 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/images/EditedModelClassDiagram .png diff --git a/docs/images/EditedModelClassDiagram .png b/docs/images/EditedModelClassDiagram .png new file mode 100644 index 0000000000000000000000000000000000000000..99163ddff879c3b3e3e1ce6fac69bfa88ea1bb35 GIT binary patch literal 28533 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 LbyVIdS%mx#EhsYX literal 0 HcmV?d00001 From b41092acc697d5122c07882b59511cab51979d49 Mon Sep 17 00:00:00 2001 From: randypx Date: Wed, 21 Mar 2018 01:57:33 +0800 Subject: [PATCH 102/288] replaced image --- docs/images/EditedModelClassDiagram .png | Bin 28533 -> 0 bytes docs/images/EditedModelClassDiagram.png | Bin 27470 -> 28533 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/images/EditedModelClassDiagram .png diff --git a/docs/images/EditedModelClassDiagram .png b/docs/images/EditedModelClassDiagram .png deleted file mode 100644 index 99163ddff879c3b3e3e1ce6fac69bfa88ea1bb35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28533 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 LbyVIdS%mx#EhsYX diff --git a/docs/images/EditedModelClassDiagram.png b/docs/images/EditedModelClassDiagram.png index ef05425f8c9bcac1fbb1813f19043140bd682717..99163ddff879c3b3e3e1ce6fac69bfa88ea1bb35 100644 GIT binary patch delta 25604 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 delta 24426 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

      PIOqJ|R}`Igyl1Jmi8{ReI9oG{g4QwpLVJ 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 BDMbJP From 4a6afea274d9af3ebf3734e3c786bb37892c3937 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Wed, 21 Mar 2018 07:20:03 +0800 Subject: [PATCH 103/288] Add implementation of event management --- docs/DeveloperGuide.adoc | 47 +++++++++++++++++++++++-- docs/images/EventModelClassDiagram.png | Bin 0 -> 9405 bytes 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 docs/images/EventModelClassDiagram.png diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index b385dbd3dede..e30d6f8efdad 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -356,7 +356,7 @@ image::UndoRedoActivityDiagram.png[width="650"] ** Cons: Requires dealing with commands that have already been undone: We must remember to skip these commands. Violates Single Responsibility Principle and Separation of Concerns as `HistoryManager` now needs to do two * different things. // end::undoredo[] -=== Import Feature +=== Import Contacts ==== Current Implementation The ImportCommand uses `XmlAddressBookStorage` to generate a temporary `AddressBook` object from a given path. It takes in a String value path. The command then adds the contacts found in the temporary `AddressBook` object into the main address book object. Below is the rough idea of the constructor for the class: [source,java] @@ -404,7 +404,7 @@ public CommandResult executeUndoableCommand() throws CommandException { ** Cons: Complex implementation ther by giving rise to more bugs and slower response rate. // tag::export[] -=== Export mechanism +=== Export contacts The `ExportCommand` uses `XmlAddressBookStorage` class to generate a xml file based on a given range/index/tag and save it to the location specified with the chosen file name. It takes in String `name` String `range` Tag `tag` String `path`. The tag is not compulsory and can be excluded or included depending on the user. Below is the basic idea of the constructor for the class: @@ -541,6 +541,48 @@ As shown above, `student` extends from `person`, giving `student` access to its // end::studentmanagement[] // tag::dataencryption[] + +=== Event Management +==== Current Implementation +There are two types of events: an `Appointment` or a `Task`. +The model for event are shown below: + +image::EventModelClassDiagram.png[align="center"] + +`Appointment` consist of 4 variables: + +* Title: Hold description for the appointment +* Start Time: Hold the starting time of the appointment +* End time: Hold the end time of the appointment +* Person to meet: (optional) Hold the target in the appointment + +`Task` consist of 4 variables: + +* Title: Hold description for the task +* Time: Hold the time the task is expected to be finished + +*Commands supported for each event* + +* Set +* Remove +* Edit + +Similar to `UniquePersonList` and `UniqueTagList`, `UniqueEventList` is linked +to `AddressBook`. Request to change to the `AddressBook` model is signalled through `ModelManager`. + +==== Design Considerations +===== Aspects : Implementation of set event +* **Alternative 1 (current choice):** user can still set appointment/task with the starting time/deadline already elapsed. +** Pros: Might be useful if the users want to keep track of past events. +** Cons: Not the most intuitive implementation and might be prone to error from the user side. +* **Alternative 2:** user can only set an appointment/task with the starting time/deadline in the future +** Pros: Is the more intuitive approach and can prevent the user from keying in "redundant" events +** Cons: As TeachConnect fetches the current time from the user's system, if the user for some purposes set the system's time to deviate from world clock, some difficulty may arise when he/she wants to add new event. + +=== [Proposed] Changing GUI theme + +_{to be finished later}_ + === [Proposed] Data Encryption _{Explain here how the data encryption feature will be implemented}_ @@ -563,6 +605,7 @@ We are using `java.util.logging` package for logging. The `LogsCenter` class is * `FINE` : Details that is not usually noteworthy but may be useful in debugging e.g. print the actual list instead of just its size [[Implementation-Configuration]] + === Configuration Certain properties of the application can be controlled (e.g App name, logging level) through the configuration file (default: `config.json`). diff --git a/docs/images/EventModelClassDiagram.png b/docs/images/EventModelClassDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..592ff04eef1abff6911f59bdb610995a2367b88d GIT binary patch literal 9405 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 Date: Wed, 21 Mar 2018 10:05:11 +0800 Subject: [PATCH 104/288] Changed names for UI image --- README.adoc | 4 ++-- docs/images/UI_modified.png | Bin 269012 -> 0 bytes docs/images/Ui.png | Bin 86102 -> 269012 bytes 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 docs/images/UI_modified.png diff --git a/README.adoc b/README.adoc index 47fd4bf51fda..f30c4b8985b1 100644 --- a/README.adoc +++ b/README.adoc @@ -7,11 +7,11 @@ https://coveralls.io/github/CS2103JAN2018-W14-B1/main?branch=master[image:https: https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]] ifdef::env-github[] -image::docs/images/UI_modified.png[width="600"] +image::docs/images/Ui.png.png[width="600"] endif::[] ifndef::env-github[] -image::images/UI_modified.png[width="600"] +image::images/Ui.png[width="600"] endif::[] __TeachConnect - The only management application you'll ever need __ diff --git a/docs/images/UI_modified.png b/docs/images/UI_modified.png deleted file mode 100644 index 5e5eb3dbb4dbd850cef7b2e0e447fd7b3fb08d7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269012 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%0AVm&rX> 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⁢6OezvNXh(a|EbKGsax~H@7-!yBmwOd^|Fw@RIt> zYa@5kesiEh!w@FbhM;ebI+4;vcYQXMA zB7oM&MScm$Cq7s#f=ss@^!9)A(Y#s<`<8Z^gG(3`@|H|Dqb8N_`Gc;RW|`Kl@}}2^ z_&;MAG=dn%7N#GjCyY!T$iT{7)l<%^b`a%ixlwD@>-QT4avGsB_m72hD+b^rW_Sz} z9gMDg`FzlC6l;e&-~W{Pb4~-vrMrQmHha#0hhpD#n9W?yWw>HIuI!2VkjDNQ&2256 zW-eP#SVCv@n9|JZM{4#wkRb4V@y;Ss<;ljYbQUV|tqyTWRa5Yb@WGBRB1EcV5|XXB z^O0svag$%CS;HSTPu?9n$|vW`x9>(z7WA8zdp48CLJ zu6HX~)*=^QS7C7=yc6QzIodp@*~JK%Ud)*(N`KkXM-_jeMEhVM`e`SoxrwZPfKqgO zIx7ncIVbrEAVitFu(*?pr-d8nvrOJkiP7lp4C8%{zZ4BqY1(9kZosXDRwX3p*4(iY zacJymOcs9tk%|OSstYqxc;CmodYA*@Xb+36-Es-%zw{w_O6(j20AEQ}MLn0z6hzYg z``V019^(4^epX$jj6EM&%Q=sr4Ofjj;io*A=JJvjL%{ERUKfIjm&PeI&ODk$ZPmY& zo+CeJ%r}mwm+mmI{T}xoB|7*vaM(l+Qh0gmk5vtmsesdeG(g8H&kS73E*wC)4oB85 zxQ>OjI$rxL&iXPOEOHyadeT(ttcyJK^V(?qL%sJ_7l)Ti0}fWN4d5QP)d1prKH7}1BefaK2wSL`jMISo#f2YZv~9{3%!pC+HcMn< z5E3jJcioL73e|*bC5Lf4Alu0e0{C}-Ey9+h7qvXSI@*@M9QHibpKPleT(HIdT1HrO z|JWa6G_$yj!`P-a2b4r@OjP5=iKu)pbuZ-)8H|4}tCzuO^QRrV$q79FUAFMS`5iW% z6JXZz0}>h9Dy>%U>zh1@39cs;(RvKHO*bqt$v{mcmEf;@;j{Vqg2968f`^fWG!z~A zIwFZnQ$pt%b~*M>9&;)Ek!Ryy1AS+R2|mscb<~@Bke*Ej%y9N?4$Lq`gF^NsP=C`2 zNPV$TmZ~>qoqEFcagoSt>kl3*nWV;pnUK! z==yT|Rolg{`bm{K6)^1GAf5_nTd3CXA&_J zPK3%SOn;^j{EyUuUuv?L<_*hwHh&1w|NXMj2f*4k?tD`Crz8Hi`;=`UO8`xkHR@*k zC({S~XzlA@@Ye~qXPo~&vj1_b|Mv?<%fKukZ*CV|w*PPj%NQ9jDn)5^qyNJj`2S0w bf$R*rsH~QuEHcRr0$!?$ny_+t^U(hVKJDMT diff --git a/docs/images/Ui.png b/docs/images/Ui.png index 5ec9c527b49c5c32c294ad629a8ee895a33ce0c7..5e5eb3dbb4dbd850cef7b2e0e447fd7b3fb08d7c 100644 GIT binary patch literal 269012 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%0AVm&rX> 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⁢6OezvNXh(a|EbKGsax~H@7-!yBmwOd^|Fw@RIt> zYa@5kesiEh!w@FbhM;ebI+4;vcYQXMA zB7oM&MScm$Cq7s#f=ss@^!9)A(Y#s<`<8Z^gG(3`@|H|Dqb8N_`Gc;RW|`Kl@}}2^ z_&;MAG=dn%7N#GjCyY!T$iT{7)l<%^b`a%ixlwD@>-QT4avGsB_m72hD+b^rW_Sz} z9gMDg`FzlC6l;e&-~W{Pb4~-vrMrQmHha#0hhpD#n9W?yWw>HIuI!2VkjDNQ&2256 zW-eP#SVCv@n9|JZM{4#wkRb4V@y;Ss<;ljYbQUV|tqyTWRa5Yb@WGBRB1EcV5|XXB z^O0svag$%CS;HSTPu?9n$|vW`x9>(z7WA8zdp48CLJ zu6HX~)*=^QS7C7=yc6QzIodp@*~JK%Ud)*(N`KkXM-_jeMEhVM`e`SoxrwZPfKqgO zIx7ncIVbrEAVitFu(*?pr-d8nvrOJkiP7lp4C8%{zZ4BqY1(9kZosXDRwX3p*4(iY zacJymOcs9tk%|OSstYqxc;CmodYA*@Xb+36-Es-%zw{w_O6(j20AEQ}MLn0z6hzYg z``V019^(4^epX$jj6EM&%Q=sr4Ofjj;io*A=JJvjL%{ERUKfIjm&PeI&ODk$ZPmY& zo+CeJ%r}mwm+mmI{T}xoB|7*vaM(l+Qh0gmk5vtmsesdeG(g8H&kS73E*wC)4oB85 zxQ>OjI$rxL&iXPOEOHyadeT(ttcyJK^V(?qL%sJ_7l)Ti0}fWN4d5QP)d1prKH7}1BefaK2wSL`jMISo#f2YZv~9{3%!pC+HcMn< z5E3jJcioL73e|*bC5Lf4Alu0e0{C}-Ey9+h7qvXSI@*@M9QHibpKPleT(HIdT1HrO z|JWa6G_$yj!`P-a2b4r@OjP5=iKu)pbuZ-)8H|4}tCzuO^QRrV$q79FUAFMS`5iW% z6JXZz0}>h9Dy>%U>zh1@39cs;(RvKHO*bqt$v{mcmEf;@;j{Vqg2968f`^fWG!z~A zIwFZnQ$pt%b~*M>9&;)Ek!Ryy1AS+R2|mscb<~@Bke*Ej%y9N?4$Lq`gF^NsP=C`2 zNPV$TmZ~>qoqEFcagoSt>kl3*nWV;pnUK! z==yT|Rolg{`bm{K6)^1GAf5_nTd3CXA&_J zPK3%SOn;^j{EyUuUuv?L<_*hwHh&1w|NXMj2f*4k?tD`Crz8Hi`;=`UO8`xkHR@*k zC({S~XzlA@@Ye~qXPo~&vj1_b|Mv?<%fKukZ*CV|w*PPj%NQ9jDn)5^qyNJj`2S0w bf$R*rsH~QuEHcRr0$!?$ny_+t^U(hVKJDMT literal 86102 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 From 8b42bbd7654c217782e4fa472df80c190ed6e7f6 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Wed, 21 Mar 2018 10:08:41 +0800 Subject: [PATCH 105/288] fixed error --- README.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.adoc b/README.adoc index f30c4b8985b1..435f94c1f8c0 100644 --- a/README.adoc +++ b/README.adoc @@ -7,7 +7,7 @@ https://coveralls.io/github/CS2103JAN2018-W14-B1/main?branch=master[image:https: https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]] ifdef::env-github[] -image::docs/images/Ui.png.png[width="600"] +image::docs/images/Ui.png[width="600"] endif::[] ifndef::env-github[] From 837c754caab01b9cb56e91b1e961091a8da4ff4d Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Wed, 21 Mar 2018 11:05:32 +0800 Subject: [PATCH 106/288] fix tag in developer guide --- docs/DeveloperGuide.adoc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index e30d6f8efdad..94189db08951 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -540,7 +540,7 @@ As shown above, `student` extends from `person`, giving `student` access to its ** Cons: Requires every operation to check the tags. Tags can be removed. // end::studentmanagement[] -// tag::dataencryption[] +// tag::eventmanagement[] === Event Management ==== Current Implementation @@ -556,7 +556,7 @@ image::EventModelClassDiagram.png[align="center"] * End time: Hold the end time of the appointment * Person to meet: (optional) Hold the target in the appointment -`Task` consist of 4 variables: +`Task` consist of 2 variables: * Title: Hold description for the task * Time: Hold the time the task is expected to be finished @@ -575,14 +575,22 @@ to `AddressBook`. Request to change to the `AddressBook` model is signalled thro * **Alternative 1 (current choice):** user can still set appointment/task with the starting time/deadline already elapsed. ** Pros: Might be useful if the users want to keep track of past events. ** Cons: Not the most intuitive implementation and might be prone to error from the user side. -* **Alternative 2:** user can only set an appointment/task with the starting time/deadline in the future +* **Alternative 2:** user can only set appointment/task with the starting time/deadline in the future ** Pros: Is the more intuitive approach and can prevent the user from keying in "redundant" events -** Cons: As TeachConnect fetches the current time from the user's system, if the user for some purposes set the system's time to deviate from world clock, some difficulty may arise when he/she wants to add new event. +** Cons: As TeachConnect fetches the current time from the user's system, if the user for some purposes set the system's time to deviate from world clock, some difficulties may arise when he/she wants to add new event. + +// end::eventmanagement[] + +// tag::changingguitheme[] === [Proposed] Changing GUI theme +// end::changingguitheme[] + _{to be finished later}_ +// tag::dataencryption[] + === [Proposed] Data Encryption _{Explain here how the data encryption feature will be implemented}_ From 646e1b145ae200eba6522cd5f00718c8f3a2892c Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Wed, 21 Mar 2018 11:32:32 +0800 Subject: [PATCH 107/288] update UserGuide --- docs/UserGuide.adoc | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 58f1b3e4c0eb..065516204f80 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -136,13 +136,22 @@ Examples: * `set task t/Mark papers e/05-04-2018 10:00` + Sets a task which needs to be completed before April 5th, 2018, 10am. -=== Listing all contacts/tasks/appointments/students : `list` +=== Changing GUI theme : `theme` `[coming in v1.4]` + +Changes the theme of the GUI + +Format: ``theme THEME_NAME`` + +**** +* This changes the theme of the GUI to `THEME_NAME`. +**** + +=== Listing all contacts/tasks/appointments/students/themes : `list` Shows a list of all of the specified `TYPE`. + Format: `list TYPE`. **** -* `TYPE` can be of the following: `contacts`, `students`, `guardians`, `tasks`, `appointments`. +* `TYPE` can be of the following: `contacts`, `students`, `guardians`, `tasks`, `appointments`, `themes`. * `TYPE` cannot be empty. **** @@ -352,8 +361,6 @@ Exporting contacts : `export n/StudentsFile2 r/1,10 t/students p/./data` * Clear distinction between students and parents [coming in v1.3] * Finding not only by name but by any field [coming in v1.3] -* Adding events and Appointments [coming in v1.3] -* An All new customised UI [coming in v1.3] * Shortcuts and Autocompletion [coming in v1.4] * A login feature [coming in v1.5] * Dynamic search [coming in v2.0] @@ -380,17 +387,19 @@ e.g. `delete 3` e.g. `edit 2 n/James Lee e/jameslee@example.com` * *Find* : `find KEYWORD [MORE_KEYWORDS]` + e.g. `find James Jake` -* *List* : `list` +* *List* : `list TYPE` + +e.g. `list students`, `list tasks` * *Help* : `help` * *Select* : `select INDEX` + e.g.`select 2` -* *Add Appointment* `set appointment t/TITLE s/START_TIME e/END_TIME i/INDEX` + +* *Add Appointment* `set appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX` + e.g. `set appointment t/Meet parent s/05-04-2018 10:00 e/05-04-2018 11:00 i/3` -* *Add Task* `set task t/TITLE d/DEADLINE` + +* *Add Task* `set task t/TITLE e/END_DATE END_TIME` + e.g. `set task t/Mark papers d/05-04-2018 10:00` -* *List Schedule* : `list schedule` * *Delete Schedule* : `delete schedule INDEX` + e.g. `delete schedule 3` +* *Change GUI theme* : `theme THEME_NAME` + +e.g. `theme DARK` * *Import TeachConnect File* : `import` + e.g. `import ./data/samplefile.xml` * *Export* : `export n/NAME r/RANGE t/TAG p/PATH` + From cc41d238ab688ac4ab43bf115a7bfcdccaa2f04a Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Wed, 21 Mar 2018 11:36:52 +0800 Subject: [PATCH 108/288] fix userguide --- docs/UserGuide.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 065516204f80..b1278d21a8f8 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -139,7 +139,7 @@ Sets a task which needs to be completed before April 5th, 2018, 10am. === Changing GUI theme : `theme` `[coming in v1.4]` Changes the theme of the GUI + -Format: ``theme THEME_NAME`` +Format: `theme THEME_NAME` **** * This changes the theme of the GUI to `THEME_NAME`. @@ -151,7 +151,7 @@ Shows a list of all of the specified `TYPE`. + Format: `list TYPE`. **** -* `TYPE` can be of the following: `contacts`, `students`, `guardians`, `tasks`, `appointments`, `themes`. +* `TYPE` can be of the following: `contacts`, `students`, `guardians`, `tasks`, `appointments`. * `TYPE` cannot be empty. **** From f58b54b6252520c06fbbf9d1aa856918bacd15c8 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Wed, 21 Mar 2018 13:16:38 +0800 Subject: [PATCH 109/288] add Set Appointment Command --- .../logic/commands/SetAppointmentCommand.java | 63 +++++++++++++++++++ .../logic/parser/AddressBookParser.java | 4 ++ .../seedu/address/logic/parser/CliSyntax.java | 4 ++ .../address/logic/parser/ParserUtil.java | 46 ++++++++++++++ .../parser/SetAppointmentCommandParser.java | 60 ++++++++++++++++++ 5 files changed, 177 insertions(+) create mode 100644 src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java create mode 100644 src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java diff --git a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java new file mode 100644 index 000000000000..b78a4692b340 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java @@ -0,0 +1,63 @@ +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; +import static seedu.address.logic.parser.CliSyntax.PREFIX_END_TIME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_PERSON_TO_MEET_INDEX; +import static seedu.address.logic.parser.CliSyntax.PREFIX_START_TIME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TITLE; + +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.UniqueEventList; + +/** + * Adds an appointment to the address book. + */ +public class SetAppointmentCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "set appointment"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds an appointment to the address book. " + + "Parameters: " + + PREFIX_TITLE + "TITLE " + + PREFIX_START_TIME + "START TIME " + + PREFIX_END_TIME + "END TIME " + + PREFIX_PERSON_TO_MEET_INDEX + "PERSON TO MEET " + + "Example: " + COMMAND_WORD + " " + + PREFIX_TITLE + "Meet James " + + PREFIX_START_TIME + "20/05/2018 10:00 " + + PREFIX_END_TIME + "20/05/2018 12:00 " + + PREFIX_PERSON_TO_MEET_INDEX + "3 "; + + public static final String MESSAGE_SUCCESS = "New appointment added: %1$s"; + public static final String MESSAGE_DUPLICATE_APPOINTMENT = "This appointment already exists in the address book"; + + private final Appointment toAdd; + + /** + * Creates a SetAppointmentCommand to add the specified {@code Appointment} + */ + public SetAppointmentCommand(Appointment appointment) { + requireNonNull(appointment); + toAdd = appointment; + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + requireNonNull(model); + try { + model.addEvent(toAdd); + return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); + } catch (UniqueEventList.DuplicateEventException e) { + throw new CommandException(MESSAGE_DUPLICATE_APPOINTMENT); + } + + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof SetAppointmentCommand // instanceof handles nulls + && toAdd.equals(((SetAppointmentCommand) other).toAdd)); + } +} diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index b7d57f5db86a..e14cf0decaa3 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -18,6 +18,7 @@ import seedu.address.logic.commands.ListCommand; import seedu.address.logic.commands.RedoCommand; import seedu.address.logic.commands.SelectCommand; +import seedu.address.logic.commands.SetAppointmentCommand; import seedu.address.logic.commands.UndoCommand; import seedu.address.logic.parser.exceptions.ParseException; @@ -84,6 +85,9 @@ public Command parseCommand(String userInput) throws ParseException { case RedoCommand.COMMAND_WORD: return new RedoCommand(); + case SetAppointmentCommand.COMMAND_WORD: + return new SetAppointmentCommandParser().parse(arguments); + default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } diff --git a/src/main/java/seedu/address/logic/parser/CliSyntax.java b/src/main/java/seedu/address/logic/parser/CliSyntax.java index 75b1a9bf1190..ed24b5fc477f 100644 --- a/src/main/java/seedu/address/logic/parser/CliSyntax.java +++ b/src/main/java/seedu/address/logic/parser/CliSyntax.java @@ -11,5 +11,9 @@ public class CliSyntax { public static final Prefix PREFIX_EMAIL = new Prefix("e/"); public static final Prefix PREFIX_ADDRESS = new Prefix("a/"); public static final Prefix PREFIX_TAG = new Prefix("t/"); + public static final Prefix PREFIX_TITLE = new Prefix("t/"); + public static final Prefix PREFIX_START_TIME = new Prefix("s/"); + public static final Prefix PREFIX_END_TIME = new Prefix("e/"); + public static final Prefix PREFIX_PERSON_TO_MEET_INDEX = new Prefix("i/"); } diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index bc24d3e77003..a11835f77adb 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -10,6 +10,8 @@ import seedu.address.commons.core.index.Index; import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.commons.util.StringUtil; +import seedu.address.model.event.EventTime; +import seedu.address.model.event.Title; import seedu.address.model.person.Address; import seedu.address.model.person.Email; import seedu.address.model.person.Name; @@ -139,6 +141,50 @@ public static Optional parseEmail(Optional email) throws IllegalV return email.isPresent() ? Optional.of(parseEmail(email.get())) : Optional.empty(); } + //@@author Sisyphus25 + /** + * Parses a {@code Optional title} into an {@code Optional} if {@code title} is present. + * See header comment of this class regarding the use of {@code Optional} parameters. + */ + public static Optional<Title> parseTitle(Optional<String> title) throws IllegalValueException { + requireNonNull(title); + return title.isPresent() ? Optional.of(parseTitle(title.get())) : Optional.empty(); + } + + /** + * Parses a {@code String title} into a {@code Title}. + * Leading and trailing whitespaces will be trimmed. + * + * @throws IllegalValueException if the given {@code title} is invalid. + */ + public static Title parseTitle(String title) throws IllegalValueException { + requireNonNull(title); + String trimmedTitle = title.trim(); + if (!Title.isValidTitle(trimmedTitle)) { + throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); + } + return new Title(trimmedTitle); + } + + /** + * Parses a {@code Optional<String> eventTime} into an {@code Optional<EventTime>} if {@code eventTime} is present. + * See header comment of this class regarding the use of {@code Optional} parameters. + */ + public static Optional<EventTime> parseEventTime(Optional<String> eventTime) throws IllegalValueException { + requireNonNull(eventTime); + return eventTime.isPresent() ? Optional.of(parseEventTime(eventTime.get())) : Optional.empty(); + } + + /** + * Parses a {@code String eventTime} into a {@code EventTime}. + * Leading and trailing whitespaces will be trimmed. + */ + public static EventTime parseEventTime(String eventTime) { + requireNonNull(eventTime); + String trimmedEventTime = eventTime.trim(); + return new EventTime(trimmedEventTime); + } + /** * Parses a {@code String tag} into a {@code Tag}. * Leading and trailing whitespaces will be trimmed. diff --git a/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java b/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java new file mode 100644 index 000000000000..7c531b1bffe0 --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java @@ -0,0 +1,60 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_END_TIME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_PERSON_TO_MEET_INDEX; +import static seedu.address.logic.parser.CliSyntax.PREFIX_START_TIME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TITLE; + +import java.util.stream.Stream; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.logic.commands.SetAppointmentCommand; +import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.EventTime; +import seedu.address.model.event.Title; + +/** + * Parses input arguments and creates a new SetAppointmentCommand object + */ +public class SetAppointmentCommandParser implements Parser<SetAppointmentCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the SetAppointmentCommand + * and returns a SetAppointmentCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public SetAppointmentCommand parse(String args) throws ParseException { + ArgumentMultimap argMultimap = + ArgumentTokenizer.tokenize(args, PREFIX_TITLE, PREFIX_START_TIME, + PREFIX_END_TIME, PREFIX_PERSON_TO_MEET_INDEX); + + if (!arePrefixesPresent(argMultimap, PREFIX_TITLE, PREFIX_START_TIME, PREFIX_END_TIME) + || !argMultimap.getPreamble().isEmpty()) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + SetAppointmentCommand.MESSAGE_USAGE)); + } + + try { + Title title = ParserUtil.parseTitle(argMultimap.getValue(PREFIX_TITLE)).get(); + EventTime startTime = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_START_TIME)).get(); + EventTime endTime = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_END_TIME)).get(); + + Appointment appointment = new Appointment(title, startTime, endTime); + + return new SetAppointmentCommand(appointment); + } catch (IllegalValueException ive) { + throw new ParseException(ive.getMessage(), ive); + } + } + + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } + +} From b2e9f6a062b88428d0c358e900a3f7e7858f3dc5 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 15 Mar 2018 15:03:28 +0800 Subject: [PATCH 110/288] More JUnit Test (cherry picked from commit 42ff40b) --- .../java/seedu/address/model/event/EventTime.java | 4 ++-- .../seedu/address/model/event/EventTimeTest.java | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/address/model/event/EventTime.java b/src/main/java/seedu/address/model/event/EventTime.java index 842900eee5ca..a5b0538c7610 100644 --- a/src/main/java/seedu/address/model/event/EventTime.java +++ b/src/main/java/seedu/address/model/event/EventTime.java @@ -38,10 +38,10 @@ public EventTime(String timeStamp) { /** * Returns true if the given time has already passed the current time */ - public static boolean isExpired(Calendar time) { + public static boolean isExpired(EventTime time) { Calendar currentTime = Calendar.getInstance(); currentTime.setTime(new Date()); - return time.after(currentTime); + return time.value.after(currentTime); } @Override diff --git a/src/test/java/seedu/address/model/event/EventTimeTest.java b/src/test/java/seedu/address/model/event/EventTimeTest.java index 0b83b3b5d71b..45f412c5e316 100644 --- a/src/test/java/seedu/address/model/event/EventTimeTest.java +++ b/src/test/java/seedu/address/model/event/EventTimeTest.java @@ -1,5 +1,8 @@ package seedu.address.model.event; +import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertFalse; + import org.junit.Test; import seedu.address.testutil.Assert; @@ -18,5 +21,14 @@ public void constructor_invalid_throwsIllegalArgumentException() { Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("May 17 2018 10:00")); Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("17-05-2019 10:00")); } + + @Test + public void isExpired() { + assertFalse(EventTime.isExpired(new EventTime("10/10/2017 10:00"))); + assertFalse(EventTime.isExpired(new EventTime("09/01/2018 10:00"))); + + assertTrue(EventTime.isExpired(new EventTime("10/10/2019 10:00"))); + assertTrue(EventTime.isExpired(new EventTime("09/01/2019 10:00"))); + } } From cb5adc333cd68235e0cdfd5f5fad768a3e11d345 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 21 Mar 2018 03:53:17 +0800 Subject: [PATCH 111/288] Modify test (cherry picked from commit a8133f7) --- .../java/seedu/address/storage/XmlAddressBookStorageTest.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java b/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java index 1bf3765cfba9..8f64cab733ce 100644 --- a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java +++ b/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java @@ -18,6 +18,7 @@ import seedu.address.commons.util.FileUtil; import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.testutil.TypicalEvents; public class XmlAddressBookStorageTest { private static final String TEST_DATA_FOLDER = FileUtil.getPath("./src/test/data/XmlAddressBookStorageTest/"); @@ -74,6 +75,7 @@ public void readAddressBook_invalidAndValidPersonAddressBook_throwDataConversion @Test public void readAndSaveAddressBook_allInOrder_success() throws Exception { + TypicalEvents typicalEvents = new TypicalEvents(); String filePath = testFolder.getRoot().getPath() + "TempAddressBook.xml"; AddressBook original = getTypicalAddressBook(); XmlAddressBookStorage xmlAddressBookStorage = new XmlAddressBookStorage(filePath); @@ -86,12 +88,14 @@ public void readAndSaveAddressBook_allInOrder_success() throws Exception { //Modify data, overwrite exiting file, and read back original.addPerson(HOON); original.removePerson(ALICE); + original.addEvent(typicalEvents.typicalAppointment1); xmlAddressBookStorage.saveAddressBook(original, filePath); readBack = xmlAddressBookStorage.readAddressBook(filePath).get(); assertEquals(original, new AddressBook(readBack)); //Save and read without specifying file path original.addPerson(IDA); + original.addEvent(typicalEvents.typicalTask1); xmlAddressBookStorage.saveAddressBook(original); //file path not specified readBack = xmlAddressBookStorage.readAddressBook().get(); //file path not specified assertEquals(original, new AddressBook(readBack)); From 3f75d168769009b83ac5b6565616c81d71ca5b54 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 21 Mar 2018 04:46:37 +0800 Subject: [PATCH 112/288] Fix testing error (cherry picked from commit 4b9e739) --- .../java/seedu/address/model/AddressBookTest.java | 7 +++---- .../address/storage/XmlAddressBookStorageTest.java | 8 ++++---- .../java/seedu/address/testutil/TypicalEvents.java | 11 +++++------ 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 667478818530..7650a656134a 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -4,6 +4,8 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_NOTUSED; +import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_1; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_1; import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.AMY; import static seedu.address.testutil.TypicalPersons.BOB; @@ -28,7 +30,6 @@ import seedu.address.model.tag.Tag; import seedu.address.testutil.AddressBookBuilder; import seedu.address.testutil.PersonBuilder; -import seedu.address.testutil.TypicalEvents; public class AddressBookTest { @Rule @@ -59,12 +60,10 @@ public void resetData_withValidReadOnlyAddressBook_replacesData() { @Test public void resetData_withDuplicatePersons_throwsAssertionError() { - TypicalEvents typicalEvents = new TypicalEvents(); - // Repeat ALICE twice List<Person> newPersons = Arrays.asList(ALICE, ALICE); List<Tag> newTags = new ArrayList<>(ALICE.getTags()); - List<Event> newEvents = Arrays.asList(typicalEvents.typicalAppointment1, typicalEvents.typicalTask1); + List<Event> newEvents = Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_TASK_1); AddressBookStub newData = new AddressBookStub(newPersons, newTags, newEvents); thrown.expect(AssertionError.class); diff --git a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java b/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java index 8f64cab733ce..087d9bee90f3 100644 --- a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java +++ b/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java @@ -2,6 +2,8 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_1; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_1; import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.HOON; import static seedu.address.testutil.TypicalPersons.IDA; @@ -18,7 +20,6 @@ import seedu.address.commons.util.FileUtil; import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.testutil.TypicalEvents; public class XmlAddressBookStorageTest { private static final String TEST_DATA_FOLDER = FileUtil.getPath("./src/test/data/XmlAddressBookStorageTest/"); @@ -75,7 +76,6 @@ public void readAddressBook_invalidAndValidPersonAddressBook_throwDataConversion @Test public void readAndSaveAddressBook_allInOrder_success() throws Exception { - TypicalEvents typicalEvents = new TypicalEvents(); String filePath = testFolder.getRoot().getPath() + "TempAddressBook.xml"; AddressBook original = getTypicalAddressBook(); XmlAddressBookStorage xmlAddressBookStorage = new XmlAddressBookStorage(filePath); @@ -88,14 +88,14 @@ public void readAndSaveAddressBook_allInOrder_success() throws Exception { //Modify data, overwrite exiting file, and read back original.addPerson(HOON); original.removePerson(ALICE); - original.addEvent(typicalEvents.typicalAppointment1); + original.addEvent(TYPICAL_APPOINTMENT_1); xmlAddressBookStorage.saveAddressBook(original, filePath); readBack = xmlAddressBookStorage.readAddressBook(filePath).get(); assertEquals(original, new AddressBook(readBack)); //Save and read without specifying file path original.addPerson(IDA); - original.addEvent(typicalEvents.typicalTask1); + original.addEvent(TYPICAL_TASK_1); xmlAddressBookStorage.saveAddressBook(original); //file path not specified readBack = xmlAddressBookStorage.readAddressBook().get(); //file path not specified assertEquals(original, new AddressBook(readBack)); diff --git a/src/test/java/seedu/address/testutil/TypicalEvents.java b/src/test/java/seedu/address/testutil/TypicalEvents.java index 51aad52b1142..af747f164250 100644 --- a/src/test/java/seedu/address/testutil/TypicalEvents.java +++ b/src/test/java/seedu/address/testutil/TypicalEvents.java @@ -7,14 +7,13 @@ /** * A utility class containing a list of {@code Event} objects to be used in tests. */ +//@@author Sisyphus25 public class TypicalEvents { - public final Event typicalAppointment1; - public final Event typicalTask1; + public static final Event TYPICAL_APPOINTMENT_1 = + new EventBuilder("Meet student", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build();; + public static final Event TYPICAL_TASK_1 = + new EventBuilder("To do", "10/10/2018 10:00").build(); public TypicalEvents() { - typicalAppointment1 = - new EventBuilder("Meet student", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build(); - typicalTask1 = - new EventBuilder("To do", "10/10/2018 10:00").build(); } } From 5cc015c8c48c6563d5abd638f19130f5e9cde341 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 21 Mar 2018 05:02:53 +0800 Subject: [PATCH 113/288] Fix Test (cherry picked from commit e647b0a) --- src/test/java/seedu/address/testutil/TypicalEvents.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/test/java/seedu/address/testutil/TypicalEvents.java b/src/test/java/seedu/address/testutil/TypicalEvents.java index af747f164250..1e210ebe05f4 100644 --- a/src/test/java/seedu/address/testutil/TypicalEvents.java +++ b/src/test/java/seedu/address/testutil/TypicalEvents.java @@ -13,7 +13,4 @@ public class TypicalEvents { new EventBuilder("Meet student", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build();; public static final Event TYPICAL_TASK_1 = new EventBuilder("To do", "10/10/2018 10:00").build(); - - public TypicalEvents() { - } } From 9a82896f98f36125a6d22d95de4f84471fabc659 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 21 Mar 2018 13:55:32 +0800 Subject: [PATCH 114/288] Add JUnit Test --- .../commands/SetAppointmentCommandTest.java | 197 ++++++++++++++++++ .../seedu/address/testutil/TypicalEvents.java | 3 + 2 files changed, 200 insertions(+) create mode 100644 src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java diff --git a/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java b/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java new file mode 100644 index 000000000000..ad2f158fa261 --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java @@ -0,0 +1,197 @@ +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_1; +import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_2; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.function.Predicate; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import javafx.collections.ObservableList; +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.AddressBook; +import seedu.address.model.Model; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.Event; +import seedu.address.model.event.UniqueEventList; +import seedu.address.model.person.Person; +import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.tag.Tag; + +public class SetAppointmentCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void constructor_nullAppointment_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new SetAppointmentCommand(null); + } + + @Test + public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception { + ModelStubAcceptingEventAdded modelStub = new ModelStubAcceptingEventAdded(); + + CommandResult commandResult = getSetAppointmentCommand( + (Appointment) TYPICAL_APPOINTMENT_1, modelStub).execute(); + + assertEquals(String.format(SetAppointmentCommand.MESSAGE_SUCCESS, TYPICAL_APPOINTMENT_1), commandResult.feedbackToUser); + assertEquals(Arrays.asList(TYPICAL_APPOINTMENT_1), modelStub.eventsAdded); + } + + @Test + public void execute_duplicateEvent_throwsCommandException() throws Exception { + ModelStub modelStub = new ModelStubThrowingDuplicateEventException(); + + thrown.expect(CommandException.class); + thrown.expectMessage(SetAppointmentCommand.MESSAGE_DUPLICATE_APPOINTMENT); + + getSetAppointmentCommand((Appointment) TYPICAL_APPOINTMENT_1, modelStub).execute(); + } + + @Test + public void equals() { + SetAppointmentCommand addAppointment1 = + new SetAppointmentCommand((Appointment) TYPICAL_APPOINTMENT_1); + SetAppointmentCommand addAppointment2 = + new SetAppointmentCommand((Appointment) TYPICAL_APPOINTMENT_2); + + // same object -> returns true + assertTrue(addAppointment1.equals(addAppointment1)); + + // same values -> returns true + SetAppointmentCommand addAppointment1Copy = + new SetAppointmentCommand((Appointment) TYPICAL_APPOINTMENT_1); + assertTrue(addAppointment1.equals(addAppointment1Copy)); + + // different types -> returns false + assertFalse(addAppointment1.equals(1)); + + // null -> returns false + assertFalse(addAppointment1.equals(null)); + + // different appointments -> returns false + assertFalse(addAppointment1.equals(addAppointment2)); + } + + /** + * Generates a new SetAppointmentCommand with the details of the given appointment. + */ + private SetAppointmentCommand getSetAppointmentCommand(Appointment appointment, Model model) { + SetAppointmentCommand command = new SetAppointmentCommand(appointment); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } + + /** + * A default model stub that have all of the methods failing. + */ + private class ModelStub implements Model { + @Override + public void addPerson(Person person) throws DuplicatePersonException { + fail("This method should not be called."); + } + + @Override + public void resetData(ReadOnlyAddressBook newData) { + fail("This method should not be called."); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + fail("This method should not be called."); + return null; + } + + @Override + public void deletePerson(Person target) throws PersonNotFoundException { + fail("This method should not be called."); + } + + @Override + public void updatePerson(Person target, Person editedPerson) + throws DuplicatePersonException { + fail("This method should not be called."); + } + + @Override + public ObservableList<Person> getFilteredPersonList() { + fail("This method should not be called."); + return null; + } + + @Override + public void updateFilteredPersonList(Predicate<Person> predicate) { + fail("This method should not be called."); + } + + @Override + public void deleteTag(Tag tag) { + fail("This method should not be called."); + } + + @Override + public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { + fail("This method should not be called."); + }; + + @Override + public void deleteEvent(Event event) throws UniqueEventList.EventNotFoundException { + fail("This method should not be called."); + }; + + @Override + public void updateEvent(Event target, Event editedEvent) + throws UniqueEventList.DuplicateEventException, UniqueEventList.EventNotFoundException { + fail("This method should not be called."); + }; + } + + /** + * A Model stub that always throw a DuplicateEventException when trying to add an appointment. + */ + private class ModelStubThrowingDuplicateEventException extends ModelStub { + @Override + public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { + throw new UniqueEventList.DuplicateEventException(); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } + } + + /** + * A Model stub that always accept the event being added. + */ + private class ModelStubAcceptingEventAdded extends ModelStub { + final ArrayList<Event> eventsAdded = new ArrayList<>(); + + @Override + public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { + requireNonNull(event); + eventsAdded.add(event); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } + } + +} diff --git a/src/test/java/seedu/address/testutil/TypicalEvents.java b/src/test/java/seedu/address/testutil/TypicalEvents.java index 1e210ebe05f4..a68946cbb568 100644 --- a/src/test/java/seedu/address/testutil/TypicalEvents.java +++ b/src/test/java/seedu/address/testutil/TypicalEvents.java @@ -1,6 +1,7 @@ package seedu.address.testutil; import static seedu.address.testutil.TypicalPersons.ALICE; +import static seedu.address.testutil.TypicalPersons.BOB; import seedu.address.model.event.Event; @@ -11,6 +12,8 @@ public class TypicalEvents { public static final Event TYPICAL_APPOINTMENT_1 = new EventBuilder("Meet student", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build();; + public static final Event TYPICAL_APPOINTMENT_2 = + new EventBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build();; public static final Event TYPICAL_TASK_1 = new EventBuilder("To do", "10/10/2018 10:00").build(); } From 694c2754d21df7e0ff65958acb7e8f9d49f40c4f Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 21 Mar 2018 14:33:12 +0800 Subject: [PATCH 115/288] Fix Test --- src/main/java/seedu/address/storage/XmlAdaptedAppointment.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java b/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java index 17189c1d62ce..8a7ba592d8e5 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java @@ -80,7 +80,7 @@ public Appointment toModelType() throws IllegalValueException { } final EventTime startTime = new EventTime(this.startTime); - final EventTime endTime = new EventTime(this.startTime); + final EventTime endTime = new EventTime(this.endTime); if (!Appointment.isValidTime(startTime, endTime)) { throw new IllegalValueException(Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS); From 5b52b3a5e2eafdf96d8510590d7c9716b961cb7b Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 22 Mar 2018 00:09:59 +0800 Subject: [PATCH 116/288] More test --- .../events/model/AddressBookChangedEvent.java | 2 +- .../logic/commands/SetAppointmentCommand.java | 2 +- .../address/logic/parser/ParserUtil.java | 4 +- .../parser/SetAppointmentCommandParser.java | 2 +- .../address/model/event/Appointment.java | 3 +- .../logic/commands/CommandTestUtil.java | 14 +++ .../address/logic/parser/ParserUtilTest.java | 49 ++++++++ .../SetAppointmentCommandParserTest.java | 112 ++++++++++++++++++ .../seedu/address/testutil/EventBuilder.java | 4 + 9 files changed, 185 insertions(+), 7 deletions(-) create mode 100644 src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java diff --git a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java b/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java index 7db9b5c48ed6..dc9e878ebf5c 100644 --- a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java +++ b/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java @@ -14,6 +14,6 @@ public AddressBookChangedEvent(ReadOnlyAddressBook data) { @Override public String toString() { - return "number of persons " + data.getPersonList().size() + ", number of tags " + data.getTagList().size(); + return "number of persons " + data.getPersonList().size() + ", number of tags " + data.getTagList().size() + ", number of events " + data.getEventList().size(); } } diff --git a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java index b78a4692b340..feaf49601408 100644 --- a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java @@ -15,7 +15,7 @@ */ public class SetAppointmentCommand extends UndoableCommand { - public static final String COMMAND_WORD = "set appointment"; + public static final String COMMAND_WORD = "set_appointment"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds an appointment to the address book. " + "Parameters: " diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index a11835f77adb..e75bb2bdb178 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -170,7 +170,7 @@ public static Title parseTitle(String title) throws IllegalValueException { * Parses a {@code Optional<String> eventTime} into an {@code Optional<EventTime>} if {@code eventTime} is present. * See header comment of this class regarding the use of {@code Optional} parameters. */ - public static Optional<EventTime> parseEventTime(Optional<String> eventTime) throws IllegalValueException { + public static Optional<EventTime> parseEventTime(Optional<String> eventTime) throws IllegalArgumentException { requireNonNull(eventTime); return eventTime.isPresent() ? Optional.of(parseEventTime(eventTime.get())) : Optional.empty(); } @@ -179,7 +179,7 @@ public static Optional<EventTime> parseEventTime(Optional<String> eventTime) thr * Parses a {@code String eventTime} into a {@code EventTime}. * Leading and trailing whitespaces will be trimmed. */ - public static EventTime parseEventTime(String eventTime) { + public static EventTime parseEventTime(String eventTime) throws IllegalArgumentException { requireNonNull(eventTime); String trimmedEventTime = eventTime.trim(); return new EventTime(trimmedEventTime); diff --git a/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java b/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java index 7c531b1bffe0..3f45675efc82 100644 --- a/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java @@ -44,7 +44,7 @@ public SetAppointmentCommand parse(String args) throws ParseException { Appointment appointment = new Appointment(title, startTime, endTime); return new SetAppointmentCommand(appointment); - } catch (IllegalValueException ive) { + } catch (IllegalValueException | IllegalArgumentException ive) { throw new ParseException(ive.getMessage(), ive); } } diff --git a/src/main/java/seedu/address/model/event/Appointment.java b/src/main/java/seedu/address/model/event/Appointment.java index 8b369fcf21cf..29a25577ba43 100644 --- a/src/main/java/seedu/address/model/event/Appointment.java +++ b/src/main/java/seedu/address/model/event/Appointment.java @@ -61,8 +61,7 @@ public boolean equals(Object other) { Appointment otherAppointment = (Appointment) other; return otherAppointment.getTitle().equals(this.getTitle()) && otherAppointment.getTime().equals(this.getTime()) - && otherAppointment.getEndTime().equals(this.getEndTime()) - && otherAppointment.getPersonToMeet().equals(this.getPersonToMeet()); + && otherAppointment.getEndTime().equals(this.getEndTime()); } /** diff --git a/src/test/java/seedu/address/logic/commands/CommandTestUtil.java b/src/test/java/seedu/address/logic/commands/CommandTestUtil.java index 99b6457473cc..acaf7f642439 100644 --- a/src/test/java/seedu/address/logic/commands/CommandTestUtil.java +++ b/src/test/java/seedu/address/logic/commands/CommandTestUtil.java @@ -5,9 +5,12 @@ import static org.junit.Assert.fail; import static seedu.address.logic.parser.CliSyntax.PREFIX_ADDRESS; import static seedu.address.logic.parser.CliSyntax.PREFIX_EMAIL; +import static seedu.address.logic.parser.CliSyntax.PREFIX_END_TIME; import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; import static seedu.address.logic.parser.CliSyntax.PREFIX_PHONE; +import static seedu.address.logic.parser.CliSyntax.PREFIX_START_TIME; import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TITLE; import java.util.ArrayList; import java.util.Arrays; @@ -40,6 +43,9 @@ public class CommandTestUtil { public static final String VALID_TAG_HUSBAND = "husband"; public static final String VALID_TAG_FRIEND = "friend"; public static final String VALID_TAG_NOTUSED = "notused"; + public static final String VALID_TITLE = "Consultation"; + public static final String VALID_START_TIME = "10/10/2018 10:00"; + public static final String VALID_END_TIME = "10/10/2018 12:00"; public static final String NAME_DESC_AMY = " " + PREFIX_NAME + VALID_NAME_AMY; public static final String NAME_DESC_BOB = " " + PREFIX_NAME + VALID_NAME_BOB; @@ -58,6 +64,14 @@ public class CommandTestUtil { public static final String INVALID_ADDRESS_DESC = " " + PREFIX_ADDRESS; // empty string not allowed for addresses public static final String INVALID_TAG_DESC = " " + PREFIX_TAG + "hubby*"; // '*' not allowed in tags + public static final String TITLE_DESC = " " + PREFIX_TITLE + VALID_TITLE; + public static final String START_TIME_DESC = " " + PREFIX_START_TIME + VALID_START_TIME; + public static final String END_TIME_DESC = " " + PREFIX_END_TIME + VALID_END_TIME; + + public static final String INVALID_TITLE_DESC = " " + PREFIX_TITLE + " "; // spaces only + public static final String INVALID_START_TIME_DESC = " " + PREFIX_START_TIME + "911afddf"; // not a time stamp + public static final String INVALID_END_TIME_DESC = " " + PREFIX_END_TIME + "May 20, 2018 10am"; // not in correct format + public static final String PREAMBLE_WHITESPACE = "\t \r \n"; public static final String PREAMBLE_NON_EMPTY = "NonEmptyPreamble"; diff --git a/src/test/java/seedu/address/logic/parser/ParserUtilTest.java b/src/test/java/seedu/address/logic/parser/ParserUtilTest.java index 54516c1c5e95..e6c0b4d39731 100644 --- a/src/test/java/seedu/address/logic/parser/ParserUtilTest.java +++ b/src/test/java/seedu/address/logic/parser/ParserUtilTest.java @@ -18,6 +18,8 @@ import org.junit.rules.ExpectedException; import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.event.EventTime; +import seedu.address.model.event.Title; import seedu.address.model.person.Address; import seedu.address.model.person.Email; import seedu.address.model.person.Name; @@ -78,11 +80,58 @@ public void parseName_invalidValue_throwsIllegalValueException() { Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseName(Optional.of(INVALID_NAME))); } + @Test public void parseName_optionalEmpty_returnsOptionalEmpty() throws Exception { assertFalse(ParserUtil.parseName(Optional.empty()).isPresent()); } + //@@author Sisyphus25 + @Test + public void parseTitle_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseTitle((String) null)); + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseTitle((Optional<String>) null)); + } + + @Test + public void parseTitle_invalidValue_throwsIllegalValueException() { + Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseTitle(" ")); + Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseTitle(Optional.of(" "))); + } + + @Test + public void parseTitle_optionalEmpty_returnsOptionalEmpty() throws Exception { + assertFalse(ParserUtil.parseTitle(Optional.empty()).isPresent()); + } + + @Test + public void parseTitle_validValue_returnsTitle() throws Exception { + String validTitle = "Hanging out"; + Title expectedTitle = new Title(validTitle); + assertEquals(expectedTitle, ParserUtil.parseTitle(validTitle)); + assertEquals(Optional.of(expectedTitle), ParserUtil.parseTitle(Optional.of(validTitle))); + } + + @Test + public void parseEventTime_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseEventTime((String) null)); + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseEventTime((Optional<String>) null)); + } + + @Test + public void parseEventTime_optionalEmpty_returnsOptionalEmpty() throws Exception { + assertFalse(ParserUtil.parseEventTime(Optional.empty()).isPresent()); + } + + @Test + public void parseEventTime_validValue_returnsEventTime() throws Exception { + String validTime = "20/10/2018 10:00"; + EventTime expectedEventTime = new EventTime(validTime); + assertEquals(expectedEventTime, ParserUtil.parseEventTime(validTime)); + assertEquals(Optional.of(expectedEventTime), ParserUtil.parseEventTime(Optional.of(validTime))); + } + + //@@author @Test public void parseName_validValueWithoutWhitespace_returnsName() throws Exception { Name expectedName = new Name(VALID_NAME); diff --git a/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java b/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java new file mode 100644 index 000000000000..57cc5557ebe7 --- /dev/null +++ b/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java @@ -0,0 +1,112 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.commands.CommandTestUtil.ADDRESS_DESC_AMY; +import static seedu.address.logic.commands.CommandTestUtil.ADDRESS_DESC_BOB; +import static seedu.address.logic.commands.CommandTestUtil.EMAIL_DESC_AMY; +import static seedu.address.logic.commands.CommandTestUtil.EMAIL_DESC_BOB; +import static seedu.address.logic.commands.CommandTestUtil.END_TIME_DESC; +import static seedu.address.logic.commands.CommandTestUtil.INVALID_ADDRESS_DESC; +import static seedu.address.logic.commands.CommandTestUtil.INVALID_EMAIL_DESC; +import static seedu.address.logic.commands.CommandTestUtil.INVALID_END_TIME_DESC; +import static seedu.address.logic.commands.CommandTestUtil.INVALID_NAME_DESC; +import static seedu.address.logic.commands.CommandTestUtil.INVALID_PHONE_DESC; +import static seedu.address.logic.commands.CommandTestUtil.INVALID_START_TIME_DESC; +import static seedu.address.logic.commands.CommandTestUtil.INVALID_TAG_DESC; +import static seedu.address.logic.commands.CommandTestUtil.INVALID_TITLE_DESC; +import static seedu.address.logic.commands.CommandTestUtil.INVALID_TITLE_DESC; +import static seedu.address.logic.commands.CommandTestUtil.NAME_DESC_AMY; +import static seedu.address.logic.commands.CommandTestUtil.NAME_DESC_BOB; +import static seedu.address.logic.commands.CommandTestUtil.PHONE_DESC_AMY; +import static seedu.address.logic.commands.CommandTestUtil.PHONE_DESC_BOB; +import static seedu.address.logic.commands.CommandTestUtil.PREAMBLE_NON_EMPTY; +import static seedu.address.logic.commands.CommandTestUtil.PREAMBLE_WHITESPACE; +import static seedu.address.logic.commands.CommandTestUtil.START_TIME_DESC; +import static seedu.address.logic.commands.CommandTestUtil.TAG_DESC_FRIEND; +import static seedu.address.logic.commands.CommandTestUtil.TAG_DESC_HUSBAND; +import static seedu.address.logic.commands.CommandTestUtil.TITLE_DESC; +import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_END_TIME; +import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_START_TIME; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; + +import org.junit.Test; + +import seedu.address.logic.commands.AddCommand; +import seedu.address.logic.commands.SetAppointmentCommand; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.Event; +import seedu.address.model.event.EventTime; +import seedu.address.model.event.Title; +import seedu.address.model.person.Address; +import seedu.address.model.person.Email; +import seedu.address.model.person.Name; +import seedu.address.model.person.Person; +import seedu.address.model.person.Phone; +import seedu.address.model.tag.Tag; +import seedu.address.testutil.EventBuilder; +import seedu.address.testutil.PersonBuilder; + +public class SetAppointmentCommandParserTest { + private SetAppointmentCommandParser parser = new SetAppointmentCommandParser(); + + @Test + public void parse_allFieldsPresent_success() { + Event expectedAppointment = new EventBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + + // whitespace only preamble + assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + START_TIME_DESC + END_TIME_DESC, new SetAppointmentCommand((Appointment) expectedAppointment)); + } + + @Test + public void parse_optionalFieldsMissing_success() { + // no personToMeet + Event expectedAppointment = new EventBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + assertParseSuccess(parser, TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + new SetAppointmentCommand(((Appointment) expectedAppointment))); + } + + @Test + public void parse_compulsoryFieldMissing_failure() { + String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, SetAppointmentCommand.MESSAGE_USAGE); + + // missing title prefix + assertParseFailure(parser, VALID_TITLE + START_TIME_DESC + END_TIME_DESC, + expectedMessage); + + // missing start time prefix + assertParseFailure(parser, TITLE_DESC + VALID_START_TIME + END_TIME_DESC, + expectedMessage); + + // missing start time prefix + assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + VALID_END_TIME, + expectedMessage); + + // all prefixes missing + assertParseFailure(parser, VALID_TITLE + VALID_START_TIME + VALID_END_TIME, + expectedMessage); + } + + @Test + public void parse_invalidValue_failure() { + // invalid title + assertParseFailure(parser, INVALID_TITLE_DESC + START_TIME_DESC + END_TIME_DESC, Title.MESSAGE_TITLE_CONSTRAINTS); + + // invalid start time + assertParseFailure(parser, TITLE_DESC + INVALID_START_TIME_DESC + END_TIME_DESC, EventTime.MESSAGE_TIME_CONSTRAINTS); + + // invalid end time + assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + INVALID_END_TIME_DESC, EventTime.MESSAGE_TIME_CONSTRAINTS); + } +} diff --git a/src/test/java/seedu/address/testutil/EventBuilder.java b/src/test/java/seedu/address/testutil/EventBuilder.java index 3bc39a324fec..38ab34f29a77 100644 --- a/src/test/java/seedu/address/testutil/EventBuilder.java +++ b/src/test/java/seedu/address/testutil/EventBuilder.java @@ -18,6 +18,10 @@ public class EventBuilder { private Person personToMeet; private String eventType; + public EventBuilder(String title, String time, String endTime) { + this(title, time, endTime, null); + } + public EventBuilder(String title, String time, String endTime, Person personToMeet) { this.title = new Title(title); this.time = new EventTime(time); From a865398e3d03da3583191e3a2e9f780107d0b947 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 22 Mar 2018 01:10:55 +0800 Subject: [PATCH 117/288] Add set task command --- .../logic/commands/SetTaskCommand.java | 57 +++++++++ .../logic/parser/AddressBookParser.java | 4 + .../seedu/address/logic/parser/CliSyntax.java | 1 - .../logic/parser/SetTaskCommandParser.java | 56 +++++++++ .../logic/commands/AddCommandTest.java | 72 +---------- .../commands/SetAppointmentCommandTest.java | 117 +----------------- .../logic/commands/SetTaskCommandTest.java | 91 ++++++++++++++ .../parser/SetTaskCommandParserTest.java | 60 +++++++++ .../seedu/address/testutil/TypicalEvents.java | 6 +- .../address/testutil/modelstub/ModelStub.java | 79 ++++++++++++ .../ModelStubAcceptingEventAdded.java | 29 +++++ ...elStubThrowingDuplicateEventException.java | 22 ++++ 12 files changed, 409 insertions(+), 185 deletions(-) create mode 100644 src/main/java/seedu/address/logic/commands/SetTaskCommand.java create mode 100644 src/main/java/seedu/address/logic/parser/SetTaskCommandParser.java create mode 100644 src/test/java/seedu/address/logic/commands/SetTaskCommandTest.java create mode 100644 src/test/java/seedu/address/logic/parser/SetTaskCommandParserTest.java create mode 100644 src/test/java/seedu/address/testutil/modelstub/ModelStub.java create mode 100644 src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingEventAdded.java create mode 100644 src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java diff --git a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java new file mode 100644 index 000000000000..28c7b6e02343 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java @@ -0,0 +1,57 @@ +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; +import static seedu.address.logic.parser.CliSyntax.PREFIX_END_TIME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TITLE; + +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.event.Task; +import seedu.address.model.event.UniqueEventList; + +/** + * Adds a task to the address book. + */ +public class SetTaskCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "set_task"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a task to the address book. " + + "Parameters: " + + PREFIX_TITLE + "TITLE " + + PREFIX_END_TIME + "TIME " + + "Example: " + COMMAND_WORD + " " + + PREFIX_TITLE + "Mark papers " + + PREFIX_END_TIME + "20/05/2018 12:00 "; + + public static final String MESSAGE_SUCCESS = "New task added: %1$s"; + public static final String MESSAGE_DUPLICATE_TASK = "This task already exists in the address book"; + + private final Task toAdd; + + /** + * Creates a SetTaskCommand to add the specified {@code Task} + */ + public SetTaskCommand(Task task) { + requireNonNull(task); + toAdd = task; + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + requireNonNull(model); + try { + model.addEvent(toAdd); + return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); + } catch (UniqueEventList.DuplicateEventException e) { + throw new CommandException(MESSAGE_DUPLICATE_TASK); + } + + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof SetTaskCommand // instanceof handles nulls + && toAdd.equals(((SetTaskCommand) other).toAdd)); + } +} diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index e14cf0decaa3..fa70ac2af0b1 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -19,6 +19,7 @@ import seedu.address.logic.commands.RedoCommand; import seedu.address.logic.commands.SelectCommand; import seedu.address.logic.commands.SetAppointmentCommand; +import seedu.address.logic.commands.SetTaskCommand; import seedu.address.logic.commands.UndoCommand; import seedu.address.logic.parser.exceptions.ParseException; @@ -88,6 +89,9 @@ public Command parseCommand(String userInput) throws ParseException { case SetAppointmentCommand.COMMAND_WORD: return new SetAppointmentCommandParser().parse(arguments); + case SetTaskCommand.COMMAND_WORD: + return new SetTaskCommandParser().parse(arguments); + default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } diff --git a/src/main/java/seedu/address/logic/parser/CliSyntax.java b/src/main/java/seedu/address/logic/parser/CliSyntax.java index ed24b5fc477f..b109082180d5 100644 --- a/src/main/java/seedu/address/logic/parser/CliSyntax.java +++ b/src/main/java/seedu/address/logic/parser/CliSyntax.java @@ -15,5 +15,4 @@ public class CliSyntax { public static final Prefix PREFIX_START_TIME = new Prefix("s/"); public static final Prefix PREFIX_END_TIME = new Prefix("e/"); public static final Prefix PREFIX_PERSON_TO_MEET_INDEX = new Prefix("i/"); - } diff --git a/src/main/java/seedu/address/logic/parser/SetTaskCommandParser.java b/src/main/java/seedu/address/logic/parser/SetTaskCommandParser.java new file mode 100644 index 000000000000..fa8f6d6ae259 --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/SetTaskCommandParser.java @@ -0,0 +1,56 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_END_TIME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TITLE; + +import java.util.stream.Stream; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.logic.commands.SetTaskCommand; +import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.model.event.EventTime; +import seedu.address.model.event.Task; +import seedu.address.model.event.Title; + +/** + * Parses input arguments and creates a new SetTaskCommand object + */ +public class SetTaskCommandParser implements Parser<SetTaskCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the SetTaskCommand + * and returns a SetTaskCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public SetTaskCommand parse(String args) throws ParseException { + ArgumentMultimap argMultimap = + ArgumentTokenizer.tokenize(args, PREFIX_TITLE, PREFIX_END_TIME); + + if (!arePrefixesPresent(argMultimap, PREFIX_TITLE, PREFIX_END_TIME) + || !argMultimap.getPreamble().isEmpty()) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + SetTaskCommand.MESSAGE_USAGE)); + } + + try { + Title title = ParserUtil.parseTitle(argMultimap.getValue(PREFIX_TITLE)).get(); + EventTime time = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_END_TIME)).get(); + + Task task = new Task(title, time); + + return new SetTaskCommand(task); + } catch (IllegalValueException | IllegalArgumentException ive) { + throw new ParseException(ive.getMessage(), ive); + } + } + + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } + +} diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index bc48adba50a3..512c8a3239f0 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -4,30 +4,24 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; import java.util.ArrayList; import java.util.Arrays; -import java.util.function.Predicate; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import javafx.collections.ObservableList; import seedu.address.logic.CommandHistory; import seedu.address.logic.UndoRedoStack; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.AddressBook; import seedu.address.model.Model; import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.event.Event; -import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; -import seedu.address.model.person.exceptions.PersonNotFoundException; -import seedu.address.model.tag.Tag; import seedu.address.testutil.PersonBuilder; +import seedu.address.testutil.modelstub.ModelStub; public class AddCommandTest { @@ -95,70 +89,6 @@ private AddCommand getAddCommandForPerson(Person person, Model model) { return command; } - /** - * A default model stub that have all of the methods failing. - */ - private class ModelStub implements Model { - @Override - public void addPerson(Person person) throws DuplicatePersonException { - fail("This method should not be called."); - } - - @Override - public void resetData(ReadOnlyAddressBook newData) { - fail("This method should not be called."); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - fail("This method should not be called."); - return null; - } - - @Override - public void deletePerson(Person target) throws PersonNotFoundException { - fail("This method should not be called."); - } - - @Override - public void updatePerson(Person target, Person editedPerson) - throws DuplicatePersonException { - fail("This method should not be called."); - } - - @Override - public ObservableList<Person> getFilteredPersonList() { - fail("This method should not be called."); - return null; - } - - @Override - public void updateFilteredPersonList(Predicate<Person> predicate) { - fail("This method should not be called."); - } - - @Override - public void deleteTag(Tag tag) { - fail("This method should not be called."); - } - - @Override - public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { - fail("This method should not be called."); - }; - - @Override - public void deleteEvent(Event event) throws UniqueEventList.EventNotFoundException { - fail("This method should not be called."); - }; - - @Override - public void updateEvent(Event target, Event editedEvent) - throws UniqueEventList.DuplicateEventException, UniqueEventList.EventNotFoundException { - fail("This method should not be called."); - }; - } - /** * A Model stub that always throw a DuplicatePersonException when trying to add a person. */ diff --git a/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java b/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java index ad2f158fa261..60438bfe55b7 100644 --- a/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java @@ -1,36 +1,27 @@ package seedu.address.logic.commands; -import static java.util.Objects.requireNonNull; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_1; import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_2; -import java.util.ArrayList; import java.util.Arrays; -import java.util.function.Predicate; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import javafx.collections.ObservableList; import seedu.address.logic.CommandHistory; import seedu.address.logic.UndoRedoStack; import seedu.address.logic.commands.exceptions.CommandException; -import seedu.address.model.AddressBook; import seedu.address.model.Model; -import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.event.Appointment; -import seedu.address.model.event.Event; -import seedu.address.model.event.UniqueEventList; -import seedu.address.model.person.Person; -import seedu.address.model.person.exceptions.DuplicatePersonException; -import seedu.address.model.person.exceptions.PersonNotFoundException; -import seedu.address.model.tag.Tag; +import seedu.address.testutil.modelstub.ModelStub; +import seedu.address.testutil.modelstub.ModelStubAcceptingEventAdded; +import seedu.address.testutil.modelstub.ModelStubThrowingDuplicateEventException; +//@@author Sisyphus25 public class SetAppointmentCommandTest { @Rule @@ -49,7 +40,8 @@ public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception CommandResult commandResult = getSetAppointmentCommand( (Appointment) TYPICAL_APPOINTMENT_1, modelStub).execute(); - assertEquals(String.format(SetAppointmentCommand.MESSAGE_SUCCESS, TYPICAL_APPOINTMENT_1), commandResult.feedbackToUser); + assertEquals(String.format( + SetAppointmentCommand.MESSAGE_SUCCESS, TYPICAL_APPOINTMENT_1), commandResult.feedbackToUser); assertEquals(Arrays.asList(TYPICAL_APPOINTMENT_1), modelStub.eventsAdded); } @@ -97,101 +89,4 @@ private SetAppointmentCommand getSetAppointmentCommand(Appointment appointment, return command; } - /** - * A default model stub that have all of the methods failing. - */ - private class ModelStub implements Model { - @Override - public void addPerson(Person person) throws DuplicatePersonException { - fail("This method should not be called."); - } - - @Override - public void resetData(ReadOnlyAddressBook newData) { - fail("This method should not be called."); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - fail("This method should not be called."); - return null; - } - - @Override - public void deletePerson(Person target) throws PersonNotFoundException { - fail("This method should not be called."); - } - - @Override - public void updatePerson(Person target, Person editedPerson) - throws DuplicatePersonException { - fail("This method should not be called."); - } - - @Override - public ObservableList<Person> getFilteredPersonList() { - fail("This method should not be called."); - return null; - } - - @Override - public void updateFilteredPersonList(Predicate<Person> predicate) { - fail("This method should not be called."); - } - - @Override - public void deleteTag(Tag tag) { - fail("This method should not be called."); - } - - @Override - public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { - fail("This method should not be called."); - }; - - @Override - public void deleteEvent(Event event) throws UniqueEventList.EventNotFoundException { - fail("This method should not be called."); - }; - - @Override - public void updateEvent(Event target, Event editedEvent) - throws UniqueEventList.DuplicateEventException, UniqueEventList.EventNotFoundException { - fail("This method should not be called."); - }; - } - - /** - * A Model stub that always throw a DuplicateEventException when trying to add an appointment. - */ - private class ModelStubThrowingDuplicateEventException extends ModelStub { - @Override - public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { - throw new UniqueEventList.DuplicateEventException(); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - return new AddressBook(); - } - } - - /** - * A Model stub that always accept the event being added. - */ - private class ModelStubAcceptingEventAdded extends ModelStub { - final ArrayList<Event> eventsAdded = new ArrayList<>(); - - @Override - public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { - requireNonNull(event); - eventsAdded.add(event); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - return new AddressBook(); - } - } - } diff --git a/src/test/java/seedu/address/logic/commands/SetTaskCommandTest.java b/src/test/java/seedu/address/logic/commands/SetTaskCommandTest.java new file mode 100644 index 000000000000..b18057ed2ec4 --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/SetTaskCommandTest.java @@ -0,0 +1,91 @@ +package seedu.address.logic.commands; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_1; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_2; + +import java.util.Arrays; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.Model; +import seedu.address.model.event.Task; +import seedu.address.testutil.modelstub.ModelStub; +import seedu.address.testutil.modelstub.ModelStubAcceptingEventAdded; +import seedu.address.testutil.modelstub.ModelStubThrowingDuplicateEventException; + +//@@author Sisyphus25 +public class SetTaskCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void constructor_nullAppointment_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new SetTaskCommand(null); + } + + @Test + public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception { + ModelStubAcceptingEventAdded modelStub = new ModelStubAcceptingEventAdded(); + + CommandResult commandResult = getSetTaskCommand( + (Task) TYPICAL_TASK_1, modelStub).execute(); + + assertEquals(String.format(SetTaskCommand.MESSAGE_SUCCESS, TYPICAL_TASK_1), commandResult.feedbackToUser); + assertEquals(Arrays.asList(TYPICAL_TASK_1), modelStub.eventsAdded); + } + + @Test + public void execute_duplicateEvent_throwsCommandException() throws Exception { + ModelStub modelStub = new ModelStubThrowingDuplicateEventException(); + + thrown.expect(CommandException.class); + thrown.expectMessage(SetTaskCommand.MESSAGE_DUPLICATE_TASK); + + getSetTaskCommand((Task) TYPICAL_TASK_1, modelStub).execute(); + } + + @Test + public void equals() { + SetTaskCommand addTask1 = + new SetTaskCommand((Task) TYPICAL_TASK_1); + SetTaskCommand addTask2 = + new SetTaskCommand((Task) TYPICAL_TASK_2); + + // same object -> returns true + assertTrue(addTask1.equals(addTask1)); + + // same values -> returns true + SetTaskCommand addAppointment1Copy = + new SetTaskCommand((Task) TYPICAL_TASK_1); + assertTrue(addTask1.equals(addAppointment1Copy)); + + // different types -> returns false + assertFalse(addTask1.equals(1)); + + // null -> returns false + assertFalse(addTask1.equals(null)); + + // different tasks -> returns false + assertFalse(addTask1.equals(addTask2)); + } + + /** + * Generates a new SetTaskCommand with the details of the given task. + */ + private SetTaskCommand getSetTaskCommand(Task task, Model model) { + SetTaskCommand command = new SetTaskCommand(task); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } + +} diff --git a/src/test/java/seedu/address/logic/parser/SetTaskCommandParserTest.java b/src/test/java/seedu/address/logic/parser/SetTaskCommandParserTest.java new file mode 100644 index 000000000000..f7d76360ddc4 --- /dev/null +++ b/src/test/java/seedu/address/logic/parser/SetTaskCommandParserTest.java @@ -0,0 +1,60 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.commands.CommandTestUtil.END_TIME_DESC; +import static seedu.address.logic.commands.CommandTestUtil.INVALID_END_TIME_DESC; +import static seedu.address.logic.commands.CommandTestUtil.INVALID_TITLE_DESC; +import static seedu.address.logic.commands.CommandTestUtil.PREAMBLE_WHITESPACE; +import static seedu.address.logic.commands.CommandTestUtil.TITLE_DESC; +import static seedu.address.logic.commands.CommandTestUtil.VALID_END_TIME; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; + +import org.junit.Test; + +import seedu.address.logic.commands.SetTaskCommand; +import seedu.address.model.event.Event; +import seedu.address.model.event.EventTime; +import seedu.address.model.event.Task; +import seedu.address.model.event.Title; +import seedu.address.testutil.EventBuilder; + +public class SetTaskCommandParserTest { + private SetTaskCommandParser parser = new SetTaskCommandParser(); + + @Test + public void parse_allFieldsPresent_success() { + Event expectedTask = new EventBuilder(VALID_TITLE, VALID_END_TIME).build(); + + // whitespace only preamble + assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + END_TIME_DESC, + new SetTaskCommand((Task) expectedTask)); + } + + @Test + public void parse_compulsoryFieldMissing_failure() { + String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, SetTaskCommand.MESSAGE_USAGE); + + // missing title prefix + assertParseFailure(parser, VALID_TITLE + END_TIME_DESC, + expectedMessage); + + // missing end time prefix + assertParseFailure(parser, TITLE_DESC + VALID_END_TIME, + expectedMessage); + + // all prefixes missing + assertParseFailure(parser, VALID_TITLE + VALID_END_TIME, + expectedMessage); + } + + @Test + public void parse_invalidValue_failure() { + // invalid title + assertParseFailure(parser, INVALID_TITLE_DESC + END_TIME_DESC, Title.MESSAGE_TITLE_CONSTRAINTS); + + // invalid end time + assertParseFailure(parser, TITLE_DESC + INVALID_END_TIME_DESC, EventTime.MESSAGE_TIME_CONSTRAINTS); + } +} diff --git a/src/test/java/seedu/address/testutil/TypicalEvents.java b/src/test/java/seedu/address/testutil/TypicalEvents.java index a68946cbb568..24509bfc129c 100644 --- a/src/test/java/seedu/address/testutil/TypicalEvents.java +++ b/src/test/java/seedu/address/testutil/TypicalEvents.java @@ -11,9 +11,11 @@ //@@author Sisyphus25 public class TypicalEvents { public static final Event TYPICAL_APPOINTMENT_1 = - new EventBuilder("Meet student", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build();; + new EventBuilder("Meet student", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build(); public static final Event TYPICAL_APPOINTMENT_2 = - new EventBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build();; + new EventBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); public static final Event TYPICAL_TASK_1 = new EventBuilder("To do", "10/10/2018 10:00").build(); + public static final Event TYPICAL_TASK_2 = + new EventBuilder("Mark papers", "10/06/2018 20:00").build(); } diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java new file mode 100644 index 000000000000..7f92e42d75d7 --- /dev/null +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -0,0 +1,79 @@ +package seedu.address.testutil.modelstub; + +import static org.junit.Assert.fail; + +import java.util.function.Predicate; + +import javafx.collections.ObservableList; +import seedu.address.model.Model; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.event.Event; +import seedu.address.model.event.UniqueEventList; +import seedu.address.model.person.Person; +import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.tag.Tag; + +/** + * A default model stub that have all of the methods failing. + */ +public class ModelStub implements Model { + @Override + public void addPerson(Person person) throws DuplicatePersonException { + fail("This method should not be called."); + } + + @Override + public void resetData(ReadOnlyAddressBook newData) { + fail("This method should not be called."); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + fail("This method should not be called."); + return null; + } + + @Override + public void deletePerson(Person target) throws PersonNotFoundException { + fail("This method should not be called."); + } + + @Override + public void updatePerson(Person target, Person editedPerson) + throws DuplicatePersonException { + fail("This method should not be called."); + } + + @Override + public ObservableList<Person> getFilteredPersonList() { + fail("This method should not be called."); + return null; + } + + @Override + public void updateFilteredPersonList(Predicate<Person> predicate) { + fail("This method should not be called."); + } + + @Override + public void deleteTag(Tag tag) { + fail("This method should not be called."); + } + + @Override + public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { + fail("This method should not be called."); + }; + + @Override + public void deleteEvent(Event event) throws UniqueEventList.EventNotFoundException { + fail("This method should not be called."); + }; + + @Override + public void updateEvent(Event target, Event editedEvent) + throws UniqueEventList.DuplicateEventException, UniqueEventList.EventNotFoundException { + fail("This method should not be called."); + }; +} diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingEventAdded.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingEventAdded.java new file mode 100644 index 000000000000..23c37d5be8c1 --- /dev/null +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingEventAdded.java @@ -0,0 +1,29 @@ +package seedu.address.testutil.modelstub; + +import static java.util.Objects.requireNonNull; + +import java.util.ArrayList; + +import seedu.address.model.AddressBook; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.event.Event; +import seedu.address.model.event.UniqueEventList; + +//@@author Sisyphus25 +/** + * A Model stub that always accept the event being added. + */ +public class ModelStubAcceptingEventAdded extends ModelStub { + public final ArrayList<Event> eventsAdded = new ArrayList<>(); + + @Override + public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { + requireNonNull(event); + eventsAdded.add(event); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } +} diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java new file mode 100644 index 000000000000..d8683d327f95 --- /dev/null +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java @@ -0,0 +1,22 @@ +package seedu.address.testutil.modelstub; + +import seedu.address.model.AddressBook; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.event.Event; +import seedu.address.model.event.UniqueEventList; + +//@@author Sisyphus25 +/** + * A Model stub that always throw a DuplicateEventException when trying to add an appointment. + */ +public class ModelStubThrowingDuplicateEventException extends ModelStub { + @Override + public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { + throw new UniqueEventList.DuplicateEventException(); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } +} From c653087c4e98b62b9deb3a0db0cffa7e5f1f7c99 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 22 Mar 2018 02:32:52 +0800 Subject: [PATCH 118/288] Add more JUnit tests --- .../address/model/event/Appointment.java | 8 +- .../address/model/event/PersonToMeet.java | 49 +++++++++++ .../java/seedu/address/model/event/Title.java | 3 +- .../storage/XmlAdaptedAppointment.java | 21 +++-- .../storage/XmlAdaptedAppointmentTest.java | 86 +++++++++++++++++++ .../address/storage/XmlAdaptedTaskTest.java | 60 +++++++++++++ .../seedu/address/testutil/EventBuilder.java | 16 +++- 7 files changed, 226 insertions(+), 17 deletions(-) create mode 100644 src/main/java/seedu/address/model/event/PersonToMeet.java create mode 100644 src/test/java/seedu/address/storage/XmlAdaptedAppointmentTest.java create mode 100644 src/test/java/seedu/address/storage/XmlAdaptedTaskTest.java diff --git a/src/main/java/seedu/address/model/event/Appointment.java b/src/main/java/seedu/address/model/event/Appointment.java index 29a25577ba43..c5fabf1c628e 100644 --- a/src/main/java/seedu/address/model/event/Appointment.java +++ b/src/main/java/seedu/address/model/event/Appointment.java @@ -3,8 +3,6 @@ import static seedu.address.commons.util.AppUtil.checkArgument; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; -import seedu.address.model.person.Person; - //@@author Sisyphus25 /** * Represent an appointment in the schedule, contains time of the appointment as well as details and personMeet. @@ -15,7 +13,7 @@ public class Appointment implements Event { private Title title; private EventTime time; private EventTime endTime; - private Person personToMeet; + private PersonToMeet personToMeet; //Every field must be present and not null public Appointment(Title title, EventTime startTime, EventTime endTime) { @@ -23,7 +21,7 @@ public Appointment(Title title, EventTime startTime, EventTime endTime) { } //Every field except personToMeet must be present and not null - public Appointment(Title title, EventTime startTime, EventTime endTime, Person personToMeet) { + public Appointment(Title title, EventTime startTime, EventTime endTime, PersonToMeet personToMeet) { requireAllNonNull(title, startTime, endTime); checkArgument(isValidTime(startTime, endTime), MESSAGE_TIME_PERIOD_CONSTRAINTS); this.title = title; @@ -44,7 +42,7 @@ public EventTime getEndTime() { return endTime; } - public Person getPersonToMeet() { + public PersonToMeet getPersonToMeet() { return personToMeet; } diff --git a/src/main/java/seedu/address/model/event/PersonToMeet.java b/src/main/java/seedu/address/model/event/PersonToMeet.java new file mode 100644 index 000000000000..d72e2908a316 --- /dev/null +++ b/src/main/java/seedu/address/model/event/PersonToMeet.java @@ -0,0 +1,49 @@ +package seedu.address.model.event; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.AppUtil.checkArgument; +import static seedu.address.model.person.Email.MESSAGE_EMAIL_CONSTRAINTS; +import static seedu.address.model.person.Name.MESSAGE_NAME_CONSTRAINTS; + +import seedu.address.model.person.Email; +import seedu.address.model.person.Name; +import seedu.address.model.person.Person; + +/** + * Represents an Appointment's personToMeet in the address book. + * Guarantees: immutable; + */ +public class PersonToMeet { + + public static final String EMAIL_SPLITTER = " Email: "; + + private final String name; + private final String email; + + public PersonToMeet(Person person) { + requireNonNull(person); + this.name = person.getName().fullName; + this.email = person.getEmail().value; + } + + public PersonToMeet(String name, String email) { + requireNonNull(name, email); + checkArgument(Name.isValidName(name), MESSAGE_NAME_CONSTRAINTS); + checkArgument(Email.isValidEmail(email), MESSAGE_EMAIL_CONSTRAINTS); + this.name = name; + this.email = email; + } + + @Override + public String toString() { + return name + EMAIL_SPLITTER + email; + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof PersonToMeet // instanceof handles nulls + && this.name.equals(((PersonToMeet) other).name)) + && this.name.equals(((PersonToMeet) other).email); // state check + } +} diff --git a/src/main/java/seedu/address/model/event/Title.java b/src/main/java/seedu/address/model/event/Title.java index d3509b45c6a6..25a0d1d249a8 100644 --- a/src/main/java/seedu/address/model/event/Title.java +++ b/src/main/java/seedu/address/model/event/Title.java @@ -19,7 +19,7 @@ public class Title { public final String value; /** - * Constructs a {@code Titlte}. + * Constructs a {@code Title}. * * @param title A valid title. */ @@ -52,5 +52,4 @@ public boolean equals(Object other) { public int hashCode() { return value.hashCode(); } - } diff --git a/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java b/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java index 8a7ba592d8e5..92e7fa4f5c16 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java @@ -1,5 +1,7 @@ package seedu.address.storage; +import static seedu.address.model.event.PersonToMeet.EMAIL_SPLITTER; + import java.util.Objects; import javax.xml.bind.annotation.XmlElement; @@ -7,8 +9,8 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.event.Appointment; import seedu.address.model.event.EventTime; +import seedu.address.model.event.PersonToMeet; import seedu.address.model.event.Title; -import seedu.address.model.person.Person; /** * JAXB-friendly version of the Person. @@ -24,7 +26,7 @@ public class XmlAdaptedAppointment { @XmlElement(required = true) private String endTime; @XmlElement - private XmlAdaptedPerson personToMeet = new XmlAdaptedPerson(); + private String personToMeet; /** * Constructs an XmlAdaptedAppointment. @@ -32,10 +34,14 @@ public class XmlAdaptedAppointment { */ public XmlAdaptedAppointment() {} + public XmlAdaptedAppointment(String title, String startTime, String endTime) { + this(title, startTime, endTime, null); + } + /** * Constructs an {@code XmlAdaptedAppointment} with the given appointment details. */ - public XmlAdaptedAppointment(String title, String startTime, String endTime, XmlAdaptedPerson personToMeet) { + public XmlAdaptedAppointment(String title, String startTime, String endTime, String personToMeet) { this.title = title; this.startTime = startTime; this.endTime = endTime; @@ -54,7 +60,7 @@ public XmlAdaptedAppointment(Appointment source) { startTime = source.getTime().toString(); endTime = source.getEndTime().toString(); if (source.getPersonToMeet() != null) { - personToMeet = new XmlAdaptedPerson(source.getPersonToMeet()); + personToMeet = source.getPersonToMeet().toString(); } } @@ -86,12 +92,13 @@ public Appointment toModelType() throws IllegalValueException { throw new IllegalValueException(Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS); } - Person person = null; if (this.personToMeet != null) { - person = this.personToMeet.toModelType(); + String[] components = this.personToMeet.split(EMAIL_SPLITTER); + PersonToMeet personToMeet = new PersonToMeet(components[0], components[1]); + return new Appointment(title, startTime, endTime, personToMeet); } - return new Appointment(title, startTime, endTime, person); + return new Appointment(title, startTime, endTime); } @Override diff --git a/src/test/java/seedu/address/storage/XmlAdaptedAppointmentTest.java b/src/test/java/seedu/address/storage/XmlAdaptedAppointmentTest.java new file mode 100644 index 000000000000..9ff24878a735 --- /dev/null +++ b/src/test/java/seedu/address/storage/XmlAdaptedAppointmentTest.java @@ -0,0 +1,86 @@ +package seedu.address.storage; + +import static junit.framework.TestCase.assertEquals; +import static seedu.address.logic.commands.CommandTestUtil.VALID_END_TIME; +import static seedu.address.logic.commands.CommandTestUtil.VALID_START_TIME; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; +import static seedu.address.storage.XmlAdaptedAppointment.MISSING_FIELD_MESSAGE_FORMAT; +import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_1; + +import org.junit.Test; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.EventTime; +import seedu.address.model.event.Title; +import seedu.address.testutil.Assert; + +//@@author Sisyphus25 +public class XmlAdaptedAppointmentTest { + + private static final String INVALID_TITLE = " "; + private static final String VALID_PERSON_TO_MEET = "Alice Email: alice@gmail.com"; + private static final String INVALID_TIME = "not a time stamp"; + + @Test + public void toModelType_validAppointmentDetails_returnsPerson() throws Exception { + XmlAdaptedAppointment appointment = new XmlAdaptedAppointment((Appointment) TYPICAL_APPOINTMENT_1); + assertEquals(TYPICAL_APPOINTMENT_1, appointment.toModelType()); + } + + @Test + public void toModelType_invalidTitle_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(INVALID_TITLE, VALID_START_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = Title.MESSAGE_TITLE_CONSTRAINTS; + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_invalidStartTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, INVALID_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; + Assert.assertThrows(IllegalArgumentException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_invalidStartEndTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, VALID_START_TIME, INVALID_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; + Assert.assertThrows(IllegalArgumentException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_nullTitle_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(null, VALID_START_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName()); + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_nullStartTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, null, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Start Time"); + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_nullEndTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, VALID_START_TIME, null, VALID_PERSON_TO_MEET); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "End Time"); + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_invalidTimePeriod_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, "20/10/2018 10:00", "20/10/2018 09:00"); + String expectedMessage = Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS; + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } +} diff --git a/src/test/java/seedu/address/storage/XmlAdaptedTaskTest.java b/src/test/java/seedu/address/storage/XmlAdaptedTaskTest.java new file mode 100644 index 000000000000..ae71c7683621 --- /dev/null +++ b/src/test/java/seedu/address/storage/XmlAdaptedTaskTest.java @@ -0,0 +1,60 @@ +package seedu.address.storage; + +import static junit.framework.TestCase.assertEquals; +import static seedu.address.logic.commands.CommandTestUtil.VALID_END_TIME; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; +import static seedu.address.storage.XmlAdaptedTask.MISSING_FIELD_MESSAGE_FORMAT; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_1; + +import org.junit.Test; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.event.EventTime; +import seedu.address.model.event.Task; +import seedu.address.model.event.Title; +import seedu.address.testutil.Assert; + +//@@author Sisyphus25 +public class XmlAdaptedTaskTest { + + private static final String INVALID_TITLE = " "; + private static final String INVALID_TIME = "not a time stamp"; + + @Test + public void toModelType_validTaskDetails_returnsPerson() throws Exception { + XmlAdaptedTask task = new XmlAdaptedTask((Task) TYPICAL_TASK_1); + assertEquals(TYPICAL_TASK_1, task.toModelType()); + } + + @Test + public void toModelType_invalidTitle_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(INVALID_TITLE, VALID_END_TIME); + String expectedMessage = Title.MESSAGE_TITLE_CONSTRAINTS; + Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); + } + + @Test + public void toModelType_invalidTime_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(VALID_TITLE, INVALID_TIME); + String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; + Assert.assertThrows(IllegalArgumentException.class, expectedMessage, task::toModelType); + } + + @Test + public void toModelType_nullTitle_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(null, VALID_END_TIME); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName()); + Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); + } + + @Test + public void toModelType_nullTime_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(VALID_TITLE, null); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time"); + Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); + } +} diff --git a/src/test/java/seedu/address/testutil/EventBuilder.java b/src/test/java/seedu/address/testutil/EventBuilder.java index 38ab34f29a77..ecfc785efe3b 100644 --- a/src/test/java/seedu/address/testutil/EventBuilder.java +++ b/src/test/java/seedu/address/testutil/EventBuilder.java @@ -1,9 +1,12 @@ package seedu.address.testutil; +import static seedu.address.model.event.PersonToMeet.EMAIL_SPLITTER; + import seedu.address.model.event.Appointment; import seedu.address.model.event.Event; import seedu.address.model.event.EventTime; +import seedu.address.model.event.PersonToMeet; import seedu.address.model.event.Task; import seedu.address.model.event.Title; import seedu.address.model.person.Person; @@ -15,18 +18,25 @@ public class EventBuilder { private Title title; private EventTime time; private EventTime endTime; - private Person personToMeet; + private PersonToMeet personToMeet; private String eventType; public EventBuilder(String title, String time, String endTime) { - this(title, time, endTime, null); + this(title, time, endTime, new String()); } public EventBuilder(String title, String time, String endTime, Person personToMeet) { + this(title, time, endTime, personToMeet.getName() + EMAIL_SPLITTER + personToMeet.getEmail()); + } + + public EventBuilder(String title, String time, String endTime, String personToMeet) { this.title = new Title(title); this.time = new EventTime(time); this.endTime = new EventTime(endTime); - this.personToMeet = personToMeet; + if (personToMeet != null) { + String[] components = personToMeet.split(EMAIL_SPLITTER); + this.personToMeet = new PersonToMeet(components[0], components[1]); + } this.eventType = "Appointment"; } From 9d562dce1413b297a2127f1405f1ea43dd34a4b8 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 22 Mar 2018 02:39:10 +0800 Subject: [PATCH 119/288] Add Collate --- src/main/java/seedu/address/storage/XmlAdaptedAppointment.java | 1 + src/main/java/seedu/address/storage/XmlAdaptedTask.java | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java b/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java index 92e7fa4f5c16..aacda02f50d4 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java @@ -12,6 +12,7 @@ import seedu.address.model.event.PersonToMeet; import seedu.address.model.event.Title; +//@@author Sisyphus25 /** * JAXB-friendly version of the Person. */ diff --git a/src/main/java/seedu/address/storage/XmlAdaptedTask.java b/src/main/java/seedu/address/storage/XmlAdaptedTask.java index dd6d62949a37..77d1a60fb37e 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedTask.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedTask.java @@ -9,6 +9,7 @@ import seedu.address.model.event.Task; import seedu.address.model.event.Title; +//@@author Sisyphus25 /** * JAXB-friendly version of the Person. */ From 4b988be65e78de6d76fa66bcd32a8637c19519cd Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 22 Mar 2018 03:05:36 +0800 Subject: [PATCH 120/288] Add JUNit Test --- .../logic/commands/CommandTestUtil.java | 3 +- .../logic/parser/AddressBookParserTest.java | 29 +++++++++++++++++++ .../seedu/address/testutil/EventBuilder.java | 2 +- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/test/java/seedu/address/logic/commands/CommandTestUtil.java b/src/test/java/seedu/address/logic/commands/CommandTestUtil.java index e119d53aa392..76aa119e19a4 100644 --- a/src/test/java/seedu/address/logic/commands/CommandTestUtil.java +++ b/src/test/java/seedu/address/logic/commands/CommandTestUtil.java @@ -72,7 +72,8 @@ public class CommandTestUtil { public static final String INVALID_TITLE_DESC = " " + PREFIX_TITLE + " "; // spaces only public static final String INVALID_START_TIME_DESC = " " + PREFIX_START_TIME + "911afddf"; // not a time stamp - public static final String INVALID_END_TIME_DESC = " " + PREFIX_END_TIME + "May 20, 2018 10am"; // not in correct format + public static final String INVALID_END_TIME_DESC = + " " + PREFIX_END_TIME + "May 20, 2018 10am"; // not in correct format public static final String PREAMBLE_WHITESPACE = "\t \r \n"; public static final String PREAMBLE_NON_EMPTY = "NonEmptyPreamble"; diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index d3c3b291c4d8..58ecea75a6ac 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -5,6 +5,12 @@ import static org.junit.Assert.fail; import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; import static seedu.address.commons.core.Messages.MESSAGE_UNKNOWN_COMMAND; +import static seedu.address.logic.commands.CommandTestUtil.END_TIME_DESC; +import static seedu.address.logic.commands.CommandTestUtil.START_TIME_DESC; +import static seedu.address.logic.commands.CommandTestUtil.TITLE_DESC; +import static seedu.address.logic.commands.CommandTestUtil.VALID_END_TIME; +import static seedu.address.logic.commands.CommandTestUtil.VALID_START_TIME; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; import static seedu.address.logic.parser.CliSyntax.PREFIX_RANGE; @@ -37,12 +43,18 @@ import seedu.address.logic.commands.ListCommand; import seedu.address.logic.commands.RedoCommand; import seedu.address.logic.commands.SelectCommand; +import seedu.address.logic.commands.SetAppointmentCommand; +import seedu.address.logic.commands.SetTaskCommand; import seedu.address.logic.commands.UndoCommand; import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.Event; +import seedu.address.model.event.Task; import seedu.address.model.person.NameContainsKeywordsPredicate; import seedu.address.model.person.Person; import seedu.address.model.tag.Tag; import seedu.address.testutil.EditPersonDescriptorBuilder; +import seedu.address.testutil.EventBuilder; import seedu.address.testutil.PersonBuilder; import seedu.address.testutil.PersonUtil; @@ -173,5 +185,22 @@ public void parseCommand_import() throws Exception { command); } + //@@author Sisyphus25 + @Test + public void parseCommand_setAppointment() throws Exception { + SetAppointmentCommand command = + (SetAppointmentCommand) parser.parseCommand(SetAppointmentCommand.COMMAND_WORD + + TITLE_DESC + START_TIME_DESC + END_TIME_DESC); + Event appointment = new EventBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + assertEquals(new SetAppointmentCommand((Appointment) appointment), command); + } + @Test + public void parseCommand_setTask() throws Exception { + SetTaskCommand command = + (SetTaskCommand) parser.parseCommand(SetTaskCommand.COMMAND_WORD + TITLE_DESC + END_TIME_DESC); + Event appointment = new EventBuilder(VALID_TITLE, VALID_END_TIME).build(); + assertEquals(new SetTaskCommand((Task) appointment), command); + } + //@@author } diff --git a/src/test/java/seedu/address/testutil/EventBuilder.java b/src/test/java/seedu/address/testutil/EventBuilder.java index ecfc785efe3b..12d76c2c8e25 100644 --- a/src/test/java/seedu/address/testutil/EventBuilder.java +++ b/src/test/java/seedu/address/testutil/EventBuilder.java @@ -22,7 +22,7 @@ public class EventBuilder { private String eventType; public EventBuilder(String title, String time, String endTime) { - this(title, time, endTime, new String()); + this(title, time, endTime, (String) null); } public EventBuilder(String title, String time, String endTime, Person personToMeet) { From c0e0a6947e7653efc7b2af4adea471754febf622 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Mon, 26 Mar 2018 15:18:44 +0800 Subject: [PATCH 121/288] Add toString() for Appointment and Task --- .../seedu/address/model/event/Appointment.java | 15 +++++++++++++++ .../seedu/address/model/event/PersonToMeet.java | 8 ++++++++ src/main/java/seedu/address/model/event/Task.java | 5 +++++ 3 files changed, 28 insertions(+) diff --git a/src/main/java/seedu/address/model/event/Appointment.java b/src/main/java/seedu/address/model/event/Appointment.java index c5fabf1c628e..09a5271e0c4d 100644 --- a/src/main/java/seedu/address/model/event/Appointment.java +++ b/src/main/java/seedu/address/model/event/Appointment.java @@ -62,6 +62,21 @@ public boolean equals(Object other) { && otherAppointment.getEndTime().equals(this.getEndTime()); } + @Override + public String toString() { + final StringBuilder builder = new StringBuilder(); + builder.append(getTitle()) + .append(", Start Time: ") + .append(getTime().toString()) + .append(", End Time: ") + .append(getEndTime().toString()); + if (personToMeet != null) { + builder.append(", To meet: ") + .append(personToMeet.getName()); + } + return builder.toString(); + } + /** * Returns true if the given time is valid */ diff --git a/src/main/java/seedu/address/model/event/PersonToMeet.java b/src/main/java/seedu/address/model/event/PersonToMeet.java index d72e2908a316..8433cab783e8 100644 --- a/src/main/java/seedu/address/model/event/PersonToMeet.java +++ b/src/main/java/seedu/address/model/event/PersonToMeet.java @@ -34,6 +34,14 @@ public PersonToMeet(String name, String email) { this.email = email; } + public String getName() { + return name; + } + + public String getEmail() { + return email; + } + @Override public String toString() { return name + EMAIL_SPLITTER + email; diff --git a/src/main/java/seedu/address/model/event/Task.java b/src/main/java/seedu/address/model/event/Task.java index adce7be7638b..aa3ae8508cdd 100644 --- a/src/main/java/seedu/address/model/event/Task.java +++ b/src/main/java/seedu/address/model/event/Task.java @@ -39,4 +39,9 @@ public boolean equals(Object other) { return otherTask.getTitle().equals(this.getTitle()) && otherTask.getTime().equals(this.getTime()); } + + @Override + public String toString() { + return title + ", Deadline: " + time; + } } From bae95af26aa957b26ba571c38ab426c1e06c6682 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Mon, 26 Mar 2018 18:25:58 +0800 Subject: [PATCH 122/288] Changed UI and added auto sort functionality with tests --- copyright.txt | 2 +- docs/images/yijinl.jpg | Bin 13946 -> 0 bytes docs/images/yl_coder.jpg | Bin 7203 -> 0 bytes .../seedu/address/commons/core/Config.java | 2 +- .../model/person/UniquePersonList.java | 15 ++++++ src/main/java/seedu/address/ui/UiManager.java | 2 +- src/main/resources/images/Tc_logo.png | Bin 0 -> 34645 bytes src/main/resources/images/address_book_32.png | Bin 4214 -> 0 bytes src/main/resources/view/DarkTheme.css | 49 +++++++++++++----- src/main/resources/view/MainWindow.fxml | 47 ++++++++++------- src/main/resources/view/PersonListCard.fxml | 6 ++- .../address/commons/core/ConfigTest.java | 2 +- .../address/commons/util/AppUtilTest.java | 2 +- .../address/model/UniquePersonListTest.java | 23 ++++++++ 14 files changed, 113 insertions(+), 37 deletions(-) delete mode 100644 docs/images/yijinl.jpg delete mode 100644 docs/images/yl_coder.jpg create mode 100644 src/main/resources/images/Tc_logo.png delete mode 100644 src/main/resources/images/address_book_32.png diff --git a/copyright.txt b/copyright.txt index 93aa2a39ce25..7eee31a8ddfb 100644 --- a/copyright.txt +++ b/copyright.txt @@ -1,7 +1,7 @@ Some code adapted from http://code.makery.ch/library/javafx-8-tutorial/ by Marco Jakob Copyright by Susumu Yoshida - http://www.mcdodesign.com/ -- address_book_32.png +- Tc_logo.png - AddressApp.ico Copyright by Jan Jan Kovařík - http://glyphicons.com/ diff --git a/docs/images/yijinl.jpg b/docs/images/yijinl.jpg deleted file mode 100644 index adbf62ad940659e35a71c78b910457ae41cc8eee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13946 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 W@yAUT&3Kr&-m1PFTp|AV^Zx=|&doId diff --git a/docs/images/yl_coder.jpg b/docs/images/yl_coder.jpg deleted file mode 100644 index 17b48a732272464c97607e12bf494bb286cb3484..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7203 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 diff --git a/src/main/java/seedu/address/commons/core/Config.java b/src/main/java/seedu/address/commons/core/Config.java index 8f4d737d0e24..524c48994428 100644 --- a/src/main/java/seedu/address/commons/core/Config.java +++ b/src/main/java/seedu/address/commons/core/Config.java @@ -11,7 +11,7 @@ public class Config { public static final String DEFAULT_CONFIG_FILE = "config.json"; // Config values customizable through config file - private String appTitle = "Address App"; + private String appTitle = "TeachConnect"; private Level logLevel = Level.INFO; private String userPrefsFilePath = "preferences.json"; diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/seedu/address/model/person/UniquePersonList.java index f2c4c4c585e4..b8767c5348f6 100644 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ b/src/main/java/seedu/address/model/person/UniquePersonList.java @@ -3,6 +3,7 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; +import java.util.Comparator; import java.util.Iterator; import java.util.List; @@ -98,6 +99,7 @@ public void setPersons(List<Person> persons) throws DuplicatePersonException { * Returns the backing list as an unmodifiable {@code ObservableList}. */ public ObservableList<Person> asObservableList() { + sort(); return FXCollections.unmodifiableObservableList(internalList); } @@ -117,4 +119,17 @@ public boolean equals(Object other) { public int hashCode() { return internalList.hashCode(); } + + //@@author shanmu9898 + /** + * Sorts the unique person list. + */ + public void sort() { + internalList.sort(new Comparator<Person>() { + @Override + public int compare(Person otherMember1, Person otherMember2) { + return otherMember1.getName().toString().compareTo(otherMember2.getName().toString()); + } + }); + } } diff --git a/src/main/java/seedu/address/ui/UiManager.java b/src/main/java/seedu/address/ui/UiManager.java index 3fd3c17be156..f571ab949db2 100644 --- a/src/main/java/seedu/address/ui/UiManager.java +++ b/src/main/java/seedu/address/ui/UiManager.java @@ -30,7 +30,7 @@ public class UiManager extends ComponentManager implements Ui { public static final String FILE_OPS_ERROR_DIALOG_CONTENT_MESSAGE = "Could not save data to file"; private static final Logger logger = LogsCenter.getLogger(UiManager.class); - private static final String ICON_APPLICATION = "/images/address_book_32.png"; + private static final String ICON_APPLICATION = "/images/Tc_logo.png"; private Logic logic; private Config config; diff --git a/src/main/resources/images/Tc_logo.png b/src/main/resources/images/Tc_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..87fd018a7d5422212229a0789c675064834fe066 GIT binary patch literal 34645 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�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 literal 0 HcmV?d00001 diff --git a/src/main/resources/images/address_book_32.png b/src/main/resources/images/address_book_32.png deleted file mode 100644 index 29810cf1fd938e8568946ad28ee0c678564804b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4214 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 M07*qoM6N<$g3Sc>OaK4? diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index 83619c0aa8fd..3bee548d4fd0 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -78,7 +78,7 @@ .split-pane:horizontal .split-pane-divider { -fx-background-color: derive(#1d1d1d, 20%); - -fx-border-color: transparent transparent transparent #4d4d4d; + -fx-border-color: transparent transparent transparent #ffffff; } .split-pane { @@ -91,16 +91,21 @@ -fx-background-insets: 0; -fx-padding: 0; -fx-background-color: derive(#1d1d1d, 20%); + } .list-cell { -fx-label-padding: 0 0 0 0; -fx-graphic-text-gap : 0; - -fx-padding: 0 0 0 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent } .list-cell:filled:even { - -fx-background-color: #3c3e3f; + -fx-background-color: #515658; } .list-cell:filled:odd { @@ -114,6 +119,7 @@ .list-cell:filled:selected #cardPane { -fx-border-color: #3e7b91; -fx-border-width: 1; + } .list-cell .label { @@ -281,34 +287,51 @@ } .scroll-bar { - -fx-background-color: derive(#1d1d1d, 20%); + -fx-background-color: derive(#000000, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + } .scroll-bar .thumb { - -fx-background-color: derive(#1d1d1d, 50%); - -fx-background-insets: 3; + -fx-background-color: derive(#ffffff, 50%); + } .scroll-bar .increment-button, .scroll-bar .decrement-button { -fx-background-color: transparent; - -fx-padding: 0 0 0 0; + -fx-rotate: 0; + } -.scroll-bar .increment-arrow, .scroll-bar .decrement-arrow { - -fx-shape: " "; +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; } .scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { - -fx-padding: 1 8 1 8; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; } -.scroll-bar:horizontal .increment-arrow, .scroll-bar:horizontal .decrement-arrow { - -fx-padding: 8 1 8 1; +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; } #cardPane { -fx-background-color: transparent; - -fx-border-width: 0; + -fx-border-width: 10pt; } #commandTypeLabel { diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index 1dadb95b6ffe..008164f93ed7 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -14,7 +14,7 @@ <fx:root type="javafx.stage.Stage" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" minWidth="450" minHeight="600"> <icons> - <Image url="@/images/address_book_32.png" /> + <Image url="@/images/Tc_logo.png" /> </icons> <scene> <Scene> @@ -33,20 +33,9 @@ </Menu> </MenuBar> - <StackPane VBox.vgrow="NEVER" fx:id="commandBoxPlaceholder" styleClass="pane-with-border"> - <padding> - <Insets top="5" right="10" bottom="5" left="10" /> - </padding> - </StackPane> - <StackPane VBox.vgrow="NEVER" fx:id="resultDisplayPlaceholder" styleClass="pane-with-border" - minHeight="100" prefHeight="100" maxHeight="100"> - <padding> - <Insets top="5" right="10" bottom="5" left="10" /> - </padding> - </StackPane> - <SplitPane id="splitPane" fx:id="splitPane" dividerPositions="0.4" VBox.vgrow="ALWAYS"> + <SplitPane id="splitPane" fx:id="splitPane" dividerPositions="0.4" VBox.vgrow="ALWAYS" > <VBox fx:id="personList" minWidth="340" prefWidth="340" SplitPane.resizableWithParent="false"> <padding> <Insets top="10" right="10" bottom="10" left="10" /> @@ -54,13 +43,35 @@ <StackPane fx:id="personListPanelPlaceholder" VBox.vgrow="ALWAYS"/> </VBox> - <StackPane fx:id="browserPlaceholder" prefWidth="340" > - <padding> - <Insets top="10" right="10" bottom="10" left="10" /> - </padding> - </StackPane> + + + + <VBox> + <StackPane fx:id="browserPlaceholder" prefWidth="340" > + <padding> + <Insets top="10" right="10" bottom="10" left="10" /> + </padding> + </StackPane> + + <StackPane VBox.vgrow="NEVER" fx:id="resultDisplayPlaceholder" styleClass="pane-with-border" + minHeight="100" prefHeight="100" maxHeight="100" alignment="BOTTOM_RIGHT" > + <padding> + <Insets top="5" right="10" bottom="5" left="10" /> + </padding> + </StackPane> + + <StackPane VBox.vgrow="NEVER" fx:id="commandBoxPlaceholder" styleClass="pane-with-border"> + <padding> + <Insets top="5" right="10" bottom="5" left="10" /> + </padding> + </StackPane> + </VBox> + + + </SplitPane> + <StackPane fx:id="statusbarPlaceholder" VBox.vgrow="NEVER" /> </VBox> </Scene> diff --git a/src/main/resources/view/PersonListCard.fxml b/src/main/resources/view/PersonListCard.fxml index f08ea32ad558..0e9b528324f8 100644 --- a/src/main/resources/view/PersonListCard.fxml +++ b/src/main/resources/view/PersonListCard.fxml @@ -27,7 +27,11 @@ </Label> <Label fx:id="name" text="\$first" styleClass="cell_big_label" /> </HBox> - <FlowPane fx:id="tags" /> + <FlowPane fx:id="tags"> + <padding> + <Insets top="5" right="10" bottom="5" left="0" /> + </padding> + </FlowPane> <Label fx:id="phone" styleClass="cell_small_label" text="\$phone" /> <Label fx:id="address" styleClass="cell_small_label" text="\$address" /> <Label fx:id="email" styleClass="cell_small_label" text="\$email" /> diff --git a/src/test/java/seedu/address/commons/core/ConfigTest.java b/src/test/java/seedu/address/commons/core/ConfigTest.java index cc4bf567cb44..1de858c4abcc 100644 --- a/src/test/java/seedu/address/commons/core/ConfigTest.java +++ b/src/test/java/seedu/address/commons/core/ConfigTest.java @@ -14,7 +14,7 @@ public class ConfigTest { @Test public void toString_defaultObject_stringReturned() { - String defaultConfigAsString = "App title : Address App\n" + String defaultConfigAsString = "App title : TeachConnect\n" + "Current log level : INFO\n" + "Preference file Location : preferences.json"; diff --git a/src/test/java/seedu/address/commons/util/AppUtilTest.java b/src/test/java/seedu/address/commons/util/AppUtilTest.java index 8a6fe5fcb7d6..1329ad513c2e 100644 --- a/src/test/java/seedu/address/commons/util/AppUtilTest.java +++ b/src/test/java/seedu/address/commons/util/AppUtilTest.java @@ -15,7 +15,7 @@ public class AppUtilTest { @Test public void getImage_exitingImage() { - assertNotNull(AppUtil.getImage("/images/address_book_32.png")); + assertNotNull(AppUtil.getImage("/images/Tc_logo.png")); } diff --git a/src/test/java/seedu/address/model/UniquePersonListTest.java b/src/test/java/seedu/address/model/UniquePersonListTest.java index ae39646daab2..cd3033860f03 100644 --- a/src/test/java/seedu/address/model/UniquePersonListTest.java +++ b/src/test/java/seedu/address/model/UniquePersonListTest.java @@ -1,10 +1,17 @@ package seedu.address.model; +import static junit.framework.TestCase.assertTrue; + +import java.util.List; + import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import seedu.address.model.person.Person; import seedu.address.model.person.UniquePersonList; +import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.testutil.PersonBuilder; public class UniquePersonListTest { @Rule @@ -16,4 +23,20 @@ public void asObservableList_modifyList_throwsUnsupportedOperationException() { thrown.expect(UnsupportedOperationException.class); uniquePersonList.asObservableList().remove(0); } + + @Test + public void sortedObservableList_modifyList_showsSortedList(){ + UniquePersonList uniquePersonList = new UniquePersonList(); + Person alice = new PersonBuilder().withName("Alice").build(); + Person bob = new PersonBuilder().withName("Bob").build(); + try { + uniquePersonList.add(bob); + uniquePersonList.add(alice); + } catch (DuplicatePersonException dpe) { + assert false : "Should not happen"; + } + uniquePersonList.sort(); + List testingList = uniquePersonList.asObservableList(); + assertTrue(testingList.get(0).equals(alice)); + } } From 2c8880eca83c3f40c9ba5fa530f22ae32f751487 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Tue, 27 Mar 2018 12:47:38 +0800 Subject: [PATCH 123/288] Parse personIndex for setappointmentcommandparse --- .../logic/commands/SetAppointmentCommand.java | 43 +++++++++++++++++-- .../address/logic/parser/ParserUtil.java | 10 +++++ .../parser/SetAppointmentCommandParser.java | 12 ++++-- .../address/model/event/Appointment.java | 2 +- .../storage/XmlAdaptedAppointment.java | 2 +- .../commands/SetAppointmentCommandTest.java | 4 +- 6 files changed, 62 insertions(+), 11 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java index feaf49601408..ba97d5992e3c 100644 --- a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java @@ -6,9 +6,15 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_START_TIME; import static seedu.address.logic.parser.CliSyntax.PREFIX_TITLE; +import java.util.List; + +import seedu.address.commons.core.Messages; +import seedu.address.commons.core.index.Index; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.event.Appointment; +import seedu.address.model.event.PersonToMeet; import seedu.address.model.event.UniqueEventList; +import seedu.address.model.person.Person; /** * Adds an appointment to the address book. @@ -32,20 +38,35 @@ public class SetAppointmentCommand extends UndoableCommand { public static final String MESSAGE_SUCCESS = "New appointment added: %1$s"; public static final String MESSAGE_DUPLICATE_APPOINTMENT = "This appointment already exists in the address book"; - private final Appointment toAdd; + private final Appointment appointment; + private final Index index; + + private PersonToMeet personToMeet; + + public SetAppointmentCommand(Appointment appointment) { + this(appointment, null); + } /** * Creates a SetAppointmentCommand to add the specified {@code Appointment} */ - public SetAppointmentCommand(Appointment appointment) { + public SetAppointmentCommand(Appointment appointment, Index index) { requireNonNull(appointment); - toAdd = appointment; + this.appointment = appointment; + this.index = index; } @Override public CommandResult executeUndoableCommand() throws CommandException { requireNonNull(model); try { + Appointment toAdd; + if (personToMeet != null) { + toAdd = new Appointment(appointment.getTitle(), appointment.getTime(), + appointment.getEndTime(), personToMeet); + } else { + toAdd = appointment; + } model.addEvent(toAdd); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); } catch (UniqueEventList.DuplicateEventException e) { @@ -54,10 +75,24 @@ public CommandResult executeUndoableCommand() throws CommandException { } + @Override + protected void preprocessUndoableCommand() throws CommandException { + if (index != null) { + List<Person> lastShownList = model.getFilteredPersonList(); + + if (index.getZeroBased() >= lastShownList.size()) { + throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + } + + Person person = lastShownList.get(index.getZeroBased()); + personToMeet = new PersonToMeet(person.getName().fullName, person.getEmail().value); + } + } + @Override public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof SetAppointmentCommand // instanceof handles nulls - && toAdd.equals(((SetAppointmentCommand) other).toAdd)); + && appointment.equals(((SetAppointmentCommand) other).appointment)); } } diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index e75bb2bdb178..1dce721818f6 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -45,6 +45,16 @@ public static Index parseIndex(String oneBasedIndex) throws IllegalValueExceptio return Index.fromOneBased(Integer.parseInt(trimmedIndex)); } + /** + * Parses a {@code Optional<String> onebasedIndex} into an {@code Optional<Index>} + * if {@code onebasedIndex} is present. + * See header comment of this class regarding the use of {@code Optional} parameters. + */ + public static Optional<Index> parseIndex(Optional<String> oneBasedIndex) throws IllegalValueException { + requireNonNull(oneBasedIndex); + return oneBasedIndex.isPresent() ? Optional.of(parseIndex(oneBasedIndex.get())) : Optional.empty(); + } + /** * Parses a {@code String name} into a {@code Name}. * Leading and trailing whitespaces will be trimmed. diff --git a/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java b/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java index 3f45675efc82..bf95ac1d4ea6 100644 --- a/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java @@ -6,8 +6,10 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_START_TIME; import static seedu.address.logic.parser.CliSyntax.PREFIX_TITLE; +import java.util.Optional; import java.util.stream.Stream; +import seedu.address.commons.core.index.Index; import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.logic.commands.SetAppointmentCommand; import seedu.address.logic.parser.exceptions.ParseException; @@ -37,14 +39,18 @@ public SetAppointmentCommand parse(String args) throws ParseException { } try { + Index index = null; Title title = ParserUtil.parseTitle(argMultimap.getValue(PREFIX_TITLE)).get(); EventTime startTime = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_START_TIME)).get(); EventTime endTime = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_END_TIME)).get(); - + Optional<Index> optionalIndex = ParserUtil.parseIndex(argMultimap.getValue(PREFIX_PERSON_TO_MEET_INDEX)); + if (optionalIndex.isPresent()) { + index = optionalIndex.get(); + } Appointment appointment = new Appointment(title, startTime, endTime); - return new SetAppointmentCommand(appointment); - } catch (IllegalValueException | IllegalArgumentException ive) { + return new SetAppointmentCommand(appointment, index); + } catch (IllegalValueException | IllegalArgumentException ive ) { throw new ParseException(ive.getMessage(), ive); } } diff --git a/src/main/java/seedu/address/model/event/Appointment.java b/src/main/java/seedu/address/model/event/Appointment.java index 09a5271e0c4d..7fa6ce5c17b7 100644 --- a/src/main/java/seedu/address/model/event/Appointment.java +++ b/src/main/java/seedu/address/model/event/Appointment.java @@ -71,7 +71,7 @@ public String toString() { .append(", End Time: ") .append(getEndTime().toString()); if (personToMeet != null) { - builder.append(", To meet: ") + builder.append(", With: ") .append(personToMeet.getName()); } return builder.toString(); diff --git a/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java b/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java index aacda02f50d4..64a99df19429 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java @@ -26,7 +26,7 @@ public class XmlAdaptedAppointment { private String startTime; @XmlElement(required = true) private String endTime; - @XmlElement + @XmlElement(required = true) private String personToMeet; /** diff --git a/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java b/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java index 60438bfe55b7..1fd28272c9ec 100644 --- a/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java @@ -30,7 +30,7 @@ public class SetAppointmentCommandTest { @Test public void constructor_nullAppointment_throwsNullPointerException() { thrown.expect(NullPointerException.class); - new SetAppointmentCommand(null); + new SetAppointmentCommand(null, null); } @Test @@ -84,7 +84,7 @@ public void equals() { * Generates a new SetAppointmentCommand with the details of the given appointment. */ private SetAppointmentCommand getSetAppointmentCommand(Appointment appointment, Model model) { - SetAppointmentCommand command = new SetAppointmentCommand(appointment); + SetAppointmentCommand command = new SetAppointmentCommand(appointment, null); command.setData(model, new CommandHistory(), new UndoRedoStack()); return command; } From a2ccc47a29cfa2132a8865975f6800b47886f423 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 27 Mar 2018 22:49:18 +0800 Subject: [PATCH 124/288] Added Personalised Alias --- .../seedu/address/commons/core/Messages.java | 2 + .../seedu/address/logic/LogicManager.java | 2 +- .../logic/commands/ShortcutCommand.java | 57 +++++++++++++++ .../logic/parser/AddressBookParser.java | 29 +++++++- .../logic/parser/ShortcutCommandParser.java | 29 ++++++++ .../java/seedu/address/model/AddressBook.java | 19 ++++- src/main/java/seedu/address/model/Model.java | 9 +++ .../seedu/address/model/ModelManager.java | 22 ++++++ .../address/model/ReadOnlyAddressBook.java | 5 ++ .../model/person/UniquePersonList.java | 31 ++++---- .../model/shortcuts/ShortcutDoubles.java | 37 ++++++++++ .../shortcuts/UniqueShortcutDoublesList.java | 73 +++++++++++++++++++ .../java/seedu/address/model/tag/Tag.java | 3 +- .../address/model/tag/UniqueTagList.java | 2 +- .../address/model/util/SampleDataUtil.java | 53 ++++++++++---- .../storage/XmlAdaptedShortcutDouble.java | 47 ++++++++++++ .../storage/XmlSerializableAddressBook.java | 9 +++ .../logic/commands/AddCommandTest.java | 19 +++++ .../seedu/address/model/AddressBookTest.java | 14 +++- .../address/model/UniquePersonListTest.java | 30 ++++---- 20 files changed, 438 insertions(+), 54 deletions(-) create mode 100644 src/main/java/seedu/address/logic/commands/ShortcutCommand.java create mode 100644 src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java create mode 100644 src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java create mode 100644 src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java create mode 100644 src/main/java/seedu/address/storage/XmlAdaptedShortcutDouble.java diff --git a/src/main/java/seedu/address/commons/core/Messages.java b/src/main/java/seedu/address/commons/core/Messages.java index 1deb3a1e4695..0a178d836536 100644 --- a/src/main/java/seedu/address/commons/core/Messages.java +++ b/src/main/java/seedu/address/commons/core/Messages.java @@ -9,5 +9,7 @@ public class Messages { public static final String MESSAGE_INVALID_COMMAND_FORMAT = "Invalid command format! \n%1$s"; public static final String MESSAGE_INVALID_PERSON_DISPLAYED_INDEX = "The person index provided is invalid"; public static final String MESSAGE_PERSONS_LISTED_OVERVIEW = "%1$d persons listed!"; + public static final String MESSAGE_SUGGESTION_COMMAND_FORMAT = "Invalid command. " + + "Try to add it using shortcut command"; } diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index 9f6846bdfc74..e1ecd0b671de 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -27,7 +27,7 @@ public class LogicManager extends ComponentManager implements Logic { public LogicManager(Model model) { this.model = model; history = new CommandHistory(); - addressBookParser = new AddressBookParser(); + addressBookParser = new AddressBookParser(model.getFilteredCommandsList()); undoRedoStack = new UndoRedoStack(); } diff --git a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java new file mode 100644 index 000000000000..ff95fc1e5982 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java @@ -0,0 +1,57 @@ +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; + +import java.util.List; + +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +/** + * + */ +public class ShortcutCommand extends Command { + + public static final String COMMAND_WORD = "shortcut"; + public static final String MESSAGE_USAGE = COMMAND_WORD + " :Creates a shortcut for any command word"; + private static final String MESSAGE_SHORTCUT_AVAILABLE = "This shortcut already exists!"; + private static final String MESSAGE_SUCCESS = "Successfully added the shortcut"; + + private final String shortcutWord; + + private final String commandWord; + + private List<ShortcutDoubles> commandsList; + + public ShortcutCommand(String commandWord, String shortcutWord) { + requireNonNull(commandWord, shortcutWord); + this.shortcutWord = shortcutWord; + this.commandWord = commandWord; + } + + @Override + public CommandResult execute() throws CommandException { + commandsList = model.getFilteredCommandsList(); + if (commandsList != null) { + for (ShortcutDoubles s : commandsList) { + if (s.commandWord.equals(commandWord) || s.shortcutWord.equals(shortcutWord)) { + return new CommandResult(String.format(MESSAGE_SHORTCUT_AVAILABLE)); + } + } + } + + ShortcutDoubles toAdd = new ShortcutDoubles(shortcutWord, commandWord); + try { + model.addCommandShortcut(toAdd); + } catch (UniqueShortcutDoublesList.DuplicateShortcutDoublesException e) { + return new CommandResult(String.format(MESSAGE_SHORTCUT_AVAILABLE)); + } + + return new CommandResult(String.format(MESSAGE_SUCCESS)); + } + + public List<ShortcutDoubles> getCommandsList() { + return commandsList; + } +} diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index 04a9e17f9516..33fee6e035ba 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -3,6 +3,7 @@ import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; import static seedu.address.commons.core.Messages.MESSAGE_UNKNOWN_COMMAND; +import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -20,8 +21,10 @@ import seedu.address.logic.commands.ListCommand; import seedu.address.logic.commands.RedoCommand; import seedu.address.logic.commands.SelectCommand; +import seedu.address.logic.commands.ShortcutCommand; import seedu.address.logic.commands.UndoCommand; import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.model.shortcuts.ShortcutDoubles; /** * Parses user input. @@ -32,6 +35,12 @@ public class AddressBookParser { * Used for initial separation of command word and args. */ private static final Pattern BASIC_COMMAND_FORMAT = Pattern.compile("(?<commandWord>\\S+)(?<arguments>.*)"); + private List<ShortcutDoubles> shortcutDoubles; + + public AddressBookParser(List<ShortcutDoubles> shortcutDoubles) { + this.shortcutDoubles = shortcutDoubles; + } + public AddressBookParser(){} /** * Parses user input into command for execution. @@ -40,14 +49,25 @@ public class AddressBookParser { * @return the command based on the user input * @throws ParseException if the user input does not conform the expected format */ - public Command parseCommand(String userInput) throws ParseException { + public Command parseCommand(String userInput) throws ParseException { final Matcher matcher = BASIC_COMMAND_FORMAT.matcher(userInput.trim()); + + if (!matcher.matches()) { throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, HelpCommand.MESSAGE_USAGE)); } - final String commandWord = matcher.group("commandWord"); + + String commandWord = matcher.group("commandWord"); final String arguments = matcher.group("arguments"); + if (shortcutDoubles != null) { + for (ShortcutDoubles s : shortcutDoubles) { + if (s.shortcutWord.equals(commandWord)) { + commandWord = s.commandWord; + } + } + } + switch (commandWord) { case AddCommand.COMMAND_WORD: @@ -92,9 +112,14 @@ public Command parseCommand(String userInput) throws ParseException { case ExportCommand.COMMAND_WORD: return new ExportCommandParser().parse(arguments); + case ShortcutCommand.COMMAND_WORD: + return new ShortcutCommandParser().parse(arguments); + default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } } + + } diff --git a/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java b/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java new file mode 100644 index 000000000000..a252f1ee9e97 --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java @@ -0,0 +1,29 @@ +package seedu.address.logic.parser; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + +import seedu.address.logic.commands.ShortcutCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +/** + * Parsar + */ +public class ShortcutCommandParser implements Parser<ShortcutCommand> { + /** + * Parses the given {@code String} of arguments in the context of the ShortcutCommand + * and returns an ShortcutCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ShortcutCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + String[] splitWords = trimmedArgs.split(" "); + if (splitWords.length > 2) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ShortcutCommand.MESSAGE_USAGE)); + } else { + return new ShortcutCommand(splitWords[0], splitWords[1]); + } + } +} diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 4a78c4e7fad5..cb29115ca666 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -17,6 +17,8 @@ import seedu.address.model.person.UniquePersonList; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; import seedu.address.model.tag.Tag; import seedu.address.model.tag.UniqueTagList; @@ -29,7 +31,7 @@ public class AddressBook implements ReadOnlyAddressBook { private final UniquePersonList persons; private final UniqueTagList tags; private final UniqueEventList events; - + private final UniqueShortcutDoublesList shorcutCommands; /* * The 'unusual' code block below is an non-static initialization block, sometimes used to avoid duplication * between constructors. See https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html @@ -41,6 +43,7 @@ public class AddressBook implements ReadOnlyAddressBook { persons = new UniquePersonList(); tags = new UniqueTagList(); events = new UniqueEventList(); + shorcutCommands = new UniqueShortcutDoublesList(); } public AddressBook() {} @@ -63,6 +66,7 @@ public void setTags(Set<Tag> tags) { this.tags.setTags(tags); } + /** * Resets the existing data of this {@code AddressBook} with {@code newData}. */ @@ -168,6 +172,11 @@ public void addTag(Tag t) throws UniqueTagList.DuplicateTagException { tags.add(t); } + public void addShortcutDoubles(ShortcutDoubles s) + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + shorcutCommands.add(s); + } + //// util methods @Override @@ -186,6 +195,11 @@ public ObservableList<Tag> getTagList() { return tags.asObservableList(); } + @Override + public ObservableList<ShortcutDoubles> getCommandsList() { + return shorcutCommands.asObservableList(); + } + @Override public ObservableList<Event> getEventList() { return events.asObservableList(); @@ -196,7 +210,8 @@ public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof AddressBook // instanceof handles nulls && this.persons.equals(((AddressBook) other).persons) - && this.tags.equalsOrderInsensitive(((AddressBook) other).tags)); + && this.tags.equalsOrderInsensitive(((AddressBook) other).tags) + && this.shorcutCommands.equals(((AddressBook) other).shorcutCommands)); } @Override diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 750831254a80..08d082128fd5 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -6,6 +6,8 @@ import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; import seedu.address.model.tag.Tag; /** @@ -27,6 +29,9 @@ public interface Model { /** Adds the given person */ void addPerson(Person person) throws DuplicatePersonException; + void addCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException; + /** * Replaces the given person {@code target} with {@code editedPerson}. * @@ -46,6 +51,10 @@ void updatePerson(Person target, Person editedPerson) */ void updateFilteredPersonList(Predicate<Person> predicate); + ObservableList<ShortcutDoubles> getFilteredCommandsList(); + + void updateFilteredCommandList(Predicate<ShortcutDoubles> predicate); + void deleteTag(Tag tag) throws PersonNotFoundException, DuplicatePersonException; } diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 651f04c4b502..16a5df23a0e8 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -15,6 +15,8 @@ import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; import seedu.address.model.tag.Tag; /** @@ -26,6 +28,7 @@ public class ModelManager extends ComponentManager implements Model { private final AddressBook addressBook; private final FilteredList<Person> filteredPersons; + private final FilteredList<ShortcutDoubles> filteredShortcutCommands; /** * Initializes a ModelManager with the given addressBook and userPrefs. @@ -38,6 +41,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, UserPrefs userPrefs) { this.addressBook = new AddressBook(addressBook); filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); + filteredShortcutCommands = new FilteredList<>(this.addressBook.getCommandsList()); } public ModelManager() { @@ -73,6 +77,13 @@ public synchronized void addPerson(Person person) throws DuplicatePersonExceptio indicateAddressBookChanged(); } + @Override + public synchronized void addCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + addressBook.addShortcutDoubles(shortcutDoubles); + indicateAddressBookChanged(); + } + @Override public void updatePerson(Person target, Person editedPerson) throws DuplicatePersonException, PersonNotFoundException { @@ -93,12 +104,23 @@ public ObservableList<Person> getFilteredPersonList() { return FXCollections.unmodifiableObservableList(filteredPersons); } + @Override + public ObservableList<ShortcutDoubles> getFilteredCommandsList() { + return FXCollections.unmodifiableObservableList(filteredShortcutCommands); + } + @Override public void updateFilteredPersonList(Predicate<Person> predicate) { requireNonNull(predicate); filteredPersons.setPredicate(predicate); } + @Override + public void updateFilteredCommandList(Predicate<ShortcutDoubles> shortcutDoublesPredicate) { + requireNonNull(shortcutDoublesPredicate); + filteredShortcutCommands.setPredicate(shortcutDoublesPredicate); + } + @Override public boolean equals(Object obj) { // short circuit if same object diff --git a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java index 6fc534827d3e..6ca043f72f3e 100644 --- a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java +++ b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java @@ -3,6 +3,7 @@ import javafx.collections.ObservableList; import seedu.address.model.event.Event; import seedu.address.model.person.Person; +import seedu.address.model.shortcuts.ShortcutDoubles; import seedu.address.model.tag.Tag; /** @@ -28,4 +29,8 @@ public interface ReadOnlyAddressBook { */ ObservableList<Event> getEventList(); + + ObservableList<ShortcutDoubles> getCommandsList(); + + } diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/seedu/address/model/person/UniquePersonList.java index b8767c5348f6..66b1f8c97afe 100644 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ b/src/main/java/seedu/address/model/person/UniquePersonList.java @@ -3,7 +3,6 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; -import java.util.Comparator; import java.util.Iterator; import java.util.List; @@ -15,7 +14,7 @@ /** * A list of persons that enforces uniqueness between its elements and does not allow nulls. - * + * <p> * Supports a minimal set of list operations. * * @see Person#equals(Object) @@ -50,7 +49,7 @@ public void add(Person toAdd) throws DuplicatePersonException { * Replaces the person {@code target} in the list with {@code editedPerson}. * * @throws DuplicatePersonException if the replacement is equivalent to another existing person in the list. - * @throws PersonNotFoundException if {@code target} could not be found in the list. + * @throws PersonNotFoundException if {@code target} could not be found in the list. */ public void setPerson(Person target, Person editedPerson) throws DuplicatePersonException, PersonNotFoundException { @@ -99,7 +98,7 @@ public void setPersons(List<Person> persons) throws DuplicatePersonException { * Returns the backing list as an unmodifiable {@code ObservableList}. */ public ObservableList<Person> asObservableList() { - sort(); + //sort(); return FXCollections.unmodifiableObservableList(internalList); } @@ -112,7 +111,7 @@ public Iterator<Person> iterator() { public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof UniquePersonList // instanceof handles nulls - && this.internalList.equals(((UniquePersonList) other).internalList)); + && this.internalList.equals(((UniquePersonList) other).internalList)); } @Override @@ -121,15 +120,15 @@ public int hashCode() { } //@@author shanmu9898 - /** - * Sorts the unique person list. - */ - public void sort() { - internalList.sort(new Comparator<Person>() { - @Override - public int compare(Person otherMember1, Person otherMember2) { - return otherMember1.getName().toString().compareTo(otherMember2.getName().toString()); - } - }); - } + //* Sorts the unique person list. + // + // public void sort() { + // SortedList<Person> sortedInternalList = internalList.sorted(); + // ObservableList<Person> sortedReturningInternalList = ; + // for(Person p : sortedInternalList) { + // sortedReturningInternalList.add(p); + // } + // + // + // } } diff --git a/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java b/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java new file mode 100644 index 000000000000..b91cc968c545 --- /dev/null +++ b/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java @@ -0,0 +1,37 @@ +package seedu.address.model.shortcuts; + +import static java.util.Objects.requireNonNull; + +/** + * Represents a Command Double + */ +public class ShortcutDoubles { + + public final String shortcutWord; + public final String commandWord; + + public ShortcutDoubles(String shortcutWord, String commandWord) { + requireNonNull(shortcutWord); + requireNonNull(commandWord); + this.shortcutWord = shortcutWord; + this.commandWord = commandWord; + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ShortcutDoubles // instanceof handles nulls + && this.shortcutWord.equals(((ShortcutDoubles) other).shortcutWord) + && this.commandWord.equals(((ShortcutDoubles) other).commandWord)); // state check + } + + public String getShortcutWord() { + return shortcutWord; + } + + public String getCommandWord() { + return commandWord; + } + + +} diff --git a/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java b/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java new file mode 100644 index 000000000000..c3ba0111f00c --- /dev/null +++ b/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java @@ -0,0 +1,73 @@ +package seedu.address.model.shortcuts; + +import static java.util.Objects.requireNonNull; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import seedu.address.commons.exceptions.DuplicateDataException; +import seedu.address.commons.util.CollectionUtil; +import seedu.address.model.tag.UniqueTagList; + +/** + * + */ +public class UniqueShortcutDoublesList { + + private final ObservableList<ShortcutDoubles> internalList = FXCollections.observableArrayList(); + + public UniqueShortcutDoublesList(){ + + } + + /** + * Adds Shortcut Doubles to the internal list + * @param toAdd + * @throws DuplicateShortcutDoublesException + */ + public void add(ShortcutDoubles toAdd) throws DuplicateShortcutDoublesException { + requireNonNull(toAdd); + if (contains(toAdd)) { + throw new DuplicateShortcutDoublesException(); + } + internalList.add(toAdd); + + assert CollectionUtil.elementsAreUnique(internalList); + } + + /** + * Returns an ObservableList of the internallist + * @return + */ + public ObservableList<ShortcutDoubles> asObservableList() { + assert CollectionUtil.elementsAreUnique(internalList); + return FXCollections.unmodifiableObservableList(internalList); + } + + /** + * Gives a duplicate Except + */ + public static class DuplicateShortcutDoublesException extends DuplicateDataException { + protected DuplicateShortcutDoublesException() { + super("Operation would result in duplicate Doubles"); + } + } + + /** + * Helps in checking if there are duplicates + * @param toCheck + * @return + */ + public boolean contains(ShortcutDoubles toCheck) { + requireNonNull(toCheck); + return internalList.contains(toCheck); + } + + @Override + public boolean equals(Object other) { + assert CollectionUtil.elementsAreUnique(internalList); + return other == this // short circuit if same object + || (other instanceof UniqueShortcutDoublesList // instanceof handles nulls + && this.internalList.equals(((UniqueShortcutDoublesList) other).internalList)); + } + +} diff --git a/src/main/java/seedu/address/model/tag/Tag.java b/src/main/java/seedu/address/model/tag/Tag.java index 8bf369795344..7ddc2948d291 100644 --- a/src/main/java/seedu/address/model/tag/Tag.java +++ b/src/main/java/seedu/address/model/tag/Tag.java @@ -69,8 +69,7 @@ public static boolean isValidTagColorStyle(String tagColorStyle) { public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof Tag // instanceof handles nulls - && this.tagName.equals(((Tag) other).tagName) - && this.tagColorStyle.equals(((Tag) other).tagColorStyle)); // state check + && this.tagName.equals(((Tag) other).tagName)); // state check } @Override diff --git a/src/main/java/seedu/address/model/tag/UniqueTagList.java b/src/main/java/seedu/address/model/tag/UniqueTagList.java index e9a74947fc3f..95ecc3901538 100644 --- a/src/main/java/seedu/address/model/tag/UniqueTagList.java +++ b/src/main/java/seedu/address/model/tag/UniqueTagList.java @@ -111,7 +111,7 @@ public boolean equals(Object other) { assert CollectionUtil.elementsAreUnique(internalList); return other == this // short circuit if same object || (other instanceof UniqueTagList // instanceof handles nulls - && this.internalList.equals(((UniqueTagList) other).internalList)); + && this.internalList.equals(((UniqueTagList) other).internalList)); } /** diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index aea96bfb31f3..d11f4c5de353 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -11,6 +11,8 @@ import seedu.address.model.person.Person; import seedu.address.model.person.Phone; import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; import seedu.address.model.tag.Tag; /** @@ -18,40 +20,56 @@ */ public class SampleDataUtil { public static Person[] getSamplePersons() { - return new Person[] { + return new Person[]{ new Person(new Name("Alex Yeoh"), new Phone("87438807"), new Email("alexyeoh@example.com"), - new Address("Blk 30 Geylang Street 29, #06-40"), - getTagSet("friends")), + new Address("Blk 30 Geylang Street 29, #06-40"), + getTagSet("friends")), new Person(new Name("Bernice Yu"), new Phone("99272758"), new Email("berniceyu@example.com"), - new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), - getTagSet("colleagues", "friends")), + new Address("Blk 30 Lorong 3 Serangoon Gardens, #07-18"), + getTagSet("colleagues", "friends")), new Person(new Name("Charlotte Oliveiro"), new Phone("93210283"), new Email("charlotte@example.com"), - new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), - getTagSet("neighbours")), + new Address("Blk 11 Ang Mo Kio Street 74, #11-04"), + getTagSet("neighbours")), new Person(new Name("David Li"), new Phone("91031282"), new Email("lidavid@example.com"), - new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), - getTagSet("family")), + new Address("Blk 436 Serangoon Gardens Street 26, #16-43"), + getTagSet("family")), new Person(new Name("Irfan Ibrahim"), new Phone("92492021"), new Email("irfan@example.com"), - new Address("Blk 47 Tampines Street 20, #17-35"), - getTagSet("classmates")), + new Address("Blk 47 Tampines Street 20, #17-35"), + getTagSet("classmates")), new Person(new Name("Roy Balakrishnan"), new Phone("92624417"), new Email("royb@example.com"), - new Address("Blk 45 Aljunied Street 85, #11-31"), - getTagSet("colleagues")) + new Address("Blk 45 Aljunied Street 85, #11-31"), + getTagSet("colleagues")) + }; + } + + public static ShortcutDoubles[] getSampleShortcutDoubles() { + return new ShortcutDoubles[]{ + new ShortcutDoubles("a", "add"), + new ShortcutDoubles("s", "shortcut") }; } public static ReadOnlyAddressBook getSampleAddressBook() { try { + AddressBook sampleAb = new AddressBook(); for (Person samplePerson : getSamplePersons()) { sampleAb.addPerson(samplePerson); } + + for (ShortcutDoubles s : getSampleShortcutDoubles()) { + sampleAb.addShortcutDoubles(s); + } + return sampleAb; } catch (DuplicatePersonException e) { throw new AssertionError("sample data cannot contain duplicate persons", e); + } catch (UniqueShortcutDoublesList.DuplicateShortcutDoublesException e) { + throw new AssertionError("sample data cannot contain duplicate command shortcuts", e); } } + /** * Returns a tag set containing the list of strings given. */ @@ -64,4 +82,13 @@ public static Set<Tag> getTagSet(String... strings) { return tags; } + public static Set<ShortcutDoubles> getSampleShortcutDoublesTagSet(String... strings) { + HashSet<ShortcutDoubles> shortcutDoubles = new HashSet<>(); + for (String s : strings) { + shortcutDoubles.add(new ShortcutDoubles(s, s)); + } + + return shortcutDoubles; + } + } diff --git a/src/main/java/seedu/address/storage/XmlAdaptedShortcutDouble.java b/src/main/java/seedu/address/storage/XmlAdaptedShortcutDouble.java new file mode 100644 index 000000000000..81d79997ffbe --- /dev/null +++ b/src/main/java/seedu/address/storage/XmlAdaptedShortcutDouble.java @@ -0,0 +1,47 @@ +package seedu.address.storage; + +import javax.xml.bind.annotation.XmlElement; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * + */ +public class XmlAdaptedShortcutDouble { + @XmlElement + private String shortcutWord; + @XmlElement + private String commandWord; + + public XmlAdaptedShortcutDouble() {} + + public XmlAdaptedShortcutDouble(String shortcutWord, String commandWord) { + this.shortcutWord = shortcutWord; + this.commandWord = commandWord; + } + + public XmlAdaptedShortcutDouble(ShortcutDoubles source) { + shortcutWord = source.shortcutWord; + commandWord = source.commandWord; + } + + public ShortcutDoubles toModelType() throws IllegalValueException { + return new ShortcutDoubles(shortcutWord, commandWord); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof XmlAdaptedShortcutDouble)) { + return false; + } + + return commandWord.equals(((XmlAdaptedShortcutDouble) other).commandWord) + && shortcutWord.equals(((XmlAdaptedShortcutDouble) other).shortcutWord); + } + +} diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index dc820896c312..10ba2f4164b1 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -21,6 +21,8 @@ public class XmlSerializableAddressBook { private List<XmlAdaptedPerson> persons; @XmlElement private List<XmlAdaptedTag> tags; + @XmlElement + private List<XmlAdaptedShortcutDouble> commandsList; /** * Creates an empty XmlSerializableAddressBook. @@ -29,6 +31,7 @@ public class XmlSerializableAddressBook { public XmlSerializableAddressBook() { persons = new ArrayList<>(); tags = new ArrayList<>(); + commandsList = new ArrayList<>(); } /** @@ -38,6 +41,8 @@ public XmlSerializableAddressBook(ReadOnlyAddressBook src) { this(); persons.addAll(src.getPersonList().stream().map(XmlAdaptedPerson::new).collect(Collectors.toList())); tags.addAll(src.getTagList().stream().map(XmlAdaptedTag::new).collect(Collectors.toList())); + commandsList.addAll(src.getCommandsList().stream().map(XmlAdaptedShortcutDouble::new) + .collect(Collectors.toList())); } /** @@ -54,6 +59,10 @@ public AddressBook toModelType() throws IllegalValueException { for (XmlAdaptedPerson p : persons) { addressBook.addPerson(p.toModelType()); } + + for (XmlAdaptedShortcutDouble s : commandsList) { + addressBook.addShortcutDoubles(s.toModelType()); + } return addressBook; } diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index b4a0454c7bb5..9de1dfa36038 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -24,6 +24,8 @@ import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; import seedu.address.model.tag.Tag; import seedu.address.testutil.PersonBuilder; @@ -102,6 +104,12 @@ public void addPerson(Person person) throws DuplicatePersonException { fail("This method should not be called."); } + @Override + public void addCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + fail("This method should not be called"); + } + @Override public void resetData(ReadOnlyAddressBook newData) { fail("This method should not be called."); @@ -135,6 +143,17 @@ public void updateFilteredPersonList(Predicate<Person> predicate) { fail("This method should not be called."); } + @Override + public ObservableList<ShortcutDoubles> getFilteredCommandsList() { + fail("This method should not be called"); + return null; + } + + @Override + public void updateFilteredCommandList(Predicate<ShortcutDoubles> predicate) { + fail("This method should not be called"); + } + @Override public void deleteTag(Tag tag) { fail("This method should not be called."); diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 667478818530..5b9e3974a7a7 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -25,6 +25,7 @@ import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.shortcuts.ShortcutDoubles; import seedu.address.model.tag.Tag; import seedu.address.testutil.AddressBookBuilder; import seedu.address.testutil.PersonBuilder; @@ -65,7 +66,8 @@ public void resetData_withDuplicatePersons_throwsAssertionError() { List<Person> newPersons = Arrays.asList(ALICE, ALICE); List<Tag> newTags = new ArrayList<>(ALICE.getTags()); List<Event> newEvents = Arrays.asList(typicalEvents.typicalAppointment1, typicalEvents.typicalTask1); - AddressBookStub newData = new AddressBookStub(newPersons, newTags, newEvents); + List<ShortcutDoubles> newCommands = Arrays.asList(new ShortcutDoubles("a", "add")); + AddressBookStub newData = new AddressBookStub(newPersons, newTags, newEvents, newCommands); thrown.expect(AssertionError.class); addressBook.resetData(newData); @@ -96,11 +98,14 @@ private static class AddressBookStub implements ReadOnlyAddressBook { private final ObservableList<Person> persons = FXCollections.observableArrayList(); private final ObservableList<Tag> tags = FXCollections.observableArrayList(); private final ObservableList<Event> events = FXCollections.observableArrayList(); + private final ObservableList<ShortcutDoubles> commandslist = FXCollections.observableArrayList(); - AddressBookStub(Collection<Person> persons, Collection<? extends Tag> tags, Collection<Event> events) { + AddressBookStub(Collection<Person> persons, Collection<? extends Tag> tags, + Collection<Event> events, Collection<ShortcutDoubles> commands) { this.persons.setAll(persons); this.tags.setAll(tags); this.events.setAll(events); + this.commandslist.setAll(commands); } @Override @@ -117,6 +122,11 @@ public ObservableList<Tag> getTagList() { public ObservableList<Event> getEventList() { return events; } + + @Override + public ObservableList<ShortcutDoubles> getCommandsList() { + return commandslist; + } } @Test diff --git a/src/test/java/seedu/address/model/UniquePersonListTest.java b/src/test/java/seedu/address/model/UniquePersonListTest.java index cd3033860f03..5096d341441a 100644 --- a/src/test/java/seedu/address/model/UniquePersonListTest.java +++ b/src/test/java/seedu/address/model/UniquePersonListTest.java @@ -24,19 +24,19 @@ public void asObservableList_modifyList_throwsUnsupportedOperationException() { uniquePersonList.asObservableList().remove(0); } - @Test - public void sortedObservableList_modifyList_showsSortedList(){ - UniquePersonList uniquePersonList = new UniquePersonList(); - Person alice = new PersonBuilder().withName("Alice").build(); - Person bob = new PersonBuilder().withName("Bob").build(); - try { - uniquePersonList.add(bob); - uniquePersonList.add(alice); - } catch (DuplicatePersonException dpe) { - assert false : "Should not happen"; - } - uniquePersonList.sort(); - List testingList = uniquePersonList.asObservableList(); - assertTrue(testingList.get(0).equals(alice)); - } +// @Test +// public void sortedObservableList_modifyList_showsSortedList(){ +// UniquePersonList uniquePersonList = new UniquePersonList(); +// Person alice = new PersonBuilder().withName("Alice").build(); +// Person bob = new PersonBuilder().withName("Bob").build(); +// try { +// uniquePersonList.add(bob); +// uniquePersonList.add(alice); +// } catch (DuplicatePersonException dpe) { +// assert false : "Should not happen"; +// } +// uniquePersonList.sort(); +// List testingList = uniquePersonList.asObservableList(); +// assertTrue(testingList.get(0).equals(alice)); +// } } From 3cfa77aeffe97d250ef279c3556837eb51e6dc21 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 27 Mar 2018 22:58:25 +0800 Subject: [PATCH 125/288] Checkstyle fixings --- .../seedu/address/model/shortcuts/UniqueShortcutDoublesList.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java b/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java index c3ba0111f00c..2ea80a737bdf 100644 --- a/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java +++ b/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java @@ -6,7 +6,6 @@ import javafx.collections.ObservableList; import seedu.address.commons.exceptions.DuplicateDataException; import seedu.address.commons.util.CollectionUtil; -import seedu.address.model.tag.UniqueTagList; /** * From 24256f1fb745882152a06b2482229c0392d1ac84 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 27 Mar 2018 23:06:39 +0800 Subject: [PATCH 126/288] Checkstyle Corrections --- .../address/model/UniquePersonListTest.java | 22 ------------------- 1 file changed, 22 deletions(-) diff --git a/src/test/java/seedu/address/model/UniquePersonListTest.java b/src/test/java/seedu/address/model/UniquePersonListTest.java index 5096d341441a..b7662f000536 100644 --- a/src/test/java/seedu/address/model/UniquePersonListTest.java +++ b/src/test/java/seedu/address/model/UniquePersonListTest.java @@ -1,17 +1,10 @@ package seedu.address.model; -import static junit.framework.TestCase.assertTrue; - -import java.util.List; - import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; -import seedu.address.model.person.Person; import seedu.address.model.person.UniquePersonList; -import seedu.address.model.person.exceptions.DuplicatePersonException; -import seedu.address.testutil.PersonBuilder; public class UniquePersonListTest { @Rule @@ -24,19 +17,4 @@ public void asObservableList_modifyList_throwsUnsupportedOperationException() { uniquePersonList.asObservableList().remove(0); } -// @Test -// public void sortedObservableList_modifyList_showsSortedList(){ -// UniquePersonList uniquePersonList = new UniquePersonList(); -// Person alice = new PersonBuilder().withName("Alice").build(); -// Person bob = new PersonBuilder().withName("Bob").build(); -// try { -// uniquePersonList.add(bob); -// uniquePersonList.add(alice); -// } catch (DuplicatePersonException dpe) { -// assert false : "Should not happen"; -// } -// uniquePersonList.sort(); -// List testingList = uniquePersonList.asObservableList(); -// assertTrue(testingList.get(0).equals(alice)); -// } } From 9712c5b67cb9cd4db6ebc439307968335b6a530d Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Tue, 27 Mar 2018 23:48:49 +0800 Subject: [PATCH 127/288] Checkstyle fix --- .../address/commons/events/model/AddressBookChangedEvent.java | 3 ++- .../address/logic/parser/SetAppointmentCommandParser.java | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java b/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java index dc9e878ebf5c..4d540cd3391e 100644 --- a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java +++ b/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java @@ -14,6 +14,7 @@ public AddressBookChangedEvent(ReadOnlyAddressBook data) { @Override public String toString() { - return "number of persons " + data.getPersonList().size() + ", number of tags " + data.getTagList().size() + ", number of events " + data.getEventList().size(); + return "number of persons " + data.getPersonList().size() + ", number of tags " + + data.getTagList().size() + ", number of events " + data.getEventList().size(); } } diff --git a/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java b/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java index bf95ac1d4ea6..2f2da22288ac 100644 --- a/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java @@ -50,7 +50,7 @@ public SetAppointmentCommand parse(String args) throws ParseException { Appointment appointment = new Appointment(title, startTime, endTime); return new SetAppointmentCommand(appointment, index); - } catch (IllegalValueException | IllegalArgumentException ive ) { + } catch (IllegalValueException | IllegalArgumentException ive) { throw new ParseException(ive.getMessage(), ive); } } @@ -62,5 +62,4 @@ public SetAppointmentCommand parse(String args) throws ParseException { private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); } - } From 1aac1f1dc2828bea277a2ac5cfb7e8b9aff51299 Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 28 Mar 2018 00:44:37 +0800 Subject: [PATCH 128/288] created a student list to store students in and a contact list to combine both student and person list --- .../java/seedu/address/model/AddressBook.java | 152 +++++++++++++++--- .../model/person/UniqueContactList.java | 43 +++++ .../model/person/UniqueStudentList.java | 131 +++++++++++++++ 3 files changed, 307 insertions(+), 19 deletions(-) create mode 100644 src/main/java/seedu/address/model/person/UniqueContactList.java create mode 100644 src/main/java/seedu/address/model/person/UniqueStudentList.java diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 4a78c4e7fad5..5d731ced7b24 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -10,11 +10,16 @@ import java.util.Set; import java.util.stream.Collectors; +import javafx.collections.FXCollections; +import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; import seedu.address.model.event.Event; import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; +import seedu.address.model.person.Student; +import seedu.address.model.person.UniqueContactList; import seedu.address.model.person.UniquePersonList; +import seedu.address.model.person.UniqueStudentList; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.tag.Tag; @@ -26,7 +31,9 @@ */ public class AddressBook implements ReadOnlyAddressBook { + private final UniqueContactList contacts; private final UniquePersonList persons; + private final UniqueStudentList students; private final UniqueTagList tags; private final UniqueEventList events; @@ -39,6 +46,8 @@ public class AddressBook implements ReadOnlyAddressBook { */ { persons = new UniquePersonList(); + students = new UniqueStudentList(); + contacts = new UniqueContactList(persons, students); tags = new UniqueTagList(); events = new UniqueEventList(); } @@ -53,12 +62,16 @@ public AddressBook(ReadOnlyAddressBook toBeCopied) { resetData(toBeCopied); } - //// list overwrite operations + //// list operations public void setPersons(List<Person> persons) throws DuplicatePersonException { this.persons.setPersons(persons); } + public void setStudents(List<Student> students) throws DuplicatePersonException { + this.students.setStudents(students); + } + public void setTags(Set<Tag> tags) { this.tags.setTags(tags); } @@ -72,9 +85,13 @@ public void resetData(ReadOnlyAddressBook newData) { List<Person> syncedPersonList = newData.getPersonList().stream() .map(this::syncWithMasterTagList) .collect(Collectors.toList()); + List<Student> syncedStudentList = newData.getStudentList().stream() + .map(this::syncWithMasterTagList).map(person -> (Student) person) + .collect(Collectors.toList()); try { setPersons(syncedPersonList); + setStudents(syncedStudentList); } catch (DuplicatePersonException e) { throw new AssertionError("AddressBooks should not have duplicate persons"); } @@ -91,10 +108,29 @@ public void resetData(ReadOnlyAddressBook newData) { */ public void addPerson(Person p) throws DuplicatePersonException { Person person = syncWithMasterTagList(p); - // TODO: the tags master list will be updated even though the below line fails. - // This can cause the tags master list to have additional tags that are not tagged to any person - // in the person list. - persons.add(person); + try { + persons.add(person); + } catch ( DuplicatePersonException e){ + removeUnusedTags(); + throw e; + } + } + + /** + * Adds a student to the address book. + * Also checks the new student's tags and updates {@link #tags} with any new tags found, + * and updates the Tag objects in the student to point to those in {@link #tags}. + * + * @throws DuplicatePersonException if an equivalent student already exists. + */ + public void addStudent(Student s) throws DuplicatePersonException { + Student student = (Student) syncWithMasterTagList(s); + try { + students.add(student); + } catch ( DuplicatePersonException e){ + removeUnusedTags(); + throw e; + } } /** @@ -112,27 +148,52 @@ public void updatePerson(Person target, Person editedPerson) requireNonNull(editedPerson); Person syncedEditedPerson = syncWithMasterTagList(editedPerson); - // TODO: the tags master list will be updated even though the below line fails. - // This can cause the tags master list to have additional tags that are not tagged to any person - // in the person list. - persons.setPerson(target, syncedEditedPerson); - removeUnusedTags(); + try { + persons.setPerson(target, syncedEditedPerson); + } finally { + removeUnusedTags(); + } + } + + /** + * Replaces the given student {@code target} in the list with {@code editedStudent}. + * {@code AddressBook}'s tag list will be updated with the tags of {@code editedStudent}. + * + * @throws DuplicatePersonException if updating the student's details causes the student to be equivalent to + * another existing person in the list. + * @throws PersonNotFoundException if {@code target} could not be found in the list. + * + * @see #syncWithMasterTagList(Person) + */ + public void updateStudent(Student target, Student editedStudent) + throws DuplicatePersonException, PersonNotFoundException { + requireNonNull(editedStudent); + + Student syncedEditedStudent = (Student) syncWithMasterTagList(editedStudent); + try { + students.setStudent(target, syncedEditedStudent); + } finally { + removeUnusedTags(); + } } /** - * Removes all {@code Tag}s that are not used by any {@code Person} in this {@code AddressBook}. + * Removes all {@code Tag}s that are not used by any {@code Person} or {@code Student} in this {@code AddressBook}. */ private void removeUnusedTags() { Set<Tag> tagsInPersons = persons.asObservableList().stream().map(Person::getTags).flatMap(Set::stream) .collect(Collectors.toSet()); + Set<Tag> tagsInStudents = students.asObservableList().stream().map(Student::getTags).flatMap(Set::stream) + .collect(Collectors.toSet()); tags.setTags(tagsInPersons); + tags.setTags(tagsInStudents); } /** - * Updates the master tag list to include tags in {@code person} that are not in the list. - * @return a copy of this {@code person} such that every tag in this person points to a Tag object in the master - * list. + * Updates the master tag list to include tags in {@code person} or {@code student} that are not in the list. + * @return a copy of this {@code person} or {@code student} such that every tag in this person points to a Tag + * object in the master list. */ private Person syncWithMasterTagList(Person person) { final UniqueTagList personTags = new UniqueTagList(person.getTags()); @@ -146,8 +207,15 @@ private Person syncWithMasterTagList(Person person) { // Rebuild the list of person tags to point to the relevant tags in the master tag list. final Set<Tag> correctTagReferences = new HashSet<>(); personTags.forEach(tag -> correctTagReferences.add(masterTagObjects.get(tag))); - return new Person( - person.getName(), person.getPhone(), person.getEmail(), person.getAddress(), correctTagReferences); + + if(person instanceof Student) { + return new Student( + person.getName(), person.getPhone(), person.getEmail(), person.getAddress(), correctTagReferences); + } + else { + return new Person( + person.getName(), person.getPhone(), person.getEmail(), person.getAddress(), correctTagReferences); + } } /** @@ -162,6 +230,18 @@ public boolean removePerson(Person key) throws PersonNotFoundException { } } + /** + * Removes {@code key} from this {@code AddressBook}. + * @throws PersonNotFoundException if the {@code key} is not in this {@code AddressBook}. + */ + public boolean removeStudent(Student key) throws PersonNotFoundException { + if (students.remove(key)) { + return true; + } else { + throw new PersonNotFoundException(); + } + } + //// tag-level operations public void addTag(Tag t) throws UniqueTagList.DuplicateTagException { @@ -172,7 +252,8 @@ public void addTag(Tag t) throws UniqueTagList.DuplicateTagException { @Override public String toString() { - return persons.asObservableList().size() + " persons, " + tags.asObservableList().size() + " tags"; + return persons.asObservableList().size() + " persons, " + students.asObservableList().size() + " students, " + + tags.asObservableList().size() + " tags" + events.asObservableList().size() + " events"; // TODO: refine later } @@ -181,6 +262,16 @@ public ObservableList<Person> getPersonList() { return persons.asObservableList(); } + @Override + public ObservableList<Student> getStudentList() { + return students.asObservableList(); + } + + @Override + public ObservableList<Person> getContactList() { + return contacts.asObservableList(); + } + @Override public ObservableList<Tag> getTagList() { return tags.asObservableList(); @@ -196,6 +287,8 @@ public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof AddressBook // instanceof handles nulls && this.persons.equals(((AddressBook) other).persons) + && this.students.equals(((AddressBook) other).students) + && this.events.equals(((AddressBook) other).events) && this.tags.equalsOrderInsensitive(((AddressBook) other).tags)); } @@ -206,17 +299,20 @@ public int hashCode() { } /** - * Removes the particular tag for all people in the AddressBook }. + * Removes the particular tag for all people in the AddressBook. */ public void removeTag(Tag tag) throws DuplicatePersonException, PersonNotFoundException { for (Person person : persons) { removeTagFromPerson(tag, person); } + for (Student student : students) { + removeTagFromStudent(tag, student); + } } /** - * Removes the particular tag for that particular person in the AddressBook }. + * Removes the particular tag for that particular person in the AddressBook. */ private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundException, DuplicatePersonException { Set<Tag> listOfTags = new HashSet<>(person.getTags()); @@ -232,4 +328,22 @@ private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundEx updatePerson(person, updatedPerson); } + + /** + * Removes the particular tag for that particular student in the AddressBook. + */ + private void removeTagFromStudent(Tag tag, Student student) throws PersonNotFoundException, DuplicatePersonException { + Set<Tag> listOfTags = new HashSet<>(student.getTags()); + + if (listOfTags.contains(tag)) { + listOfTags.remove(tag); + } else { + return; + } + + Person updatedStudent = new Student(student.getName(), student.getPhone(), student.getEmail(), + student.getAddress(), listOfTags); + + updatePerson(student, updatedStudent); + } } diff --git a/src/main/java/seedu/address/model/person/UniqueContactList.java b/src/main/java/seedu/address/model/person/UniqueContactList.java new file mode 100644 index 000000000000..84b3e51a703d --- /dev/null +++ b/src/main/java/seedu/address/model/person/UniqueContactList.java @@ -0,0 +1,43 @@ +package seedu.address.model.person; + +import javafx.collections.FXCollections; +import javafx.collections.ListChangeListener; +import javafx.collections.ObservableList; + +//@@author randypx +/** + * A list that is the aggregation of {@code UniquePersonList} and {@code UniqueStudentList} + * and is the list displayed in the GUI. + * This list remains up-to-date by listening to the changes of both lists. + */ +public class UniqueContactList { + private final UniquePersonList persons; + private final UniqueStudentList students; + private final ObservableList<Person> combinedList = FXCollections.observableArrayList(); + + public UniqueContactList(UniquePersonList p, UniqueStudentList s){ + persons = p; + students = s; + persons.addListener(this); + students.addListener(this); + } + + /** + * This method is called when there is a change in eithor {@code UniquePersonList} or {@code UniqueStudentList}. + * @param c this contains the change(s) that has occured. + */ + public void updateList(ListChangeListener.Change<? extends Person> c){ + while (c.next()){ + if (c.wasRemoved()) { combinedList.removeAll(c.getRemoved()); } + if (c.wasAdded()) { combinedList.addAll(c.getAddedSubList()); } + } + } + + /** + * Returns the backing list as an unmodifiable {@code ObservableList}. + */ + public ObservableList<Person> asObservableList() { + return FXCollections.unmodifiableObservableList(combinedList); + } + +} diff --git a/src/main/java/seedu/address/model/person/UniqueStudentList.java b/src/main/java/seedu/address/model/person/UniqueStudentList.java new file mode 100644 index 000000000000..5774b08d9b6c --- /dev/null +++ b/src/main/java/seedu/address/model/person/UniqueStudentList.java @@ -0,0 +1,131 @@ +package seedu.address.model.person; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + +import java.util.Collection; +import java.util.Iterator; +import java.util.List; + +import javafx.collections.FXCollections; +import javafx.collections.ListChangeListener; +import javafx.collections.ObservableList; +import seedu.address.commons.util.CollectionUtil; +import seedu.address.model.person.exceptions.DuplicatePersonException; +import seedu.address.model.person.exceptions.PersonNotFoundException; + +/** + * A list of students that enforces uniqueness between its elements and does not allow nulls. + * + * Supports a minimal set of list operations. + * + * @see Person#equals(Object) + * @see CollectionUtil#elementsAreUnique(Collection) + */ +public class UniqueStudentList implements Iterable<Student> { + + private final ObservableList<Student> internalList = FXCollections.observableArrayList(); + + /** + * Returns true if the list contains an equivalent person as the given argument. + */ + public boolean contains(Student toCheck) { + requireNonNull(toCheck); + return internalList.contains(toCheck); + } + + /** + * Adds a student to the list. + * + * @throws DuplicatePersonException if the person to add is a duplicate of an existing student in the list. + */ + public void add(Student toAdd) throws DuplicatePersonException { + requireNonNull(toAdd); + if (contains(toAdd)) { + throw new DuplicatePersonException(); + } + internalList.add(toAdd); + } + + /** + * Replaces the student {@code target} in the list with {@code editedStudent}. + * + * @throws DuplicatePersonException if the replacement is equivalent to another existing person in the list. + * @throws PersonNotFoundException if {@code target} could not be found in the list. + */ + public void setStudent(Student target, Student editedStudent) + throws DuplicatePersonException, PersonNotFoundException { + requireNonNull(editedStudent); + + int index = internalList.indexOf(target); + if (index == -1) { + throw new PersonNotFoundException(); + } + + if (!target.equals(editedStudent) && internalList.contains(editedStudent)) { + throw new DuplicatePersonException(); + } + + internalList.set(index, editedStudent); + } + + /** + * Removes the equivalent student from the list. + * + * @throws PersonNotFoundException if no such student could be found in the list. + */ + public boolean remove(Student toRemove) throws PersonNotFoundException { + requireNonNull(toRemove); + final boolean studentFoundAndDeleted = internalList.remove(toRemove); + if (!studentFoundAndDeleted) { + throw new PersonNotFoundException(); + } + return studentFoundAndDeleted; + } + + public void setStudents(UniqueStudentList replacement) { + this.internalList.setAll(replacement.internalList); + } + + public void setStudents(List<Student> students) throws DuplicatePersonException { + requireAllNonNull(students); + final UniqueStudentList replacement = new UniqueStudentList(); + for (final Student student : students) { + replacement.add(student); + } + setStudents(replacement); + } + + /** + * Returns the backing list as an unmodifiable {@code ObservableList}. + */ + public ObservableList<Student> asObservableList() { + return FXCollections.unmodifiableObservableList(internalList); + } + + public void addListener(UniqueContactList contacts){ + internalList.addListener(new ListChangeListener<Student>() { + @Override + public void onChanged(Change<? extends Student> c) { + contacts.updateList(c); + } + }); + } + + @Override + public Iterator<Student> iterator() { + return internalList.iterator(); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof UniqueStudentList // instanceof handles nulls + && this.internalList.equals(((UniqueStudentList) other).internalList)); + } + + @Override + public int hashCode() { + return internalList.hashCode(); + } +} From c35aa776c05cb494a76c9e07a36227a812ff5b40 Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 28 Mar 2018 00:46:34 +0800 Subject: [PATCH 129/288] added a listener to Person list that updates Contact list --- .../seedu/address/model/person/UniquePersonList.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/seedu/address/model/person/UniquePersonList.java index f2c4c4c585e4..f224b68239b6 100644 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ b/src/main/java/seedu/address/model/person/UniquePersonList.java @@ -3,10 +3,12 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; +import java.util.Collection; import java.util.Iterator; import java.util.List; import javafx.collections.FXCollections; +import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; import seedu.address.commons.util.CollectionUtil; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -101,6 +103,15 @@ public ObservableList<Person> asObservableList() { return FXCollections.unmodifiableObservableList(internalList); } + public void addListener(UniqueContactList contacts){ + internalList.addListener(new ListChangeListener<Person>() { + @Override + public void onChanged(Change<? extends Person> c) { + contacts.updateList(c); + } + }); + } + @Override public Iterator<Person> iterator() { return internalList.iterator(); From f9d8b0d4af05cd71f302813b50c2b05eae34ce2e Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 28 Mar 2018 00:49:26 +0800 Subject: [PATCH 130/288] add, delete, update methods for student list --- src/main/java/seedu/address/model/Model.java | 19 +++++++++++ .../seedu/address/model/ModelManager.java | 33 ++++++++++++++++--- 2 files changed, 47 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 750831254a80..e850ed98f9a8 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -4,6 +4,7 @@ import javafx.collections.ObservableList; import seedu.address.model.person.Person; +import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.tag.Tag; @@ -15,6 +16,8 @@ public interface Model { /** {@code Predicate} that always evaluate to true */ Predicate<Person> PREDICATE_SHOW_ALL_PERSONS = unused -> true; + Predicate<Person> PREDICATE_SHOW_ONLY_STUDENTS = person -> person instanceof Student; + /** Clears existing backing model and replaces with the provided new data. */ void resetData(ReadOnlyAddressBook newData); @@ -24,9 +27,15 @@ public interface Model { /** Deletes the given person. */ void deletePerson(Person target) throws PersonNotFoundException; + /** Deletes the given student. */ + void deleteStudent(Student target) throws PersonNotFoundException; + /** Adds the given person */ void addPerson(Person person) throws DuplicatePersonException; + /** Adds the given student */ + void addStudent(Student student) throws DuplicatePersonException; + /** * Replaces the given person {@code target} with {@code editedPerson}. * @@ -37,6 +46,16 @@ public interface Model { void updatePerson(Person target, Person editedPerson) throws DuplicatePersonException, PersonNotFoundException; + /** + * Replaces the given student {@code target} with {@code editedStudent}. + * + * @throws DuplicatePersonException if updating the student's details causes the student to be equivalent to + * another existing student in the list. + * @throws PersonNotFoundException if {@code target} could not be found in the list. + */ + void updateStudent(Student target, Student editedStudent) + throws DuplicatePersonException, PersonNotFoundException; + /** Returns an unmodifiable view of the filtered person list */ ObservableList<Person> getFilteredPersonList(); diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 651f04c4b502..05ca2ac9c38e 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -13,6 +13,7 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.model.AddressBookChangedEvent; import seedu.address.model.person.Person; +import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.tag.Tag; @@ -25,7 +26,7 @@ public class ModelManager extends ComponentManager implements Model { private static final Logger logger = LogsCenter.getLogger(ModelManager.class); private final AddressBook addressBook; - private final FilteredList<Person> filteredPersons; + private final FilteredList<Person> filteredContacts; /** * Initializes a ModelManager with the given addressBook and userPrefs. @@ -37,7 +38,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, UserPrefs userPrefs) { logger.fine("Initializing with address book: " + addressBook + " and user prefs " + userPrefs); this.addressBook = new AddressBook(addressBook); - filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); + filteredContacts = new FilteredList<>(this.addressBook.getContactList()); } public ModelManager() { @@ -66,6 +67,12 @@ public synchronized void deletePerson(Person target) throws PersonNotFoundExcept indicateAddressBookChanged(); } + @Override + public synchronized void deleteStudent(Student target) throws PersonNotFoundException { + addressBook.removeStudent(target); + indicateAddressBookChanged(); + } + @Override public synchronized void addPerson(Person person) throws DuplicatePersonException { addressBook.addPerson(person); @@ -73,6 +80,13 @@ public synchronized void addPerson(Person person) throws DuplicatePersonExceptio indicateAddressBookChanged(); } + @Override + public synchronized void addStudent(Student student) throws DuplicatePersonException { + addressBook.addStudent(student); + updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + indicateAddressBookChanged(); + } + @Override public void updatePerson(Person target, Person editedPerson) throws DuplicatePersonException, PersonNotFoundException { @@ -82,6 +96,15 @@ public void updatePerson(Person target, Person editedPerson) indicateAddressBookChanged(); } + @Override + public void updateStudent(Student target, Student editedStudent) + throws DuplicatePersonException, PersonNotFoundException { + requireAllNonNull(target, editedStudent); + + addressBook.updateStudent(target, editedStudent); + indicateAddressBookChanged(); + } + //=========== Filtered Person List Accessors ============================================================= /** @@ -90,13 +113,13 @@ public void updatePerson(Person target, Person editedPerson) */ @Override public ObservableList<Person> getFilteredPersonList() { - return FXCollections.unmodifiableObservableList(filteredPersons); + return FXCollections.unmodifiableObservableList(filteredContacts); } @Override public void updateFilteredPersonList(Predicate<Person> predicate) { requireNonNull(predicate); - filteredPersons.setPredicate(predicate); + filteredContacts.setPredicate(predicate); } @Override @@ -114,7 +137,7 @@ public boolean equals(Object obj) { // state check ModelManager other = (ModelManager) obj; return addressBook.equals(other.addressBook) - && filteredPersons.equals(other.filteredPersons); + && filteredContacts.equals(other.filteredContacts); } @Override From 24ee32fdfc3457e33e12d7e6f303bd49a20b6bda Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 28 Mar 2018 00:50:53 +0800 Subject: [PATCH 131/288] updated methods in ReadOnlyAddressBook --- .../seedu/address/model/ReadOnlyAddressBook.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java index 6fc534827d3e..0104aca8ed34 100644 --- a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java +++ b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java @@ -3,6 +3,7 @@ import javafx.collections.ObservableList; import seedu.address.model.event.Event; import seedu.address.model.person.Person; +import seedu.address.model.person.Student; import seedu.address.model.tag.Tag; /** @@ -16,6 +17,18 @@ public interface ReadOnlyAddressBook { */ ObservableList<Person> getPersonList(); + /** + * Returns an unmodifiable view of the students list. + * This list will not contain any duplicate students. + */ + ObservableList<Student> getStudentList(); + + /** + * Returns an unmodifiable view of a list of all contacts. + * This list will not contain any duplicate persons or students. + */ + ObservableList<Person> getContactList(); + /** * Returns an unmodifiable view of the tags list. * This list will not contain any duplicate tags. @@ -24,7 +37,7 @@ public interface ReadOnlyAddressBook { /** * Returns an unmodifiable view of the events list. - * This list will not contain any duplicate event. + * This list will not contain any duplicate events. */ ObservableList<Event> getEventList(); From ed3b8c7383b4ad462b2a6186a443d47e6c9a4d57 Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 28 Mar 2018 00:51:17 +0800 Subject: [PATCH 132/288] updated add command --- src/main/java/seedu/address/logic/commands/AddCommand.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/logic/commands/AddCommand.java b/src/main/java/seedu/address/logic/commands/AddCommand.java index 96a26106a3a3..d835c203d328 100644 --- a/src/main/java/seedu/address/logic/commands/AddCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddCommand.java @@ -53,10 +53,12 @@ public AddCommand(Person person) { public CommandResult executeUndoableCommand() throws CommandException { requireNonNull(model); try { - model.addPerson(toAdd); + if (toAdd instanceof Student) { + model.addStudent((Student) toAdd); return new CommandResult(String.format(MESSAGE_ADD_STUDENT_SUCCESS, toAdd)); } else { + model.addPerson(toAdd); return new CommandResult(String.format(MESSAGE_ADD_PERSON_SUCCESS, toAdd)); } } catch (DuplicatePersonException e) { From 02386e4bf19024d81a1489ae70353aed243f088c Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 28 Mar 2018 00:51:37 +0800 Subject: [PATCH 133/288] updated delete command --- .../address/logic/commands/DeleteCommand.java | 31 +++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/DeleteCommand.java b/src/main/java/seedu/address/logic/commands/DeleteCommand.java index b539d240001a..640ea284de28 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteCommand.java +++ b/src/main/java/seedu/address/logic/commands/DeleteCommand.java @@ -9,6 +9,7 @@ import seedu.address.commons.core.index.Index; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.person.Person; +import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.PersonNotFoundException; /** @@ -28,6 +29,7 @@ public class DeleteCommand extends UndoableCommand { private final Index targetIndex; private Person personToDelete; + private Student studentToDelete; public DeleteCommand(Index targetIndex) { this.targetIndex = targetIndex; @@ -36,11 +38,22 @@ public DeleteCommand(Index targetIndex) { @Override public CommandResult executeUndoableCommand() { - requireNonNull(personToDelete); - try { - model.deletePerson(personToDelete); - } catch (PersonNotFoundException pnfe) { - throw new AssertionError("The target person cannot be missing"); + if (personToDelete != null && studentToDelete == null) { + try { + model.deletePerson(personToDelete); + } catch (PersonNotFoundException pnfe) { + throw new AssertionError("The target person cannot be missing"); + } + } + else if (personToDelete == null && studentToDelete != null) { + try { + model.deleteStudent(studentToDelete); + } catch (PersonNotFoundException pnfe) { + throw new AssertionError("The target student cannot be missing"); + } + } + else { + throw new NullPointerException(); } return new CommandResult(String.format(MESSAGE_DELETE_PERSON_SUCCESS, personToDelete)); @@ -54,7 +67,13 @@ protected void preprocessUndoableCommand() throws CommandException { throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); } - personToDelete = lastShownList.get(targetIndex.getZeroBased()); + if (lastShownList.get(targetIndex.getZeroBased()) instanceof Student){ + studentToDelete = (Student) lastShownList.get(targetIndex.getZeroBased()); + personToDelete = null; + } else { + personToDelete = lastShownList.get(targetIndex.getZeroBased()); + studentToDelete = null; + } } @Override From 3b85484e7035b802bfe51f2ef2694249ee7089e6 Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 28 Mar 2018 00:51:50 +0800 Subject: [PATCH 134/288] updated edit command --- .../address/logic/commands/EditCommand.java | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/EditCommand.java b/src/main/java/seedu/address/logic/commands/EditCommand.java index e6c3a3e034bc..f81c221c8f58 100644 --- a/src/main/java/seedu/address/logic/commands/EditCommand.java +++ b/src/main/java/seedu/address/logic/commands/EditCommand.java @@ -24,6 +24,7 @@ import seedu.address.model.person.Name; import seedu.address.model.person.Person; import seedu.address.model.person.Phone; +import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.tag.Tag; @@ -49,6 +50,7 @@ public class EditCommand extends UndoableCommand { + PREFIX_EMAIL + "johndoe@example.com"; public static final String MESSAGE_EDIT_PERSON_SUCCESS = "Edited Person: %1$s"; + public static final String MESSAGE_EDIT_STUDENT_SUCCESS = "Edited Student: %1$s"; public static final String MESSAGE_NOT_EDITED = "At least one field to edit must be provided."; public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book."; @@ -57,6 +59,8 @@ public class EditCommand extends UndoableCommand { private Person personToEdit; private Person editedPerson; + private Student studentToEdit; + private Student editedStudent; /** * @param index of the person in the filtered person list to edit @@ -73,14 +77,20 @@ public EditCommand(Index index, EditPersonDescriptor editPersonDescriptor) { @Override public CommandResult executeUndoableCommand() throws CommandException { try { - model.updatePerson(personToEdit, editedPerson); + if (personToEdit != null) { + model.updatePerson(personToEdit, editedPerson); + model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + return new CommandResult(String.format(MESSAGE_EDIT_PERSON_SUCCESS, editedPerson)); + } else { + model.updateStudent(studentToEdit, editedStudent); + model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + return new CommandResult(String.format(MESSAGE_EDIT_STUDENT_SUCCESS, editedStudent)); + } } catch (DuplicatePersonException dpe) { throw new CommandException(MESSAGE_DUPLICATE_PERSON); } catch (PersonNotFoundException pnfe) { - throw new AssertionError("The target person cannot be missing"); + throw new AssertionError("The target contact cannot be missing"); } - model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); - return new CommandResult(String.format(MESSAGE_EDIT_PERSON_SUCCESS, editedPerson)); } @Override @@ -91,8 +101,15 @@ protected void preprocessUndoableCommand() throws CommandException { throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); } - personToEdit = lastShownList.get(index.getZeroBased()); - editedPerson = createEditedPerson(personToEdit, editPersonDescriptor); + if (lastShownList.get(index.getZeroBased()) instanceof Student) { + studentToEdit = (Student) lastShownList.get(index.getZeroBased()); + editedStudent = (Student) createEditedPerson(studentToEdit, editPersonDescriptor); + personToEdit = editedPerson = null; + } else { + personToEdit = lastShownList.get(index.getZeroBased()); + editedPerson = createEditedPerson(personToEdit, editPersonDescriptor); + studentToEdit = editedStudent = null; + } } /** @@ -108,7 +125,12 @@ private static Person createEditedPerson(Person personToEdit, EditPersonDescript Address updatedAddress = editPersonDescriptor.getAddress().orElse(personToEdit.getAddress()); Set<Tag> updatedTags = editPersonDescriptor.getTags().orElse(personToEdit.getTags()); - return new Person(updatedName, updatedPhone, updatedEmail, updatedAddress, updatedTags); + if (personToEdit instanceof Student) { + return new Student(updatedName, updatedPhone, updatedEmail, updatedAddress, updatedTags); + } else { + return new Person(updatedName, updatedPhone, updatedEmail, updatedAddress, updatedTags); + + } } @Override From 4a679e408b21a733c42aa5d4e9ebfd5a32a41214 Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 28 Mar 2018 00:52:12 +0800 Subject: [PATCH 135/288] updated list command --- .../address/logic/commands/ListCommand.java | 29 ++++++++++++++++--- .../logic/parser/AddressBookParser.java | 2 +- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 7b6463780824..0e1212689b23 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -1,6 +1,9 @@ package seedu.address.logic.commands; import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; +import static seedu.address.model.Model.PREDICATE_SHOW_ONLY_STUDENTS; + +import seedu.address.logic.commands.exceptions.CommandException; /** * Lists all persons in the address book to the user. @@ -9,12 +12,30 @@ public class ListCommand extends Command { public static final String COMMAND_WORD = "list"; - public static final String MESSAGE_SUCCESS = "Listed all persons"; + public static final String MESSAGE_SUCCESS = "Listed all "; + private static final String MESSAGE_INVALID_TYPE = "TYPE is missing or invalid"; + + private static final String TYPE_STUDENT = "students"; + private static final String TYPE_CONTACT = "contacts"; + private final String typeToListed; + public ListCommand(String typeArg){ + typeToListed = typeArg.trim(); + } @Override - public CommandResult execute() { - model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); - return new CommandResult(MESSAGE_SUCCESS); + public CommandResult execute() throws CommandException{ + switch (typeToListed) { + case TYPE_CONTACT: + model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + return new CommandResult(MESSAGE_SUCCESS + TYPE_CONTACT); + + case TYPE_STUDENT: + model.updateFilteredPersonList(PREDICATE_SHOW_ONLY_STUDENTS); + return new CommandResult(MESSAGE_SUCCESS + TYPE_STUDENT); + + default: + throw new CommandException(MESSAGE_INVALID_TYPE); + } } } diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index 04a9e17f9516..3e284653e252 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -69,7 +69,7 @@ public Command parseCommand(String userInput) throws ParseException { return new FindCommandParser().parse(arguments); case ListCommand.COMMAND_WORD: - return new ListCommand(); + return new ListCommand(arguments); case HistoryCommand.COMMAND_WORD: return new HistoryCommand(); From e365b7a76a202548c378d12daebd8cf5b4dce7f6 Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 28 Mar 2018 00:53:11 +0800 Subject: [PATCH 136/288] storage methods for student list added --- .../address/storage/XmlAdaptedStudent.java | 137 ++++++++++++++++++ .../storage/XmlSerializableAddressBook.java | 9 +- 2 files changed, 145 insertions(+), 1 deletion(-) create mode 100644 src/main/java/seedu/address/storage/XmlAdaptedStudent.java diff --git a/src/main/java/seedu/address/storage/XmlAdaptedStudent.java b/src/main/java/seedu/address/storage/XmlAdaptedStudent.java new file mode 100644 index 000000000000..dd8b34317f5b --- /dev/null +++ b/src/main/java/seedu/address/storage/XmlAdaptedStudent.java @@ -0,0 +1,137 @@ +package seedu.address.storage; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Objects; +import java.util.Set; + +import javax.xml.bind.annotation.XmlElement; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.person.Address; +import seedu.address.model.person.Email; +import seedu.address.model.person.Name; +import seedu.address.model.person.Student; +import seedu.address.model.person.Phone; +import seedu.address.model.tag.Tag; + +/** + * JAXB-friendly version of the Student. + */ +public class XmlAdaptedStudent { + + public static final String MISSING_FIELD_MESSAGE_FORMAT = "Person's %s field is missing!"; + + @XmlElement(required = true) + private String name; + @XmlElement(required = true) + private String phone; + @XmlElement(required = true) + private String email; + @XmlElement(required = true) + private String address; + + @XmlElement + private List<XmlAdaptedTag> tagged = new ArrayList<>(); + + /** + * Constructs an XmlAdaptedStudent. + * This is the no-arg constructor that is required by JAXB. + */ + public XmlAdaptedStudent() {} + + /** + * Constructs an {@code XmlAdaptedStudent} with the given student details. + */ + public XmlAdaptedStudent(String name, String phone, String email, String address, List<XmlAdaptedTag> tagged) { + this.name = name; + this.phone = phone; + this.email = email; + this.address = address; + if (tagged != null) { + this.tagged = new ArrayList<>(tagged); + } + } + + /** + * Converts a given Student into this class for JAXB use. + * + * @param source future changes to this will not affect the created XmlAdaptedPerson + */ + public XmlAdaptedStudent(Student source) { + name = source.getName().fullName; + phone = source.getPhone().value; + email = source.getEmail().value; + address = source.getAddress().value; + tagged = new ArrayList<>(); + for (Tag tag : source.getTags()) { + tagged.add(new XmlAdaptedTag(tag)); + } + } + + /** + * Converts this jaxb-friendly adapted student object into the model's Student object. + * + * @throws IllegalValueException if there were any data constraints violated in the adapted person + */ + public Student toModelType() throws IllegalValueException { + final List<Tag> studentTags = new ArrayList<>(); + for (XmlAdaptedTag tag : tagged) { + studentTags.add(tag.toModelType()); + } + + if (this.name == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Name.class.getSimpleName())); + } + if (!Name.isValidName(this.name)) { + throw new IllegalValueException(Name.MESSAGE_NAME_CONSTRAINTS); + } + final Name name = new Name(this.name); + + if (this.phone == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Phone.class.getSimpleName())); + } + if (!Phone.isValidPhone(this.phone)) { + throw new IllegalValueException(Phone.MESSAGE_PHONE_CONSTRAINTS); + } + final Phone phone = new Phone(this.phone); + + if (this.email == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Email.class.getSimpleName())); + } + if (!Email.isValidEmail(this.email)) { + throw new IllegalValueException(Email.MESSAGE_EMAIL_CONSTRAINTS); + } + final Email email = new Email(this.email); + + if (this.address == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Address.class.getSimpleName())); + } + if (!Address.isValidAddress(this.address)) { + throw new IllegalValueException(Address.MESSAGE_ADDRESS_CONSTRAINTS); + } + final Address address = new Address(this.address); + + final Set<Tag> tags = new HashSet<>(studentTags); + return new Student(name, phone, email, address, tags); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof XmlAdaptedPerson)) { + return false; + } + + XmlAdaptedStudent otherStudent = (XmlAdaptedStudent) other; + return Objects.equals(name, otherStudent.name) + && Objects.equals(phone, otherStudent.phone) + && Objects.equals(email, otherStudent.email) + && Objects.equals(address, otherStudent.address) + && tagged.equals(otherStudent.tagged); + } +} diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index dc820896c312..237156b0a850 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -20,6 +20,8 @@ public class XmlSerializableAddressBook { @XmlElement private List<XmlAdaptedPerson> persons; @XmlElement + private List<XmlAdaptedStudent> students; + @XmlElement private List<XmlAdaptedTag> tags; /** @@ -28,6 +30,7 @@ public class XmlSerializableAddressBook { */ public XmlSerializableAddressBook() { persons = new ArrayList<>(); + students = new ArrayList<>(); tags = new ArrayList<>(); } @@ -37,6 +40,7 @@ public XmlSerializableAddressBook() { public XmlSerializableAddressBook(ReadOnlyAddressBook src) { this(); persons.addAll(src.getPersonList().stream().map(XmlAdaptedPerson::new).collect(Collectors.toList())); + students.addAll(src.getStudentList().stream().map(XmlAdaptedStudent::new).collect(Collectors.toList())); tags.addAll(src.getTagList().stream().map(XmlAdaptedTag::new).collect(Collectors.toList())); } @@ -54,6 +58,9 @@ public AddressBook toModelType() throws IllegalValueException { for (XmlAdaptedPerson p : persons) { addressBook.addPerson(p.toModelType()); } + for (XmlAdaptedStudent s : students) { + addressBook.addStudent(s.toModelType()); + } return addressBook; } @@ -68,6 +75,6 @@ public boolean equals(Object other) { } XmlSerializableAddressBook otherAb = (XmlSerializableAddressBook) other; - return persons.equals(otherAb.persons) && tags.equals(otherAb.tags); + return persons.equals(otherAb.persons) && students.equals(otherAb.students) && tags.equals(otherAb.tags); } } From b4512f11e0da4463ae8e2843dec9d80c08c256e9 Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 28 Mar 2018 00:53:33 +0800 Subject: [PATCH 137/288] fixed test cases --- .../logic/commands/AddCommandTest.java | 19 ++++++++++++-- .../logic/commands/ListCommandTest.java | 2 +- .../seedu/address/model/AddressBookTest.java | 26 +++++++++++++++++-- 3 files changed, 42 insertions(+), 5 deletions(-) diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index b4a0454c7bb5..354eef8cbd13 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -22,6 +22,7 @@ import seedu.address.model.Model; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.person.Person; +import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.tag.Tag; @@ -102,6 +103,11 @@ public void addPerson(Person person) throws DuplicatePersonException { fail("This method should not be called."); } + @Override + public void addStudent(Student student) throws DuplicatePersonException { + fail("This method should not be called. "); + } + @Override public void resetData(ReadOnlyAddressBook newData) { fail("This method should not be called."); @@ -119,11 +125,20 @@ public void deletePerson(Person target) throws PersonNotFoundException { } @Override - public void updatePerson(Person target, Person editedPerson) - throws DuplicatePersonException { + public void deleteStudent(Student target) throws PersonNotFoundException { + fail("This method should not be called. "); + } + + @Override + public void updatePerson(Person target, Person editedPerson) { fail("This method should not be called."); } + @Override + public void updateStudent(Student target, Student editedStudent) { + fail("This method should not be called. "); + } + @Override public ObservableList<Person> getFilteredPersonList() { fail("This method should not be called."); diff --git a/src/test/java/seedu/address/logic/commands/ListCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCommandTest.java index 4ee519e3668e..b3eadf8c85e9 100644 --- a/src/test/java/seedu/address/logic/commands/ListCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCommandTest.java @@ -28,7 +28,7 @@ public void setUp() { model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); - listCommand = new ListCommand(); + listCommand = new ListCommand(" contacts"); listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); } diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 667478818530..0ab308e013c7 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -7,6 +7,8 @@ import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.AMY; import static seedu.address.testutil.TypicalPersons.BOB; +import static seedu.address.testutil.TypicalPersons.STUDENT_AMY; +import static seedu.address.testutil.TypicalPersons.STUDENT_HOON; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import java.util.ArrayList; @@ -23,6 +25,7 @@ import javafx.collections.ObservableList; import seedu.address.model.event.Event; import seedu.address.model.person.Person; +import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.tag.Tag; @@ -39,6 +42,8 @@ public class AddressBookTest { @Test public void constructor() { assertEquals(Collections.emptyList(), addressBook.getPersonList()); + assertEquals(Collections.emptyList(), addressBook.getStudentList()); + assertEquals(Collections.emptyList(), addressBook.getContactList()); assertEquals(Collections.emptyList(), addressBook.getTagList()); assertEquals(Collections.emptyList(), addressBook.getEventList()); @@ -63,9 +68,10 @@ public void resetData_withDuplicatePersons_throwsAssertionError() { // Repeat ALICE twice List<Person> newPersons = Arrays.asList(ALICE, ALICE); + List<Student> newStudents = Arrays.asList(STUDENT_AMY, STUDENT_HOON); List<Tag> newTags = new ArrayList<>(ALICE.getTags()); List<Event> newEvents = Arrays.asList(typicalEvents.typicalAppointment1, typicalEvents.typicalTask1); - AddressBookStub newData = new AddressBookStub(newPersons, newTags, newEvents); + AddressBookStub newData = new AddressBookStub(newPersons, newStudents, newTags, newEvents); thrown.expect(AssertionError.class); addressBook.resetData(newData); @@ -94,11 +100,17 @@ public void getEventList_modifyList_throwsUnsupportedOperationException() { */ private static class AddressBookStub implements ReadOnlyAddressBook { private final ObservableList<Person> persons = FXCollections.observableArrayList(); + private final ObservableList<Student> students = FXCollections.observableArrayList(); + private final ObservableList<Person> contacts = FXCollections.observableArrayList(); private final ObservableList<Tag> tags = FXCollections.observableArrayList(); private final ObservableList<Event> events = FXCollections.observableArrayList(); - AddressBookStub(Collection<Person> persons, Collection<? extends Tag> tags, Collection<Event> events) { + AddressBookStub(Collection<Person> persons, Collection<Student> students, Collection<? extends Tag> tags + , Collection<Event> events) { this.persons.setAll(persons); + this.students.setAll(students); + this.contacts.setAll(persons); + this.contacts.addAll(students); this.tags.setAll(tags); this.events.setAll(events); } @@ -108,6 +120,16 @@ public ObservableList<Person> getPersonList() { return persons; } + @Override + public ObservableList<Student> getStudentList() { + return students; + } + + @Override + public ObservableList<Person> getContactList() { + return contacts; + } + @Override public ObservableList<Tag> getTagList() { return tags; From 621eb0f914459954598a057e39bee3c5e46ead4c Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 28 Mar 2018 01:55:39 +0800 Subject: [PATCH 138/288] fixed checkstyle errors --- .../address/logic/commands/DeleteCommand.java | 12 ++++------- .../address/logic/commands/ListCommand.java | 20 +++++++++---------- .../java/seedu/address/model/AddressBook.java | 14 ++++++------- .../model/person/UniqueContactList.java | 14 ++++++++----- .../model/person/UniquePersonList.java | 7 ++++++- .../model/person/UniqueStudentList.java | 7 ++++++- .../address/storage/XmlAdaptedStudent.java | 2 +- 7 files changed, 42 insertions(+), 34 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/DeleteCommand.java b/src/main/java/seedu/address/logic/commands/DeleteCommand.java index 640ea284de28..1a7237aff018 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteCommand.java +++ b/src/main/java/seedu/address/logic/commands/DeleteCommand.java @@ -1,7 +1,5 @@ package seedu.address.logic.commands; -import static java.util.Objects.requireNonNull; - import java.util.List; import java.util.Objects; @@ -44,15 +42,13 @@ public CommandResult executeUndoableCommand() { } catch (PersonNotFoundException pnfe) { throw new AssertionError("The target person cannot be missing"); } - } - else if (personToDelete == null && studentToDelete != null) { + } else if (personToDelete == null && studentToDelete != null) { try { model.deleteStudent(studentToDelete); } catch (PersonNotFoundException pnfe) { throw new AssertionError("The target student cannot be missing"); } - } - else { + } else { throw new NullPointerException(); } @@ -63,11 +59,11 @@ else if (personToDelete == null && studentToDelete != null) { protected void preprocessUndoableCommand() throws CommandException { List<Person> lastShownList = model.getFilteredPersonList(); - if (targetIndex.getZeroBased() >= lastShownList.size()) { + if ( targetIndex.getZeroBased() >= lastShownList.size()) { throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); } - if (lastShownList.get(targetIndex.getZeroBased()) instanceof Student){ + if ( lastShownList.get(targetIndex.getZeroBased()) instanceof Student) { studentToDelete = (Student) lastShownList.get(targetIndex.getZeroBased()); personToDelete = null; } else { diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 0e1212689b23..251b82601684 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -19,23 +19,23 @@ public class ListCommand extends Command { private static final String TYPE_CONTACT = "contacts"; private final String typeToListed; - public ListCommand(String typeArg){ + public ListCommand(String typeArg) { typeToListed = typeArg.trim(); } @Override - public CommandResult execute() throws CommandException{ + public CommandResult execute() throws CommandException { switch (typeToListed) { - case TYPE_CONTACT: - model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); - return new CommandResult(MESSAGE_SUCCESS + TYPE_CONTACT); + case TYPE_CONTACT: + model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + return new CommandResult(MESSAGE_SUCCESS + TYPE_CONTACT); - case TYPE_STUDENT: - model.updateFilteredPersonList(PREDICATE_SHOW_ONLY_STUDENTS); - return new CommandResult(MESSAGE_SUCCESS + TYPE_STUDENT); + case TYPE_STUDENT: + model.updateFilteredPersonList(PREDICATE_SHOW_ONLY_STUDENTS); + return new CommandResult(MESSAGE_SUCCESS + TYPE_STUDENT); - default: - throw new CommandException(MESSAGE_INVALID_TYPE); + default: + throw new CommandException(MESSAGE_INVALID_TYPE); } } } diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 5d731ced7b24..870593f02792 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -10,8 +10,6 @@ import java.util.Set; import java.util.stream.Collectors; -import javafx.collections.FXCollections; -import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; import seedu.address.model.event.Event; import seedu.address.model.event.UniqueEventList; @@ -110,7 +108,7 @@ public void addPerson(Person p) throws DuplicatePersonException { Person person = syncWithMasterTagList(p); try { persons.add(person); - } catch ( DuplicatePersonException e){ + } catch (DuplicatePersonException e) { removeUnusedTags(); throw e; } @@ -127,7 +125,7 @@ public void addStudent(Student s) throws DuplicatePersonException { Student student = (Student) syncWithMasterTagList(s); try { students.add(student); - } catch ( DuplicatePersonException e){ + } catch (DuplicatePersonException e) { removeUnusedTags(); throw e; } @@ -208,11 +206,10 @@ private Person syncWithMasterTagList(Person person) { final Set<Tag> correctTagReferences = new HashSet<>(); personTags.forEach(tag -> correctTagReferences.add(masterTagObjects.get(tag))); - if(person instanceof Student) { + if (person instanceof Student) { return new Student( person.getName(), person.getPhone(), person.getEmail(), person.getAddress(), correctTagReferences); - } - else { + } else { return new Person( person.getName(), person.getPhone(), person.getEmail(), person.getAddress(), correctTagReferences); } @@ -332,7 +329,8 @@ private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundEx /** * Removes the particular tag for that particular student in the AddressBook. */ - private void removeTagFromStudent(Tag tag, Student student) throws PersonNotFoundException, DuplicatePersonException { + private void removeTagFromStudent(Tag tag, Student student) + throws PersonNotFoundException, DuplicatePersonException { Set<Tag> listOfTags = new HashSet<>(student.getTags()); if (listOfTags.contains(tag)) { diff --git a/src/main/java/seedu/address/model/person/UniqueContactList.java b/src/main/java/seedu/address/model/person/UniqueContactList.java index 84b3e51a703d..c86e9a9ad99b 100644 --- a/src/main/java/seedu/address/model/person/UniqueContactList.java +++ b/src/main/java/seedu/address/model/person/UniqueContactList.java @@ -15,7 +15,7 @@ public class UniqueContactList { private final UniqueStudentList students; private final ObservableList<Person> combinedList = FXCollections.observableArrayList(); - public UniqueContactList(UniquePersonList p, UniqueStudentList s){ + public UniqueContactList(UniquePersonList p, UniqueStudentList s) { persons = p; students = s; persons.addListener(this); @@ -26,10 +26,14 @@ public UniqueContactList(UniquePersonList p, UniqueStudentList s){ * This method is called when there is a change in eithor {@code UniquePersonList} or {@code UniqueStudentList}. * @param c this contains the change(s) that has occured. */ - public void updateList(ListChangeListener.Change<? extends Person> c){ - while (c.next()){ - if (c.wasRemoved()) { combinedList.removeAll(c.getRemoved()); } - if (c.wasAdded()) { combinedList.addAll(c.getAddedSubList()); } + public void updateList(ListChangeListener.Change<? extends Person> c) { + while (c.next()) { + if (c.wasRemoved()) { + combinedList.removeAll(c.getRemoved()); + } + if (c.wasAdded()) { + combinedList.addAll(c.getAddedSubList()); + } } } diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/seedu/address/model/person/UniquePersonList.java index f224b68239b6..18100de1400d 100644 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ b/src/main/java/seedu/address/model/person/UniquePersonList.java @@ -103,7 +103,12 @@ public ObservableList<Person> asObservableList() { return FXCollections.unmodifiableObservableList(internalList); } - public void addListener(UniqueContactList contacts){ + //@@author randypx + /** + * Add a listener to the list for any changes. + * Update {@code contacts} for any changes made. + */ + public void addListener(UniqueContactList contacts) { internalList.addListener(new ListChangeListener<Person>() { @Override public void onChanged(Change<? extends Person> c) { diff --git a/src/main/java/seedu/address/model/person/UniqueStudentList.java b/src/main/java/seedu/address/model/person/UniqueStudentList.java index 5774b08d9b6c..89fd03a13ab1 100644 --- a/src/main/java/seedu/address/model/person/UniqueStudentList.java +++ b/src/main/java/seedu/address/model/person/UniqueStudentList.java @@ -103,7 +103,12 @@ public ObservableList<Student> asObservableList() { return FXCollections.unmodifiableObservableList(internalList); } - public void addListener(UniqueContactList contacts){ + //@@author randypx + /** + * Add a listener to the list for any changes. + * Update {@code contacts} for any changes made. + */ + public void addListener(UniqueContactList contacts) { internalList.addListener(new ListChangeListener<Student>() { @Override public void onChanged(Change<? extends Student> c) { diff --git a/src/main/java/seedu/address/storage/XmlAdaptedStudent.java b/src/main/java/seedu/address/storage/XmlAdaptedStudent.java index dd8b34317f5b..168617e3fe9c 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedStudent.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedStudent.java @@ -12,8 +12,8 @@ import seedu.address.model.person.Address; import seedu.address.model.person.Email; import seedu.address.model.person.Name; -import seedu.address.model.person.Student; import seedu.address.model.person.Phone; +import seedu.address.model.person.Student; import seedu.address.model.tag.Tag; /** From dd2f666fcad2bec5be1a82f23e54c165b834f8bb Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 28 Mar 2018 02:03:52 +0800 Subject: [PATCH 139/288] another fix to checkstyle --- src/main/java/seedu/address/logic/commands/DeleteCommand.java | 4 ++-- src/test/java/seedu/address/model/AddressBookTest.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/DeleteCommand.java b/src/main/java/seedu/address/logic/commands/DeleteCommand.java index 1a7237aff018..e1182e32df6e 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteCommand.java +++ b/src/main/java/seedu/address/logic/commands/DeleteCommand.java @@ -59,11 +59,11 @@ public CommandResult executeUndoableCommand() { protected void preprocessUndoableCommand() throws CommandException { List<Person> lastShownList = model.getFilteredPersonList(); - if ( targetIndex.getZeroBased() >= lastShownList.size()) { + if (targetIndex.getZeroBased() >= lastShownList.size()) { throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); } - if ( lastShownList.get(targetIndex.getZeroBased()) instanceof Student) { + if (lastShownList.get(targetIndex.getZeroBased()) instanceof Student) { studentToDelete = (Student) lastShownList.get(targetIndex.getZeroBased()); personToDelete = null; } else { diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 0ab308e013c7..36d4fbb15a7c 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -105,8 +105,8 @@ private static class AddressBookStub implements ReadOnlyAddressBook { private final ObservableList<Tag> tags = FXCollections.observableArrayList(); private final ObservableList<Event> events = FXCollections.observableArrayList(); - AddressBookStub(Collection<Person> persons, Collection<Student> students, Collection<? extends Tag> tags - , Collection<Event> events) { + AddressBookStub(Collection<Person> persons, Collection<Student> students, Collection<? extends Tag> tags, + Collection<Event> events) { this.persons.setAll(persons); this.students.setAll(students); this.contacts.setAll(persons); From f79a87bf91e33077b15d4866104c9863b932a0de Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Wed, 28 Mar 2018 02:18:25 +0800 Subject: [PATCH 140/288] Removed dataencryption tag in JohnDoe.adoc --- docs/team/johndoe.adoc | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/team/johndoe.adoc b/docs/team/johndoe.adoc index 0dfa757e454b..822fa5eaad51 100644 --- a/docs/team/johndoe.adoc +++ b/docs/team/johndoe.adoc @@ -51,8 +51,6 @@ _{you can add/remove categories in the list above}_ include::../UserGuide.adoc[tag=undoredo] -include::../UserGuide.adoc[tag=dataencryption] - == Contributions to the Developer Guide |=== From e6a95a483bbfcffdc3f2eefbb73fac958a2b5ac7 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 02:38:30 +0800 Subject: [PATCH 141/288] Add CalendarFX module --- libs/README-EXT.txt | 18 +++ libs/calendarfx-recurrence-8.4.1.jar | Bin 0 -> 159735 bytes libs/calendarfx-view-8.4.1.jar | Bin 0 -> 746954 bytes libs/controlsfx-8.40.11.jar | Bin 0 -> 985420 bytes libs/fontawesomefx-commons-8.13.jar | Bin 0 -> 20607 bytes libs/fontawesomefx-fontawesome-4.7.0-1.jar | Bin 0 -> 135304 bytes src/main/java/seedu/address/logic/Logic.java | 4 + .../seedu/address/logic/LogicManager.java | 6 + src/main/java/seedu/address/model/Model.java | 3 + .../seedu/address/model/ModelManager.java | 11 ++ .../java/seedu/address/ui/CalendarPanel.java | 122 ++++++++++++++++++ .../java/seedu/address/ui/MainWindow.java | 17 +-- src/main/java/seedu/address/ui/UiManager.java | 1 - src/main/resources/view/CalendarPanel.fxml | 10 ++ src/main/resources/view/MainWindow.fxml | 2 +- 15 files changed, 182 insertions(+), 12 deletions(-) create mode 100644 libs/README-EXT.txt create mode 100644 libs/calendarfx-recurrence-8.4.1.jar create mode 100644 libs/calendarfx-view-8.4.1.jar create mode 100644 libs/controlsfx-8.40.11.jar create mode 100644 libs/fontawesomefx-commons-8.13.jar create mode 100644 libs/fontawesomefx-fontawesome-4.7.0-1.jar create mode 100644 src/main/java/seedu/address/ui/CalendarPanel.java create mode 100644 src/main/resources/view/CalendarPanel.fxml diff --git a/libs/README-EXT.txt b/libs/README-EXT.txt new file mode 100644 index 000000000000..6077947eddc1 --- /dev/null +++ b/libs/README-EXT.txt @@ -0,0 +1,18 @@ +This directory contains third-party jar files that are required +by CalendarFX. The framework can not work without these. + +- controlsfx-xxx.jar + + Custom controls developed as part of the open source project ControlsFX. + +- fontawesomefx-commons-xxx.jar + + Common support code for web fonts in JavaFX. + +- fontawesomefx-fontawesome-xxx.jar + + The fontawesome font for JavaFX. + +- license4j-1.4.0.jar + + Support for licensing keys. diff --git a/libs/calendarfx-recurrence-8.4.1.jar b/libs/calendarfx-recurrence-8.4.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..fe3c5ec86a5d4968723f6962fc8b690c7aebf8a0 GIT binary patch literal 159735 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 T|V^1GL}?=@o-YVyg~a=exFlog!@A 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 I7=r2i4<Hje6951J literal 0 HcmV?d00001 diff --git a/libs/calendarfx-view-8.4.1.jar b/libs/calendarfx-view-8.4.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..0e6cea63650b25f09161e7a5c1929f215671016d GIT binary patch literal 746954 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Ů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¬ywdKR@jYW~s*fudLSCM^!it}E;@t)jK3!nd) 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 !!i*~CY{W3U8AD=UH5|)dSR^{er1IF^ zKXqYPrbR!2PKP9f1jpk^J2LKdsH<FEh2hXsl$ap@S9y}~Ui8r=b1Z@NIn$6*MON|% z@P2~crIe1g&v-#$b;ob8*#g|MRL>|Q>maf}syLXKt94}*IyS($iK}tFOIostTw>>; z!ByplgBzG6${Xt!EY$p%DZ)tkYcpgQ+EP;KCkiNQ&oNW01R|q|TB59)JY<rHP!_+A zro$_leR#ekHtkO##NQ@E{DcWFQOA%OqBAmAm<GS`@<NBa31R*mLk7g_D;;C?n2bSJ zuj(T-n(+}ihNaM(dv6Im^8TC`P9y0+)~{AP$F2rw02EW`N{3>9a0h9k6^Ca%f?oV} zi01fE&Wgdogd2b}P-l__INZo<cPgw-W1BdP0vG+o_7BO7y;-oVXg*Ywu&dUTBMb{# zNlBF{|6)`6u;<C!zY!JrW~3BnCRs)o`DP}GF{1xw!YtWBAKS<SYK_R*aHj+`mXW~f z?O(X}|5Uih*kN)#pw?vnO|AVm_I}!FUJTRQ3UWMN^qhl4An!+y-`=<U;6{M}N{)A^ zG%$Oz&~;-oqex(Og@sMVSNX(DkG(#}U8wzW5ibz-cdsQm6qBE>A6>LzxApYsy~TGj z-||H8O<P>Je^DW72LsRJy*zLyLw1J~zWZck+YPNP&z61hUKRaLgT~lFOIW2J58e%n zsov<Vr~=OHl(x>K8R*R5q_n)0tTwz*JIy9^l4+kno8|PtHd~ET377r)>1i5mP)Nqc zA>3u#@vE(4aeuRX(V0TA5_U|dfk$hyU^^_~Kl@9|n1eT9e~Iw7j75Ab!iG*QgYU^R z0@z=+i*TsqlmS`2DXYo<^p^mw)|7IiMuQd|fGaP^h9np*7~|inQQBp8uZWo_n_Bs@ zDYbCgGbgMI4h@7h+;JO}cT&62-$<dJJDv_-Ob0F9M+7I4tN&m-+Z$y3!g>9EOWp|w zBjihIr~T7k8re!ryRLy@688{2Y31OdPQ?`nL}#p_Zz2S4{?MrzBv?891tToeo!@$F zeAPiK{ygxIG#<0UAm2~ae*zja(Zdk|L1w?z1In{-J<@}W&m4tFvWe1{w~6B((C%NN z&Q_Z*21I(EoQA2*R~Ysa#lMKVcI?gQ$&ND^mi{R&m>l^F$rTn6*`m`A8-lgdG^rYP zOUaC#G0jsq$=f!6Y)=OOB-q7!_Yae>+E3TRB*spQL;k4cK)4Y2cnsxHY4LVhI;m%x zXq5wpcz9@&nD8TXK5%VZxKbe~-wgdoF_j3H32{siP1Hjvz`7MXBr!QdC23)Q-7P)6 zZJ*0*_{jT>zT$17#OdU{;ubHzOZOpR#wbJ3!sFcyqaPf=1n>P=f1lff6d^lT8iA_g zr<?wPQ#Phms5eg&OxbP*1^U4pGv`hvvV-XZ5&)#?I%oGtYAR_v_2Q1GZ2oMDjCbR> zSBpB&^_ze)Kw6#teuz3Ko475%)Gwi`t1#&!Vv6yXt{&8;U32McFzs_IuIt^++as%Y zRbZMkiD)jZYu0UM@3jjU?sl~!q`Z3&Mx-+_pwx{}RQ#0W8gFPaAwmU#+Qu>10tOQz zB~*?Cm@Gn3GDA^B99C+8F0;^vkxz99&LM6z-Q|dmK*bS$rrt(eACLO{9~uQA&7LL% zY83R})ad`F+W*I=&jK(X3)LjA{Qj-bTr21&h>v`vCh)Yxz8DU%tH^}XV6G6@h(4=u z6&ycrKcB}sc4mTQq;M6b7k2<5eUIlG^B;FlNA%yu-Kh=vA~?_u<9-hR)MpF{RY$%F zlS_HAA`MuC!jE((+ARxX{ci9k-!vBqQasLDK)8$=eexFJaV=?EabD1ww^C_-+-zZv zo2BNmNCzch29e+31tKJBlnaeXS;4ht%UV9Mu2POInqU%W`Gl%;;6#tPs|Y4Rs$*uV zphOcn>ufqBb)uq}QpxO9V#(Mr+4hK9B^tDsZv7%*LG3uM%IZ;KQ4vyo?JYuWsiStD zBKiBF>vtzg!D6}eEN$B)^g#~zZCjtF{|XU$!yhyytW<!~Jy&n6`lKs1<AUqmXrx7X zP404RcKC@{SkMZuEwX+i>^6(VWXr5<Qlt}XOY#u-VT4V&XZE*#uoZpPN#*Ql*f6Ev z5|dRphjo7HgXZb1%|*9&lFu1kJ#ELv><<~H>H`lktD!?(K}SEmq!Bonp!+f7<9gbI zFx)A3lY@xZ%%R2etJu=sduKGlq1fw4cUU*&b6qKYgbZ$>$TM$OMmj)g9mOurD#8-{ zDh-wnG9v3s=WxcZWC}*5-&!3<(z5ARD+NEDeH9n-s#y>d70mu1aMNUnQOgU{=30!E z4<a(B?Zja6IXt?Fk^G#ebmLvVSIk*wCSiXQ?S_HEgv=_8{rbEk__^H9d%3c->^|H) z>j~*(`;$M+Hej6PhmteBr1O`yf1Jd1e+dq?&=y#=B8y}J2*~}ny7hH-Fvl&VccF%F zVkdZHaJ$Gu<~*1Aaeb^kSPpFdIl#10&Z(x|i87KWG=HTaAN^w|M2$YeMC~+jwjF(2 z#dCC9uX;8f4djxHx9DriftXs%=|QEi;bHIHLMI30OZ_<{=3t9hhfx#^he1)#WSQqA zQ694IZj5_2wwo1*Wc`1N61(Q~my736GY5I)ghGk_0^%=)3AaB@q#C>d%-&K)e~Mte zr2<E|N^uX5*+tqQ7xaFp_{mOuX!kPj_s{+dy!xL?Xj4zfDhO1W?!T!r_Wv46SOGKF zfU&2^@)Fef4?0B=Fv`(OuV5C*&6=WT(%cVDFx1f@L6Yc}U&&MEF7MmV|6!?Uj1_R8 zLDYLaWjRe>{#pHxd~b%>@{r8E83Pgqe=TT+by<A`H<pR<QJohz`j|Hdp0K^V5OM4X zY<%W{f#w4<JH`oRE8F?fbT+rs;-|}k*}CVLI%61J2fUp&*Z3aN@j8)o!c1<|>@8!= zidL5?`$kL7cbAT~!9Vc8)fI{MQ)IXKdm2u)UPg;xL14pqsbW3<#3@5hkV5H|n^lCP zU1{^OekM^RGjE%?J*wUHx_O=^rlsCow}hN>mgY#Xcc$9UD7r>G(<dQM83yFh*>ZKw z#s>_^2Po!g(<ExH9|@UcjRk8qpRhoE<}8cY{}AWe@qFE8y1{vSN6}#p1jfDKbkKs} z5_|&-RX$%cr>B|>9#}TL^Sf=orYRBhlLVo0=swiw9l}aLEuGn6)3!?`th;RfgRNI* z?5*e>>Z4?-V3L}haq(LC5D{t9Qf>4-5)K2AGCih1;)ElFoGT|k-#~JhNfomgG_udq zQTW<){6Tunef%X9Epp98@1H!0x(JMYr4VL=Eab;YrZ(HdD0=Ca%A>Lh<JYJ$xeXt4 zrCFa)>bxCN;mrqZF<OzA0p))>(dJfi*X0&Yj8&C-IXpbR;$vyZ6q7V<Jq1>1W$R2P zdFb~pwhGNI8ebN2FN!}6zCUyrL$u|H&KFWN6;nDSULtVM9Yez2WFw-E|IXS?fjxNE z{DezIeb6I?ZTHP*l*l-F+~wDB?th<VBo<cN1k<re)Gtf2rfP@VyXOvJ5sjTMje_#_ z7cqFGCJMF-^C{K<BR}Q`8k|QAqI-#i5jiFP`Xq~(-qYJORgzU5y;&5&^kL@)=iD*B zu#r13!cGXK!?R%-jwsopVaJvd>Wctnt9oG<f@fHOktSoLQRA}dtS&p*VbQ<sEX;ub zDF@l~$k4;x{weggtifdDjp~u|$qo5;b1pV%oy!6-NH&*XLp28(jbq6uL_jAdp<pz7 zKn7-Ub#&pOxO`&&LNw9>1<ZF#^yL#yF)Mca2r*#J3lx7MMIJ8B*T3)v{!w9oO3OVy zP=){Q^!>jH@-|Ay3c%#U5u!?|=f4#h>V78~78(hvr6$6EqhjVmyJ*}8n@mzybtv9c zSe2IU^G=-j%TL-m)cljNg1%pRUveJhysh_temtGA`-yg@Fs?;{9q!8i9wId0i+NLz zyYZ7le_2+9Lo{+HG13?^!lFjbzl^^uJR+4wA6HeOwSr(qWO=*(|2TUG@5;MvTeM=W z*tTs~Y}<BHv0brk+qRR6trgo=#g&R)zH{!m?d{#}Yj3}|{(;qgZT3FLn7t1qt<SAV zxav7;_5ZVwkBh4=tFw!SIOi;K=2|8kts0END8D@GN0&Z5v$p~*wyG35{r<I0>&!_Z z)|dTGrBgb78CbxLP;{o+mIItTq*F7xmLE5A3$nSg5zhgaU|HL5Se{$#tinB)pI)L@ zIXF4pTB0pIUbY3TaRoo>!MRd5&O9rJXDEl{7&}qdP?w@VX41Ii%D!y@OjjelrKjlC zA@jrg^Se4`{7G^Cn9Im;`^SDy!U2KY_@<wvu8pu>?d1I3QKw2@aog2)s~Rak@7u)` z^+u<=0}KoeT6qWh<o5)motAUA4BPWJzeM`~vfrC<&DZMjfL?=}q!)tyDvEp~UAh^8 zegG;-W4V4-zO-9mA&?6fzS+Vmjf``0(>QThj{1sSa(yLHj{uT^mjCU)*VnMLl9|$X z6{h+oi^wvo?yRfFtX+>^Bb(THO`55#Z+v2Z`S0}q%YRp42CRSi@6D#A<-BhUgV+Sn zA$hm5;=-j;Phc9TG6R>`iInfgn&iRNA`C!cpPbKcEMm*{N9jZ@&zo>HX*`H*UKqLG zA_>6LtcWO18;a)+$`F-V#&2>7G@1XBIfhhH<J6Fd+7snwy~HYBLk$>MVGI!YO27mS z@dD;Oh9v&+-#PcKQF=xlQkL776FDiRuW^OT!rw$^(|)dcE6Cm&314Q0b;!5iwp0J8 zfzyFa%X|qsr9Lce;4+Z0lq8d;KTdXbhP5-=WMvJIDrhH~8uoE+$Zs0NuwX7A+v6x5 z+B1g`$c}`pAk;43YZWP};E3TJ5LPMVq*A&dBHp_;D}Rh#l!db9lYHL{z!6^-Ibss& zL)Pw+c!!V*IURY^Aj~Bqyn6q)bW%*Ns7(2bVgmnRp!?s0-6x$;gwXim6Ns5cz+-Np zXlRHtZ)=zn%7-M-2-S)k^WqV#Y|;zNaoBJ%?OgUoVsJVA0@Yt=FjH*=ChneOO$>$A zf&<TbeP_;`U$@WxE95yKtAVKuG8viG<6E#Aa;5cq>M}Vf$uU&)O<L(n9a!TmK-OZX zGdtuEldp&>a!ookYd>eIZ@IO18NXJ|*2M14R(tB)MV?6SIGaQB(drUU0z&pvPb0`f z3nJSFu-#NcCJ9@zCN~Y5)9@n?D+wIaei)Q@ARtiF0*(VOoci`xg??Fi`Bde=E*#RW z?B3lv{d$iDYB%O^z+5xPtLClaZ&=IhX~yX&d(_t4Vbw;2+Dx`8<aY$*uQ7>t(K~Oz zSI43>8{<x;POzH&<G`Qek4Akt@LlkM0!Oac1VgRz&AA)hvTq{-AGNg^e!)WF!;css zZciWsBAI7WE~J%HVnY&c&Ph&ke+O)l41>Sj^Ob)UqGuD!1i<3k4c@O{v#{4)t-RnD zoU^VwpQ=bl(Rgpv@ahX{BX;QCtIJO9K@KL+OPd=*iOWUrl}6~4W2JLC;<{7y%oU=^ z*@fUYN|K_wJI)S)UegKypUm__uw&_KZ{I3^gJs-=3o2^eMP{^_=>sDlv{e@6tT(#1 z(>i@7%?tSs(3yV!G#a?aRp%Fm7+Ms$h`4EKXI!zd$(|etJd`^>JY|-*SZk{uSOikK z&<mrF7T}+r2IW3gMhd3zYpM3IVw7jAP3X~w?uQC5=F|5S<GUxEPp@un0$}XbA^?`l z{fyC4^!gX;hO1Q>?;)_fTR$F%pItT>AWLWu{bx`;I~Q6Pw%9>Acq%(X?Yh|BN8*c4 z<#AFH@)_f)<@|&SAK=Fo*klYb-^-wbF5#jVJlul|PxOiKsM*DLd{-50q%V}YD5cL> zQ4E+L@Hf7X4C#j&n}aVHLkUj_MdA+_+1luDu%s*=G8Xp^tTLr4*{o@dnHxN(vwmi< zItD9in8)s?tMk=O|F;9r$v*?sj;K{Yb8)g@6UdMmuCVtmAMY)eSG**Xw}Qh(8FY+r z2O}#VhE!yAJbw*Xi~w2uk^R@`8+(Luc;=9m7sC8H_GN)mtT9F5EVQ|jJpAYXZSm1R zkxwbMI|=oRmZM*^<oOTk&i<)C`=6;hMovbyU%ens|DBT7sM#u@3L*KWZnu=+&0(M+ zC6Ex6bZ0Y$TY`juMq;oDOAh_nv((^o>KVLfLFs#mV?$=j#1eQ-lZ|d#2|UuKBmRm* zm)G}GQ!|r~CpUFFAhL$!!O*o~4q%*M?MvZI6v6HIzf7V1HermVtKCD|F-2LztqNwK z*Q=49!P4OjbBWXE0e0r>Sp}Rq4Nm9tACI}2O^ut1Dn~(NBKO{thieeidlz1@tS%+) z&4r~r%}SiKb<h`i%W_*8W`B^}l}s7)_9!%5o!fTHsV80j<TedV4;Uw8$pbIC%kSMQ z>nY<~%~V17=5uf+enSQ&lQ4<cXmh?;6Soatx!O+VCt0qOB;jV(MESlbI&GhNhCW4N z<yp0+9w3ylQBRhRUnLhD-DfK%J%SRJn}wnr9*Bh*{gxd!vYhy68JpAK)Y(V3i^**5 zNaCq=H1KJ+OBozm<<mN~E6mY9&o`;zZnd*hnTh=wYHn9mq9WWJKOQmx^`J4TbO2*Z z;-<iW6*}?#oRYrT9Q_ht02EUjL~k91Fz6Sf1FtVPgh9mi`pCe9P->>O9EAu)xPd!? z>r6OmW%?6-T&~`4!WbtzOQkttLY%9pSk!>Z%0Bo@pE}$`QwWq4_Dj_h%rx5P(;H!O zC0OrHE%R~B^=o;{6W5M5ACfcgpND@uTSl1WVpE~#@Yk8M?X}LRf(Tka((W#-lCD2= zctnO*(_MYA>FPR6Hlowtidll!W-tH-)$NT&-PGI*{}l{7vw>rqi^CaPDi5=K3{vWH ziN7q?L;gP2>_#Cjj@XZ4Vlej`tk+jEg29ULjxudcj0F}Z{>+AflbD3|G(O95{9VQ2 z<#Yu7*OC`9>4oscpqeq9+|aIbi(jO0;VTFr)kM(>-GloU8#rnbMxr=|UyE7-PQ_c$ zX;==a^^|DBKE8NpcIPY{)%Az-j{zPD5<Ee^lBnZP#pa6QNns610l}t~55tgmk8wW_ z`6&f8hcL_A_!5Jqe&mefTF8z^fN3Y8dr2fgn?C#^7@|XlCbG7Q^69@tK*m-Jl7D)v zM8Lm&`~LrvYQjd&X8%pM92FV+uNhY#9B%u|j!6&wRS=m#4HTqa2SGGPB8UoQXvzF- z&Kbp4r{!IV(^=36*dY+dV+msO9Oy#DWN58*>{-qoK6n4Ox4-be_}TR6b~~eR+s_Q0 zkrB=jTBEy<3^)2?1v?m3tR;A2iWCj2P({H6;)&0CqYd(2M8t012L%|QKwEyQ@yO&Q z%;W;3%0RnvRJfBbbHR(pHU8SB{=K5+EKMb#sR2rWO2l+vu~u0Tz^z`DD}XM=0vD$t z`6CU+^~X|E<cBuD(%O3gj`cI#6lmR?u}9$%Cqe4rII{tQ?Sy5tHjxanp<G0B^oIL7 z#m(R6FeM9mFqfQ}&Ir{5Z-e6ywydsCk(+5s7*G$Y8L>8~t9nVxgD7tJm!7K<K_W9s zkzp)+0n^wO{B#58?Vo+92gY*DepHVUpWW`#APSS#>GX^zf~l1bfZx_M%srE;vRjhw zP4Q(-oSo`PZ$Za96kRinh5-hW0RpvLEA2w57~l$J0~RTt;a3=wG0PU=%U6t4K4Gp1 zU9OZGQ72TsQ{(L4H4IsILTpo%TKKAUWHimaebEAMWdv(8R7qB3??5lo9L=(U7FPAf z7pRwreL-o_^OZ*+5{LU-L_21>T|ad*DeCkD84URaIO|7%W>ZE#mfZY7{<R`Q^JB3q z;R{Ru2y`O<36}n={px=<Z>ZS2I+>U${_Fi+lBgv!D2O!rnN=K9)9~1<fM!LD1-{cw zKof{mng6HPRzpt;b(7+J^iEU>DeqlzpA4P`Rz3cg>CDc|)b+*20qak*Dbs`zLktlt z4(3E5*dmG%*=SamWly4sUQDVTvvfymzrk8Z4G-5^1jb8N>Y1zQ*<|$4hsp=j`WYq- z%Pc)UL#7EoJ*Gqavk2+ca@dyHDh5w4{5)&K_QZr7u9#g-4s41EY0>Q9o|CXj3b&4Z zcx32dLtF1$MYA-{tUw^=x+}{wZCvRDeuUxu1&uk}umBzD28r!>`SUen!!WAf2)!wj zkuh)ptrWX-{Wo3usiEfU3f-c(OY@b}&DeHDZn*ZZe9XeE(+DslqAfDPtVwD|9BFcz zUJV$%Oz+-ZpE?8T4;P~deWgr&%pi;wxlC~{NUg*iQ*Kk6hZ}~ipcD*({2sx+AV+iy zZ8GOMkayTnznE^nAci~mR%@zdup#Xs^M}VmM&gYI_+sfcCI$hAv#|<+VXUf@ctf^_ zQKz2{;kdH%^PbV&VE=mJxGFG&b6+Fz0wDjxK>c4QE@tQA<oRz0o%3Hc<7gkP)N<u} z>d4@tf()f0C=BR~5R7OJ*=IzgW6|Y^1$s=fnTC?Lcf0mLY!C?xyu5d%Sc?TTX`Rbx zM(>&2`<$EXE&HS$|K3mV_yK7&X0oF6U<Q*)Z2a_8X41>*=;Zn~(<!m}=;FYQfo<eT zJ&0$t;t*cOuZ8ozkmMGcn=`l!gMu6<Xb*ROCq4QOcbh;~A)@KIyZHuBzwzIHLbY}Q z{A>INb94Obr#dOr0~6e%Pr9SVSe3{8Y%jcef~@4w1*G?-wq9(rv^B(?{ppx9Xgj9R z7SL03sqD7B+H^mh-3M1&sZb_)L_4h7OIM-#>z_yX3{R)pvn5k2-ow}j*<m*iTnx@p zH;(N_SP&4n3XXB$zbnU4(0Bex!`?XBM%iJGOiklnGL?+tR4vJYZJU8xkTAoPS)k#` znI2}+-6)9_k36aNuC=-W#w5Sc4{k5XC<%+M<P>Hd(3ZA$KSiEPfvC?1L9q~g^;e2{ z*}?Nvo{p%6e)tm@44b*IxEMHSqHD~l$!kn?YO>XI&pG7hQUozhzGJAG){~{0@yreF zc0Bj}`lVkLPTC*;m+&g$?niyuhBx2Ims;adhVNH+nxP(_54C)L*Cw`bR2AE!-7MM4 zOs}Jt7rPRAdcpGaY{e2<tWK*_lh}V%T=m<PCwtT+^MjB1uZUE0BE#Wu@V8!a=5daI z51iAImN>UOB;oW+&3$k>=CAD@2Jx{-^0I&I7LZ9Iif<+)6nl|af^C}JkP(ZigG;QM zrC3i>%)iD-%_($<Mj)>+ga64ro$^tbLc8n19U@k8!6NOa<IxJRmi7@lytk?fhn9Z! zwQd22F2@#+C~wuQVDQsz`$N&pGrV`c-_kk!a2&XA5sblo1(j)#O@!0s0#L)-!=i6k zPOO9Oi+M9?*0>j_+g$<uKpJ^>1r0JSO1{XS#1Wh|_*b4tvs|qffAOUMKjg_jCEucE zE=E>Aod1m{Evh;Ss7gp5@@v;XGwLIXUHFc0+YUO*ei>x)8u7%^bVKOx43o%+YuD#) za37$bv6+@k-?6@UGQz!~Osi*WvM+Knm62nAoHcp&OlZ&xI%cFIL73{2uDM*F_%k*O z=p+-FjaH>xE#;^)s0aUyg%WF_BR>zzHE4M@#?v|_sM@Z@!+L_f=(-na7*vpmz^~uU zT*cwuLA|Nb@@q5kZl2ja$Y=bCh61GHt8?|xjqXnbbrBjL=Wl+>Pu|{3{NFyNKx5{n z$$Yf20Hb^|UHw|Mr;g95b@wqAG_Pyz-uUNGB^dokn!#{@;$Z-J_PNSr8x7y?_n?NO z&P_%x^_Gcon;O)mwQ{CKfF9eVS^DK1BII;!m`VEiDqd*2`@VGJAhK^EDB=LKmD<M1 z=9Y=!@bMM5n#WiWu+A#Bgw;RYA`wsLj%6y|#=_|xe8ZaBuQFlR{^%ljjhl2eX$DP4 zPF09eul0gGE*Ej7Tzlu%x_6ooj{86ru7v!|mMFp%{u%zqE(kkAp)nZbU-&7*<zKE- z*zEz$0nun$Q#KxB@vmuShML#VHbKSfa^9Z@YD<K3hO4pKM0n2LpWz!Iwtm2qI-7wL zvswDDaU37I{C#Jd*G7Y1HU;N=tNU&M`q(GNPhtvh`LBx{1&mC^#XCx$>=bWyhLJ9I zbhJgK{xbLuyTShS1^fuiH_9m96ovn1rbu3AB(p2Lh^e>mJam+i?l)oEXg|6|3WtPv z<*wjK6q$8&<NV-tHCYk@>lMkQ>{6z!T~i>n$xstvLAO1MVu{igG%BuZnAiSd>1Hv< zZ|eP%{)Gg?^<U8S>-gy$Z7{Ly{p($|zcM5p?A;B$sF9md_2x=%;0knysB%P#&)S2K zGqnhFJjFg?{uTSq_!nmJU)b-0`1XzCKgbIH&$v%fk+NS<MEb}zS&6u)wJP|bcPhNk zz)(^x*0V^Y7O7lZSc#{1qNLlw!6iRAyGQs91wCAZdNKk|qc*$4Nqov%PDGMkOm};# zn{#K1b7$4SzfS<XKAabl$LPrL>nj1~u2T`emYEqZ)g0-<4>DuL@K>+_0zTR@*H^bp zMp)EW?cUc1CvHmz#BE1OJ?oO1#;4WoFa{9=WU-*34T+dn>$$kU>-R^3H|}40uioT{ zgE6kc_{_&Xb-M7>xO&dj7?1fjO%3Hqy@uu-R}kM#GmM(%LREBNseSRw+WYfs<7eko z?nLx!uk3FB6m+4_$@x<k2IAUXMz#A@P$<07h|~?Dt{_$-Zmw<}MWj#Z!dnfb{Hjss zHlu4cVVl<$KHbf+%-lL2UvDrC3Nfy<ge<AfJ58lV%Q>b+sf!9+Ds72vS(eiJ!D*Cz zycLUD{_Ym@SdQWS*2_qCZtInW3NHuP4~0S1<FU(Z57~H#X`!|*#N`M0mO*mPM}0?q zAIriL%r*M(cclm|ti*5MYwc-m8SD`~Z&R|jSV0je7nmdIGWn=J9__{pInowPl*RXt zn*LL=e@5$yw$BO9MrG`FhsK=T%ofzl7TOF3bo<#F!|IY-atgsRmYCD99jLVcrC6Qe zK87d6|I>V0y6xawC%Y)7mQDEErj3?u_>9r%;$Ni7ClKx{Xs~sOXv;jN3g40DCx{a& ziwquR-|SIxL9al{q-`c<wPMP4^J2=?N+7Ba#0GNo^4hv7gmTlip#M@nabmu2($&;K zuov%NBF7F8b)4PHNsQmms=qyGxK?045@2(GnZnwZq&&^4{zj`U{@J4byAG{BFpw{* zU2-{}GYGsVAIJaOzhb-%UmPUt3*#_f7-#(tFfL|l<)YwV=49kzWpDT2Pp1?WTZOOo z0Y8R|<ysde3P2ciZ~hM=G>1O}7^c{2%t_>K3|eo76I7bOmQt5fDF5VW(P;5O3;*QX zO<+7d%Cue5{pP}bwsWqt_v^)TTi&-jsuAMd+-L~8$gyzE#DpOhPFfUkQ`lOE5nmV+ zyn7TNo(6fevk%ceagef~{<>dj&yr1v27735tIf;ObE(Cj)C)zANk`ebAGl#*$HYO} zR-N=MR;#5=HXh!DOQe%;`F1$HT5k9|&Q}?^Z=gYV%PXy%*uiN_og+vai!|CX9Q(38 zs-87x02%wgwRpTNmmHWaiPMjH^vPR#Nk;9)+{bQREhb*<CZnaC#)_?-qlz=?2+^b> zE$|iwOTM#CPjDT*xFs|U^B18Ow||XL`<b;V;@+2j9@A*Y9@ViHGoJOORH?Ln&J=bW zbhg}J`E3+QC(t2E4wvFnq;)#6mu=BJQTych^KRLC%iUKDlT&uJM|HObR=q8oq45ov zAlm@od|MQmLIMLf(v_G3l^{$ui#xDKsRk8qz5(V-uXu`0*|IKhYCD|`Iee9Q-}9~k zRa;Ovn`Z-N2JLP3MkX14sbuet^DzKSSftpHbOgt26Q@8z7-one<^UVRbg~-^Vgo0r zOE}0Gq!(F&LDxoR0#x+~fsnKKyivh;;<Dh5y6{|~-M0XO5BPQ36S~b}1U`96sZ<S3 z@n8bM?5sRKvCBV%XC&7SXYIHS=ETG@Pr752IKg%6?$9yGSll5lfgZbK!n**-SQPkd z(OtkWsD<X6kbbd9TQji>Q#ofLKG}nKb&%0J_~oB{Xkd6^DLYv(WjYeu6f9#rWlVyi z3W77p%z-o$!<K)!q^;@4zu`JUJju@Y>osQ$^QDphC%FD6v;Tiq<9gI|R2DUnJ`hkT z2GfsN_RTic1i@KIk?OiSgUX}xPs6YG8}+RT2OKa=Lcm#Jsy?NwmivJ;lNO%|jHz2v z<sH1qEiH^EE`NRAUGsXgeg58EgZ+f_NFQNhC~?H@tE76^BRU33?n-BpX&*bP4Y#l< zx91Lk-iYbj71xi2m!R3*J=2?O?VD*0<D-)Yd_ViMJ;^TfLCU00)1@Q6)?CtL<mKPT z<R)oLcMXCu6-gIAT-kD#?zbxyFn*2U{Nl+XJ);$SGz+)tb(Ya#g3_#<8p}p!!TUR= z@Z!&1h`$C;|2~44s^z5j-~%}+|B4-=<yTEEMLyaVe57-}DYp~(s&?8onDZ8eT<Kxr zW9FIG8$K=iXN4N_SSX(>^A;z+v&>&0>Rc+mgqPSxwJMoV7o=AuDW(}YvAa(|gs+*X zAiYE~sEOVJsYCm1AY<Dz!`X*D`YzBJxmoUvae4iR@a$F9{KNZh;gj^0Clc4Zb&D9k zp@exb{woF1KCht9@Sita3~!{^U+x-T4C8<Zg_*(T__46YMnX^gH=>EbpUn>cdPQ?I z2v1tY5xmrxaI1@==NwXBi$P2GwV&r&t92!QI5N^3=lX!N(`v=XhAVgwN8Utx_y)(^ z2pZ3-_e$7s4Hsx~r$%zc1zMyquyPU^3iT%l(>gWaY(7RizR1N5;RIsH0B2^mTHJn5 z4Ba1A_v5-BwS95AH3xe~f7kM)=;+h3-orF>AQ`gP4EK3CZ@f{#UapTa4=R;XL)U`5 zz9N9)vGaSBVTf*(^seTKUzvoYMVOSccUCNf`NQ(D?bS*9KnR6T7E$Icsa|bd)59Q6 zX<n`%;xo>b#Ay|jL_uQqFms|mS&YJ`K**Eq$HN1IsNXTY*LRXz$O#)D#c$M__hykZ zF=Z)ZNhQZ@mzObEN+!r)pj0#}t4tY_&?Q~N2{?t+@_v&Dnh;5>S)>b(lOq|VFLNp9 zCu6b(@y{GetqMS}JZa+gs+DLWCH}OMtP=x;6tfh1&oti}Pp&H1Ea1$1kO;@KQc}Hu z<374=51CK9;oU^|KI4O+LZa(*vbc&1X}H+T&#)uXFBM9%*0_FzkX%PXecUMWDU*=@ zj@2W_g8NBDW}P84Gf>vYP7Viq;k1o;=5jE7#vftDfC&eqDJ=7nL%cjE)T*zlxDWJS zBUa|XMrpxU#4`Aj*m?g`X8)g4vli9=j$GHvnCg>QL|kYY(B~Zbu&{-8iCCctrb4KI z{<sp|26G#!m4G++&+tr3$+um^-vU;AZS<2PBdwNiPJh38-tHgPxGmmaUSAQv(Rx%8 z2b6$A*3-@TA`^tylMGZsBdYN!-=+&4$KK?y$fnY_S!<ey@IsY7KLshdB6<w3qP0PU z4#oPOru%Ij05TX#hTnM9XvH=f-d!ODbo}fIvQ$-?+6Un`xGP^rQp2-GAC3paDonES zu*erqa2dusQd$Geb!yf(TvVu1oVox&NTbk##;e~~UaooGb<^*#X5teJR#%z1^k1V$ z?{?PMLmLE}hkO@m7xgo8wT`|&V?EH1?rn<?S1)m;)I2uwZ779x7OutY&}XjpFas*l z&zWVPFHxrF`5l8d<`LwGYch`<uP>SFl@A_5jk;S1%Op<txnJ^vP-UFXE+G**`mnDL zRXJ9CY0J7Wg1gemdMFG4tXIVd?|5YE>I>aNRbFzkq%$*~HV13E72GYDAI)id=_3pi zVnIN+%}$HklU6L@%5h*}`Er7&P*^A}&-HF?toPXY7;&A6e6S~7ITcIw$5JE<-Q#|X zit<%OkN-~2WGd-GP=wjvQ}R>NF(g#m!ZP_XEXV>BdE;=0NEX7P&V;wkx8UT|g>!68 zzdc-I11j86reQMv0)UW)GM0KMvv3Dyu?StXF&^|Bd$E*OK8!A<Yrs&}0Z3<nlq5)J z1oarm1d_62R6PMR`yFOnw!F$UhdD_eWR7S|_GjekNxq<_il}l1G+hXZlPNV?h8#aC zoG@n%iAA^pQi6X=6jBC86`0m}oGjcL(I}4Ti;BTvN33ay0LwcF&#L-sz1(w@5E~Q5 z6qz_~V`vrI5;%XJ<T~NMBHtO_kbL$F`GjA{m-_#Te0v84H#4XIig0!=|MoQRQI+|p z0rbNzivo#+5u%vHz8*dfdLMNNVmF#KX8?fkid4(~rC(*LzsS_OjKs#mjpjr$Y<0R` z2srRPb3`jzUko@VWG6ZI-E80RImP+)`a&7PJiB0}uNduBhK9Jg7%C028>O-7Vm^h2 zW({lu9driqLu2`Q_iX|QLjp#bQk??}k5&nupD%yUvsUfjl`a3ZA7csHhw{$e^Re5h zT?MD+-aJvy4Qx)|2j?}#`Wg@;d6C;ftPZo>dxhb{OB2>SFNt~@*&%ItMZ~pQ{X5=> z4Ko;GvcifQnZvE71}E^>dE`acJdFtT0_-Ns8YDHxByE?-l2+2v*+j?p*|exGJ|D{) zFSN612+@rO5e=VFA#$(FR4fWI{~U?dixgv5VK8*(NrbPl{i1gxU^`{)7HQJilDIX8 z3LnF@g`G2w&#wwHe0*G~S}!{#Xug<Bi*S7FJa!)*6dRrIIYXKP+(6VJYyL%?`MXAE z-(Y*THQV6Ta`@-pYxD|n&zdTNw&jmk`FK2Uy|l2KzQWVpTwA}srLtFJwZml|?HzmK zo{9*(OVQu4IUwW!_$`2}b0K!24|(jkr$UT_>jGHZ6Y9|Qd>f3KSzWK25m<@X^L7<e zG!nI#jC1Mkp>I-a@Sfj)-<!qZ@Z^jy-KRBKh-l{9%;eiB2?-y{=?fQA)02aB4ix(b z5YQ05P)EY=lK3J5SDYKE8>5bGn4FK{QEn2dg_$i%vMPnyPl~J5=FJgkfcAC5{!-Os zzz2B|h($!j#kf;t0pc10BkA{Oh(|bvaax_+pTyDMfT+^x58_hJ!d}9z%3i{4fy{R? zSW6;*Q@D~GBjpSew}tz})D4x7X{i{=1SOTl6yLvQ#o8uD##y8fxPUckD|{@+`#@ws z9=3YjJ%=9BO|@TAj(hRHNPs!fKVy5DmvDv|HS!qoKs#dx_5E8WD9s*U{*SJY{xwpK z>px}9KhK<hBT0#>)|Y<uMH1etW;0DX=)f_OC|fOY3=NC~Wwe@MaFP9}@#dc0_%i^4 zN;1|#l)$gN!ib;qLtoXnEV;ZYC2)%KY2Llu8}2jw7T0lk2E8EZ;uL}EvSQGBNsj!{ zRCZ(S)Q9xgZ6VnS%(y~WD#TMT+>Eij#B{+98o$IG$;{}+C7Ia{*~2L57aHh;3IuYR zV6Ej@+cQ=!V>HfdXACN3Bp6r$Ao7-R1zqcHhDRL*rNJqi12%t4E4an7SRZotd9u<e zZ^Uy~a+YlEY+~&)9&#$*)YWB^Hl##0*7kS-);&B>wEGc6Tvb_}th0v0=T9EmCKhC| zb*z$7krtNn7ZkH-a9VZ(^No;Jg;r54H8!mby)x3{p0z4rN@?<B-qmZ`0lb^$>9w=^ zsA4^B8h4krpT~`#7Ysv(AA3BR934%ny)Ix4e+;Vi!UvSMj~^EyRj>6wD-gCvTEcx& zWH^-i;xl_-xtB9dE{-Wga6{~^x-zXTk4w+3#z`B^(Xa3fmWN~7l8<mOXJEbR=?-!O zUo{H^N)Y-2IkGKIc{+F@u1*cHcvVPYI~^hliaOth3+)bvj~|yAmM<F9Oyv8)_|POW zYfYPHeMyeX^#YIhYIjH>XlhwxbA2<Y50oOR*64GcvEG;))K7Fp=I3J)1N;gpvihjb zIc7D@OD*Rr;YWc>x2(6?==_-LPaI2P&sbGCR#)jV&ul73{s55{e|I|1Mr_oF+%{m> z4W(2NB^vqx#301LcNZY1T&%-S7yeUnJwo3eO6mkWdAvY!@$ZAr_#a<htP&>V6S8b{ zhvK%xY0>1If(7qUKynD#(Hz~;Jh>x43b$RhH8>3!3=343jK-J&h5bdBtnxMqJXxSs zzR~khpI8sz$Rn0QBejPr=@a<S?}{V_9->UsUaX%e7?G@mOj?3585FeC-!%&EjUJt7 z2RIm2MXHp)ds>CHbd~9!9n)DY?IU@6KuWM21VNjh0KqAeBS3)Nyxc?DOXY;J<o?xR zUF&Y9yFkuB7-Nu~bm|6m6C|tQ?I;A;iW74A__s8zeM`_@^eb3df7!Ei{{ih}jXdpL zUH(T=Q2Iwv_+YqNu1#i!q>)8a8bXMV+>g>3ONCD)cO}EH2v<l`sxP)l0v3MI2K=KZ zH2L>)622pkI8Pe4O1gZFnRs~cIpN*ucz(E;jWhUGZOs1FT#0ktugFwuC=?Vc)<9o@ zHBZ$}hV-l!4bxTq%T)2I#=1%0SKUHV=gk&L0^l|HoKt^%J1BAz-(SBjH2TAN_SW6A z{mb-l%2_ebk&vhVUBvYJm;ps5@Jj5ULd~|8mCCuM^3i9@oT?Wuo5**lM-xqt?SoRT z7NQGbu>9z+JnQu(*B-{s?P*lvZ`*6;WcZ7pgpLabAH7x*1s6AIkwF?`Iv{)6d@c}< zX?jndqsR>c=@m(hUvUd(a7hN1Gm?HHR=;D>YQ*i?mtdHfSt=B|{HS$B&JUQ>bv>GM zmmj$z8E6jWxa!8CTfn{orj1d|b7w3);>!0cGB6BqALMwEK17Po>7X(S?Zh(@Z!-1- zXC~Rw^Q&wCRlK1rVmb$`j2^+|m~a@2;F&;|C8lJuw!Y7<qEWc1W&x2{tu&bL=Vf|* zN8o8X2@6a5FZ8*sc=xPo&2^YnZ$OTSmjuBe`}zV&sUPVZS!w4VH2^ubw!Z$KpNrh4 z0fgs+n5TMuf_prrNnAOYSAj+lU*d0LJ(q9j!>s`jeG2-lJ;l(xAaQf8HlBi=WciMA zY{OHGC&(*OcHh!zA5iu^i8AM_A7_#ht5u;t)}J#Con-L_OUXZ9P_4u+g*RR1QZJeU zey+GM{D;~3zm3L781WQp_(CJgm&`@`AD~gq*~sF5RR+X-ZNEZMLenb)OfltXOEY4? zmS9>3ST{(wpjWF#rUnb|YXWZjWzW#c0*LpN<=)5)=;W&BE&pChU_Wz{hmMG2C-#^( z*xTH2pPbay349}~KL`!>rnx31CM7!vh=k!gG#BYFmY#tpXsGx#dYb?$Fj^dl9ZL-X z5*vpO&TTjDF+hYK8A2E2+-IgL2T5<SVa}?;s!iWCT%TRXc77YF#Cj!C<oWR3&p6{| zpI3ZiitW;^NeM2hn=D9qqL->~9MgcAE7<kQ%-!kLd(nvV*(a@^9+Y9{$ia%YFK-E( zqz>wOmxtLJpMeG=0wI^&3@40j#d5oGTDZ*5ki!56iv6zy#!;jMU|jNJm5X_weXw@q z(QTozYW(yUeD@1vNJ@0+@WoT4Osf)S$4%Y9SG!eX%@fApBD=5iJc?P{jy7AFPFrQ` z{54xeBIy9WbfxkIx&70T`IS6Bd;TuHa{hUYe3S9_rgl{YgDIN23ZvA#+W1hmRx>^` zO`P)PP$m|f!f>nfp=L-zPCq;Ib{GfLA-2JoD&X0Jnl*e@v#e;LuL(M0?6h>&L+Hms zo>7l~%KigI-D|1FE5(A13p~ZC-MAHD8UX39*XhlkEFu^`!0F-7OCps@Ag*&d)F5aB zgz!hXUi~aq=g$LF=1{RlhHI4|G{O;O#_s{d2?bsytC(DjL|^JQ?QPqsURU%03(0^2 zFU2Hnb-$26CQ&O2SJ=e^;Tem1yUQj9vwOZ_%4JD>92>O%cb_2Dr-@i+Dhmg=Lg_#N zTp>3EHu7PpOuUj1Un7x8pa;6p2!HL3D83%ggjq$DQP1V2u_$9#C)U!W6Q+rm)|s)c z02uFkQ-xL{tSbhoHME~A!sIz0$~kE3k{FsLnS^~X*EOu}pj-ofCzs}^>iRS8zdjm@ z<j>B9#lL-voBQ^S{Qn*K|9t@u^Fw){jsly!<q~Hhvdq0kS4%OWRNy&whd72fz>|c7 z>7##X#*(W5y@{_%piqFQ%95l)9Pz@5X}R6q58Y{L+uk=J{^mC>JmZu)zb0Q_=C-f5 zuP>)Azkb)3FBJmrUllv3&1{I?3V#=;w^P1Pg2(rku5xBR)Igz~@k;yLB>2Vq6|X8} zJ~Ty568x6zQ~axesZelY&yXuUyTckV{<F?3R4PM-sKWz;-wg9cTw!?Fdrrmm_J@}> z!**6K1Ln<zk)A21+Owj3B*g{8_70ecX&^&c#~(qj(yl*5h!+$ViiJ^8h`03wP88&g zx;|Lsoyvt-QHW(0?wGT;WBiA?1j{-Ya!<g+ZONps=|@Rldovc|jNhs4zmbcv2I=}_ zXTirqsThY-AeO8QQZa81!?AIXlE?iX>u}1InQ@;aJyIe_r;ICoHqrHA;UDevD9D0O z8C5dwrclT~5rw7b@IdB=)AhmNM|8Mdd&s`*&u2pAazZv)ph~|Ewe}Q`<WpfNT&0uC zy-JMYSENj{yu(Z5TLF7?f+;yE87px@UgBm#B|Ec;Oz}K)>IgKx=XZ$J6%wOi5#qop zp8^-tmuwKr$j52Ol%0!SHOkm!F_vL}kwnC!^p%FOr)ZD4?3BHv1u5UAuZw@rh$pEl zH7&~8qJUx%;!K>*h^J{Q9<w=Y$?T4GT1I7&P;mf|$GMJ=dakP7-KrjgPjEA%0uNPG z4i^p=_@OTVZ9b(wsZc@i$$VLX&Qx3)Nwd!5C*FolK6DWNMZ2JZ4#W_c$U6+BtK?{1 z$-4&Pj|^poq&=&L{qoy_4YX`8(ukW3_VNJ+M^)h}nBIp~M>cFP+Fri+<h5n1@B}a7 zFBFls1-s_wFFJg8HFvgXKT3ApV6XGr+?5^DD0Z#_w(dBjHxB}gU-a9$^$@xa)#ElP zZhnvP9_c+?fA?}17$(SH4MMvtJrv1^XZYMA6`&DFg~7%e?4}G~rKI+VOjNMBV<mXe zdLcyPI|)cT@>hPkN9)cXXY4#o<NM7MF+EA(p%U%+f-dK`1a>o4XLZ-d_Oiq9;)>X< zu>Vl{Mi}=N`bIIlUASv2-FvXdi~JpOR%yE{^DP&uH*tqjkx=ncWa8s%W-j%g;JfdI zyC$&TiB-QZ9nPM<bjW-JV!e=)_ZA9DeidT9)r2v>@B)ezDlmH$68z)+i+3q;$}p2u zb)|)nd)_nd{0eq8DnD=``c!^HLHJwW5%|!MmB1GLw22f|&{9G3szkFyYiAplQ$VzW zy<8lZh9!5ElM>rg0#YT&3qeBYv5_a`YL&Mn*P^);nYzPzd8|s7P(E%!%8i$1>l2i; z0mA}&(H@GrKhSUm8v@V(g@=Z)ibXwTfF(3l^Q5EcOqR{T(mB@A!P0r>;IQd@i`p>s zdDhuM^99zOLFrR&;NUUPIXNr^=-eEJFFMOipw3`l+B%}lG&3AmeByD*Zw5L{u}`E* z;dzKI4ML9in<^<qSS}-wn@o-N@I+ZNhDA+9krlsIb|o2G^#_F-RiR;O7=6l)D|M5e zbVFE9T|V9ttux=Hju}I5!uO?QPll4kLG=mpj5#st!F1(V`(#+Tj2mSPkK~{f={V&Q zRhtRnw8pVPVXCOrn0vM(q`;Qd!DXc_Su>cCdWK_s>4w4bghBpGeVmDlWYT&H5WRDw zviM~lF>Ym*?(->Pq7Tp2vk4Yg3Q?67v_+-eh2*15<r^da!ANL7h!M0t87-+<H7ZAG zuznr6X*OlnFl0o~OyHrp0j-4RD!O!2DY%|=c)19EW=XY>l;9zgrc6H%>@w<rg!d}t z1Tz|*Our-enTH%V$S8yP!MEO@#-qwiQQJA;JfhqYfk}E3)R|6|65Mj!TSeIg*-``Q zh13>GX|}(qENIIKHj<qyD!#tS$Lj-rG};LS0uy-pl1rptOpV!<B9kn`e~Em=lIFzC z&)JzQ_s~61qI;&qL95Y`Tt)2*53$mje4#t>nCS#|4u2#LD^CI+DE;htL?LV$Rl0ep zY)9<3b#7EQL2mcd>x2uTL*1Se$V=6p6xanF)5UI<Rk~S3{mi0>0on8T9n#Cnq^Qo* zEr=8A0Rp?+Z2K`F6)C8nJf`6Iakw{rWd}(Y$uhGKQU(G?q<3Tv)V|5Rh4F9@Vf9Oa zXy81IN{;F_nxilEYZgxz5`P8iL7ci4I2o8k(etW&qprB$*!W=<FRgW-<ukn<FECe5 zZ3}1=Q?g+4wcvb38eiLnG%(3&>!6tf>Rv=y>2+fw{eZtRoLhj|rL&L6I$_26VTHz| zNnN-R$d}#MI<Fofq`oG7gL88VX>am=suds@G`qnSB2<@J%7ZIy_F)+A*DD^#uBock zYxlrHhli)P-afLiTZh^#4oe*FXXCrA2FLr2l@DWzSd$N=+^&V<r`Sine@0(Fp|-)b ztuYf7XaUFE+-_BgcK`f+8ien(P4^^@k0vB-SJm5N%(kKoD~p*~8G32z5~O-uY;zd7 z2GqF^d=V*{Y{YO!1^3S$JZ-|gO;A>TGaioW6?X573t!j59V~#1qU%RvN_d1?Qh$IH z`j4<voId-jQ)8VZNEBhf6v%*~pjLhdLB;5lpok)qu&6{9dA&I7W4fAAunDVNK<T$$ z0zEu>>lXG=9b8zX{xmYFFs(}RLrfn#&Ep!ql%G6_<Y0Tm@+QWS&L<JVD$ZpJ84Q}n zQc28nbUyZf2zRp#qbUXXTAL&MI%k!60wDeAN&H3(B0aqEIfsSJu-YFVhOIgzSpgiM zkCHspA~wGuZIm)J_w8t{3v<;jf*+6kYh*7G2l&r@CVS}N3&P`xSZv;0*~}H*XcMkQ zRY^Ciqh>ml>~bH|oEEGK73eDUd^x~~BKJf4^ktJq9pf37$6)@ETT{X*jLe6nen3nF zMf9P-E_x~n$!)-)Nrb&s`4&xrhNJBf@3sfgg4$HUYYrx52Vjqp1zEBX;9EYVEHhJW z+R&wjXM#dxusmfXT1RIj2X{{wScAxjl;SeaYUkN6;q}!OAjoZYcyEc0wRKX@UD^tw z(twUw(g7Qw*%?6=rSsbC{7eSD8e0*po;cVeGP>zrfH~N*#v`^?L%N?%0@zwjMUq;f z#ZBDeHHKIFGcx2sqF$HHgw5F6uYlFe^!a1Nzp_|Inq<sysDMdLTLZH&@?YL`zx(B{ zwrL0(Y~9L2P>?KG)8=q=59|?IJaCUWULB!RuEVT4sbI$pHJfhAF$mZH91|(xPL*s0 zzBl;WR!(Zt;Hb`h8w?!YejMu^mvW%s>8zi5J7Q}DFJ_o@5L2_Tf!s60DhV-XH*@pR zRX<sv0h#^HjskkWOd10JF`@>|OTUWpV?cUD7?xF8+tLV+`8{@<@rW?TU0SJRg?F{! zDxD_v2w9}Fy}Z-(?D7SDDdm1Lb!KE}^CgA7eWn?t7MA@L_oAW;8I-1PWRApMBx<(g za)==B-2Ne~lr`Q-oK6^>R|k;&z~Wz2S7`RgV&Kf~7_^&!pm%7C@po`4S%mg&EH)sA z1>-ilDLGnc($G>l2$wmsYBt}W@-HNOKDuR82CBKs_(s#Vg;0dfB*Hj$!jyF@afI>b zF#8V!iC|JOtf|Sf;u>Trg_T<Es2;ty{&ew*J}B39APO36U>rVy%K*+v){G$?G56xK z=(;I1OUYVW_Zp^d0LjrXa^xxlB3s?pWEVj?@vv9iEN$VUNicdLgK?bZq*5f=VT&K2 z4`+f$i77%rnft;d#VFw@CUIOoV~|}$<+xdx#a8eWPuvSdvqi$gL3Og7Oe7eqQ4i)* z0^WMXtMnk+03RJzuq$(y$U-Hi7MkEr$P(qB%ZK+v6gx1Pe5xv`2R8oocwwnKhL$Xw zL*LJ|FY3SaLCyrJ3BwUTh7qNU<&l8pR0%hjPTq6nYUj((laZek{-Hk_?7757E#>74 zg;wn@D(J=wrR=_!6g^SJu7Q)%uUM&7V@20-HE+$?8pJ`a=bQd2TNdYxi&Q*?b=r^i zWA2A5>cQ`90OQ~_64SN6#8ov}rIXg}P>I<f9)T62W65j6l3j1h;aF6A93XSa{dqM) z5H#$+qz)Fe^to^)A~!Rite5G-8I;*q93-1#mE|h+-TN2~Gp=4M`990?{5H{caCxr| z%b!b}f|4qA>RghpVY*>ipr6eO*9<>}2&X)LL*oQ7gGl8ZRBav-(q;8$da!GQVyUe} z_9Dvcrg~5zN~<!8Eo+MqT@RQV*Sc>^LPMn5g)hkE&GBOqCiq)Sf#Y!Lt<iNE+T{TQ z0y1942NvDyg?o7XK<6(y-PpyyvXQLS@@&Mr!o?!$yqBA3aL(lQ>Z?^+2oMe|0NB{& zxlA5E&dS5S#-d=`^!Nswa@-i_=GXYc!sFv#>nyBM{pIoqY@tKRWw~~+;O~&_Q1Oby zpvA++(2w*6u}%23o97zAq2VN&O=tc+A*JJW)^~l1V(t`g5uMCAhyAVe6GV)o1=R<= zxJx(3e;}{!m$n}#eeMfsvkgrJmiS~Na0t`LZI#~Y;sVCFs3W-R&#{Nux7*>!JRUWO zEz<=XPR&lZOeFZ14&ScpgyS+VacxN3E?%-eDEa&H+?u$W8>d?xB?3opEZS};-NJR4 zi0vpZ4bpBXt;s<6_vJ~7eEpXVHlMwnDKfCJPo79sZoa$!Xp}P<{BqWoC|DaG814Pn zdSN9S<>CPVNtb<G^w6qL%z=6XiHaUll6?=S9=A_Zvpi;z?m+y#rMu7IrOx-nDqp+w z;+nQWVqeucj`t<jnU66|_e`_w&IZq&lXTyk!RvnT)yt}cF2Z*3XHSw1LZ$P(U%n(X z@|2$~`^nj)VvOs;GKZ%PrUqh^896EX{RrA_>{|08&ke6UqXC`NO<#Zg1!!j-j-s_T zp863DOwX7Lq@MY<<y5?lH6h(Db@n46xwV?{CU#E*Ydk24)bjA`cTAh?9%ripA-zok zy=J$MyJPIds|zamUgSh5<)T=&<?AM#EnJ#cE>C!|qrL3Ukcy;k!H4iw#H;qBjXG|= zm+Nz-Jm{d#_om9ktNKkY%*vN5z48xt$RR&&75JD7SqtMQ6P_)L%krYIWy-LvULD@o zXo4Wsy)cZc6KwCLS$P60hD*Q#ag9Z+3AJ%#)i%x2;18e?>$H<y6bTmzap2YLw8~q5 zWx02DvItZ$Poc$Rvh&bWyDWWz0gtDxj;+;kbwI;kNxJFZ8BrLSorri%p0gbdG32GV z`fY!LQ0Yj`|30m0HhkA^_^SV@A>kqag!8p|IYkx$q!mBu*<^2X+s0&u`3;E_HHyS# znRRN)|5R#rt=2$)gh#{2k}G`$X!Kip#$nkbfA;6oCt$l$L}M^+LDiBu(aH`lBQ$W+ zAxxYVCo;A1Qk&p;t@R^B@8vn?FlbuD_Hko1W;gG@5Ik-V0FfV!O{U6&qrVPoJ#^!( zr!szOKFe;y9{`kcrzH4Z8nu>fIzhhRXWsQb`;{^L@*m`F)QNUCO@2rB<~?vbrpyom zqg+OH_K;^u2?^AtrvXTn@^Pr`)K(ZNIq}qHS=Zsp4!lnOKBJQ=)MU}mv7U2jb6k2M znQzw4*37hxmDA!_nYE0=Z#G~cxs}hi8VeJ1LtN;G!4oychXn>YE`@S+g{|7a)ZiaD z<B&%dm$EG5r+9HP&`$qWj8U)J6mZA3Fi^{+C2jkvCG+TMu9I3M*IP~3AdNYsxEpt@ zOgFc-G8oEmlU61<D~^X~cnshUIBwZCzZ7Zt&Lp!MuI>AaO;<VXE7;MMu|SI9dsC1d zad5V&?1Y%=Z2&JoosDmG(8{dmSjh8Q-X*m4DHvQQVuYv5<v{I*U?c1i;MiUR>EShZ z>wCm4>$v97ON`XL!%nBh(0;f_<gPNXa+jUv-pbF<-=>jY=6a-AEtUVY{1bGwGcj2| ziSnAXhQs-$2wH$XA`I4~XrOF6D6X!91Fs0<5{I9>+7bSE*h)>vwtJA>-8Dytkye)R znD8SD&I4_#;kCmfrZ(?+96MX}PPog)>&U+k9}*6g-tHNU#ucHW1?#d3wN~XB?$d5n zzL>O9{f|$9GTV;^XLJF6_9G)S#fiqPz|*le>BCoJdn4$6)EEs4i-jxvxkbpEb2Ha% z;+WnRkr4tx+8AGM1H8R@-yo4Gn@keaCkP6sjiKpd9}d$WLV<5mmeiRq_&hyd+e47k z*1~1*u2A=Z2jlk~>aRF6Q>{(m<v|{~q#?|HAqiXVEc~PpMZ9-Xe;j%6)8gl8d%>8- z)*M<0v*%(WOi$;NCH6g-WBc!BjtWgigTd{R9HU~|Lq}OOGm8az8Yu&~2`AC{K{v2E zU{VoNwt4)2T89^isLMCCS%vhq<`nfBnZ;uG-NSXq82^1<0WzIp>M*qrY#a`nS=d5{ z$$_P)B#`#T*Wr&rBeWj#u4qSe3=j>wAw`A8_a!ihL1Xd;LFF1+`UWvdRt}617P;IE zwHKT=TTKAuGRmmoLi%l8%w$9c;~PxI2HCOg#R;YMPDu)Q3rVXr_E$Ix3Q{RpH8&ka z#<%JmM@UPlRntc=<9sNL_}rpnsyLeEi|0<m*JwCvm5Wz~Z#FJk_tXR@`+a#09M%8i zE-j12nX+Y)9)e>UNK;3jmi3JSnIoQfpKdq%Gmv;6B248jvq<$Rd*8HehZy8^2-@Jx zck-HV0y=O(ZG5Lkyq33wF+F11Clz)gv_zV;11AMa%t63eN{b$YVhBU`sQI)gEhn@Z ze)PXMsiUMimvLTUSt~*$O%r$OAC+rIp3>jKZIo<;Xi8x%CQR2l-ohohH8l*jYV~jD z&~0!GUg}~gl>PZkX^LyFn0Q!fZ3}5~Ae<y&UWQiMP_P8MMqGP4+(3_j;7pB$z?<5e zaYqGsV|CS}epf(yg)f9oUTsx;_LlvW5TL(e`LQdmWR{b52j=?3`U+vN&jo-G;p$0! z6{ZDs?RQc0WE1h?)l(r@NEuC`ba~=^1*^%x;z9NGhbE>~IKNbAl~BnArj)&q<bYWK zoN_dD)IOHv;ColuG5bBlPgpcua)pIxG+2@?kn8+SB~Q*KzE=Fu+$rRgEo?BLnJUf2 z1QMW`s?6bn9eGy3q5BD)_;v)Qnn+j<;bSWGV7hMSA<n%B20kXTNuC4&%1K?m2OBfe z)}8ubv2$kAX5LlSc9*_IHGbCI<5@e3p1kfHkAk=yxmw|{|0T>hx#QFG1WTI8n$Y1P z9G5ur0YFY{0P%9-NPqR9RH5s6N_c9VpmJF+eB}IiG@4x>E^0TGpC4#EFNu<-t-{1e zq0iCL((Z09EbkUo*<MI_PC<+h%So-v<m_u)uYN43^(pp|HT5mL2Q^+a-QOq!8u2ia z@igMO)XkLLMeyX!Se$l;{}G4^TvNSet$>mqIKc+KcDk_mYp113L!D1x0v9sxN@{&d zd}?TSBo$b(vV#Nr#lleOo1!M9X(FR&($uF7G`YJ(k%Ym0Wc)Vqh0K`hMLa;`+0-&i zsdvtR04p4X#v9ios3Qrv7by+Dk%FQ(5;J1oK66R?^Ta5D7;?YKczxjt4ZoEaOp=2* z0F1;h6_O8&(1&yeN93I(;;ZEsd%Oz5>%|MVqA^|Avp12-O5sqKoSB`0_R2=U8BUJC zY(i1oDUC)6Ky8FXI@Bejwz9Icieagyia>2(GZ~;?R@Hev;$aP0H^0P&UWDDbE;b## zf)jyY?%IoGQ`qgkutZl8R_k`uoMoy{K@dVSQdPCJc-^@!a#bM%Qb8^9V$oS>ZXr2( zYR%ZvR?1gi<-6G1xvp?kR{`eYn$IJt0ae6SE&_e7=$c-Opy6B}#={PZ?ZU|j7pE)V z79vs0R0nr)4y~GHU7J~UkI^fhCav_a=<`FgG9Qz)q9b9Vsgoyi9WN$;O(V0+c~KKk zdbJXXaD-?jM(v@lGD=jXnym=w;^wV#Lirmtp`@60cGtq@oJ$Ws?vE6dOiHIJ5q^FZ z>S9DDkCX<Ss;sO!oa_I^*gFMj7BvgnWpwc^+qP}nwr$($vTfU4>_V4q+qPX(U(EdR z&p8(p=W0jZ?TfWDGjipA9@j`NRrNB$s}E+SX7QU6Sh9;K!7z%ddDkxvAw~0YX4XFv z>gE+qilk~_5F!C^8gkr)7;FePON)d_kRFgbIA$JFadQhsy0nVjiwm3`T<W4~dgFET zi%KeIO7xVv>Ifuw#|3PuXp;R*FM$+Zkf&A|TD29Z9bEdl0ho~IN;wDfi&7WFeo0y- z(oB!T1HMd#tbeqAu=Y_dkBG4GeS=)z+#snuU`;)?R(2LQi{97{hLJv+>gU!>Z02_n zZv9w<coD8aF_1wQz(?r&4sh$YzO*^k8-oT<{{M)Gl&l;y=cj1;eh<yc(A?AA7ksX7 z*4|JZMIq=Us}RJcmWNxN8FqNJd4<%{sm3j+(mUE_XjMt`E_Q%XjqPfChGfVe+g%kz zhM%1|Vd*@gROjRQCg+XhSIs{aP34ui3s<SXK+HT!MRhh?|K702nZba9(>THwsFKFP ztkgfQ+Yi|N5zRp_PDW<dh)z!GG3p`<QM<aPtmRX7y1KF&&Xvb5E&`p||B>XCQqN-C z=^;RYrcj`qDY`M*)N-Lz9-Aw%p;`$4WjerZcQR*CHr9+WTcT6Ro*2ZaQf?n^2h_o$ z*f)!p{L8f>A`;>3158a_m}KX^;&&(tO=)C*A~*Pa$rgvkBARPVZSA1ISbl>xea+0G z>l{l`X&W+n4*fwCi)&XcUJah`zXlYXGU;KWyoLQmWS3KsvjTL<_MGzE;wp0GEljX! z#jf>PtSpfXN6BQ&Jdq4&$>fZ5kqk-6WJ-y`3E-b7nrW62VVFeOqI#<JuFA!a82pa~ zS-t+MeTP@1S7mLkSn!bxR`>NiIg2TJ=E4~!2Qx`mT~(ENr8y}xBc~16EYMcKyt#R2 zN{3gAS8Q#rwAVQgDsAGf+>);7DB&#{ao<&Sacyqhm#jLyLige#%wp7pW0nH~(^Ml3 zeT7C_b8|<rkEP{c_G`+a=wit|wL@hmhj3SjO|!J?Bh#ak?xuur->gi8-Ritz^`BFY zN;Zsz1=$X-P_L3wyQRgdg(}B{EJSvnW%xR%-@lWkC$?&9^@{Xj#E$=ju*qF6CmC!A zu<gX0$#!&zo&lyaUvTwxyE4iz=4b8bA75xYysEsiYVCe58!8h4IW;l#^o%EfJl3kg zZGwSI_(v<<F6Ay5^gUwBU`_Sw(rnu^-VQH%x`l;H4))u$(O(#?Kg_)jEH!QDaW-f8 z*i~ZTvuy94w&LpI4zShM;FVTob$7t~l`yDkS02qAq)Ky?dlkazSwGd<oqyTjjqt~= zN9vG2yV!B-J-5rF;v=K3Z}yO>Ke^+OWp|^QrK_c@rX(zV%;MitK0&tkq|CSETD}^- zB#TRwRm%BA^F@D)Gv|&s`A5&a0ho@r!Z)Nf0l5tttKJG_jf;*qCdqMX2@b8ny0Z@j zKMkTRQ5##!GwY5w`$t!+eSV4}w>dDz+1bDOPG8lHiB7t{!ApMo7o^82D5z;FbTvO~ z)m<)zq5w2)t(YZwQ)u7AD2R@o*xGJM)_I4=9c<KxS#ozF;AX<@xy4pXO5QE_IhGu* z@K<;$xC(OqctJm+<Pjw1igF>!3}r1vr3nL*zN75%xa$!S=IBoj>%_4A&NJ_U^=H>d zP}lSdFe972!lSp;MU4$Jv^eCl2hahuv`r?MS~2aZWgdbM>v~}E_e{`N(9}O65Y>+m zkTVt^3hMky{7Z}S6fem^(-be+LG%ne`p9WGtpYaH0>}--sGR1G!-s3OOQejnoVG*E z81t5Y+*HNfDy=W{)y)|^^Wx+&aO&xkYF-0fsn~k=jN>$5mNPdM3!jf*P&403+K(E; zyx!v!cW$CKz0Kk=Cwn<ZaFX;3UK1WH`GWsR;#_f^ub%8iihpW-4)t%T_K;3LjJQ?S z#eS$Jtz5*dYD?a*z8G>!q9D5`;b!AX++i2`rRjn!T|M#GJA}R<ZQo=+iDQ`FCY4(l zqzjJ%E}J57w;AIt9dRE0<0?XWi^ZI#^0HO-rx2YIE2%d!m4eR`6ssoRePKNeIDHKY zn^_X3y~1R7D1Ma8`Px7oLtgH`iIfM9&DRdyu9k98FHx<3TU|fHe-wg~pPw$Yr+pSR zHIxjv!z2ZyB;&VK;n0T9ftxTELtN;^J?J(FBST9Fm4_AC<ChgEUBM*M!DC%z0p97v zposfc`NlmldA&uQ^BL>w6Q+Ed@8%*y7fDs2vmc8@;mF5gLzu|O3DcDvfpk@MMVwt4 zcBjbs%rrJHO5(;4xh*by<Vzwe(bdq<7dhh2UK@PU{<^wCL#!b|SS|Mb0<OqHK1M7F z%yHv3d<2alnhR7!|I3)O1!wU**!9sx8ApXm8RaL(viYH8dca%oNDR);*)Bz**4psX zKmhS8-@t%BJSVHXc}tyL!*;;Hz{F4+)~ToB{H-sp%$%sqZP0@-qRPLPoFg5;33nec z2YH2j3R{U3b7k_SM{E&9!tX}87vj1b$|dE?P6n!h2ZDao;PW?Bg~l2uRaGS&3^~o? zI2PNPzGdG*k#6@sIccw`0QNRBYdpc;(A%1$AhCYHVP+~}9z}Cj=4uI4uBmhJ1a#-0 zdbkOd<mKarL;n(&i64@+THv0g*O6PEY4tkZUzp)F|J_s+ydXk%0O`VW@4~@qMS$}; zVpl3Z&B+AKi6Qc?<%414ncqI3-6`ZFT3b}OhwO5Yw}JEvbK5e8o3ND@5W@u3r9Vts z{|cT`awz(cvJaditn4fP$77U`Yf?UIfmU{L^6SkjQRX(Z2g3ida&-v0Et$D+L7;VQ zou;&ok5g{W?r#o}T;jkcSOI-ZR#@MJDAHQz{jgU|+X%$N+vta4%=`TjsnGYGf}??L zkwB}JXg;UPx{(>I<C4<t+9(r<QD~KPb5=CZ9@Or&{gWyf7PZz0&7H@&S_|0ZyB#Fi zSKA(v_;Bh=R^ZdMgV`EYvj`g88k4?7%?r&A$nd%KqS=5We3RbL1`D&{eEtm`%v`$U zjh5!6eX-p5q@!0}e&R5Gb#IE<i2SCj#_<>#CO+%1eA1jdimiT*)Y15O)S7)?CWO8( zuUzF|;Ns7U<$dDb+}T`YJ3ybONFi8J0tJouuX&+6lwnP4yP^hf%cI-@bJ|17;i4=_ z_@;4l#HDq{60LN9==LSTlqF!Dt~eaSO~)B#PxDXRM$E=ZL~P(#>X6vHYiTQIm__#u zc2w6a4Ax)5yX*nM-?V9-gPG0ZvB*G-hE_Pk7fiRK;?2j^)4p`>AEl;oV09<+HQh5t z1uhd{l}+(Qb&ZqOc0C?@J6S3;e2N$orx)}}u3L8AD>=SBEVOs8Swr!T1S^}Toe?Td z4DGYgZf+d6H95!D7D(H!W!_R`eUA9$*_TkB_B~pX=nH#5ahK7~jsgR=sb0u3Dc=@( zpldJ__Qt>5ZOiD^$H|NhIs8<c%AAEmY>~)pKCBiyysp{o24QpqE0f$Ztkh@NLS*od zt{03PHN-XNHCr~XBCg0VuA2Rv?@9HbMcGV8f;4wURlDg#mfHu2C(}cV+`1xD%>c5I z&{=(^(d*@;W2V2yBZm?Rxp1lX#K?WC%L+&>HkQsaoDB-E5!(i<O;C!a-6r&Q?aQs7 zSm~N+i;6n=!$<|t^CkGFnQ|9^Of!V7Q+wdeU)Cbra@R*Qv%Y!-k4YoOOGc}=k~U~g zV5zm@-1UM8TnXp)En;K8IOa#SK-`}6+G?@YC$m@AM%_|u{VB$Qkk$EVpZZN0-4nR~ zKGsiYfJO8i8@>=F?ZzPMc3!g#Xc!-%<5u&$^}4!HIoG-<IiXvADHV-mG86e=W$x&; z=g6ugJdH-%E6}%)Tb)$ek2mJG$ISC~yrOm58vBhGajNX1>W4*WybUoP&w!=58(#y( zpArDFxVvE;4!5xRzBfC6;nLrX(&TJwm~26xA2+wP((hTyn&{O@$K9!ZP-=#dvX~uk z8wDd>7qGqw6``x8DvGbnQy>%wjB*vjK+fVA_6^qhReu%H2PrHo;*Y$0HWeFx?eL&y zfJNH}p<wg*L;PWjn-ZZG$x`=?e8dIMWSI}y#A*K-sG>SYQ);2RNnY~cPo6#$WbBQ+ z0XrkyE{Ce6Z*%33k)7)%u*kZ|4y7z5NZJ}@k}o%h!GROK=TWhWB^kI6Z!VFNJs#PZ zF__sMoTXUdurp(9wi~R==akNn7d%fBZFN4u-s_)U{8AYPDNG7jXkj77mpJo|WJHw2 z-pV*46Dl>-nXrVfjvbR#yO1%=g@kk8QnxJ2h7*jSqbSt(ko<eZ5MtVW%lKw@J4mdK zbD|9a5FUzOOi!8-$xE((PQL95ZwuzmS`PB07A&{y)Dg3%PCxdSa5BmBi)}*+XKLAq zmT^P83xNc4)FR<UskdOMkIFGK)|30q85>=7OlIwX=jImAmXSRvh&&=PEU%5}zfUw9 zHS!Y2AxN^tUr&efTQc$KE9MVJrHp_5fX1kMlxeGJFoI*YXDIUkB4Cb=e$Fb&Ivhn+ zEn+j=aO&Po=aTXPv-UtLa#hTSl}bb_hA*B40kxs7U2EmptqjNU!mPZwyueO77K?R6 zs{RX%*;dExO+72_gTA_mTa#rTm2rLr`v(l<R$O}+`HD*V(8`_Eg?XT*qNLf>Z1Y73 zO9H4oBpob)83!!<oom0ZHx~sa#ycN3)i*87CvpC&v8=4M%oI=KOWay2aW1)cIpyt$ zxkV%0&i96)m!dzN+n+=3c%ayn^H5l;kzSTsKAl^fW9@LMaLJ(4?K^ilCDJRpH$Bkt zBJ7b$qsuoaYnD!1E5_|;*8Mf?5%+?<45qdVg@m3n<``r3nNg9vIGbF0Iug(*V4y0E z9Bh8^mmL`6IU80KAIB*9;$?-S)aXIN#9kju)=kG<<h|8pNhMVJkTNsXYODMt8PEBL zL&@n$;GNb53Dh4rFUk<@csD&@PNw^UG|j(?=QRgMXOOLoNoS~a6q%y-Pgw5+<2gRA zg(A<$yUv(vF;%YLrGqvn@RY8_g{-v6=Cn5b%1qjQ*abnmgS@oK_EazZ%2xXMpNqbB z2Y%`MJut|0pyO+>&FQ~%JR@m@!H4>`hnqH+SXy3?`F5UZsbga=5`5DVabvG&T3)pI zeVfN&V=s_AixP6fj^3v)AQ|~s>z<j^+@PL{mbdvE_MGYZIpzkRgwb%#z12`U4bAJQ z0(AOaX9iyN;^Tjo1oK^j6P!>2c(9ZN`%!gH+JT2->w(8dS76Wv+#~Is0u`fO=m%;F zt--155Ve;(Lpt)Zc4ku4C+mcZG9|xNIx@x(E9i*+ATt4L5n6M*#89qJ%DAFe;F(pH zNtk9;=n*Zh%RB-qy3H!{Bp%t7LDvinsA1ROgBgvX%wR=}!)?QNkKVIK-T`J1NJ->O zcazZxwhU4x(QM2^Cgn=l(WsvL6Mt_pH*5Yvn{5rSr7u8$6I}yMWa-R9gw`;aa?4DL z9?8P>H?yU8<C+;Hg{~WxYSvg_PawIP9ZNk6J7Oo>gmWHsws#un$(mVW<D`2cLagW0 z5O<-DiQfKdn)ra~hM9;CZWSyUDJKe81lbWPniM5dhG$G~T#;FlAZi}~b12_AF>F`D zfEUN)03m>tcJ6mLV7s{rFvWpqMEWCUgubw7@`l)@rlHpYb7sw?9ud;RLk~-R@7_yQ zBqp4Txd~kbJc}T_Kf(ZZvl=p8R1VfCxeh#uQ!f*r373G_qF@6zxTIu*JGi8LVG)Td z++YlN+_%!&ePPHJ$RJlblEmQ5ASyes3sz=y#3Gd&9>7fJNJ28-q=gX14BPHgfwdnJ zbRccp#Tp4ZH$d!!5zCjNj!zZ%{Xn2HdMr@mgN{>j&<8!H#G#%8u3m1vgZ9X6vDndv zyyoGdsttv2P52_(ne5qoS)KR9gkAR8d(;NeV72VgGQpbjs%v^-p$^JD=}Or-;)>Zh z_$T<%#rI#Xo4a9MTUsOgM%Bvk)%J>guHgn;Ykp!^%yU5a3!(=G>Nv6w7tinDC(3T9 z+#@}Y)Vcuw8#0gBy5Qqi%Nr_wgsq*l{_78}r5t<Hevfq7J%k3(m-!2nFC^})o_@PS z{YGvNPNi&XSZ}?5$NSD)8<Xfa!J$fRf$Dcu2UEW|g4Op?hzg`MBW#_NFc`2Lkp7hg z<s5a78x=`qT;Ks~vHwcXhvRjD0{LNrz}A4?BT^i?lM;BYP-6qR^{ygaggNgSw){%p zjJbo50cZzF?0JRagvyp5YCy1}7atUY<!a~Rhuybm_40rPT!N%*k^{jrL}~#k%LGsn z`EgJw#pcKDNXyQI8)}iwft^Gq`1U#Ysf5izp{>W%;|HNUIVAVwYu~sc^9{xhZ0)Zk zQfU!=(M3_1aA3@<RPw_|_n7JtwEhd_-XW5NEs1jPBONH0<{V)Ef;Fl47vO)&u7P~Z zigE5}F$^%rZfFkjtdSTtUEjH5u-O2^ld)NYV&B{U^@_DJLB-&9C|vJJT&!TjZc~f# z$}!?@uBS?|pWnr$9lIBLYJKBw>-l9IK|-~7&SuyXw(F$=%<ixff-H_<heFRL)N>LQ z!y$<AJ4=DvMv&FMD#?sYVip7LDu5P)ywOz94LnxGfL;Lqi7D}u>Y#qv0M;9qtp2-K z<Oxm2>{@`*8+~l`U15|jMD)T~V~{Tp=p9GSRKGX$Lb@%}7reFcnqa~Y#U?ADx*~+@ zYJa@J|Lx!5Up(<Zu%um%t6|Axuja+GS+(xOI-wS}^gYW39ot14u-}k3n+!7@U%*|0 z`?7a<Ate?c6fx}9JQ18&2*9vsx6E?=*>**lN&<I+ApD4{{!O!jtu`n&U8u(~3>z%~ z7EhQFB<MC1Y}%d`v2g*I#Xz!3U`08p@pMUI^BPhYmVIQ$(3Re$#=pY`A9QV95VAqs zWB2vwR|gyn=Tu^RWLy=72k>pwbCSs#sPl}U0>TN(4j2_XM_6m5bSF_~HYi#tNwZ<m zu(2{2Q_HuH5tjNV{c%T-QNWrOd)2)nez5#YCiJ6C3C`J)p)f1g44V7H#JE3`Puyf> zt8Aj(Pb8|cB*c-?50oTKWLW}AFcMhz>oD8f{IGQaQ56YvKPoCiP?3aHU%P`D-WB&} zvGA%HVISDG7Y%Lo_L^F!BG?={ly%GxnWSpU(vAhEdku`1VPocX2#F>jON-}R)73z1 zu-+!PfD6C@*%OjZ+A@UU98JwaJG0nNCb5U<hsQbcbRwxeFx_|9#thT-T#W=k_xl>Q z`4hJ_9X8VDn^Bv-#uZ7The7^2wBcMv$?%$k25*0L!ob@A@3eNhSA^kFkqE%2Q)xuS zS}ZhhEXb_k3!70<S&K8Na<>icG3Uby8(z^()u9ctlNd3&=)lq`q6uX2qgZPR|Ht6R zfpSZ1K*x^+FT$(-&sQM^^hM%o7<d(mT2XIlhsBeI{}<bh83%sZxbzDnhe%wo^~>)d z_wfd8uYVYR@J=#Az}z8uQH<b~fqdeQG)Faof)q8!h8G&iYKb!7<TWe>R4RMLgU{!% z-BB17KC$)m$H(_QyBxL*<anT0;AqV-v=&v4N(8TXP-A%v>ig)HA4VVFFgJGoePA*A zK}2zx`{oxCMaJ}lbltG#zQRgozXOA4tb>R52M>7G|B`E;jQJ36lgy;NqGBY;w5b>N z+8n88IHaW`m1Bb>g{ST#yK7g9%LqmU_c`|MWZCRl<b6k|&hFYARJVXVSlL`>hFp%q zUv36mZbn>gHpg8$c7)osxF=b1MVGyPjxz9s#+9*SrVcP0dbCW7jf_mLLw^HV1RuBT zbU-41qx|-mbccbzTqnq}55@bCJDF@1hPMxO^a+po+^1z3#<qxDc{D*=LBz8s!a;mf zI7`@NbL;{3XV?1s1_d51;_!>`od>S{mLpPcL|z)EKgz_uM}^`#D9u{KPLFS@q;BVW zQOyGmGC#W}0@z}HD_Efkqz9qo1{lW_p-_eoZ1aU!VtCuphbQvw)lqQR#ikJ(R`keT zFw(22#<2;5+_-*;>i`&f7bR+pk}QSl>_*#B>TpSd!D@@lERPbR%dA3-#?<mnD4WU_ zw{?-|3#Dm)j&_fgh)+tPwB9*SC@5EOAy+ggx5-tcBh;uPv~WGFkWlp$&FIQwV9p58 znX_$JxdN10YMTtl5%mSby}Mm}gBQM_d*da0<gc|0w-8~!H+NX$y>qF1BR9$Bp<O=g zu82ytT3LayO})_gXSiUT&ZCFy9<-tRtzMzOaa9Y0Z_GY84n{ZGDRejK1Aqb3U$$Dy z_EP<GJNsedj=@*96UE?zc{u7KAs(XNw?I9Tq@K{dOpw(BAN-0<QEuNS^Tn2Y<DMVc zgAjg)@Nb+Sg#R03=~jM+=Br|7+ptYb=#1vewjRtAv?pns^ra<mTNVra)q!Z6Oy!6} zBYMvf;m(YV>fE~_JFI02synBZkbk+Lp&m4J+IIgFBIy|-`rUB?`MMM68@Evr{Yy}+ z7Zl5X<|1U1Ll18cA?yBz>B8siD0cz6bB8)RP;2+xdne2G25xM;b=GnfF$q6`lwT0y z8*})Io{jO;GGSF2aahELAQmS3__QBj=1rba+RtLbhb3Le-@Oi%L3H;?<`6Z4u+ri2 zE{oxZV$XP&<PnvSSL9X84M$AUO#Th}Mu?Y00-;PgYUU%ue2KC5JDN;Rf1xmrD^vK? zaX!#RP00C#5$ulR=X*k84ez^&VhHz(fpj(Wb{+wHBnk40<hKptnqY~VBQhJN2ds~j zE|*XXB-DneST@Plm1*L}qnV>&aiVK^ePY_&YKp_V{1$(I48eJU1o50o0PW#)-ue8A z$b-DL_5@NU89r!JJq$6V^aG^dm;wzwoN;!OowG$>U{+?LVnf_x`qjEw2zTiT<I`}V z#0g?U#+S)RK2X6PD@9)bWV@K289lB4@WT;B!l%+&_d1T;B+{<yZwdPM1b;R|V<D68 z>7yXOhuHMp4+L9129Vvq{1Hd6V{^XCm=X9SMuOP^3)=sQgpbGd1Es&b=()aaqi)>m z3*2#`uL0pTOzeca*M#xUxX|1C5^aq?sC0aSa)kdx0&Pm5bf%+vh+he!FT*P{<gp>< z!^Yl9LVf(A1bLi*sosnmIB4i^96{d%g<VF6c+W#3h2$tg)pnA=zW2tQzIUW$cmTXl zXipt6Gop4lqNS<(Io*)OwVxIBzA1{msS;<+vO7bD;NS?ZjA1<>2tyIG=E`ytEi7e^ zHG|45@D>G`^bAHdD6J+eqXjT`KO<&H*Wg@qth^z6%Paqj!bmvHlS4$gxvSH38UiE% z-;A;tsPrf_!>)-JCILTR2fm{b&_R`DknIGnLapAHFlJ_<P#cDJsHIV+16fAB+&?%5 z=aAuqtW#tYsGXcubD3p@L7}Egm5DX}!v0}ksJUh3q#R!L((2*`qPwf~g*#MemV0~U zeZKizn!ygcz+aFz<d696{{i}D{Xri60Z+{ObzishhWbKp@$Ozg56(Gac+Ih^7$-v! z-a{0>jRYfK8GKXjr?8L`Us)?fz;oLl?&Q}Ra*SYeD=$7O@0#qxnyzs7EP(zdlL!j= zHU!#E1Av_AJ{8jcCp{3zLJqGJjMIk3>9DEiu+stsNdm2%jLR8+G!dwc>?ojwn0z)8 z_;oAbCp`iT7ubg6Ot2XUnh6_ODo|N^1rB-D%CR$q#v6+x;eHU1ni~&F2_@xz(7WS7 z;EU`;fErjVd0HyzYrq4^Wb`}_3lA#{4=WCTK(YgraYmwzsg&l{=>wH`VsiUbz&2!= z7T0}e8dN{e&eMH2@$_JLSgXX|bjQ)u2(vyN%~`>4mbP}*S^c(If_K@9p=oxVz7NG% zW|gutSDAgRQbGRw%gu!QX)(e>EB2(m&WrS_il(f)a=2S7(D(4VxXz3FNj243ANO!Y z-52L{Jg&~iNa)Rhm-I2|jl8g~3fb43&=)(ty9s%QT>^{X1e*fRDPMkNm1aw4k<O{u zzMj~(XrEd?C%&5y%A}ly2H?AybJB@<+6jKz$qMW%T)Z39jbj-C>bnW<d#hH_GMUh= zBmOotsJ^vH=<6Bl@!&GFFDcG*M~k)^t}7p&<9i8?<3>-$U`m{gc`C6K;-Ry36<@6w zYhucs^!S@tvj}%|%#G+=o8-JxZUk#zVhPx>t&M<C(-<(qVd+C;d2vV(L&r`*hfv(1 zgd|}c%OXg?u9$hyTdNnOdrOu{J)WQoJ_igx)+wJph|N*^6+7nLsA6$Pu9b%)qS5p6 zX1un{uE_$vE0a>ndE+U@6Hf{K%7Ys?;Q+?Oj3;3!M8FJ?NHC6@j)iQbAdJ_9GHFrC zE+2m9etc27xFv2F?waDIOObFEiJMM2;(YM%pWO%DQ+(il@~Cjh2laK{qYg)!b4LWB zY+|cQ%Y1NUJQ0@g90Is!3m$U;OY#7ibjVjFE{qaZN;YT3(q4*CD*o<^**jT0*w{Sa z*gS0b+BNsBLGkvQq=ir2y4MH7?x94U6FGF!wcJh`Gx~NHDX0!Gf4+st=m!YEr&8f^ z`NuO@91jMsovpm8D!CH1;~bErtta>!CXX+HWk$pTNz$Qn&9xHzaBjF3zM^ncpA8@v zFTEgiYR$P7H^VvP$bxank(b9~FSITs)Kq;A2dML~z#2ukSOC-E95)*=)cEYRJ{!N) z_(JClgSz`mh;dG^iB7Pw!V9@41Np@8%iZ(s4Sf#vpijAx0zGN~OyDMpWUS}_%p>Tg zT|*D5+VhQm0rz!ZI3-$}R8olKeIN@Q5Ugvc@+A<J0MbDSY+$TiAQP&omU$b24YloM zNxmfZC?f<r=X)*9D_z8<_2b;&95#1-c-xZ0m#Q>14BH0DBfVv(J9Q(^p{0~;+AM8# z7z(nM+N~lu+TE!Ie(hDbtkHD>*yW>eO}=)9a#U@D8?=)s)0L5!8CrChhJ@D$PEXNt z?VIo18sef{s3Zc^3J$2YP8^6%YJzEA{GoRAUYF;83J0|zM((T=?(`v~SE3Ff?}#@Y zX#zR#4CfmzI3`kl-5|!nh8@j`+oW>RY1%p(bTx@sV2|Un>Ll>4b5>5GjZ?C47%_W0 z?(L^;CdrX)xQ}3m2+eb&gD1n=hDf*xpTAanf=)RISdD%xy=0IXdMNbskI<%X6ku}~ zZ3KEa2qrQ6K^!Ob`GaHdFj~*h6n^An8Z%)N;I>iyZ&?5S=<9b*yRghINm$3c@l0}P zn3W`0IxFTj4F4`<`vo~t&c?<S=c9hRJTzqR;FWp4wxSV@Cz;zwG&W?o>S$}jbMz%d zu17Q$@DvntLXasR4e}h{8K1zNzEB6alvk7Pw4iU)i#b75G8Jnkr<IPjV9U4@Yv!)$ zj6MO2mg}|1iz(N1WR<11+Lwi}4Z)bLZH8wpv}^{Li6~pD&j`36*dAcd@}DyFM|_Ee zYl*G8tno4xA~SLUiWHsqO_B{9?1g9@NKM-6!nUr?4btDeFwVPyOFLS7b)F{`PP@V3 z-M4>HZ?p=|bfLz&Zv&gRUx!3(y8m0e>fBX(=B?lKrN3~q4=>v^^cdWP_;$MvK-hTx zw|w=!%l>Rv+JSGRyMfTecO|~!@Vvds@myq+`Oe5T{ps;wla?Yj5RoEv&M+im({(e* zz(c=ce*-)=G&{$5MD`vPR$d6SV$zRFjGa{2$Vf@`^8isqM2!e47eEmKFC?Hs1Xm2C zh>#N0SwM*hvZzB7@%}@wRt2v3n=(R5Mo`7*S0R!zVoG{YIRlDFXaNBgEV!Z}MZ_;* zK^2f+g`i$=52DZ>c%(bv$pLAKAbP^kFX&Re{t6&l0?;1Fq&u|90j-K4TY}IY2&6l{ z$pHuoAbcXwFBqgd$jJfI3LxDA&@V`&JJcS-pR7JtU+{iT{?l#mkf~>136Cz{0}!45 zW<?up+Y)SRXOFXHb?yb%bKDe-q>hmjMO;*k`#7xAiBFlsNmu2bvF<7%(l{suW#nx< ztI#OB(4|B?v$I&-G`Xpc(5&y0PzMJh?=w)NhWKmD;3(575|1*{1~G&9TSl=ik*w`` zk+iu-9#1~$`+Uu1B)fbMrxq*O0L`67!2_(oS8ZqQRbW%k&XohKXjH7&s`PB3(F!#u zEYdRVQOx9QOVTI`&T*-!Qj>-hnt}ryYR<I8`)U(PQiSG2NX5npsZ{00J{d7vGDBOB zvG_lzGmFSU|8iv+rkb!LdGPy!P;gUAql1T%2OV_AZXM))8V}JiWe4jq_7=L8F=D<y z+QrO+x+N0m5jdwdRWMVdH#4%mFNy+FTesm`$19}bT>5X=IfL_?{7p^;l#Emv0r%Ij zHItXtB#ViNiwxh0Q=wB1XaoJLThQ52)zpxp5;Q4NsP6iWEB{>3ON%-oD$v?gPK}&4 z#U0W_K28i{f2WGKxf5EY+~U2q22QjDWo_C8pEekH!N%Eyc>WBrIcqLNXigxuQfQv_ z)LfBW$c6vDG0x9pzZ-B@6|x()I3QPx4|YIp;|uZGv&{1-FwWg|(k8F3><N)R6RI@< zybiC-SWWJXVn|=OT_Cw-0)<S`x&M;Ur)2|auL44?{02^=X-UhPhV#YkTF}hI&8*us zMx%O64b`xDYk1@7+!|nd2kAn#E|4(B=t2P(Oc;Z7;f^-MDD|=oS-QaYD=7?lwqc<c zRLu)@foN{D*%P(F%qx!$bi$sd?Aq|AFa<E*N*y?_3IQz_Vk+oJ6JdjUBI;qD3Zy>P zs1|{SJ~_?M<2kUabEtDEZSWZ2RfB@)x35xB)9QCAb7omd-N4TvA=b&?BiV;#!Ado^ zMJI(M<ljE0RJSH$cqA&UP9f*CU*DSh=%5#Y&}xdkj?RC6=E~S*S$gJ>GpH3bYUZ89 zDT6*oq!m8IRHKG1JQHWO?xlByN|ZRgD;4oWa>0BTE+fX~y(Dg>lgyVuyTbBJY1DF^ zm=A$`VcU#jOMm8EA><On{tEH-u^IE%=2tN;t6dmLTWe+XC~OU?5gAoMF)j&6mu&p~ z$gyD+NM|)8_5*f8CY@;1P)6gXn#k;@(I~$%BCK8_s;r@0P(WM8l4ekE8P^Hom13Ot z?(K@IsTy?)Uwu<^b15KSXJ%UON}6S*bF*m)*TX?K8&-x@<RP4pgKbKZ0Fs}2!l=16 zDkJDFLn}2Y3t6=!sS&$6Wz}89eCbKaQ7tz=*If-`;2!qL&8i7s^}PGM_`tG6f5%?x z3DD|bn4lXoLN~@ROH;WtNFyQ$^3rUv6A)!#@O(|>1z*h!gePj9H3&m%UmIe(G*VwU zh}{^fwK2__{O61sI~Bt)x^ucnCa)_dn+CmM8u*uNoz;mP9x8Zomb8>1Vbw%IgV19| zWyDC7A!0IU_Cg?iY%D({r9ZG5$w~tiXR>lvrUjACFlxuj4QgWwtzWJM49_sUk3R!_ z%V>OuSPe$Mfh%>=#|ERyoOtyYTUd>W@+y_un40mFq79t2Sy?>+cV6fUnOSwSoM-_j zvR!g*nw`M@K0t$VlVTH$@&-*sLc2Ii@f#oR8OqVQiIqX5L$o7B1!LVNLp{qee@jdm zu5;t2O4N%E=}l9pl1)O}@n%e7opJ6`LtU`4vY7h?2W1&cjb@W_6FigE<EH?lMK2yH zv7;CBDnQyXVqK$2Z{?HO&KG;L;LR0#JA%XBQ1g6Zzc}XGrS%;Nh^`C65;eBf^$Y%s zT?aEk(C-0^baxR>*lh?cr>(>&N|&M2wrj%dHA1+wpjm1_`mWA0#N(P{rv`(C5*SgJ zs4*@+v4)lOuE^Tu_$sDIL?~o6_luOTXt>OopofX?k#V=oECpDx=4+vktIVRryywi( zA@AL<*fxtR8N39VkH`I^Nbb&3`0O8N<yeqJJuss#-=)+Li`}J~g0}i=+$Q*JqoB!H zT#t0}^R|3hQD-9@MCsv^E`bGezU6kPBam?}{5_&J@+cZ(ZN16hk(iAFj6zy{iN+<6 zBcU5ia?v>1Vntg^NebUYo(NK%Kf_iQdOB2MS?#fV{P0>9&CTc@?Y;{&!`1`-0lRf5 z(0li$bt*9|^o=$2L>ZXjlYO1L4YU4+IA?`gaRK&Jm@W;xCr3V5V`9fhZ17MUmI;IX znsb?c2O=-1GMBS#qo_Tj;upi&cjovh@r$l)>7*|{u-~34UK1oojx=HeI3ek_wCp!i z4L54Ff~y1Ut^3#TADgRVS4eI4lJVCf$_T|3<YTsMPx|yDW?hbBSHTYt!41{?C=I|2 z;czV$XCS_`nedGkToN2F$g<8hES>^yxMGB|f2olk+a5wJ7dE2pM-aZyL@w<zJ+v&F z?6TUx7Szh4CsIjKcvck4ja1kQv7qxEXQ7O>E>ei)TeKn|0GSjnH3b-dE_lmL6$iJq zi4T`HV0?c29JuY++IXvC!?ZRo2`$qtsR?6wghTNdwlt+&Qn{FSTF|v2VA9$#wci|q zuGW?#q1oNtKq7TOqQcAFMGLwQDZ-MV_<~Di{DMh`snq<1)9=z2U(zR*3cp+r+xFX3 zlRYZlBg(TiLR)0uFLp6GW1JnNuI&bV5bO%Y1vX~Nrs$mV+`NVrK{h3CuqPFK#eT6l zW9dIe2B~O2bR8((Vt<M04ETE%ivjM_ytevcxl!W5HXxn7p<PlU6!ggA;}~mE3LO95 ze?r>b0bNgp4~eVRJx0OBY<&5&u#F7cBisM*OzNTa#?svCH;+OEShQesoZv72L_U)% zUld^A_Zhn33*F(1ux8~-Cxo+um~H$qou=+wA!c1)+16eyQelkZ4fDk^i&K7p2KX{X z@h%SKmaYRdFEFcyn^eyZ8N5@Qm-$<I2jGEt&4CI}_(d1WO*)NRz&H_Z$nHLAo9(v4 zx^LiN!`vMuzwvNjuYdM*fqZTN)dBJZV0nGeH<&g7(+&9D0ops%ZJ^y@ox9j=_}!u8 zJKP?CZgC5KgG+rH>}P`$sxBHH6k!F5E~2i;8eJ&g;^l#2cYavr`?o&hxt@WVk$?4B z$9I@Q>^=sPbC5!Q5{X->U%30D6l2nL#-6uwZ*iO=;UHQ~%COd{U*7~cnEr@O`w{wq z-w^kHfejplU4&hhmBpvcpP|#Woh$dO9DweC9`xI1C2DU@yIZijHMJ1kL0SYYKsRZZ zZC_@zy~I9svq@yudas{Ai3SVR9QRyjo7CM*nWYTFbJj7gYs3(>y3n`o#Uj>x^SDu6 zfn@mWw@_1U%ICWvl~a|)+DjP}9l@U$?B6{N0@!dbe%RihwYC@hFW#X3_IuZ~A6>Yr zdHn;fX*C=acH&=K;HLF(kV{<(aE2PNwku8CyAo~NLqS}ppr^t>%DdLV&LnT)IIknW zi7#?IVs+*L;sS|$rFV1Wu<HVn7vo#z*Nq5fW=#bz9~Ne8e}kvv6bJo-rsWB-^@fhk z)4y=?^hfaAIQV)79#CICe&y-!-(y#Q)AIH7-?i@Fd;44s9V5JaiTiwoJdVMsH3m<Z zSG;Ch^GQz}+uUoK@R_GiTOK(_zOuZBh40F4aWQ9It6Uv-_R{8*@Q~OlY>ts$03P+3 zn^@CQ3)>wNKXG9ALyb>h4*sRhslODh;LqjF;SrO`CzN5?9|jZIAA;ZgGpm-WWit*R ziJDwNdR1U{Yx4=g)FxZbWX$`UZFDE)nX+LplzC7z(JIJEawnH4pDGV%2tO1*2%lWp zH?t{m%6E##tZFc#9TWV9{Qn^|cRyOR@{H)Y&mX@|>JNvH?*9RyQ8u+PHU1A-T-M&i z)P{ud|8p~K${`D)e3jB}w%8P?gar9hSg*b<TPPT_Pz4HMts8AbqU*$;UP(ZP>o#qo z<@I{!^;xqrhG5|JhBM`^B3A8y6RzIh=WyQVBsH1)eQ|O8@blL>Wr~tTA(%Dq%vk># z>=Z(zHFwzTL<UyDPScpni`lh~Zfo1sTes`{3><gY5talZd96dm`v6jH39uh#JJ6<| zpqNNmu3;0%>XQ0m@|cNkron`NaPVW<i|MsKH)EmJ{}xdw*?_4S2Zt-|7a45*ZhMdQ zieO|Ni+2w4JBd`Sm@boVaWoG{;6N>Zt^MUSw`~_$j_vUuRU*41t|>BS^pF44_6MX7 z+w>-->geCO_A9%4T{lI@^A7{85Hh>#8tn=!+hhS(wy^4S!CM~ZhAG2&H+`S!pf~TV zF$FA4wYwWdT7eH2Q`n%g8ZX=D2V*v#!{TxmPa}0!Op^nj8HVdw%^xvaYtsr{V-E*4 zEMh3$Q)kp`Fxt@p{budDR4r=}z9pYci)DR0(VRY<OPf@;bX2LgXUjMuvOAMuC|{98 zo}FF3mEE`vc9QNh`d8eFg*WqJy#WSU2NNi`pi>OLf^$uoIT#E<=zEGJ-Co`e@~i<4 zK$-EIJVm@*yv#tNpK*S~5x(f?@m`2zHhESb$|+|e(IAtF;)p^5rN*?m-~XlU`OiVB z)fnk!{UOSc{sIEx{GT7B|5!=>_t~=lKYG0!wR8J*6_oGIfg0sy-)dd`{Xc>&CD7J$ zwbazKzB9JE1e%7Y#=3#KTxnDN4b1D8kzf)Ggd_$@h)8oJ-Nd)hh%U6qH@5gMMTo~- zrIJl5(p41Q$JyR^J<eC{asFSQ`}9ElJHNabH$w2Tl^KH6Gad1Yg1l6R(hY`CGqF(@ ztc7?A@&QS*>3z)x`sxh9Fidn*7X8)H<G*4fZsEXlj3y{f`s$;rqp4xxz`3Vo!!*QN zVI*~#+f$aa5!jNjA$pSj=6muC%hq~_*_wtPVF>TH8DegM2^ZQGeThO?hDn6AL>t~x zpNFbmO;}fvNpdl<wQDTk2;T%M+}UB#1#7vPaSxQzMsYKj9(81!O)p~dYn_Uk?7XoE z+tWBpug@grD(*<)hs`|fvZcAyS}kGy<5bqZwOoQpHCJ%Nc1f}Z<HtdEuHj?1J#+^C zMJaCvtIOKO*nGev`^`{=8ayX*_u>Ch)6p+UY1^J_cFN*j^hL^Pa+#dnb#?NQNSOb? zQ^8M=sBjCrNA>0)Gn5_KdeahJMfDcS5bhZ^g;i0h(OVcvs-xTxeNLt3AUniOwKeEX zWhao-P$?vyYuGGz!P&3H{JMpA=AlHf!#B?0Xi(?po~-+P!Og5!c7D-uiaD4F(`vKz zC+?$JUo6Rp6rIMsOQRV#?)W%zV>V<uDvOK$SJ3VSp;}f!*M+~`W9qh3*_pFQOyMb) z`=$j|iqQyOKE0@n(u^&0x&vj~cn;j`7iRxsIgC7yY6YwT1M2{TK6}8Lw^v@5B>8W4 zTcwuGh7=jshM~8*q_BRNpDp68hP7X&=_+NTpi31HM1J17%%={~i|u>CD6E;C#vX67 zT*ieasI=Omp{mVGc;zOTLe!RLsjOG3quP}(_YED>IlMHaY(5y=5UXx?VI>(~r&+17 z^NXv}%QXFpjywQV!ps(a-#p?gB%ue;<QL(3k3IJgKSH{Y<J0v>248#OpkT5#kHEI8 zM7G#{(%!NVbuvZ~N2L5)6uEa}nH!W)_<saTrj4e3;veiGEr2b6Rgl@bg+^uUJEMw^ zkot3(pUxi>%z={5^uK9;?F#=5qsa4!vE0yn{vJAXAZi8W3?U_yi9qBRinS*sA`1PK z*ffFh5ySM8^V}fK(?{H*r)G+|Hp3bo=MZLuj7UY~!X)ErkJ>BBkF5X_G=h{BJh7#S zbEL^f(zfsea+O~qrNKQweTi)R&a`@gd+pW_B>odctQr{1Kw@dBgaK=?flP#D?q7nT zZLunJ-Yfq_4b!cI(h~PYKgWLyWjo${amml$2M}~YoTZE?5^<sB7kS=RO?gXId*zP& z;_d3hGeF{3sh+f%(Fai{F18>+B0LcOs?2=^g-`e!P9ra|SHULKMV@O#ERm#39%Dbp zL8@dEH<M%sb}j$-`QM7#-f2s$z)vnZ{{hPi{m*letgDTSrGt&>e{z!Ze@#jyYTEYL zs)%2)T~8h7lYiP-HlQu7yf4?f94I9>xu7kPFOu0T=aSFOx-465+~zl32~c@}gm?l5 zL?z;-bOxkzsSBD5koG7Mc<!7Pz$Y~AamZam04+XlW>eW2*ICR>ch~-(chmt%6w)U{ zzd=v>B%!DG+BtHEVSG3T7tu*w3?v5XLono=NvG489kUPNaVZ>@0kyGrrZNN49~*5V zz|+4u=#7F1xokAT(##c*L?`vetST$CO&2wN*gK6*u1$tj<bMpHy7#c_RI8?&I8swg zP(>t6&8TqFd6hJ@CsWZK28kt27RnKti;Qh}7~t0(yG$-=RHf!LSzHKbYDGWGZ9ImW z9n4mhwN**l-I4^LaQ$$MBB?KI!t>GPu(kGv9LW@03hE2h<}|08c`(m)PIO5kG+0~= z%`)DVPi~UB@DjsSg!C0ltaD5;`&U^sdtQ~o9(^G>gh#9Mz`ajr36bXMtA)E>$?fLu zlj>=$=YA$}*AD$Io>qlv)*kfQ2eLJN1hVU>;`76Bc$Lq)jkt&ZOdj&phmt&`L=?rK zm5Jy^JiyUSb@s+t%uIA36uH_!OLsWVsKf{2rbpX?G%@enBm_)!2CJC#`p=oRdb60e zf;xQN*c~uoW=vrBp!#pVEiuE8W%0HdUwu2ZZ8vpo!u}l<DwU|p&g;4pq>VEsXX1-| zbBzi%O&au1>S;K*nul)t&)~{`S0O*9nQ7-*Y4}J4i?LSNk6uIIVoK?ih^dSp;ua4( z4P%;RimkOxK4X&1I>1Eb%AxY=@UyJB4!2xflz*2;^)-;bj10iKi|9Awo-LL8H5FzK zkhR#TZ7{kn9wza&>km;lQm4BBe1CWR#;ie|kSA&zqTQSpt(&}I-Q53^DZ!^x^F}r6 zoBJB~+>Vat^w50;@eO6*vthw2qJ>BJ1~QxMgnj`pN%$~J<w)&~0C?iVBkU?W3l+Z& z!6zLnOEFTg&gYMCrH)8ZYl;7XM9=Vsq{u=MZio%X;z1k6T95IH9D5Aa=QThA#$JHI zo(MZu#81reg$?r-Oy!pw%Wh#ID9#P@<jeWRm|`4IAz_kafBv9wXfA0*RG-5}Tqf9P zk6ZcB#Yx|TICXO+?hXs&HQ2{YGzqGZz_y^Q{r(i+iC-154&W1Z!uHRzFXRo`o@tmA zyICzR4>HIr%<&C_f8u;wL6>NxcZ~E61$oCxy1>>k+}<P8zQ-)BjIf5qCGiQ<kxCq} zH_iQvQmK|%&2*_si`jU?)l9G!3yCO-V|#uGKDtDA#MkHd0!=m2PL(o6n+;DAYSj>y zDxe*npX_!SF~(Kg%akHz&gS57UE>?B_QZ>H0U2G7@0k0kvY(t!C;9RsUT)5j!~m(Z z&#CC1q#FU7i<;maAg48a`b?e!y_>$BGJMOy%Po0U$WIWb7-r`s_iK*-zc$_1jE_pD zKg?5{ALi-*%SHU(n(qG+{+|Y1#abTg#~Mxy19Scc5-EC_rPaGcTNB5INUUgWsb&+I z8Slq1&Nat6o>*=0-b6+A$8vsX`cqN%I=VQ}A~TG%J&pO<aVjTgRlld_6RbV}9Y8T+ zF=8YqDl~`;SCo!E1Z6B!luyW%8wNn;Ll@I|F{jF9hE<n3lyx@t?`muM$Dp)J*QzZy zzix%+0MT{exuNe|vv2G-QE##~8D^+W_Y6<-eUs$4cM~_%vAE~!YFCMHgh}S5@wAOP zo;ASQ@yGfqdCN_m8rI6H&f+T4fBYJf^jD6CowkH;#uV&^h-OlMTt@8h_@!9PJGa_o z3972wHlK+{5?fp~^0)(Sot=tS_x|F2hTv<VSyJT_%{G8Vmu|2LOJ|_=W+oYY*jbAj z_P4c3GLyH;=G)E;od}iOW|Nj}9vAo=5hC4+UF(ah{AJj(9SX#Jk5EvvRMX}9M+$MW zydG@^x(t_H#D2!i=>%P+hLHwFh{7;Ss_VueFRpRKSp+n)cyg@Dw*ai*x~&%pW$x4i zY^N@Fp&N<!)AtJ|n)kD&UigRWbx$5&PiB!do0PkXrtGf@pjVCM;ZXcMByS=n#D64q zL4=Yge4e)!xb^fH9RfSdgkhA8gqTf~{#eYLAK<W~s<f3RJwzVBq6Y|%hucI|`ewUq zS0fykgqpL2;Xt22tlaF*u`{RqW2%YbbGHIV#fU?~jcGz0a74L#?i7pVSRCRnumETl z(I7+UhkP*N0{jpVT&^<J65;Jat9s$>eCGQ3o_jG<=~%!5G`EL{5s2=crchrQBjItO zbKEe7zU<fkWn}$NqyI9-gRk>bSor}!KqCM1;;L+EXa2uStCFFe`G4#AyVSjHl9o}w zaru#t$Aft!2}n_(hTI(TX~97PN&X@s;YmVG|M6MDzX>!Z|H@9TZ*--$?))R&X=fwL z^2Z_x&9YLh;16&Z+a<l)B?61<T5}p(O;U?xmWr%5s#sQz^XIDETz<(}^Fa6Wj}?UX zd1Kpi;~c;HJLekM1JRhTx)+%K&BtLUA0gbK4M^NUCDWMC2R07sv7BYNYsU9xH-rU% zpGurL9YZ)Nsp%<IJ`c{|IK*rEJ$h126CpWIU$sZ%EmIzH10iCfz{WwnplF#$Wb|7? z>LN;t`CzafJr3X_$?G?EB6&KBQc!pw%~u_+Y}Ny~k`Z}WVdFJr0o*0eJb5JVteOl> zsxT9tTt}0<_0yOP6nWhpwBOWQ@}Q-n@`_DF6i<l!r3SDX$yU8V)v}R659XL{tS~S5 z_engRksD1=s=hy*N-7Vr&GQ<-lds^ZZ*UCbW_;M1Kh@(guR?J3DOb#wik6=-?w1*b zU98o>7q-ZeKx=vP*paLob(mt(w7KRk(e;E2iT&H82MO`S&yKe@<p@b+X%nVoM!RCE zL6KLV;`ta6fCxxwGGU)QO*d0h9I1`UzMO+xkUCrh&`&iL&1oZ}y&daR|3xy5RES4Y zJtk$Dp!Jt0y-G5hLo#Pv*f=af;(eO3qsCQ}gNW?s?VJtd$cri?W)wD;=lm=z9cf<M zrzEz7*1J{4pM#H$AS$UP#hbLbK9__gB_4uTMyz?u_g9M|gR4R$NItx=lO%ft0PB`M zF=b=%#SUXC!=c|m!{rSi>-k9am)#bJMZH9amEE|A^~-d!@B~j=z2M|7)<b%;E*O_U z^sr3t-eWBp2cs8Z{q$N`-2_VXdr?^3B(l_NEEoNLaA_tlrWw9^Pv5`v=IU{|SzL-@ zW<F;3GH-f$P!BYyy3F9ukIO>3SeWZqrM*auG?wm$hQx%HKcXTdLD3>ejGjVJx4iq9 z68jUO+=4tGESgD&*45t2OjWeqe*eO$v$Va&mxw8sIB*=)Nz@V2Q4=a`pWx?CP^Hp5 z@)Wk*5jx~Cm0*2rEvtbY#&Bf&afKyXaUo(iwww~D9+(YRdN1h2F>(|S(<t5xk{X#o zw6VrmLwDUn*j;_JhXbU)sYfbjicyAAzKWc+&rIkk(zWHBf{@i@rY}ZLO^9-#S}W|# z#Evu6svMaTSmyYUc+xQ?2b4P~;YSI33z`mv!+zX9g$eW{s6H{=FM0PWihhgUf=Z-q za3BxAbS8lH5Wwn!?0OwvsIqknc39hL`zN3MPPlkN9Cd!_1}`sO=p0u%Fw)DPT`t#C zv$w%cgDr(qdFXb7Zim|!WkJ^NuNIW8DPKOx78)R}aolB3B9HW(6#lND{<D7rPNv8a z=s<8VLE`}`8mJ)V9jl20`!{yanu60K^wN!Rz!smX?Gv!!0TcSdh_*+r5t+vX!oSb_ zjf1d{z7nQyMD7=(_W=R;KnwQ3M)M0d%=P~n3?sh~=MLqy34CI159r_6{tbp$>WI2M z9sJao%-s0f2y0l%6K%j=^f!!FWAxFU7B4{A;UIjzKcKLUfa!lR_Lfm~McKA45Zv9} z-QC^YJ-EBO>&D&P-C?5%9^56cad!y>g5^=CUcGbbw07^Sf9wC6-x_1|)#vDwk=fs+ zIoUq)vg<7Q@^Y4@^Ywiyb#pf3n2a4BOCw=*`(BVi0|J-isT;Ne_H+chyHr`>Ja_D6 zst;f4kDb5;rXG!+kp;qq*3>4IF|1Tc;US@<oB%Ya7`uQ;wM<vB8u7*7KXAD>Ys1#m z*o>l6b0v>(@6)L(tkAX0tJThFRPjlFM&<2`x}YPBvMC>B6X|}x+QBXVRtEN0l;~q( z@QDTbmr?yNkr(J2+NjaPL16wcCUf$axnvBMWSFcUajuiY4CQn(nw4{fP|xhW9#j-d z^<f+RPI7^^XefW!<%W;?MmPO<Z|lN&h_p)b5?f7TlGv_klgpG!{Rs6*aeDx{Y=$iq z!AUWi31y-$Qs%ma!xk;!ZN<f*HTu#tw9TH%iv24lCo=V91V92KB&4<>ud+?;5sasw zyV|`O(YVuj@dVy0%#m(E#T!&E?B{2(`*vMnc{HGXx%2F6plf=x6|WZ}%hmzsQCmas z>tAb5=J%Tf{d=^8Nvve&nm2keIHvFH^is)_^O8sFN?4~Q^n_*jxb3jv?YKBK*er{I z&-5#MT(c8AHhkOVSU{<uw+!t)ZYbKKu=WsfO$pQ5D(MYTdmEaDiuVUnsWUQuiHkD` z_o8xYKLGavtz%_YP0oOr!6}zr1;Mg(mkq%?pmXWQ_sDTWN~3*KO}-#8vR&n9*q50) z{Efqb#yT`^$BD?Wwp<eG&a>Tp&~=|%WEE5D5sz;pIi+mj@-pG_vY{SZIZv^YZKZ@= zsd`JXLP3w{CVAW5-HWBtp?@fC+CgTfwfEM|h@o-PA7#tf<9^)eg?Wcr;W9S$X<oQM zgeMQ_bTVDMZ{pkt<n2xe%1Vss$y+zo5IZ^&_vak^v&m&XMv%WtKr{0b1C~qC%(fGB z1kg#)L^+p2BMK>cnU{xYi9<FOAyPwzZH5YBwkCp4)y8CSImAAl#jd%wm8vDY_G7*+ z@K&3=LjKs^<DyKmebwC5Lm8fK@xyvL0i0ub2FA%%xY_tc2tCr?pYi5ZGHA3vu=^WC z3wAhW+}z44;?JaCxnlmLq}eG=HUj0?r%ikI8qdTWmh%;1|I`tameJ-<PeZn>u$SOF z%Xeyu+u94@LU5}X!IwfK|5A6xnV3BB6I-LIR>7bU%AFG<TCw6l)r2XcsWpuL@BlRV zt?DQ%BJerz{QXP%j|(fkYxaC3o7APjuq1Wb$`acwB{{DP^vxvXhw6_0fWQemm~U;! zdt`|jSfC>JKOg@~rfdM=wiAD9-J74O$^W<X!GG(u9Vq|1d--==pg`-N(KFYII5yFN z<4ENuXW~Dx;z+}AQ%hr|VqQ2AbqEP7t*k`LR6byWA><VUP$g7V4T&R0NGb{i9O30- zSA;>Y1^#pQ1viDAJHeL$5c5g);OTpYV5T0>Xkwbhx?u48LznjyYVy)utbQX#O}Z~{ zr%&b~gFN-0Q7}WONLB6AZsHn9PR!M-{o}D(1tRi_)yOLD;r5AzY*icxAX%?jcAqgg zcFl5+w69<F3Qtz!`JLzGJU;`Mth5wxysqaDKx>XY3Kz$vgDC1&jL?>ooZVbb)txgF zG<uYA^9zP@&^N6>bJ`x9sMhu}JCw?mXl5Oq%wLpoS1)XwQ5p*8wYe@2mW3|<7<#Sv zjHqVS45!~wrz?Rqxp9YBEcqwvhsK*~OtmZ;Fn<iY6lJQeA<m`&6?bw*Hk&T(b<8Q6 zVtn+~I8ZpOhvQOEa)=DT2s9`fSNTC&W{zdd>ZW4w1o$x*sX<<9Ov6#i;rZZi2ohgY zT7nhFZmeWn<z$JqmVl1YJ-xknm2o8YPfS0=rf|Cv1YFIxk5_B6<I|l49%>tcJxd3h zA88)g-GJ`rAxcRm94|=@iOLy$KWfB{eCSV1=6%pYsQ^kn<`?mJ<zj))*9)(+0?}s= z?9-S^Rk!)X!wYqIh8>3BRtw@H!j`BcDB0O^`V13($av^i;VGvA&8Pmdo5^y$Tpr1L zKP7x6FAZ)R%d|!1wxd*raGuW`!pSW)7d8+{8tiZPp=$5Ym2_obn^;5EEWSMcq^~A} z#98pbh^8LONDfMEJCtc7p^2Co@unERr8~lGxjQ8mPf<!og_&c1>pHUWBd9<>9wB2x zm~NmTy~PfL89ApT^pS9MR&D9B8K*W|=a-}}q`?}u&7VlQ7qxpra}u*p{K0XbX^SHD zq=vOAqt}QHhp{Qaita8&A1jFf+ZK)<P@GFrv&gLVC!RaNlds*v{g^MpW%cNDkuBMT z<w2w&5he@H<ORF9PS^m;S5-FzXwZ@~W~+C#+}D8+mbG$8^_Xnr<ppCU*^=OL{g}Tk ztk6QC|0A&cAA>`1$>bH*Cw9}HgTwzVcjn*G`{$fnk^M&pLkDyG8w)Bl^%scA(uQRy zEQs7<6D?YKy>xCdyZO?F{p5JwY(*EVFq5aiou~Jzk5!V5Li7%ysw$Bu=kv3(z%*0# zhzZm3X!q?Pk*9&D>wf2<oxdL+G$F=ss^JB|u{b_7M<BEKs342eZA*KIB3EJzYVloA zCv<}@YK>=_w<j8m$?edgR3c7XA8<6T0yWb$4`<FL)>=w1`UI-)y8sKo2ae@eiq7+* z4pblYt|z!NtL#B;<>|2PPgYEc?|FzycZM69IE#}p4)oIEatv}DbqGFjB~&GL?vb(X zt=v_ZG&@!{jLO*KJ7h@LXi*#D8Z&lx4)P_o>W<iB>6o@jGgEPHBbprYl$lDCw#-{| zs*b!71G?;avGeJr6&CLs>K1BRPEr7U2aleuhHTW1sD{xE++kw{tO=SnTZ7q{`~oh_ zK(#_82DTMexmxOyS=-i}rHNGx0tG~$4G~#Vx+=?7y2sqfEdEvAljh(Ip}HTEM)Pe5 z04HXQpu$Y04WoU-yAGG{H)IWG`cc|Q)wy=a?3x}P#wOK-otK;F8eEp-Svgt{HABew z4ev(Dp7t`oO)7kiD%!4YYYOWa2q7ixqfdV7ahF$*qS7;V1SIVhKfSaj7n@G<pVg4& z5w7~qXf7QZ(^;;>_gLtsJd!bGG{c0gf`wP(ONlU9Us6GfaY=I^9JhLgEH@Qt5W;jB zIe(R@VmTqWZENhCawMB+;o4g<`?3b3yM!NX=t<EtQ3^-kd#qKY@Hg5Sdu|af-@M#Y zL$DO@!e;#4&j~JGV0~d`gUn*7ChTP+f{w;{<Oqr(pEfXUb7G?04EJimCY|hBp!tnY z*Mv@gc^*S(n)S#a+#4+2wduQhk^!2nkZ+NJ-W(>z&-_BoG0j3B{Z$0weKYi-(^MB& zG&q^N<`8eHzGz^?(_Lu9a13iie*t%i)hU+YMNj@+Nd(1d#w}VUmErd^^d48$Aqw1d z7kCMDX&?J^9P>WjnT{aFJ&XYQJvKq+J-B>~+nk8GJ1B`8t9<Dp%vpqI^&y>S{UM%b z?IG{y!a}rQ&ilX%#iexltJ8ATCtJ9!!;ra(!X0$P@Svy5_kJ-`znzfM%M_&mVb;rg z*s7MZJ+mZJ`&GCmGNY_4-*~o5mv683Uy}C}qmx)4aVB9daV9(~-WyXQYL@hLeQTM6 zgt@td@dyg=@N)5$STDDeRah+8>vCErpMD;e#EN)a1*MAg1JZ}_IvWNgo!}+HxiZUS zeiBmzdiJ<+RGm*sYUll^nDBn`$J>>vV+GQy`2XRf^o+drF)Ty*!X(FMaV)I9Xf+_# zk|#X2d734P3SO95jkP-welA^D@*TBf%&$5aSgykNDYcb^Zlupv3rbV`lC;qDj=m`- z55UP_fQ=abM&^Puh@~0%H^hYvq#Fps#eh2ejXXX2Ax?^4`3PB4%@-_VJskCSDc;q? zn%Hm8eaIPEDDD?FQO_@P9-Z4{<dD^kWJVoEzROr8rCbXMb{oXeoH*DUsN4K<@TWt* zv+b^In)4(R`oL?!&h-0I$~E&lFDz|-L9`@&!EO9X?T{Z7mPidOP*15Pfdshx`q*o# z00C*>0m1Ir<UYQF>z4?Bi!UJCae_qk8I;o8gZp)Tc>yUA)@VZ>gDcP_Ui@Z!TBjV@ zwUp6QGgC+rp<)IV_dYxAAugsHVrkWE)Z+&9oj(#t0>faO|A1Y_V>*^hxsI323?odk z`lVZv_ZS^{V<?h0hxCV@;)WHFtR9p74BU2?r6U^3tmalz4*?zWbL#3Wo{NeY^5r~P zxW~~~P+MZw{LvCF%;7NNs6Qk0Edh1&Ab-gdN8sM4xc5S4U;S1D7^WX|goWLag9uSr zdCz|C3Z;}?LP^<cRz1_*%Pr5oR8A9f1(a<7W7fMK{1{XQS6R`)IB6X>g_h@8=sXr| zbP<G`+pT2+sQ|h+VfPvp7%px~XO8s5#Xxowpf*^}xbh-~$L6qO4egrwV==x?cobJ| zF<+-`iEbB`l`GAgGCz^$zY1QZW$Ka)D+N`Z|I^8E_gP+|$_gTLKAj8}pWPkx|52Cn zmHJ1VwD#w{qJI{aNcEq}L!y{MUtqCa!Lhv6&@tl1a!(0HV7h3`6j>>S6D{W#7IW2A zKje#KIq$x_(H<1g;p^Cl->^UByPu@5byeYj_5Pq@i|B?tPKz-i3mt{b#NDSln>0xx z>oV@_kFs=^0difh-84k$U?h4TLI+jZXyci|ESuo6DCp$3<Kqm89N-{(vRfvZXk9C4 zJ>|CS%5&r0i|B2tgY=^N%6#iIG4Y}z=y9=M8@?yMH!gL*&rd!MX2APHa?#%}9*Ip= zodtZ$t9AAK*?xsU93!E2!bDRIlFc%;-D3Rui<?Gr3A?e`A&Iomyv7_|@64O{y5(;b zQIYZGuS(kYlWcB<6iNo;sjkr$O>dRpM>mCuDpZ-U!Sn=!as0ypeI@Wr+jp@x#JVqC z*1E5jH#aIy+ARRwcajwha18<t!pie>vk0@k<^?GKaz^;@ZMiKjxHdVyWTYzAuym_f zb4>FQPGw(!*?LYfV*?j^IZtd&;UscPE#3iM$}e%81sEX<n{58|RdTYF1q`^@$}=1* zz3EflSLFXz%>VIngIH6fd_M!jQE<S($o|hS_rKq3hc2A1;R@Er&G*}=Jt%1O)LnGB zFe`DzvFvPoF?euwwM<&f>DA|K-((!(UoOW;X!doh`n~!caS4uB#=Sf(^5W<XTbr7_ z8(XVR8-Y7@9q%{(&QW;T-~&M~cQXb4*Fq<tzl={Hj(or4=WsCYxLVRq(h^cUQFBz` z^$OKwcsE=f7uFE_N!Cz%s`q_*co6DHf=>>mb8T31d01W@?a8!LjX0VU?Qor8rjAYt zZr9|`3oH=!2s@~8H<8rt7P|Xcny-&8hUZ`wY@2+Jk21RVaMGY6RRX+E>AtTY)BAu( z4B1=$zCi2tpg;97Ff||;?|KmC@OF??I09vAkHYPs4E<spGe9tAn3p`(|LC5k{QMOY z#DZ#L|FgU4TUnrJaqX`V?nWs^CSk&}4h-o4pqPnT9hS<5KInRFI-Oay@OWo!ZMf!p z>hzGP|EuNImg8&wQ8IBC2F80-kV`LiN5e?OcfQ1r5_|IS9&8oqG4$2!!e$zBp>UXo z>i%I0Un|=tHo~<_&9IX#AZf`Mr_Lnzv}~PKZn(Zjc?*YKf^=za&A7RKSZ|rOA`itC zx}JHU#_;r&YiUBeEyk7YDU#9~2CXgUe$*DFDyH!!iz-N-3j(V^+VDm>0r@;u*l~Wj z;tP}A#Tt54dH<-H|F;xO-nMzuSw4u2g^0$VetE*>6^gyyBQYA(ecX;Z?6u>MvdiS` zQ}I6>CzoeCSdb{omv!Sm|Kq}GICFJasMBPcbyKQdjcsyEKgNXjB}}m&_H!4kRV46X z(`FwoHam6sts6Lm9_@8<KRK)&2$^@9j&h|fmbg;bsxr^a{u0;AFOXi$v@RE7Ga0#j zhbUG0?mS}t!j<oROYtp-L&4pMpDoktVhoQTVT3<nDE43#q8f+1H^54`N<)QIkSOX8 z`)egst8mw!zU&2uB2S?#74s>+42WI?2O)wGSehIZWhGt_eBUn_C7f%E;>q5^(IHQV z(Z3yNvsP;=x%qLI&i7vidz2uoBiuDAtyybm#*Ua=fPv6A=1O9jhMp&FQD+BU*ZX6J z_ky7&O&Ri%k5^HBwzWFt+&?HZIm@Jqg@e(b@XO3A3-cz`_p1TYhV}cnm5|CsWvKT; z09%ZUqtvhidga}608DchmqniCPdR~-1kbbIK@6Gow1eSfxLEMQHTz@%@`F`c0nkNS zcYK#e=O<bLgE;|eqggJ1G!_OQ-O&mgxV;nr*Z}&Fj#dDYP7SW4ris$$4@_e%Zcl@6 zl5yjTLS#rUJ)#BeT<p<It*{E)&ehM<#9DVuf|L5S`<uKI`ql=Vnxo$3p*tDFPq%@g zt>Hbw;+7W$GbFn*@Im$aG|x4FB2)T^G_0UE!3Y{n!Pu|W&s0Gb`)kh$VLP?YL_tma zD9>eKA~nw(AEo<E&v^i$b%w0JvswIK7wMm)0m1udSbvAUX$eMZ&=+Qs3ELwtb=t~N zkL?T2!EE8q+EIWsZL+s?e@tg2O+E}$y8QOYh}Ex@6VpDqwD`T9nDL99ZK^{zp2d)u z(cb&cV*K?C5ouq<N4it$uO(RgGtdhEKD7L;^ESWfcf9^~3N{saY#57Mn9BvW`mHZJ zT2;k5LnKb|CLK2Vc{>$+k&-5j=Ny|+z39)pFeJi$;aw}dtK!XzV|V{1CmvZ-5`n}& zxEw#+1BLzRXaSNfqQ4kXtg)0PXAIbX&baKPTVa}XK5BO{xxHx#sK_2&h@*6O_f5Oc zToTiX77FJ`ULrr%Y2?buKwG?4;JGR*pubdeF~?Pv*_T?&_5@T8O-Eh&POR4`>C*Ky zQwpgG?8m!TI@h7#xXF%<@$0mUp#?>mnNCY?3(PO9{9N3cwX!Oq0d`vU^pO(dP(jqe zk8mt0OkC(VT-+xb_a$#0Y1fr#f+jkDBt{T(lo}&OAug?A+?QU%&ducW4FAa<Nt4hv zTkh6Mxhmvtn*0IlKSQ?})LC`ZjYKmei@$b0%S^CZYMS%5vX>~>J<A>7wKS2niJv-S zK6t_2*7p0N%)C{d5edgc7k$>>#}d1(ZA_D1h1EVGV%u@FSL6N#lgjALcfMS~v!_}W zM8f6CR01o71+G>(6jnmc45NYkYDz19bU=fR6(GwFR{?Mn9GuP(&gNRj-wSm2Ll=J1 zuiRoFD5%6lOVt@|l~y;0K(VHH!u$+jdUc?=Fq{>1RwEPpV}I~>(<3S0!0YPL=nwT1 zzOvKWtj_c4TDJmCnYJzE(o^HkyIN(8{6HImTl#lE_n+oem1AtMQC_6E;m81=&eVG{ z(U($2Kd7@PMnA4v3jx`liISou_Sv60ZlJLYnB5aZ+!_&hwP1*Wf=4YW8MOeBx5qTv z8hFK$<!JEP@W*kwIJs&{>=arR3@l1<+tO4?EY`?TVbv4#)D<`9GdRZ0iO8cbGK8cJ zggmm5kUH^@mbtJ4co(o&;^Ou+G9()=RGkvTRJ<X`>LKStM;~6}L@c|7b8MCvfc*YN zjOrAc0xw>7)!4R$jEdrAja|Qr@FE2cVc+=lq#e0jcfS+<L~F(UX^Co2!B#VP>pw0y z+U0a-MgFIdN%fvvTHQ|Q3{}mO(e1nEgo7*HVRc4gXL;l>ZbD&%EY?1a#qR!RdBXMM zV8cCeF5d2)FcRxBbGC_k3PwK)^@6Ztrsn0sdt@_8o^9)O=8e1><AYGVe3<=Hkr^|_ zQ6;wedHvB(2*nv<xeyI>rCl3Pa3&P1o9<Lh3%)b0uBLKLDbyQuLDqiR-snZEz0={) zn0>s{8GjibZ{BOhAg~>$ucR$DM_XVXX1!Wh5kPdXlFY*!XI^dNra`3w#m(<C!~_Z1 z*}9XgahE}}NPa6ja+~AlBiL<pvC?tVjwmp;F(T@%E}Oaw_W@w=O!lhL33$x?hK(ru z{xz87jYH$8r(W~!q<k{2+JdC<KHYGaj;<_@JdO8;%pt$#{FqV8lCPGtcE5>CWrdjK zVsedW_z!zH`E;?;5}ews^Dg&Lcfo8Q1;gnPUROGWv`$<+2PmUt`icbk&!PX`(I4%g zS3;EALgF0oUakwU;A1e6GHwVlE-PuJv?^-Z>AWhJ(C>;yo2?#D96e#Uj~=5q&@~lc z<?Z<Prgpg}>Jl_bd~Z4j(Qlc5?FI;v4qA@!)#&LX-mLFEjXMV-`dCIE-+*md)>chF zrj5^LjKkOVJ!dbC`j~J2ko<e!Ht=w<U;pWJ0DZc#X#Vego4BdF<-dHz37Q6<iQcFm z$_5+i3UnQYk`Yj~jGs$f_OT=*%*54~%PZlW3p=A*fm@Eh#mPQUl@#ATHy2>YJ#3L! z=C^SIR&{xLIoz#|1AY}uU3T3ReFM`SwGv7FF~%AZd20pzfw2wx#!9XmZ$cMEn^`tr zJ}Z}!Wkw~vx9PTT2kA`?oI>?N@uW#J&t}$ch|)faVzmbe^DZQME-b>owJZ9?3793M zu6b&B^Wb`|6#g8g2%6>!&-1+UJ(AVjnkr1Szpx5yVEt+Z>uA6=$f~=nbT@6U8S$Q~ zgLq#Kz{a9=H^@3j<e>b+KH{yUvAzlIO(-_})7XREx0Hl;LT;Jaj6L<Q&>|Tv1p{LJ zcT|rEg(IyZ_hrn_#S4PuoT_fVkB`L8Ua({Gnbta^8b-*eS+tA_9{MMVdR&ar^G^}} zHY?;n92t0>1K9)N;b|7+-YBwjkdN6~e-!IhL0YX%Pmd*g{D+*!)KWrjGu7CasFg}m z=*p=Jaoe*F2_0LX#5zsLekTQ3jfoRXr&ZabbifHc(>1ND;7Bg!g{$CDRD>VlIHJ{= z-2=!ls=i#Z1+ZIL#^o5t3#`(YbLK=+YZlzd!y%#>)<hA7)_T8r#n7xk{AHE4i<`N8 z-S>xC$9niQgyvN8FIr;HYGfQ)gBOkZ*zFE{W{GMNvYJS%g*q{d9{9^5F7z<0UekOu z>zSn29)_-$t1aWQ^ln)Z4?RKdeF*&6Tjot#4lwE>D2XOO^4I_axJN<58cPQms4&PW zj#;&Iq3JIH%br=JK=FJn)R=tj{|cUV5_4HZ(X%5ROz$QA!7(z&IxoF%@70(fCP#aU zA&*AsB05!T4$kk!dq0uzeDq6X;wYu$9+77PnJk&G>QC33<&4;4;4jMYvp6;F`~9ZJ z|M7p}zoyV|Bg(Iz6Q~6Y7#Qt;a^PA2Ifs6pc;_Wq%nxcf&s2Qa(98>FXb8%^eK)$U zOcz@OOelcO*%#*}i(F*4%gI8>`*0soaadFyvUYTq*XFmXmBJRITwqF1OX_s~pMjfz z@sstxZ?EqxU|DzbAqB&<)c35eWGGQ_zJ^1V{kfbjRB?5BhEw}Jp#;#Ch#(7GHG6hi zC04>Zp1#hl-9(o>(APjq?+PE=x%+MQ_no8AZ1UT7kBVBh^vTUqhAG4xye2waug?u9 z#NHbWLtpn9kfi{gNx&&kmLCZW#|C^j-%Za@k*g0X>_%qilx7dB*eZaj1X~+o&%0xt z-J8Fh*SK-{>n(GafIR>2p`O&jDI)O`Y|E*m+5?Q!Rn>V9+%gY_u-?$El`t>zL5~h@ zEs72YQq6qVdO}-1kR#e#q)qj$^5v=Y$!Np)i1YjL%_b{H3@dEQvH{KaZE#VatjZVo zt#~_kv^zFuXEo!`XnO<5b*T_NG|m7#>{(X%P`pOTsbBtxzIfAI6#)EnW}QL}n}v&K zBv+Ml)siN(lMX>o|5-;~W6}Gh2>oBV)J}Wc!wZfZHfA_pd9=HUvAx-BtoCNePl})U zv-AS(jTQ#$d#8+YMj9o`(qAmk3LY6zm4wFBVitAroqX%Cz5UyDg60<GYL4}WbopB< zI5-G*f<|cdT3Miv@#qV8S_z12{FOzQeQZVU`aSpRw)b;UYdM=F^PmM^2+9NmUFwH9 z&u9*iBk2<*@T$qgcIH<si=#s~L@~IoBO=ciJ&y>&5Ha%D7cLveWqxZ6<{>mL#a%kH zJ`A^ce&DHZ(@XfS3!(&9{#Mm{1Xn?P<%x1?c8_3wFM5TJ+qR<a@AnGBg7*_W70N1e z2KT4cFV{k%>j?>XoVG5n{hIP2+Kc&n@dnm3IVd5poj6GqcQ}aD(3VSj4V<u?qk#+W zI&|TjrhI_(7m~m>&B%6ynH6N*C~{=>Fs4A5$Y%(mDWZuS&&>;{dB+L&V`PD~H`2Ui zWOQAL+l?c&{k~;Ro?E+AZ7dd;>&_-(#F@I>6uA5#ibVw|7^ztws+8oWyEBi096lpk zHcWkSr|l4o$W>AQODx||jIS{_wyb&V81|<wDF={an-Ax0O-Gen()Mc^FIgRsOAzQ~ zhTo9_3jX)1#KHy5k^c#4-zTL1NmXM17o!T^o07Qw=DnF$G3%~rqEi%37wY4o)#;f! zVF<1u?p;CsJeMEJUet*I#>j<r6WwOh;V7hFNZ#b%&AT2mN#|!gsj0jG-a&rinE>~1 z0#E+&AAuiFB4ADj3P?8=DdP=<@IE{+QJZ|AL4W-1IkE(l^dkwbfbvWQJ^W0LXWnpq zXm757(mf3%&!~1#SKqx-6vIs8CQnc0Oo5TcWuP@8(?>&#U1H~1znNb^?Dwfm^9g*3 zZZ~GXpgb}yZ*M+{0b9NR^Z6T>1#SUuJ%CbHK$ntfji-$w9UbCJ?tzP1m(tupd!N^~ z+>t?f{rZ7h+rg*YX}DP_L^||yGT>JWA7?^nyMy^JQT;~qjfmOK`a<)`P}2D=-T7AM zvL$|yhoE^iY{C!lsg(`&gmre}ti4!{jF2hr0^&iEUyTnKuBNz`ICD;E!8hx{FS66N z5z;ZgPeZ_PRKVXTnG&G<%(V6)#*x~Bqq?agj~-xI<wCTsJtL1`W?99edgy%TuqdJo zr-)*hzggG3V2-5@R0FG9k*e%_iCr7qyKk<~ZFY%=L3~t8Y9mraOTeZB@Kw%$$^&;! zyh>%tMqr~-_gYIL5>ejz;+^UYaY;p40t+q9V<;*ph06BPx5gRJ)NKOXV2u=_$E%>0 zQu7mi5z0*jg)*uw)3XEY-LxF(`KT(Qd;Wr`%bv?J7DOuwyrt$&dlE4luTrdexjG~K zzef^w{N~F#;+l9}-W#-!atp9C$f;Rrisri4bI4OJPW3T&Tx%CxL7o7d*YI7_8e~Us zADL{a45D$!3G5+kJd=X><*(5+jf&g6L&)~7*);e4_&<!#3PN};trok7U2+;_D2(YX z%UjFLx-ESF!Y#b@wslu+1X%aQ4wIgOG+*l)pgmQlS7`qh-4{!KU4#f^tojZQwUYmk zFf;#YE3_!6&_jar3o-QEW1*~7Nq#HPhU-%_&t;Vj2-mR@CMb4+Yl8StY+>{JG)cEt z0k5C!O-f&A(4%FAMk9B~Exr^fqL`5VBoMYrbf7YXv)n?lJi=NT;wVQcAtHA#Wvc4L z*fD3n8_phhYZ(x1+|O;QioYPUmHhgf&P^>)WbD-32ZLt_6-NTFOp+b*^1*qW$B$(Y z>F}#MihUcIFI7rN{_Yp9)cx~wB<@;PY2&w%o&l@_emu{2t}!k-WcUu)VU*}SYUZVS z*-pW*9Zc=!+}Q!Je+PUCfger(6Y!V+5O9uv0$!kLq_OlV2HTd{Du^<Yz|(8i>jO|F z@50H+nP~OD=dky&Skjq_4^i57d>euJ`Y?#|bs29Y31-|nIQ?LYa$S9Bxh03X_o>kT z_vN<#)7s6A2pDJ#5Fd++S?%g!#*PffbC5m6gx58CnCP>Wuy2g{RF<8RlEKDct}H(C zbK!EiJYp&`wYw@adp3c|%JG|K9e!}hv7Tf2=Q7u0J%~BGsAE-4`Ym*!9<mZ9YbRGY zYxvwj9R~kAkiK;uzaBbNni)@aMQpdT1BN;!?NroYL;kEo-qM47U50v>tX}DKL5EVF zf!1Kh-~&9`?<yID-ulU9K-t;(#z0vP^b#BqgPmnKA6A?w$``S=#suxn!|CRgT2jqC z?ChCo%aa%;JNNOgEi6~AXVbJ80a;muPoG;s3PoHOmF|wd-Sx|uB~n<3*RTDCn|DXt zC06e=E%U5HJ%MU$?Z=pw8efcO2k(JRKJl7Z1SKe(l1e1<^*QKs!QGYWwa5p^Vf;CB z;(dS{l*%#Ul<%>{ScCWWnr4Ff<wI!-l$ylM7wZaZ(^XBDFdi!nqY|v-cg(nuvO4R4 zIP(`Da@dGUmKT2wCxS0D(HqndENk;7ljEXOmBXPnJuFX&;%eKcyf`%S-NVFB6^DG3 zpGqxXvYRc74~tM+qOYS`a$(fyqFW@Xonvw@GEi;+4tJ;Ndp#3BhCiK^#S^+CaL9c- zw_dhf@YD}Qx8cFG6>F2ai&!d!i1yh9Cqh$@T|4W`-FY$^c>BD%(wX*7PG;eRkQ(xW zay<xsp1ahV<LKL;uMX?fhLo;iU07oDLBqA>_cv9L@(lmF{Gt;<-Mfp{qo=s+K_m`R z&)<eK8dXSCkmEOA$uv%c$O2=8v7ZcV_&meI0&quS;Yn~e5i(D54h(vN23WbpH=n{M zdW!1!b>X8W_Oe5v(ucL^GAyoJwo?K3-ts6=4^WK%8vBFnu%{V#8@XLf@z5!jf3K4t zX1dXX>W)Vte2~t<d>$Le&EUUQ%y`bRkdT!At=m;ZI6sCndcYYLiDYwGtJP@O^Q(9P z`Ksa_SxA^XFDd6Xp&u$PKR)Wl0^ti2DQA3q9R4uUOJ|BR;fW2WEHTu!iloXMimIN_ z_hH#flz+!_z4pY)^b=3h{}4~kf7M@uPdssjHqA8T9Td8K*2uLK(DtGFLZyzZIt<$t zcO>-W^OITS^pC!t#g`t$Ck~v(4?OS3v3y{RJEtvYCgV9&PFz0~++6<gQn|mHdrbnP zR!woKAdoXuB8{|%V>MJ!^-&*6fHVWrk#~(;b!KnJn$stq@m|Z*%4esz6p<Y}*m_;V z536=tIWcf)os31<IS#1i;s-ZQ*Ys-n39C8^OYPdu%;%F!FbC86l~2xd**m#JY3gx2 zyP5kJ7}%fpD5og?EZ?ZLvo*Vh>5agI?zX@M<*sOL9&-{2J5+!m>86&u+ghF6>*#>B zwcDgagKx5bayB$GqRP%DClkwZqG~aEdP`T3R%~@4bK#(rdfD_H3+kd8IH5|=bxnFy z^XbtIK*x#S_C>c37PZQhZ>{@|fdsDQXGa_`OPXK*>g?>Gw~>&cnK^n#g9W~VT~jN0 za&9ETyBhDc_5_A>@9XBO(TJvkxq}+@ayNM;P@t@|qSut{v&hug2(%MeZ1w{diSmS* zfu|NH3As)iBON0JOzsk6jK{dML~a)Bekmyn(Y|;Hy6Ly7(r`(*ew*kD(6PIj@#C~p zx<jq;SZw;E7*S<fGpnbBttfINIfvONjrH9*jxRY(ENS^=R;^}x^}0C$LDdD-OS^co zK9j6w`kob5_=%S1+*&UZmMiSuz@tm;PF`;}s%Yo5tp0JZtK)%o*tA-N4_hE(k21sj z@g@;8gMBCOvyCyZYUgIcu~SOMZ-cT>!TU|q{zhN*E{L$5S7HQY@grJ~`>i9^UV5sU zvR-nWC4Z+R;bk@}Vqa4zI~l}dVyThcv1}{#m0{uJ!#X&n;>HLdY-`)>q5m8+5aIgr zR8my>g_E9K94DDJen71J7JEU5GtMOWnr(>m9(>$J@U+B*kOthFavj&G$|ct=%zm-p zi%{fR%w@?1QDPrra-i3Q1<G++fh(IeomV2He=ByN9-SE13tWqktba^b2bCoMJ=DaH zHRQmW;1_k=Azz(2RySc=(XUSelwmIe(WewJ`=vYk*(zu=BViRH{PJb5`n{4Zg3<w4 zj(|ea(K%H3C~?^uLdJJ2eSUm(KTh2jfpSj36tf-T!NX-~ei#Plq$(raP1cx@V2tNq zsDGz4z0on*@{>}{|BzCye^IKSv80Omu_&$~U)&)Wppa5q0XqmY0FWvnwehvdxn6RU z8;*#OTcrOhZ;gqElW6}p3W2A`<zNhN+&xW{!~#0c*6oIG=g+M7tkA^T=lzK<z_`?y zGvbE>ZA4d4qS*HW+#G93P#js<E9gFChxq=gjMhzUTKY~`(s(34rV4^wS*dMl2|_wf z%U!3Do}Z%=)BZI9G{0`&U3{5!#@DpYD6^~gNoik*$Fb&vkDlmSSobL8NL=pV>Ul4g zl_Nb?!9UWPTP#NxpSO9uT<IXnv4%}n!y4DQ%dXaKa~3(u8Ee?B`^`A&2D>K##xz5F z(>|^;wzO_r3m(3Ka|?<R3vgQ+i<%Oy=h&gg5dSEpty<Y;>u%u~lSFV<ZGQ|4*GswG z-{K|kk`#0hGj;{)&w&Z2PCg%pay+AT<9FdQW*cbaWZX|ru&ndYE_vzpbnUiB`+eWJ zET16VCt5fqs6<7;;int*a}9tY#_Wu=$QnxaUq$OJRvYLI7N7r6>gNiNcAr|{B-H+c z(aHSWZYoo7C~%4@!kh>WS$W*=r4dwu7%hyZP;+!r8fJs_8f8>{qH06*tCaP>R-lbj ze^{nw=v(FLyI0q2lUq7fDTY_r9hMEjYf1uW6z}3Wcd8QA4E&m&$c^D}d6={sbEC|2 zdX!Q=)VG_bg{=5qEAY*g{YFiDIfu8+V|vz)kFD^J?LX-LK`37Jnb(vF7FQmL5ASdl z^@PG5K!6-0*;d`Bt^1_+Es==qkAkaPBUHq+qcS>c)!>c%O{T&H3N2jOudA}yufnU+ zTGsG}&P5we*jqJUcaCqQN<7~LD<lg)idM;`ih#U<qv)vUaKii#cX5lsVBr=-rCP*f zJt4YY`(MO=Cc%CyGlCuVNJ51!apqOHFhz-U2Z8|^W~t{r(XxJwcUysk=JNuR=D~ZA z7v4L=FMAcJeLqWTYh1T@CmQ<YgkMy19_wrk^#G|G*d5qHWhbt8bWpL#Lz~psH{Gv< zWx(@uJc$jO0y4$8fkKH9{>OLtd70tpi=f!Fpx8Z&a*hXY1sh;PJAuWN2}oz5{Pe2) z8AFtelmM09Ga?ENmmdvvV-0VE2o--!35P3|&d)1FWz1KfYGM`TChI%Kw2a^Xypr<| z(FvMCYCQUr)SCa0RPKL~dgHz%jT&eTHRUCF$xlh=sE^5NB7iDJ*3MaD+Y%a)8?mZ5 z!0=lNo8m$+^>X)bZGo*uB}sPBHOb0ZVfly%IrX~vh11Q|W|x2O%hR`SB49o-nE-!1 z#@!%f-+;6)!{LNEJX(U2WC_j{M*@GIbe+D<nJ|Q3AqJ_cY1~PUsvw>f+rL)$Bihe& zp5i$!?KzD<ByQtL<dF~{xqFDtRaMS)!S*@!da0VzX0S-=AmbjNmk#6ID{UV6hi{WT zZD&U#e-5!?12C1=Q-KcoY3jJ`Mr%jLTWo<vOTWjYQsk3l^%nLAKT78MOAh&23&7Es zvlwQ&j^{a{L$7dO-@juwo}uz@wlb|DLKBA;QigR(5J(9eR$dTD$k|Lot~aiB+Kpu1 z`J&1g(#seop6NpdPi>0n#wZM*_W68dzcq0DWvDW%M58C$j(>sF&4-AP+Q^mlaLCvv z9~Wx#PVC0=>9j{P2?ayC?h+DE%r`AW^yJvhyp=}m&cyX``~YP>X=KyBL>-pq1s-=2 z?P07j5PL|;NDv`K+2a`IM9rx#H^*4x7al|ch>&`H<jBU*3Cu(zS8q9T@r_MYh6fD$ z$5_&DkS7+sfsUSE`kDO#lQh~qaP3-@2+xL&{B(vAdqFGjjl5ouzwtC#+?U*?drAb- z9bg|A2sD$TK=K7WnDXYXrcX*WiH(Y*O^8@~deR2KP#VG_!Gnss4UE8Rs50%WU&ZYN zx5OPm54xrMDntq#Gv8;P@5QmlOJF^8J|soB9l!pLRnMI1q;HFbXKS3HW0LSy#OCrA z5e6s(0n#-*gIICZ_hnNlIsNXNXS~HXfWva+TtDCwrj^6wYbCqM+&`nUp;d>~Hbhc~ zSF<nAWQCv@1LgNhmi#$Xn#Le>OGsZ+wyW`8nD*iIvTU>@00W|pJs&jcE8mLWlzTBV z&qS1PY4z&o{rJT9+ylTP7$(L}U#Yau6x|%7{7nX4VAN@{{gV{F%_JKkPqf2grv+k} z4SX&ILnoZ@1E)gF&eFX2OBx9A2$|E;nJ=gf&{f5zc{rMTIBJQyC@CbM9WBp`$eGUy zOaj#pWIzTk=K`^+e0Y@A=qjy^bZ87SYL=bS8sg>a%@o;06k0Mx2UV3^R;-Misd^e| zfX0QMMk+2^E;N!`qtHSpr_<lH^sy#7LryimC;8;ge*CZA_z&8zPJvIBd;UX~dHyxJ z+W*(+x@n>zAE8eSV5!x1jKjym!eoR!s=)Fvc?qPmk4>X4plta4*&H|Bg&+KLW}R2x z|NmxIP`~#-XI8=Q2v}V(Y!L!-HuGsFz`PM5kPaIK4a(7l8bll1bd68_ek=eg3g~SD z{Mn1BGpW_vsMAeXA9&s8+th`4r_6Ha6*({k!ukbi%*r^-z;59lxbO#l_&cDV1y_19 zimEgBQE2b-UMP+6tW~K6>l)XM7$2q_6WVd9HKNVTZ4HaFf7Q9-l95hfEuyRc1ip%@ zn;ztVz9-52HE7Df(Ah7l#+gTOxDzOMI!IJz<=S+HYQu)!zPoADAvDOO<18oMZyg#b z?m8gr0H@=#2RP^snL5-?*mag#`NgxZ$#7ex(nB}kg(>1id(10NHR9AO7P4Rt7Myn6 zi+-hB0VH*aTT@}Z@kumYfn`+;Np-19+@qOgm5jo=j?KMl$4eFPTB-qXNvzVWbewrp z;%IrT)aG_77_vlqo7~vbnx&Z5s!VVqnoCN+E8rKJ>Wu=T(6#ZbURM0VAApwIoq5DZ zq@Jmh3$S%jT=n+r-zzUgb~4T+5wmQPQ|j^L6t;G{CTRa|PgeWPCU+I&8h0?wwJ2qg z50`vQwh#>6Z3w`K`}|Z=S*{rlpX0r{W9#D7sQZdyf7q5y-5^Tk+Pl%{0Bj{n&%dle zfT3v<wy^x+2@Jz_ifB}QB~vdfNV}RtZQGGejqyqpR>$ywC6D7+d#a70uMM`NwhP|N zuQ>dOPG@cmuEA#aNU-xTDuh<3uxMI@$}0|rxBih^sfNbp7h+-h!eJKKq$<3~7^UVn z4);ZB95;am0&~n2`&K43VZj|a?J&&{<(-dJ^EqN22Qgr{21Uq%LpTTfyLjs_;bVxO z%=_xJb(oWjlq(M^Bi}@?U=`$x*rUmgT(fwuWb>n@vhPPNK9{HVkpL7R_tE<&3%%$R zA`}sIT$vQFy>Oe#5Bf`{j7lb3%3CdZ6A4NpkVj2eM*Se6hG&A|m}H`k$;H$9OPVOe zu?_<@!IvJ0NOzbvzUCy0V<7~wzYH!?cB}{%j=}u>U(%8A==EsgCx6BNA%DF8s-=$Z zo06zO7XPm{e5<T=j{PYOiy}lqcFibkwmYFW6IA{IbMIvNZD~R0o=SAz6cReW_hr~R zNVCd6HFX_e6~>kM`*&gB@1L6)AO7#3vhek;3{laE+6WF*`mH56{xzlx&eyZ&o)E@s zx;dWn-wpcACug0h!`^($?w?X;Xks+~DyPN!z%6|jm!Y!<D0Ib?+q*~c`mb36q)6-P z&pT!zot*J3xIS{iy)`b)+N@F>FD{E!5c8U<18lT25{x6WLA_&I7089oD@(3qHHD+B z+=i8#D0+%3&zHFB=+h6Sb)C}cmh`&mm^78LzhU`18TO<OA>j+R+3Gw_XGh>E!kQ^} z$uFe^_iT}L$etoteYk-1hMAlLJqjtCQS|!d^C?fWDPPd1i$P0*Igd{$jN~?vgm5H7 z4fu5csC3ug_WV<WEe*B+wc$Vl!mt1gGP+$*`?Omp7U4_R`Ywd~Qr6HJnn^C$1?WN+ z4YSb{KxjXGBBVoXPs_Pga(OEw{#eE7b*cb}<L}+`a9E>gJOSPG8hs(~Dc{?mV&YI8 z)B4ip<FE_I?J3B0i-?58ae}U6v{u>1b4zFd-PvNk>u>oUQW=VEoLrcR`K65t8f54h zt(+BAao_CE`Vf%DVT+&~Wx1h=h$lQKxOCAgqj~ti&!<!|rs-z$%u>K6kK-JVe0~|m z;IBRI8F02iEG1ppL9r#l{C;3n<o>Po>=!ta&vSMeMd7-(6M8U*o!WP^&Gb<I{RAZ= z2_HNBMJ+D%U&}+G^uqP;>B*P{OA*8VxQ+$HXLOqV+&DB}B__AlRF!fM54$F8qWcyQ z)B1$YDf=-S;374HJyqyf;8+IAU~a~L58xm5--#tqYGf*29L+-CQO5@#{e1wV4rEez z5X%qMrmq1nzp+XDXv?O!5!CZ6KZStr7!^sWeUE%_ZkOM4?6HOme?aJy_#F^4)aye6 z%Q#xO@CYtkE;Q=Nqx(gpLnN7B>=>)@4WGgvFBy-Fk^GhRyCFqU>_tlbcuIX~ss0<z zPmEKV9|iUd)mINH*~)(fE1P^On_`k&Ddsf>XJR-jS^mOD0tb}Cgps;#<uv!zB~$(o zY22-U=sH-HcGCaBR*ka=z;-R4lFm0{l}-^>_?C_OqAjRN9Tk*|%1?wMBoC{k5hBhs z2tT>tLU5C!Mg0|R&l$Q-ckX!Se<6*gFkR~SiL}Fih&127ke>T&k1;=1xl^uSS&_lz zgGm8jI!kC(#Y^Or6wKstC2&)Z=Qqc;d8dA;OY8SOy6i4Wu=Kl}MIt;AZ{&RB62HLQ z%CH48IHDWeDcU7mZFTKD_1~Ncon7??e?Yk)BryV^6wL=<33vb|K)sPFV1*6>w$sU- z9<ld5(0<PyAr5=MBwJm8y>^<z(4ix|aPzqERzMK+u}vg<SI|2Yo%ax2Bx9EHU12e+ zc2Kp3IJVJ|{V+2;(S-MB>VVJUjbp4!xU(-NT^Gc@)4l3>KiqLU7PSA$lN9jsjuySW z-$S!<(#TEw8or|wE7qmBgS&f;W{_h=|ALRirK_p@r16R#?-@klVQS<R*!V&gdaVS> zG|D#FNd+Y7{=#%xiO#q}5Qn5bB_o~_-?kz-br6)bJ11o@%Co;t%Ev+?OdaH16zn%Q z%{xRsGUk#6#$g`vOwE*t>4&;<jJ}VtEl}RqD1PP*=Mo0SKyDY!&YW+W3o&IF>x7Do z2Vl4JDwlsrYgiqqnD?7U+1w9ZE?JZ%X|(sX^ICHD7n8hCirj$X=f2)kh(eI@SQvxL zZ&w@A;l4KiIRr?cCSHHWN2$47?@1Nf8%t{=^He&bMiHVTKRWIIr9{b(=>9q=d#B2m zdkDFS{1lydtHtZ#VOJXvS?l59Cv#E-v-^Xu%x`I?rFl{nVW@EvSyu3t+$^`^l@rlR zsygaIK)iag7F`Jc{?Iwo>DPJ-@>2U;4)-X1p$uL%!@`fl4vX^7Fb^?vPvvZV&-b1; zA-SkOUrH<@yk}Bg6>n#AZ;;X;e&fF2@xS4+T7)@9otL*1zS+#En$Dy%M78-Z@ob9^ z>3q!fhf6qf<!zgd56V*s(LD?>%y&g-U@|S$h9Vk?wgf$*Seyrwy%JopXP4~I4UxV= zRM`eni<x3uhx$~k;2NFW5*OGuMEam8t_8~+s~moewS3huV=-qF2*qpp#daJB2n<0< zXo%#6Zf?&bkp?vf@*tAziRW((N>R8j0VimjDi^hb2wPHl<Pk{@QfrPehUYRHI3KIf z?7Zp$@T12rKXrMNe^gN!D<zu%*+cbZHG&Ie8<dN&mzLKsYPgn>9&<~q+`g4(J4<Kd z4Nvde_4P{Ag%TDRRn3N^voC`V-3b+J6tVv2EzN%nv|?m-ST3KoA=J+WDT4oji$coO z&B0gkb8VBXv!|Q8hKJkdqqXlpF|N?~^b-AJN8y&&re#ToW_sLyg&o2q0K#ko71i#0 z{VGsjB7ju_?>zO2`=@dHw-KDLfp>E9<kDq(KS?YF+c+x|5~w|S_^iM2W!(t0afk#3 z{XsSXpHll=l#)GI4`9RM;fyy?#-|9&mKKw+0>ztXzWjkrUEEQ3%@b?kMwr7Jy9c@J zQ#ZxU*bUd|c_s-@F+m4Tc}8|!-|8zZ<7UpNcbKIEDL_WoSN&|coj#5Zx7sOhLdF<1 z9|^69Y!eS|{kOMwX?>PQJTd<6_7ro)l>qzWw!Tr9r_tT3VWn%%@(~CAUnGv{kLQh~ zEtOXQnS{y2+roRIXl>1J!KO)rig~Yn6G+j$mf`Y_UHLPJv)Qb5nmUJtOtJh9fGGy? zu@93{IrmQcHJ#I{N3_-qI(5(Y3?%`yj?31m3#24|s3msPiHv;ZyYR-1zRl`G=mL{S zN?UBEjFCVCyCiR{898*KPj@Ea(pmF=ZA!t9R~V<fJ_Uxv@tet>;$~3CLJrH`a3YqZ zYIw>iu@{`>wl}x2$a|^_zN0`P#%=Xpd<}8<_IG<K�iPj!XPWU5_XWAN;<Is3=`n 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%0ARww9x&198cig4(a3{aH1|bFq8oEAo z`y8)yT~h*7ef1*fa4t-ow@zLDQm=U3Gy_1n3oow@P~XN0vQGq+IS{%5q0a$;fb=U0 zej=zMP+mfipfX}mDJ?Ro5mH2AJ#-f76(|X=soOp(3F#|NhO#8F6!HYEBvM6lHnAKs zJ(Du>`Ib*Isdy9<J5y@rJaB{)u?X_vh-6keVMK&+A}P5GQ)rYdeW^23OcX7BsY}Al zh?4G+V*(9%!f|rZFsecI7c<#wCdU~^_ptw|*HMHI6u(7fK$z;dNzQ-^4KfQE6U<+t zh@uKYk_5PKCVHYmq1<%pFfNk@@>sZ6BB%OvTg2hGk1<fFh!kp6Xd)$26e)B(<$%!h z^(`m(F?=s)H@TcIpL54gdMxF&`gmNVsK0qb=wLH}M7a+`)MT0;ucC|s6eo$5fJ!is zx*8BS)R2qOpPMj4!iHbVPnlGO8H_fZV>Z~%Sz~Jj9wnD`r&^<=m`~vuzphZfImw+B zQOuLux#MCI<RP8eMh1n>VQvP}%A<&Q=a3!}5~8v%_t{1P^;U^r{D%=_+qY4<wuM)$ z$DTXV6lauk$2Y}UnTe+)vbj70DiP51)Fcvn{B_m5>V&d!xq_Qt`V3fE;;30wUaqV? z(?iq=IP=Np&t?bU9aWaY&}|$?_tv@>d>OZRxdFPTFDp+!dpdKXV;~yK8Mv=u7cqED zF=UopWV6uC+3fE^HrE#2NTPfQX)Zvtu0XUR5lqG0X@WGrJyv-|)mKCe@JM_YHW&LX zh_-(O!^Tca&vhnn?HRDh8!CDWo7H+=taaL5HSu{~L!+*Z9V+W;94yNn3gj;@S5=eQ z)qa0O;#R&?Y^*Lc7k4_z$(S887hX~;ST0(Y4c67v*=P%+iRG)kD%a#pOJLh)LaTIv ztAc%QXD&u&191=ag}^x{H7jA%Oqwy%b?$6NL=;cXR+oMBTXG|=!Om;u@1$6h;6y&j zHYeL~=Jj&^Ks!knZ3UvG8(|1v;<&%`^z|OEYdq-D^ykMlV-GSvPGrC87r!8xa7|z_ zXH8u9?(P|YKK>M7w>US%;DxYpawKkH)i+Zhlx!>L9gmrN9WR6_KVEMqqE<2@Lo@aE z7^CVD>Z}|sO3B>im-EK79WEl?W3vZoO|mHD6jX#ufUdFYPIsZ|3OgAaRDfrrFYDxP zWzduNCF|^fU^jfq=P+&CH}CS)47B1r&*dl)$M*+yzzw!#;0Y~cn^{RgWorarJmcyu z#4{%nEUSv7bp$(yb&fPn8<b?S68}D8-hOnNE-%sbOMy4Z`yqau?%>uX;qR39%^B!r z-+Os$(fNSP_4G|a2PsR3BNO)z98fdvo)WH-p7P#eJYhc5PwIq4q9&sUC@1S^YqvEv z2Re&qN+GstsHL)%9}I6U0-T|@B1)!kDs3n=R-FqQX!W!-Dn82#GFx1a4^m>}J}(0& zkL6NY%u?X8nI^L?&?faYcB`4L(Nd1Ft@h<u2@Qwsy?3-q-myaGH|jGjxH|cIC8ry_ zgUp=E^86``90S}()-z{J@blFx>IlRk_B>YCXAkPqt}b~$F1V90OwfPZ^zal{&fp^Y zpu#P!EN(8Itl~E&GcxXcj%caivxJ8mXixhJ+gREpi8K$KvG(~$zGyQR&(|9+P!QUT z*U?J~%ikzxl_w4xH>eJpx=N-GhYpA0;knL7+^}(5e5@@<rch*Sa~<8dwuOBH@uPT1 z*su%rTGZTstUWyw@}gwTu>N?uH;(wVwx1HLRe3V6fh;0IhWe!-+%i@0>jXYIwX0`G z9O11<ZaMJ~-iAMckhL7&R2XOr_=o#=z;3?-(7t;m6eTD|pE1()0SE2zsh%Up#I4fN zi}F`*`ulBpFP{6^Q;uq%Ky5FKJ4%jRH{+v9M;NG@VJPSiUY<BkFK?mdXOThsddlJw z0%VWi6iXeO+^Jp&+^@YYI1*MsGfE<=I5U%Sc)})vRo6htia2$PYh_H~=9wR66VB+# zHLwik=y50!3GCs@CTOMHvQ1Jsdxj0dAZh@1N=60&pn{r<PTE{-;#`TDM_PVfvZ_Gl zKYmk1KdjZv%>#GbwUehK6PJoi-IKHP6X=1bfEr!t)fOuf%hU(sZ>fELm_u3;C1EUZ zB=u_XB&+=ln4~epP8l%_?1%?`FywVjjI#xV-f__mu@tDuhS66(2}5N=MD1BqhT`PI z+6O!T4u>8r5Ajt5n;SBIrBNLkt4IAKMn|U@MUoFMA;M=q=u8`c#)*Jk4~yM^u6{tR z8KZZ{0vm+GA&8R;e(j0w+8@lCNmUuwukRUd&4GAwyKf{oco`}YjvPOVko=hB106Zu z7Vk&CI4xnjMq#d&?gyr*jK(UsB1S+FFEBrkHdZVI^9~cA-3JkCzkgiVl8wiv!i)gL zjx0_<IzSHQ*1Rb!Vs-(wuHb3)X<5EMy8_N3{1m_yH@Njml#9bMjD)R;-Pe;j&A`=r zuNFLeYX$s<!ppM$NuD)xD?ZpBanfcM|HcP1NA=*1ug{pVYii~<HjHr3zVz0E$<))H z>N6*N*+cd>&Tyjv<pgQD!6;qekiJCY(OHN9!4cROWAVj}p9&8H0LCE<e%q6yhzkhq zCR4S>Sv^h4OB=SPU1US2!VabW@Jz8I@=mTajxjNtWp8Fy)S^}FfFE9F_snCXHfE!C zi;)&Pyf<<K)4?pKMz?H$Z`K65Fo_{+z+UMTZz)_5R+M?^Z`6L*QW;DHmNPlPFNYJs z<5<!}k7<Epei8P))Yp{X_YAEff{nSrW(_qm6JQl+6k!rzIIqDqqg2zRlp<9Yrp#Yv zi~|;;Dhc71hN?*h-K6?_QGDGMh1%1N6i!om?TghmP>}Jbu{-v*gb@(L@glH0I31ta z&G&r;TH!DIdceER7r7&aenlZ4VBrMM9ijDvkJ|IfMqn^R`^383BeM-jb7Jcb%DKaM z9H?4{s5?BrBi{japt(tfKwq2+6Bwc)l;pwr16)UKWF|A57oq%eX%p!n6S0wzanaX- zV&zw-!l}ZsXKOtMf3^-oS7Z7Y<$&)~FglC}HtP=V_anzXon6!Ljj0Upco;bkSB$yI z>N@uBE6UR7ZGYD$YV0cZFD|u^0=C|-G^Xoo09LmICxq-^Mo`lvX|}IT<2IPUl?|dz zvt;r>LilD<Sq*tuuha->9Us$$owe$FF5u1q69U4dP#J)q!aROSTqSwQ8asS@dAO1m zI~2+SOED7nOp#QA@;QZzCusR2dLDsd3@E-R6UfJs890)dHHhv0hq_8Y9OZe%k1?C) zM9!lxTG$)DdGxsb=!WQG9r49aojV75a0#0@2^oIaO^RUcG7|hrGwu!rxf&I*)r3PJ z@ho7U(z!C>ECuQ?o_FpSL5!T?)zL%K;b|(hJe5lRvN^Y5XE-J@a3<JX&wi=ztpjeu zNcdN=qv@<Wn$3ix(SyPq$H<@Zx)|VfiQ6Fr%Uh}PyAzLIXD|zGDZM=Bzr=Pm9=`;w z+22c-H01NLdYjHZ$b7xey>ohRAstYCo6dC#=p<j*nV92H3WPVgDsMq|uj5n8Vu$B^ zKA9P``Ly=CXJRH%f0L2Zp#GKuSNkfZfGtC>iUBr)jJ?$?f8;b`@p_eqw3<Z&=o?pS zU>i(wszH0PC&{2TYFv7O1YU*27@aMlD<-sJ7H1t4Kfo<69TXpa|Hml5E)epO$iK%5 z{WQ;hWD0()<~+9pKi_a#oB==Qa$2Mhe%#`;Y7zRWpUt{U$R{A5ISjSavXMSbP+APk ziPoKLEOMlS!w4}usLPoqf0<@Pv?XfwBA*TRvWL4K>QX=u7b-ysClEVwM@%2m)&T0) zFXjk2H4ivG8>V*MH^vQ>aU!Q5+R&8nzjOj)&&R-7h@0_*YTY|-hraD!@#M&j{&0fh z54C&cZ#|S)rvi145akt<9dI+oeiwy$7o!3nj=)5<aqL+S!5PMCm(rCy=XcidL^AIe zpzI+jnUb9}tNUGxiec52h%)4f>4MlTf11u(*0g?}jrlMpv~f(cB$~m`sC2+3LOxk1 zhho-gRX99T8u2@;0Qnf~XQ3>IRI(>i@je+NJOd7?(hfl$WnT;^)s!<fD&F7-5u2oz zN$_%*c6{L;u-&5@$Zp6hEo8sQdKp;R!sGFxhL}N@bD#<cDjc{$$*s<ybddwN@6?%& z%&s||qF%e4Zax?_u>uP?bro_(_--ynjefBs<$T2t>lWEM=SnqAF_7R?xAFWGc#N=p zWj<HEb~u5keEm|@-NmZxhHt#*W;?7=bR&ScdyR0*6jk30G1nXw9ByzaX3#wN4z|d# zSIDzeiF1IEcZx7X1blx(d><(I4!7tID)>&f=ng*kj<@JeIrz?}XufQco<b|)2BXLm zN?oDZb)Gn<xSUSiOk)fFFy%>0uEUnNj+SmQC35r;vM>0pah4+{24YXsd4r|^q7D$_ z36~8J2z$80a0J?c)L39Mq1l0bIZ$7ZZR;2Dq!}66T|_%}@66qTy4}~i1KW{nxW`YX zob0&MkBs=mgyLa{ely6`j&r(?9~p&Uh{7Mj|H+pd8Fx_fim4y?LCMbl?W!&QO+}qI z0P;%f7r?Mb<dbl4IAsjnOH6)fW6a-6A9*jg5bY45?xO*E&)0yzi=nX(aiIOFX*<#v z#dC*pPv}Seyl-(J_bKcXY7psgk8_Xmhs9Z`aGp&fD$k%_=}sXw&zOdFsBf7ji4zq? zDlRBGcz!5>b;AvDGEoo3_|K>43vK`Otx<Gv;gm<hSx{2ND8-x2#veA^aqEYd;F<u2 zPcYPp+D;_)d+N)vqR>q*Q-NZMH^1Y=ZebobOws0?x*hN_ORRaq&3s+QmbKog7ZuS3 zu_NU*QH|~pd53^q5#m2M*`A2HuOQLGB8<6%mbHkCI;4W3^@2H)A#8)t_(s8UgYc&? z5V|DAXH#gpRU0%&wfR#pW4aW&vKr}Mrhv6%ld>lX$BjLKM+9?o(`ceU10-yzVhBs( zCRU&24b`0uv_G$wqRm!f%oaHE&1tLbX`_1o9>kC-6Dk!4skHZ#i4RILWqvQNM6<<4 zrwEN=D~x6ej%G@ZW{Qqx%8q6Vk7hpmW6{LK4hdLGF|!-Q!40)INvR*DA6>F`KH)Jt z_;2$$UBk$3!u)a2*8WhYlj3RrdS(3NeJ?&yl_z2upf?{mG6~C#!*lIC<)e7*W3;yE z3z{}0+n^)2$?HS$LjqjF3_5~@*5bVM%ejRbtuxOtZyvPU(^N<KbLoICcr?MjH+pt@ z711SAIqZO!h?Wd7bggXKo|MV|rcSvkAPD}AEJ<?#rPj~o3-2|k`#Z$z2x=^mf;PZb z2^Op{gx3fun^1ZJW-?z+Rk*D@2wzEVryg|{v87&&Hq0Ojd_**4FlmkNz<isec8!-f z3)l%*yZjdTY((@(1;%?qvtFX-NTR&HVCFzFkz89D?60(xPL1@jb*VmwznKq&Mjp02 zX?v1ofdab$6Zd}X4^l~~u<8}UB*>dJki0cLpUOf->p=7%zChjzHgImKF!{xTB-gVy zY**qTaiW#5s7=gtQ9N>`Fe&y>s>m=ZJZNxaMzQ-B)pj|jLeS%BhzfVl2<>j&eMFgI zX6-2_&*V($GvI`Pj&zAUX}lVhCO2#NlRy7L4Ebm3uh=xh?Df6S+w;vgrT)K8{r`DU zRP}QF-?XlnWSf70l7QWklw!7U;zG*~wGd}GF;NRc+;sG2ll+|4<$IK-W|@d2a@o%O z*Q#U&ZohxB_HY%1%UkG@r%AoJPPx3@cbne6PEQ$r(0HPWffiAZszysN26}=jFky|b z$ciz>gal!MHNo~=mfB6O!HPf~k_a4kj$Bvj$JbhEtTD5Y0UReQAOU_u%_BEb*MjY0 zeufLv0sF}vY6rFFF~Jk{yv&!d+M}(ZS&g1O^p>1v$vK(wJA<{3FLzCT){zSDOmxIg z$Zk;<W5&!Kqw^YQ&JxR)-PAh~EP#PwS#NFFp`+9$d0qRGSlu!A%mko0@!)D3XdP!O zZuTKh#IV#}&6bg1V|e7W6J^wy%ysuI>@?-}<aaah#FHnH-TbyUunGgyCJBm3#(M%v zvFr5$pC^C%VNsab2p#lar5>)nX%r1-My>}s?i<b*&4+kIaoLdo$`i@*?6yFF!_S8y zKdPpuT%+pkc$VkiS)+azcKlsgYK(P8KvB@Ha59qAnyYuXG|>8%nj<oRiLCNr#M_(E z`kjhgdv$RAm62MND4`j%hmlY7(s9O3xpmDfAB;w{qYQ%varc)Qv-GMhO4)92w0QH` z0)LumhQfmkti^~+klp%D@me~vO|S{QeC#u2XB-*D^RYd?o=0&f99ON1wrED-<;o@( zrf0k>oG0)3(+{Ti*nN0kw!XSTf|v4=F2Dy+pJ0sz4BVrSozS72WqBaHyP!zTnXAMj z5CGVfNpR>CvaRt!&bEDkf4C?>4!qhqR!3m|S0qK2V@V*wq0`5rG)>p0(K%x7t3Ffo zYf~<yhc8rlCLbUBa^L?%2>l~qznSwnz_)-O{(S-eHxV`2?pwf!V}B)Jq-+ptAPbL` zhJl4C`E>w+RAQLIzX}xfnG1SaoxXGW5KskDev6M``27$_J|u^0X-#2gnb^L*aqzfx zXXx|$`wF!OwiAjp7!oaor9vcYLLM@f4tEH3BJ3HN9^wTB0}EmUFbj7BB&0tJ_06lP zv`t#ea{|=luVzoNf~3C5Spe3dgY$<ADi8Q4l_XN68TvDGeGgcVYnb3d<7Lcby{QBF z#bp~d`6;d%Lk+dY6LlpI>AYo_V1Ly)%5cR8R=#fD!=@@IzyLGGN4NUYluw)iGwj&O zuO(wllBQ~}n=|vqgZ0$yXi;4}I_B5`x&oM?R?Jc#0n|?XmXRPIc$Bsh7(YwZx7KS_ zH==ft3Ihv5$=X!j&`tBxGX1%eaQS4TcLK$`iwwE9N`JX<sM9N#vi>%>moxA>1>=p8 zvtbqWfo7ZLLtlDocO@arIZW}U8*uE_v5Ms#DL)Q3*{rMl32O<6tW7EBQ^KTKNloQ? zShc~(AWn5MUX5}MeQD2<J+>Xj>1SmMK*o(Z@(y#gn{}oBPoi8$9fqGO6PUuA=09oD zwx&xl$vaaxHr0oJ-a8*GUh2>#`T1X;_?sV@mwGcO9$zJTa752_pH*VD8gua6G>nZp z*ir)g+D^Ct6SX;OG6jb?H1X#g2mBz904EsN7OU1sLSWWOm?))ZxGS2O55}_%rgw73 ztlmhDG^UU)*2S4&zC44%g%vPjUjyy=Cvw(#!7!fuKy}s)q@Fk=0=?&jJ+z>jD|r+g z+xjBUy(Xu;l-l{fcpx>eekk;8cTBvt2y`ut5O~56cjHZw##>39V(lUhA*PKwad22s zPxlD_r<z?oxPtAz)tvk9tNFi4p-Fb%TkGFyma)0jj<T$QoD>lnMlT*q8U-~b1OwiG zN7T0VA<^0_;dAM+sfC$rQ{J`o*@w6j!8(mCT3wvCZ|rJndia&Go$>V__4v{gPY6?m zx>SvHFnypp(gJCE-wX4>vw*OIa0GFal~$zJ3{&oc;0<g|)_$eA&=t0-)hV8u1(d~I zjWPNRK<0cJqq3j;S|OF0Zm-d<brQQ@>uaXC8iOwK*xwkE#N<^)X315jaRm@x9jtUd zy=rnd3Rloh%9gB=H9l{oI$34M1lS0hi&c%-94P8C4<}V*88JmCX$|mtv}aWCw3>Mk zGkL_JdyOHc9xc|>0Yd!YJ9>X_nh9BqM*P}WPL2kwH|2n*DRZK}yMZP?Zf3L<Y}Y@C z^hKVe>n9tX2q;F1FO_<>_>&KdMm~3_AbA5mT!+>e65N@7-s@EvZ_;%-sgHN+#SjOH z0UCn516%Fb^JuQ~k`df@6Q=Zaz`kBBbp$4^2##I6z!-`&g)@n=OH$j5O9i8hv1p*x zi!_J0hqeeejMJ|jO83x)%)cEs#l-6DTfo`vbWW~FzC3Lz)3zAySf%e|UakJr=b|6g zdl9bhS@;bInutkl=6SujX?es$uDje=q(n42Q;O$PU38*+L0$QAl8e+qkn`2_wDR@0 zh6YmjgY_0;mb8cXF-i*ROhFK=O9F!;-=f{vh8YI*x)$8>%nRbgya<A9pM~X~kwm{+ zZb}62B3_x(;MvyC@Q<d?(SO)dx}QP_Z@cyc!?&C}@phbRotxwE@j~1!H)Zx0m$|t( z=KYLzt;~w0Lxa(H_!k!5KPA}RFC>)t8%=!*{^JMbztuzhr)eNY^&hw`s^5*irAE}A zs3{?Ic;~(h7}A0qsL{A7XVU)k0ffqlS+XnLId_OZS$uec<>yr#bM7y7Fs)`C=Q+L? z-cv4zm*<bTIRhYBV=*DzIF#mTO3xrIC=lcm)W^LFO?;X3w1q0cXCWBm-^}l*<-NU> z`x(*6LG}g)iHe4bFsUOsUMddkUP(gw=~cZosK4v5#G}}{3RYZ`bZ%WOd?kLdzk1tE zG0|#N&AYpKL|I@V*FC%)_ls#!^=RrrqgpjHYxtxvu;_ZD#8#T<aOe<6;hf7#rmc5> z#j?1f!A131vaPl^Rn}#=5_{>ExB<>xom6&L*;Lvtv^U5AKiN@Y`Lvp$R2J|=;=!kx zWE>ogct)hrj$o%8Eiixn0;MyhKDxHYR5dEJU8dW%;~GYlgAuXF>7wc0SibbhxMhAU zX1OLVhJ0SM<?7_>+h0%h-6Es1El$P_)~UV0ZXIDny;Dr^^YteRZwmWFcTKCqhU>ND zf!lWL7;^m50H@Efxy%*f37vYc_}J(!yubn|aCUY#n5pz`5<tEkZL(1gtBQ{`73w79 zbQxn=7=krq<hu@eE#b|rOdHCoj3tii)QHnh_oNfSm)N#tV;isz$DDndb&{;B>JGV~ zeI2;LmwU#V0TTW$RbmP!=<B5ut3DnWb6$l+_SUa^Q!4{|Kbxvx9<VL7zV3Q7Hn&dL z7^l9(%`JW;oBrbKNUGilHF}49nopx+&q99sLHYrlf!x?-;F^F4jocn0#HdSd7gGF6 z^%3qP`iNspAZgMrY!haIL;8sb0Qn>(-l<58j`I~B;}{0xcLo*^uDU34L@Ub88I`Ou z#FR+>6Ts^Jut-$g<KHgRPNXccIb>=KYtk;o#=Hf6WVdx+4Cu<m9Rp2)hW22PY!@9c z?i*@&-XHamM3lcGr*aSo{YWQ9Xz&iOB2KzT%m~Q#_Uqq5I<jU);tO#OV3AO)nwVWD zn#Iq*gxp>^>Ubqegy7u02fMd+C9s%WS?BMZTzTc6O+!H3_}G3dmhb}08DH$DPF^Gg zd*ZnZpADJb2cGcbzC~ZKFuO=&Ff;fA`hOl4SBN)pJl}@}`}bkN^lyE4A`bSh&JMPu z|CJe=qN?YxsEFwYUys%~xxQ8U;399TI0}6cW2DuHC?|`Ft<~PzpWsGSrm5ZfMa$qi z3Uk;ZF!`F>bfGGFmD%k3k$vjBQ|I#jHI`QQBeyU$5D><_IDY9F64czvis}|5gDneZ z26)>W$2zToJvN`i(dPSgT<Gv|D_;{aq)?r38{U5r@8!vU0H*-jd%8Mdw}vENKgLL< zKTzjot6)3TGSdHZh3}+iPoWquel8zhq*nieu^3xFkA;>UZ$M|ie(Fo4>k_$f>v6ot z<RkVowm+FRX~2^T^aZDu58vgzdU%e{py=D;qgElH7OGqE)q|`?qJhtHbf`KKkNXf{ zL?bVwhOiiv=W5GQ46G5gWF;kCdJP+b7sBtfLkWHE)<HK)dKS}8kga8B!Rh=Kx^xM- z6_YfCe_Y+xGk<%J5o`M}DWLZ&0mw>nPHgUJbU7XbAJ@wl?iV=oJREI)q0v}CXl0<= zmeKmBzwSi07|%2GkO|}A+N@$E-OQb>_^E~MWyX@0vLz;`eaK?z^!ump*=zT4g!-9s zz+m-)yvTaKOHOIhoHN&kZeyY=L;sH<w#FUeP_CaAGruJmUAh``xg`!jh@ec*xfFQw z1H_(Q6lIU<VJT&(na%XZpuHq*&}^v1(K#HGmNRf=QSI_L6H}O`@)CF@E|}xLLxz&8 zD}rkD5d9&h_Sh#HwtBaa61I|LIvmnJLf$sKa3=qdr3~tgbcTIg^aMgcZx^2?N{1-T zEkB|BpGt&rp%lgXJ^{QS{$G{&U%hyW>VI4&`F^1*ZxXif`q+#Fm7oPt@*^z+N2=h< zCm{GaEq=dZSuIK}Qva2<K*bZ_^m~@z+L1%o-kjCUJU4f_<+8ZF;hV_o`_B4mkK=$Y zg+LsWg{5W%Yhq&DLL17)ycvOHAs7j!#HaQw-fIXdgZ<j+-7mGkat>|OTbb;fsL|Wr z_$X$B{i9UH1vs|iVcq7hzVEj4inW8@3^KynAs&)Ff$grq14!=d9K(u$4ISV-Sx4~v z`Z-Z7*=U$F8GD0ypao7+$P4Z^)7YNG;kI`C$hrNIdCpbIe&OsO!Es5-nMs9v2B*j3 zR#j-13h%k`F!jB#_hxF5`I>_AN7B3!N0=x?GsWl?wVxs5H;7n~@wxss(Xb|kF;SOf zK52w)s_qTz@X2uy#aX9C`lk5|i>(X>o#sWR=ADTvDOs&f?a8gQ4GLNn-DDxhqxD#A zBz}%*=#Nv#`swXPlh+GaC+H)$I1Ss=cp~-YOZkjC>_Qb1I|u=i$MQKE^^In|MV-@~ z-kz!htZ{Y~J`TkZF4zi5!w93#zqDv`_rfDGM{2YtVgr?t8lG}^h~cX9MFn&NQZ1s+ z7L2GOh1)>TtCk9_Dhrc9lVosQE3LR)qj<OV?Q<Pz`VXEdK6qQ==e!CfV(GB_L?8QA z>EtznW4Eo34TkN5?)%Yq_PXmj>JyG#X&j3$-Dl=W98xyVg2me$N1yG^0NJLUeh;>c z#8a1ORPx(LT9NS`6k<L7nVTJj7w2Wkg*C+zg<V2TVj^47-3iJs6i$T&(iwE5LYQzf zmtDk3KZ#cuzEDP469J<Dx9E9J^nAuhm;eD3>*(63cG8yAlGMzvNW~itVu>@G%8}14 zbhXD;F(p1FRVOSBpOLC|a<tP=i%Km@{DQwOI(D}{WNiJCWZ!YjLX-n}sh^I_i}Jp^ z!f-OylVe-O>zwvd5nfbC2-1pvgq!qF1!B~G($sPdP_mQTtW{W+Y3tX@a9ABMY^(BY zoysgd)z)qW0H))j#_<I{;SQc<>Uh;~c8pK(dr+7!kiY*DFZ55R#gG5?p#S}y9smCt z!T)<&^IsMJKO3$TH5(Na4NO0FQmw@5$mZczb+G7knW<Hs8Zt2^a50U1(wGv1bTY1( z%Md+tkAe5P<p$1`jM%&{rP#R*TFiPp_>76%sSo}+Z@$y+zjr4FKQ!)j&`H`$566t6 z&Ep52Xpvv3f>GKNj!(bAVTvpFQMeW*H*$Dwjf{+GLw3uqTMJ5ShP3UqcQ$-HkfQlU zp1+V3vgX)B0aTX}J$8TJ(mLpEIT$&79aLWTSzN5XA}qtE?w!R&O7~s$c(#5+H6{zH zRbAVq+jUWF#a^rEXqPk|0?cXL4b4-RDRf|-By46@j^DNItQtBRO|39vWYhV6U1!F` zr_-awt?+U{+Hu%!^w2Ryd%>Mo9&+zj0}6~QN{F-`xLxl;j@yl$Y)tfC<-B_+Nb@8V zv|De--MTYi33y~B#0HeK;eG2QD8${9+HlGM#tp@pqhexe$4AGV#J0ZF6z6CGAz;Dv zQDSJS$$N~zsLR#S3mx0x*m0qd7{Uz$(FU){p{;9|O!i?ZX3)U<4pW<&@`%WJ&hPK1 zDa{WbHnJFn+?VYVeI;gaQ(-7-baS`L_$xf&szntY4DmrnQPA~;$WuyEO>hoV4pCkb zt><YFnU30-EO&77O&%#aZH^QDz|zPbyZw~CjEsR&cnGkXp5;cr9mzqWG?^8}k0k*N zGFemHer)wY06-#ha?Wpq&K6I;zaP2!;>2TQsuD@$$xAc8?q;_xGP{FVZL6|_x2p{I z02g`N8FRO^D<*1+9Vng?_q+`R2eH2_vIYgA$0GBlibKzfLdbzo!r0m5HgjhGrhf(t zRiF}a4S3jw#OVd`P1J%OMyZ?FX7b8AeW^A7!KRwsc>MI6%HejM4Ny5=o1b(@(4<R~ z2-7Ei!>;H{@Iwlmy`#yKHAI$@-KVt>Cjhu$o_Z?h0$WQ;Cm~bGq!<u=`NR?8+392b zC^L54U3ws;+7rH7Ye^^7*a_?n-uD>CEv|%DJbwO69~?<Hj@?{5jV>;~BJ^fV=YD+^ zBYo>NmL;|jOD0C}ls>HIhSjq^&Zx*%^MWx+X)^h{=LsA~z1UF@{=q4+2UO%eKK>1h z^_k8q%-Y@eZd4cpdi0>bR=Z~Yt5LY2Cf)xNPO0v%%y3ae*DF!Z8|42SiT@;l0ga@p z>3lb5i{E=2|M$VFwu6J6qLKao3|3Wj{u!+PX{8Gp77UEU5LK$4FBKH@3^p1S%2ARQ znp(!%U38_JD#n=(otkqNAGja5-yk^lWQWrSMEXiP&u%!(z2r1mJp4ynrruDwUjUCM z1_F+cl|GUU1W0tA!ln&grN%yCqh*BsU!1*TaOM5FHrTN{w%xI<j%~YR+qP}3*fzUk z+qR7rqmxXYv**n0bE@_`Ra3RT{MYCEck_bS8wo8v6Ix}>cD?TKe#0U7wcG`1Z`@`7 z&yf+|^S5kW@msdOS~#i#gwSdw0o)3xsRSdhSnGA3Nw6z1Ke039fOV@wNMYM~JBLtj zRSCT)9$A75F4;Jeebw9_IC4bExsXm$tU)hAQUunXa#)UzW^YI;Iwd&Fl+x5datlk7 zm+KT25@GfO<bG!=&BBfRadOIuazgP(t1XN!8CdMZziqqjOyz(M*l|Y1j;fy~Gv@_# z*+0Jj7#xp6lf4>=w*(@3AZ4$)%yQkkyUp9;=yXTg20_Pk5JJ)W(W}6PF>p7Oxhfv# zN-p0CQ@dt~zxhTP9DQ!GIv|up7|>eQ$<i9E4j5IXx5fO1Px@RcL`q_HddI^GTJ%H3 zI`V94ewv6OpXEf+i!8*(fq8z@0RM9|u65zTs?sS}zI<ZNN+iW9Yj$eU9`NQo4&M=H z?X2PwQANwwkCk7UPH7eQ7tcqw@)ic$%6AuU74g7~QR-Sy2t*sJuyt|J0B<>9K<P!p zP<99MQejDUqaa#_joqXysdfoAWqPEuo}VO1px<AWYk0@507&M60QMyX@%x}#O5(Q# zT(<;VTM*Tkx+nK~@~;p^*kbJzyO}A*1#Lg|%AAt1UA@4}lJDi$U=w7Dsqx>=)Qc&T zpJD!Ih;|}PoxXm}4x3-v5dY`7{l7!>Uu7g)?W>HKq4}mtv%`$j6;v+?DJ&q-C@yT} zjgc#q3zmVPX%%N3K&T~dI=cn^y2jM@>Q?8;KGiqpQ8uVxu@P{4C4EJGh2!QkYa}Li z9A#zv?ez$_103_EJ#7knc0S?yD?d-geIGE9ai2XDN2l<)F_ao2XXr4|dF&6e@MYUC z9f#BVqY*~aHr8kD|4qpkdcxz?_5<Mq_~y|y@X|med}oAMQ(t!?j)RTOy^Y{HetT%L zl#$bgF-*uz%U~_AmXK6WCWt-jV(`60bsQx%ICM4vu93yasIXD_y?&G!MoC5JJuhFo zrD9##lADs(>~mDO-sSTUVd-HufA?c_Wx(3okXy`=$W>NXiPS<hH*Vl-m3-_)HX<q9 z8e%KWc~N$pN(z&IrbcFkqiL{4lTbgvme4e;o1o+EV56sg37{eqp>aH;)6kU6hcm1* zJh&JUWva#YoW>5UYB#{jsHPH$(IKIe`r+=$rrS6zQTE+MF5xXNfrL4RNfr~+F(a6f zQpItH99NQ!uQ(HD{AwJ>OR(_5bs$lULdY_|R3#~p-eQk?aKV{}S=f0<Rac>`WybY@ z>-FOjo{W`JHh+zT`e;FCEtbKuBUoHG8~2NSP?8W^m+2k2e(Kc^Xb@|)52=!XM$dMo z-n9=Y;lY>^V7TZNf@)4}q?Zrbrmk0OJ4&hZ%X?*p$acU99g`;|)`n=OKs${5VZoLp zQI6lyw&ehTMOzE!O|1)VADG-(s9lp#;JMhG3#Fj4tsEUxWIK0_7qC5;D8gFOC}Uui z#svG(G!7^^T5E6RmaDsTfzS<?fVS&;Y)c(2861L_;H+ceHe#ST8Ipwf5(iZtKjlv) zPl;AX`xCj02EVTfBMTO4pxsh#Djw4LtEfs0QO~Z=yfB&r?TdqB{HJ;c|4-!(#g;N7 z_}GZz5&CKd<P(juhrS@;tI3Aa4G4d7o!vRV;tevtX(O^PckK?I7#SYzl`g5L6m8t$ zMSVL6X=!Oy{$bI`+JR(0cRf*{%EJzdU98|FEQ;++IvfSwxNFI6M6hrcGNJR~?s(9P zL6SYc$|!+iL-kQ<>2YsN>KiRu#lW1!j_27;TW2E1l;+RisIMFHoW*U?VJf?YOrtfm z^joah!j&a8xxo{KG56`p8(J<9`=LFUTeg(el4|Yuh;LDWN^;DN1V})*y?sTqBrOkh zh7-w85jZ_(_F(Fsqm9K`TSnW+_BPj`l16qk7iP~Q<_~4<hV?ckC7f~*6s?Uu>k(2a zIyKwO{qlyVa|DuoI0*ecTnMJ<xoAw;GNhq`@Bx5qOsGn>a#D+dV<fYv<d6+FmQiSZ z`nc3{C2J^LeD1YVMUE6)C8=GzB$VwTXMH02r+fxtd#BxTkXGi1vreOETr>|W7<zS> zT>j<diP5+;VZcwi$34c_nKb3_B5LPE?<Nsj(ibK??KE_7_ezSFHqu<8j287{9)&&K z+?u!~=P3SjvJS+sWulPlLQ8JE?<%$VNA#AG_cCE%j{7*?Zo7!J1@w7;BVVa?3XVf> z_*g+J&0$;fGCtJn&&?>8P@Qeab&!H^0K@cT_Wo_o$Wa7y-*+Wn!5o}P_NjO;y-{;W zY;qPE^HrGC4Hr@PJ0dql4<J?Mo8#i&cKiK<nkelqNr1|jo-mb=(>w5|Sa)PE4!qkw z7a0^AVZK^n_iZAPMc(u({2per6HtM01Cl0LYc~vKbWj<zAmy9in12!lg?G^KUIs2G zQV{A5ZVA-Y;#qcpS4@Ri9)V4UoVX<&7(tKCk`Cg%;18moWml5F0IQFOkB>?-5LGd2 zoHaij=?#-i*zPosx!sc3&i`y+Rjzy*Wpu0UUF$yi#by@PrCOF&{Yecat#ohlro(oe zZ`F|Im=;t<zZRhf<c&3|;`TPPZ@uJXrVwb&xV}LxY>U4+@ATk&|Ckc2kj|{YrCXq= zRsk61wLJW^Y4c}-Wt5u+-`*q5J;u+(bO^r!X(jmk2D`myg)^GAp;~F2^%EuH-=~p( zS{x=NVgsSC7H9JR(BdeW7`Zq)n%Ekd{5vBxMp^g2BzEU9S_rMEh@gE*)M&MT3HmT0 zE#zS(X~nQTq+GfN6R&FmHX;6M^8Xlu+Hd^FH({l01?8=-(QOLAb-cyH@@1Rw4!Og> z1Y2ic8O~cFx-k?Od!<o^4x`t!qfy2ZJ>*4FQNyf)>$~FQ!?4qEUhX!0mA@l?Wpza< z<#2k(F1sAjO<WYtf$eJ9Z*6|z6_$hR?zrr;x_a#Umt!t6CH^-RN)&+`F7YWJ(6Fm( z#dO3bM0bjD2`P~yNiVFDLywZkxbJ2y2gNfdkV_XP=v_yurUjHCl2aBlbflp}EW{*M zz1d#B%hTlYLMpRWuYH`6jnOaEdcY_&W3B!0kX*phOHim?e(^Pit#}6I_goaJD1c5l zAC`L~DZwkR53FVn(N_BYJE(8RsVb~3JnLprRb(}zBL6l<he?vzTU`N%Vt1~T05mBz z5F+lWuO@^X7Xr;Dxz5^PFf>XPx3NtM7R>v8&ZI-3pEai!yNf#X<<p9p7i(tX&UUjK zfsn%-C5lM&6gCCjFBf_+E8m(z@TZ&QjKza+dSO^<Y3T?x`ldi+!+pxHpj}W=o)LrK z50lalm<dg-oXKpWyM%c7G1gcVM2+EekEzfISc-3`7NVvFk~&5B+?jn%z#sc4rV`nw zg%X=N$l{Gs4-6w+E@zY@@AcGKHd)5E@y3MM<EP56cH<~D@johgm&9`;x1>ek<lcG2 z_>G+HA6p{e%2mEE!=H28rhnqu;yC9FIlMaSrq&PqFW+?Oi$7CA{~yiv|BA%_J_0Lm z|8s-*pr<=mgOfo54~^t>u>SdS7&M!X6*y$9+&2=9NU`OzTs^Z%Zv%D5a3c@QfFhn9 zcs>a7O9pPtVfA7^&8$03J!Ly}IoW=>6CKxnYq1vqLw%Cb5$x?rgh3EJOope;k}w$T zsgQ)fwE?q&FE2X`^<cg=8Ma&h{uFF|v!grB?>JcBNeQq;f<6t$X-ACs97(agPv4a_ zh!4K~GBj!#HktR;6hM-@H!H${sIh*Gpk2hex9KLv8XBuXW9Yc-fPVDYEF5uPEiGXq zXd9Cc?7#`?^`tL`Zs8*c4cr(6Av@wQugKrZr2d<x5mKcuf)W9{`fElAnMnrYb-G7l z^@0m6LeKd6mI#f9Pu!VgIZcI>ZqOmdOLs3uh4czf&7CqQyyjeKRV0DhO6}ctC%m*K z(|d1^vywV!sf84O8c|Y0RD`bE;MZng2r^tD(W;XrgY34QXP>Kuz+(am@|u^IuKbTF zKnUIuR>>#%Rv$$RRzuox38F=OHVc|6MXyV*iMbnSH)-HWr>@I7zC2)gO*Rl7?z49E zCU3d}@_lWH+gJ>UegU<S-)R|AjB}LlOW<$PXz68aaUX36&&sW7mv5vY8d)s=Yw$1y z`yF1G5)Hdgm0NiL3@>{4({y40oFZUF30>1#c9+}ahZPQsWSnM$bKfaJqAek`qDIX< z{t~8nt+d&UKKd!%N4T@emjRNbjy*uDD7=DfBUsQZNvgSQ6U4wq2(i3aoX(imCZ|n# zpiR)4ob*ZC_<O4aBq?NkDEsY1j}6~j@E%-5ne3PXSBBv!?p*1}eePD|rHqnBe|CDx zu&(F1M$sJ(A4UB{8<X$9(QyAss)*#V;yYgnHRVf1`ad=0|1*^T)s$DOX{)2EqkT|- zQ)IyZ3f!qys{cW(qO52|gBhix#R?${9=vo$#uXee3O^<D^I}l1$>&V#9m3~Qn$S`m zrln@_(8*6l{V4<f!1i{AcjDlpvD?n?4bbU!JKgQ~j<AE`8*h)(DmvhEl4cJN14FO@ zEJTDO!SI28t0NN}(6!aVsNWM735=G1epQYjc=CRx^?!3G5=xi}DGElL^A3~L5DgVr z5-Hngpf?E8W^WVSPptyShxD_KbpO$ZMl^lK%|gjG*pN=%W49V<Ay37QYR}$MV@*{V zS0Gt(qUJo$%AR3yEpnW6PHVF5m_`aNRferw??e$WlnENct*59x*<d~)L4^~?$t<UX zPa%CMlXOajF>O(+m{2FHI-Ohwtzk9fN|H87eH7~-z+HD9nx9Y%zRX^6R>4P~N6y>! zqld?$h|1bbW^q-AKFjzBpL{eV7%x96vi!E$>VD0N8eiLw*2K85Y4X0wP-%fK#YTJ| zs+@K%Q3yhrqEMuCr6O_uVj#2vjuV?;Bh9ineX4*;xK&m->ei+Y;JNu>9-OOrvorTN zkAg(shoigQOrd+OpJ~m+qeu%V+|A6HIxWGEyUP47l1xR)y+>W?dO^jIWO`deolaC9 ztFEHmN~5cMA074Mgxx6wr)-TpM}}>B*XQuCMwgsTYk^lo-N~i7rBbb+X{y{@z0B$v zA~~~j7hRk^j`AlFCY8a#1X`A2`=6TIIo|2Qad+I~vSeI!$4>}sj3KU`)Y&+e$^1|V zyvSip!+CYHz4_MR5(-nJaR4bLX|y1Su*;R~q^)Ju9vP>tv>3QBa|<y1wOIq{*xera z;0`Mnm2OxZ_k90-z@i%oSR7q@BQo^6jbzUXdwWM4dwZ7(Unj;f*#Utt++FNcRj)l7 z5ttBu&Gia-909|*sS)YV(hQ*3e3;lA?Ss!dUw(P#hvs1MlY(uSSs`5{*J^dRexD|$ z#-+uxg*-=d`OQM+%6jzIa#j<4ozlb{hgdZT)|}sh$tf!CG~IG_f!hZm`-C^exx)~) z&Copyfz<_C$7rVa*jm*In0hz=$XJ?bJvDReh@-o;s%7v+@X(!%HbaqD&Wm+VTu9vg zeHc`(7<`){DZaUoUf_r0b1x2ME*KsMrBKmy`^$f6;q0DoKs#*<WUa7Xc>1o%Q|!|R z+*4lckw`?ZuMsaISWB<xci56{Q-bILhW<!5lm#XT^T>FD0?(z}MFC6VaK6Hgd@!$u z=M{MLTw|I<0Nl+U^%_$k0h#28{K7_mTWpkjnCqdC#w|`sYg$zr^dz}%5!rLjCwWJz z<kIf;_waQ<3=KKBZ(3gbr3v^8xI;w2L9dS%sb5}o;(;lQq!sq4m&h$Y6$9Q3LWBFs zCeuCWrgXC1v;u*6WV>s;)~^6g460@Fu;x;Kd(D?t<Y*LqBqJ<04~E}+paAB$!dm+( zrM-8Q2#_?|5z1U?#Z3J?l)r6azJf9{FPJ^3wtBviegGwIMHxv)_MATPMMarmzxdeP z8k;dmGaMGSIj)>x+*<nvrP(;P`Fsmq((Eazn`yTBjN)@D|1jOUxV@(%;8895v%b_# z7ua9f0ZTmb>j+*sRf1usz<0f4PW~ahS$D?kU$(n+rJKBRm_7Aex&PjJ-hE|B%yPJQ z%`dpY8Pd0J6#wD$sbu2dV&dd1>S|)^{Qu-g6%`Y-k617O7~W4vAZVz$31dN$iK~GM zJqtCca9=orC2J2dR2Vkil)v-*g{do3bLFPYxUE`bV6{%=VMUr+XN#JA=i{0cL-X33 zfEhjB_qG{~sLyS$Pp@mc>-X#T+?T`cYrk)G-;>(g5TWks2#h@3@#II`6UpU)w@uN) ze+Z8bv9ZP7{ZiA8-97Y%;Qn-vj4SHtB|1burJ4Lm41;i2?X~(tczoyrL5T)Xv6t$_ zh21h<)rQ?N4RS;KGyY})aSi<7C-lwR5jN#lvJZWUGXa=<06^slbe@AV<k1(X%G77_ z@)QHq1LTK1uyZBT1*!)7^Ce0#2)_>(@MQi$DY8L<#W9*S;6q#F5l#qB<paK5kwOUM z3Q!2zKG|&Vo<mD$Y%n9?z+Cd3EQvLhT|EMEuyE%r$q!tE-wKKOkeA8aO%?8%?uQ^Z zJM+UaF5w1Gy~(O#I@X)PU~DunwVH89Q!Mvfyw1V+VFoj--SWy)jHildPb%%MZEfzL zT1;2!8G|-Y@7R<*C6|s7o1n;zA3~fXn^gwRmimJ-f0K*Vdq~O%{_w^lDi0=irS=}M zh_lFdx1z1M&N`z`M@y2!I9FJu8+J~Vr5YY4qix18Wn3y1-QedZZ#HSf^U~32_@gMh zzTLv{!@r0EhAYROwaPAer<(Z}X})>)?`pH3=ZjXCHI!)A%M++pOcgv-VPb*F3JWN) zmLCJZ;xG_{JxRzMU^}OfT+o0ejMCef1gUj<Lr<~^--l6vdb<`{dCnD4J!Hv~cum38 zt$?C7Ik~1QQ{4y}8$(PE-CO7Rx-8jNG#D@QoUAZS&-hL{fag5x^pVZmCj-`%iCCiK zG);+<qUr<uU54Em7O9qPt=ac-sgB-zfSgMvS9wFZ#3ZL|*fu!#BQ~nG;Bn*B#jPfK zbU7W79}f%UvZAVNVdY8vcRqsHM`?}tXrbh#ct^aPt#Ga_V<Cv~b0n4~u8Czu0M{?8 z6&+E0_Og?nW9BXeAbD4!f}t`!dRD!tC?C5*g6WUa$ZB(?U6bs-a&)EHKsEIB*_wiY zX=&?<Dnr~%RaVEJ{A$!$?NZc#&80&V6$3*>IOj?SxeCGajgPe3qqc2seL(c@ZV_Ch zWKC}AC^?%;m>-N$X>e&3rDTiUV-T|My~gyq(3$C8@JXLAx$ZYIrS?5YdTlR|6*}*c zW#KJ-$U1@@*t=-aV$@@cbXP>>?+MTyW>DK_KBUX{A{~rSsd?d5Jqpv3wOl)BV6=}u z!dJYv+J_@Ua)SwC(|v!u_Hl|L#aex6EaZlZkX1DWRJQmm3kwS;M+Gmc&hvPC&S!Dx zS<SWz)}1j_TV`Hza=4T)fQ<ewd^<H9uUVzVfB5)CjhB_VTC^C^d_Qi@_ufS-f_*g% z7JozJaCd{0dc%j>t$33aUfX!{fYH_4$D!q38}cN(dkn0C%RJJ&U`;bDCC1>H)RX!& zcr9(mNRVDg1<`UtDkYBk@K;){$aIiUXPRz)<>9O$wE|sD3$`d_be!Q1*BLl@Izw_r zIcA0jLI?WinKO^jDYMELkD@`HBE`q82^|#?AHw`l8!3gpMG_>)0V7-P_rG8#9v-33 zdUOQI$O@gv`q@>P?5H~5BM0IL@Rvurk?c582KCO~C4tb(0cDU6NQ>Iz0Utb^LNVYq z&GHcBj_!j&(_|441_2a*o0=qcy81?X7f*Naw>(3em;vR0Q&2AltSEs&_%S}1SiJNn zMk#SN>JI}6amWLgz`qGZewkooPt9PRB9%uOxv%R6uAYRWtQTx|Zu3*zt2HzuUFl;S z;?RERd7(+xs47ANkE>WTYWv&PG5uI|O!N&np9WuP4H<XeyAqh&G87b^i5YL9W61U~ zKD6>fC)!w;^A~D>XYbyD-8%G%mpM*c5_>LwXDCE(<qsEnzyL{CfF!LeJ(GFJDRU6L zVaG<^U51|J47tp<>C71!HQ;Oao_IKp;0ZC`ihGZr)HdHfmv?RGfj*m5)`GE{8~q%Y z38a}xVB8m=dqu)(gH*T2s|2vA*S|6^VO`*qYS$?xc52sgNxD}5f=j&M3(U?nzDBpU zP1L1a*^@2^#4~^}R{S7&om0ufs673>n=js!0a+b2B-0l@VtOy||L)cQDNdz}X=Jir zNC;HKZ{LLfLvd0zF>o|8S2A&Ov3CBi&B(w0P&RRNwJ<Uv``4F>fs@t0Dp#@kn-l6X z`bR9?n^dI>BPcv5m?PsaYa>CTe1~XMMiK`S8LM_V$+=;Y>PrZV;;WkI>=K(bic^-_ zk}rugD9OwYn>h?<WX@zVpJ3-#?N4yuOBtSQ*AjeYaL=n6vhhASzyiT#r`I*tw#UXb zfad-1?A-3#N`xEeO6WAz%6Hk_)!lEdU)WCwK7ZtBNJdEEUSvFU2^#31cci4^%KQzE zl%+d&bqD=wJ4E_W*VogqLk<&hFaeSfvM2%}P(jb21h9Ki&xzjNnmYypT?KjA`YCa> zFuZ%ig|H;Ie1XG(&)ftk&!KqTR5x@GSwI_suKnRJJ$RVY!6aYa!{Pb4_iI>Q(i=XZ zP8QRZ>UD@Nd2@-A%oIH7lclzV1sKb2i!(KStwx(oii>E<#td^M>2p)5Mlp(l{ZL=p zvs3spSN==*JE3#D`1KW`I0GCx1_SkVagY^enVSa_<%{XWHiI*;mkEPSoVo9%9^`1# z%o}y4*teZ+CrQM}XozMKjd3WppU@@RW+0sKgfykAhU=-%$Tm7rNBE@pF}N-LUM?M{ z8cD%NmNeLpJoquAx*0Iz%_8Q12m)7t=v$6jEaHXr5k)yp(N&{fA1EXS?|(5~BjM)4 zvnRE0@7cS$&HK=eLh_Pan(lwivJE~4E>YrTY-xs}#G0fR(r&YI94ECaZDHO_#&nf- zrm5OhME)+_2U97Ud$cSTJz*uoqw~1;Pj%8o<)ps>3m|kvcG$Fcu?HN2v#5f?7%eOS z{tPN!v|agQ8rgeDj!!Q3_KV*a@h*C8h^k4NP8x4Dq*E%6mgXSZ2;nIHVOh5uv92wn zuuBV8aX__ItcO#k&KY!~_6;V4`ztai?;y0}fzGfa8jxG=4kLh>t_Fnrn^@QIn*MYY z<1A&?#pdoD&N&fw6&|U-Yl2?86CA0(&jC<J?@nQ$1Oj@f&`TY{dMc@>cG&vX0Jbs4 z)$seGk&J8Mh1$s9W%n&L*|UQ9Qj2BBM9O~bRP}J7v$$u=%M5y84_@DVGw3IIo}k># zNEAb0*+U28@fGZNft+g4zJ}}nn**kRVjRu^#F!7S^W1Gz0($+;M_b+CRs)L50M(dK zhgq}gCyR2Hly#a&SN~)f;`;TiGmm1npO7|`V>JM4nw^hIsQBhsxXc=oWoxs`+VI_w zTtD>@V*7J)%XOLv3DS9V*b1RJCW?98(pE!!OG1u}x!#&>8g`)&eoxEBX5s7ou60(n zA+^?0VL0}*(2d4(@>X#}LD#jjrAvF$lSa?Plyr4YZhbOg$uww)i&)9&?fRWgiVl(U zXsn~D+j5d}cX7JUy-nZs{tm_@<j!wH)jL*+0ebZDYsK-*W&fxJLU6;{vK>!cXl2dS zr*3&z-x~Us*|DJ*^&#fQXCm92AKb(0j#U^b6hEoTq*pWSwZXe-RO!t{^D?0zkW<(w zwWdDI#Z_zBDSFwpH5dWtFiGbbx}w3$lGbBlZacuvqC`>TKH1`(ha_&Eyt=}A%>1K1 z*<m2v6tT@3m~ln4QVBvw+Rdi=Je&i;C0VXfo~(^I<$Bl}phcHbA!QAeOE7CC8}^L# z8br{{q~*x9;Vt_eGRGj_<+lrVa2>h+%tQM#Cg!$gN0ZLab=Qb!W2{kc;YJ{@$?XrM zr9f1s@?W(eTi>Nd_#2Lmp=k<vSiUL{H;UO6^wn6bq<Tvz50#aLkVjC<+~VW)Y5%Dn z^`E+bS<mE!(ROl$Sf-~*?N4Zv73#h<2MIv1qS*@%i?ZIVCxYUX5=|MLjvhj1_us-E z5={%!Xe_bJdJ)LNH{JeRU8ukgh5^$ytIK2z>Ap2a*rj82d!znEg3e!M@@BB4qy8w| zRqf``ao*=5S|olj5fbUV%<yfIB>xPqtsefcBSNDsXMb&mu5XW|qt6hsI{FgvEo#N; zU}A7<1^)yd%CxQ=@<~qrH!FfDHTn#@kB#B0mRZPVd@wzQF`RbA%9_e9igbB4%L!4J z1&^@yc&tlK)s!V>?HC})oa#Xt;HUVkg98ww6!-)Q@FNNKGr<3t1b;;|d}ercK!?g8 ze?lde<j2eR)HoP+P`Uwy08#^OruMU%z|+jBKIDjXicQFVh`_Sd7ppb_`u=ujF3sYs z$xb%qE;YPkM9zES<Uy00gCQu>;1|gLZT4U(E|0-GD+;rq;S<$$4jjg`;OP|Mn5XIp zF+EXBYY4iTxBb9xg7QMnW5g69d=#AdcDC~LjyFxN(T3{AG#lr1_2$4KZaw>bqu-GY zdX^=8-=7w=LxJq$n;%IT-5vq$zAs>wcT&FYh)8-6sUuJqG$M5E#!G{ek?dxa<^&n5 zD=?4e8olj_kJU>%ZMH#uNBO$ogV}ORbn>ibJkNx4K!M-YfaS{R{PttWN5=v2Mn=sp z+08g+3CJWaKc(GPL8)->hf&i4{cPbqgf9@4<pB@0hWaGf9NlNnxrF@qH*w8>s&!(6 z3&S|bw{Q1fxGK*7U)B2mzKSbv%ApFPeU#AYy6F~SDD(*Q#8^o0p^(i6k0JC97$5c} zQs{jj|53QUYV6w5r`-!d+&chu!*t)*$_Q9x|6q+rYaGqlzW!P!=iFT`zo>sZht`q# z)hmqtgtzgeFa!n_heyjS;|jhE6cj({iiQaK)S}97MaeNCF}i`=)y?rSEXxGTfT)C* zFW|fkVUiDCJAQpPSV`M+;*{{AY2anjb+kq*pi5!Rf}b36k2g)rZ%DaPCRa{SF{He{ zgy|fALb+WiOor~zk+wq2M%PB`f7STgE3l~)pjQRKVK}obREX_!;3Id!sp?SEtU%Gk zH0I268?;BUd_T#dPSFDAmyVkeoG>Bd)l^0BkQ%%`c2ekS<<!p)&y!Y%VD(o(s5a?{ z8>6-;d*<Q<Ek{d=kiho!rhee&_O%i2gEo|0)Ac6Z;PRCh{!aaIO2Kv|#GQZZHu|ql z6#P)HK|)QTR9K%S8xPu?RGxGXS*KmXL*NC9WNot}>=L)|Y0*eVLl?;{KD}?ASf)JI zd1nmwC~OInFm~!8c6N45yS{?2I9ba6HrXP{%^d@%n*^iw!3Ock&)-q)LR0&Yquds# z?$BYz8LXIX{|37ICqN(v<Oxz>zfe4Q{~5{izuUS0?%FJV;i@Bl<kY4dG#ia`tqn+K z4@vqAC?>N1v`pIL{w`a<X>-6W%h{*3#+fye*r>(jpj|Vkbmb_Vw;Sq+W<Iago)?TO zmH)Fn|FA26g9ELr^>?CL!@<a5Skv29*3;y~lj+gq*5^vb+czDGC5V|g4oG`=yW2tt zyHvkc8qTZ!MUaI(I>*0i5O#OOC_ka?5PRa>Mn>JJ-O~_BL0GwkuD{=0^TA%->~=o5 z6K>V+fPv5sWIF<b1gU?Ef4@#KoEL-!!0xb4fh&f@jkUj>0hs{GH^6VH`*KvTFc7)P zG`WfPxv5LuV&4UDdya2BAfBLZAb5$)y0CiEZu0)_-=~q&=ISTN%WVbLj&+B5KWlx{ zALcmN$wIjhEWgqA^~T)>?*D$)`-ZrWOxVScD-i$c_oLpgXlED{0a=%&5Q?OO%R<Bj z#KnpvKMTx(E@e&`lr9UZ^<E#BU<(s_3zcAl;|m5a0v@;<v{r->X%$hgFu)u$puvy; znHZ5=OkRadmqVdsWX#CR$;jL0vAr{MQ^SWQfnL!;izgc!R-mOLKfvnrIXhF7PYA>H zcrmAZ+Q!xw@dyg$<-`~ZE~{gJ+kZK0%v&Q)7i1dj8e7sPh#PZmKx*QUCSVv%&PrpW z1U$OCKA~x`;l-Zc&+iR3k$Z5lIolK&@mM{SV73t>*Ip;!xcLc^j36&S9!k)d0()=V zEAA3ghid95#8F*7L$4ckDKk*&8cR_0Y^$8L!~29dDcXhNcU~h;abL|8plTA2KTx?z z?53la@GBQpHkGL+>~W3S+6Cko5cW{0=8+<I@1e5vfDO~XMy9Yi%SEEV@>9TF#eg&) zv3OYA#YrP47=D+m6Mt4lICgUs=iEObaf}*9hWc*Mqk#Kv&?xWe#LXNP3@V-Maa5Y? zN>iiE-IAozyNo2bi$MO0i}x`#JrSH;TvoU7e)82fhC=*1HcUV<ezqoC`43=Ov^XF- z?11^HX|jbLOfb(vrj;aws*SnZYKd$^DME)le<d*|e72c{Ma9k}FaJB8#dvs_4%ia9 ztZD&`gdbES3*TQqcO{Z#Otb?}b^yfE(c(nrU=DbjX{<JNeh=4epk-6E<(S<;&S4`g zXa2&8O7fp>e3O{mT{HcV0+Wg;fnsg1P0yA*qmpP^g5Hez4bIeU&h6%W39|HBos>5A z!cevY<_RiaE;dn2+X@BR^HBA%nt;^Ks-b4!Z2D5pPIiZ0ue>Hr_8dunRl(Z)6}-)i z)@DS|(rRHI{aM9HMiOK|)D$i+0<v@z0ZFj7K<7twp#gq~^Re=LOZONNIc6$4Rj@XV zeMDG+2&+xzy+9L>1;L!`7kxD-2~d|%`5-COs!lQ`Jw*ko4S(7jxJP3eGoavr|M=rM zBQn=WW{}-lohkSdbknJAn|y>pMJL7zykjglpNSuN87@hDkinsF<BbL#89vv{&VZ;A ztJfC2dkAZ_>_BLeTrSRH`ayyUqFWKD%}ZV9d$n26^w*8LrcZ6DjwVTx#v~yYzr%$H zTY9px|2pd?%memgC3v~)8TF%TkKws8(rlkgwk-zEPZ{X;SGZR|^)K9~ZC^FuEiQ8S zMql+Ow5W=MpbASz@n^mieDYHnwWSDMrT(sNk)gn}`T~q7I=@VrgrN|!uPS)a&ED;4 zUbv@fS%IJ^PEw?~${_EoNLUn&vg?>Kp~@_6V1;=C4u<J<9@`XEm4loh@||k^x3~(! z{4&)+lG(g)I2DI{jjC|+3UhR6^m-X|%n0@))K-m53*`1m5DV#cO5)Ug3RRtGK5F<I zqhBUe4GkRosppV@7GY$XTL(SK!(UL!LRx!=ViyF7?IPD4vNlqN2h4x+VyJZ$aFvu* zxUbmNKyhi-xRi&65}UU&BhMcxF>5F9T+yo-wP@8;t{TI=Ah>y`t@L@sK?`)N&@_^1 zY&xo>@~x@%#S1hBQREDb8h8;@V0A#RsBwiKyJP+|yHb#xnyV}udCIt=G>-77>5wSc zkx?|a5&!1DTIE+)26#5JMG0#0(Rp~0KQYS^UG94KZ!3bd82Li|4mIwBQNR&kRo|a} zk|Z`7VVjSiw0L{TR1UmPok|A9=1HY)5EN^OQ)|op2tkO#&59-?@bTlF;-1|-?Y}Fx z2(yDTXi(S4d0TX{u*e_=--S}piy-}JizEAPzsC5GZ*2I3&PG#}Iz~!UpF+yCOzw2B zGo5nNN4!bJZz9&qH*ao}TdPAim%3~+mUr2_0z;k)%3Ar{wwmPuct94Rr-vpnWs-=8 zYqVo47i)E!R7=mi(rvXvtw&5Sw;vl#XEi)ifMPWvj-t|Naz68`MV*?scM>xh%rwZT z=%8}GpxHGUB0*>2;#j@Ie{YM#W6TVJU(~sxK>EJSz4_0Oe!#lQMzl5r{S?dCUIK4X zSf8u(@SFa6t!Q=8h5q^Q9jR!rggR#iZ?fryzz&}fW{(9vU@zIyjm(VU0Rs1M`D0(( zS!JrL)#-?uVZnW%?p{x{E=*T5L7-}+aom7QYX-3=Y;Yx7@TNbfkb2_yxjY9532t&d z_>^a@%|+O9>}Jn<fPH<Co^4_KC(6h*s~y;k*O+$Tg?hY#aOcOc;-4Q|*#p-hC*+(h zw8&bKEiSvPxo~v~yObTwj6f*v8w*;h;D>U?io-cO65&BP%Nlc310UG?Qd*w}`@6lt z9ubHkyB}EN^}-Vb7XXi;Yz_le?O2!0Fz(NIOn=57(?Y!=%TfVk{jlrf{Xi^$3{!~1 z&D#^p^rKm`=i#=;JGUpSArf4doU~0u-CsB8a7I(y7?_=J_sZYL$O$mJ^+@J?yP@T- zb||_%oru1z4*hMIOo88)i~-I6ZdR|;VGq=0_nIr?_S*GFsNoi(Z|kp%HC^@T_(?1! zk)eg6pbMXP>%V~EkGC^DLhzlq(wYH75`#s<AvRa!z>54uOEl*$nC%t@FJD^x^f@`q zUzFaPZxNp?+XEDk!MUBuq&Ih!Y53cY-pVbI=%QIS{((L`j;ITso@&UW7;0GE-zlAw z;>E$9y^Zt1xq~!l%ISnUl=~>4g2BH5deF2hSRY}K$SwKd99l3oQQ?@krTutz#Rqot zx5dKQ6};!wR6f_RJqMFq9>|k>Z2qihiXF0!U6L<Yq1MEWlMAHP6tRl+-YSYO`*<xa zX5YEK6Y%Iw`gu9}c+Z3Uo?-OYC07+qsC!w_$1%$$Ubt@>PIoX7&G}sw_(e#V$6TB{ z7VsDg$Re$IlUZ?)vfqba8hzkMmru_ZYRgX#XFIY3Gps?!>`p>z5C%`*@Ia<17>Fxp zRG5Xr*0MCniZ`IdX_>!8zR((oBP{dHLKGL6R=3dw&CqhGnbl}Urx%#!i87eriCwH` zO9_CURnbcjm0a@#P0RiHrSUVYF#WWX#IkZgc7^^TgD}U7twT-o?5%b|UbX6>q~#>m z#4M>NicmB5qB2^!s@k3~P5o9UzenX!ke#%4)>}EbySUfvj=x+9^wj=9z^aq1C^3es zIhde(hSAg5$J{iG(U=T;Cr&FuymP}0dJTS0?UnpESl9FhH~V*Mfq$A?)PfE<`!D27 z@&5tCrEKToXk;SpXkq+6F<k3PUxaf$;Z(8#2og+1P%OqFavcn`S_OWI{FI6vI;_LV zQPbew$%`dZuxFl+0K`P<@;Ntwu?DjwCF0a01Fu)dj<<>X$0tJlE>MmBp>Hw=%2)$2 z;8oy9%8UvUhJv|KTC^7R03rC6&}y=}%pTcL_cjLHcJxr4QQ%oiziz%Iue+Nyp_GGh zTBqqwIAuVU>WB{I-%u51?-7LtPstznH^R2RbuL$@E1>#dKJSzJe^zup?0JXuuH0J& z8nlt6xUW^Ii`Mm5(tC(W5j>RL{IvYN&&p~A*;tkg&91v;4$XYW$2e9!NB$bC?z~HH z%iZ9~KDS#&daqSAf@BpQkEMZpS%e~ve#IU!|BLHj>dofLjk9DehEUojI>)5G3U|h) zHF@6?!Lp97&!;xEhYnR3i#=for~kkXharnP*`?m)0$LzB$1t698mOq;!G?UYu?~M) zz<p3tWwIW}mBr=&<<{J0w#QFkzS0qaty4VvbZZR{*FhRm8CV&536;YTcoU?X>avY4 ziXO>_%zN#Qee|K9+}q&!A!wMI>Tva@l3*};HZ<wh&TS{OpH<-TP6~kUY>6_MID<qn z{A-6mGcvb_F!#N|SxY{)iT`!34f-`s!b{p}S^ikTV3$S1z`<g}JpWob7?&KI67L4o zXqG@+BH9QvoK-hLbj?I3f*R2P1$)h~TGk-5f`xBDjw8-GX6(zJIGsz>`U!2w7Ve!C zh)TvxDUtIlFJz%rs3Zg~Q<T<_Nyww;`-7h-hiA;WJ1SGhLd|28Vot&Qf))Fiu_lVs ztZL2I6+$qA8%6?oBwFd_-x!Dg#BB+m>y-1?#9sWhXa7(1ivJb2|Bd)k(RG>^L*ui` z8gUS@#!H;RDEkJ52Zf|?g4x@|h9r~CIhgThd};`}Fs?2UA*1WQn8D{%-@<II=ceao zBF?alrur^FocK{=tMduaXm-7|_=ae=1=<!98;ZN1J}?Oy*;c%p1?t$Q`>h}U<ylRx zJE`y*?iobj$blnnkoU@>%&M(+*DSQ&e*8N%2Nrd8&UGf=`0iFHIlF$Qa8@@X&&SXE z=fpaWB@55Ao2VAEFqcr8#eJlsWo$<TzaSPg?UrG6NZYh1w#svbqK(^#E?XGwDOE;F z1f~<&>HUIT4Z$7@&ljvHRojGa@1A~_aqRdx=jMkA9IX-~51+<OpCK=UgX00lskFF~ zi0$qD+?uIUVpgH5OKa3$XGlc1QZK;R&8I4RB4{Qjw0ez7)G`^8OWU47g)1$(wlIR= z7NeF{;q@olu$d=i)F{Ph%h|(J%=FosiQqDw>Kd6^jjIG*7a;>LA5a;T9S}s%zSsq9 ziXSs|LR(LR--U_kA4s(cW*2rl^wS)jyAV5b_MymHC;I99gvG%SvFLq2cANo1n!{)W z%z(A0rF(N1dS~9g#Moi;Gj|g4?t)??Y#N-kuaz!t|3$;YoGVlfaKR55t5OFGVH>-x zDXP7h&bE#ETy)axIV&{2%?9TQtp<&UxrkiYvjENk5KC&>Aj-;XlKv#Reet6A!<&+* z0VlJvuhgVJdkW*&pcvaRjhp`?t0a(6YMin81HfG;G3a0p!JWI)BiMTJ^U<V*I*Z57 ztMH@vXOg8brcjEwT394Yg>21Qa`fs)={KzfrAyh>jL9I~Lb*^3zVi}B@!xsO7hZ8$ z&f3LdD5Pb7P{erv#QXDSi%n4gUuEjyavpe3GmO(_4N#gC<Ga~)R{3r!K*<Sf%-P5c z=8px85Al*m*i}D^)LwYLVQ4V-^x|Wg=ss+37!lI)p_4cCDe7wSV%4hmu!%mN16Kz_ zOry8JkRR^=nFz3gLB3g%sa<cfS2oQ!(Q6T>UqX>rLS8X{1z^JZC1m0Zq@s60=~1Ml zbd*t69qA?C-@ma{mZg!%gcv%tRgt0459t@iC%=*oiqg7-7^+TGB3%B?kdXSDu@{=3 zDzuoi(5+MsN41b7dA3cpKwBgB720y2Tw@u}fnp|+vLqkLH>keYxS#(<jr!;9@@070 z#(%xr0<`}Oar>Wd_h0LjYV{YV^(EvFBBfvn;+7(bTV$?O{Em{c0dwn83*q5r8C_>d zNp!kZ#|>&C7|A+8e~_Q6XDM4x**T{^`nFk3^%ol1a(-9$c4y9*->4$@7UhbucRIs1 zuh%zQ?Vf<SpT75Q-;RN;&~k=!fiBj;vtTjet?tg+!CPROB20lu@OsQ&%(0U}8f1++ zQhSA?S&F!;oBgYA2EJ98wR`&{{K&*9@?wnP^1%Ih-gg=B+`;2#pvTdBU^s&qW1zYx zklb5yK;1JwW{0zjdd~{9DA}M)O-bEayBPv67m%5wA*HW7DWfBAlFD2eb+_D538x%Y zIr?(1WGd$$k8-0i$7(Ik1TYb0s03*!)$Zy2Q&1@;Sl?i}I>xf1e5yTG(%`B-mDN#m zgdfv%@B*mT%94^(pU=D`0}pOo>&WLckw&*K?i>nn-l82tr$?d7giuXO@)|+KgmEt; zX{uV)lAC8UqbW=V2UyDrF&BAPRx98NqoDf(D&j3inWZZZtw+;jl}l3~{I0aPHB_!F z2OS+|{}?gM*rt27n?rMMf|HnVo^@EN5`*K7PBG9?l&YCwC?{2pmzP^rjz&}}v)o0| zfI{k^X{txNaGh&p*5{n`E<*&<n};6hpdp3F(7{1djC!vPHkp<=9U96t*EAGX*(D~8 zM-~G&^x?U2aW3tf_#v}0J;fg%e+|vSj<b^Az22o(aGn))lq9=QdTEm$#|{orU#)s9 zDp1XQIe~Oc<Vu<~Ek40HeAi|y#s0EsTAGQJG?ek=hH<THt@};1BchETsjzy31-Yb3 zshPW3>WW~Uv3)9cz&(A|&(^X)?%IT(l(yyxW%xOKz`r!J6B+Km>a(ss%(g_F;hzHw zjo!eXm;42_8>W>zPqMLT7ql40U=_%Io5X3r74<(e;%UJJwC<S>atDlv<D^7x{)!#U z6t(i3<rKk9viKrtk|?AI7<0T4L>I3#5QCQOm~f~pN^)5y$ceQcb%s5u#a1V(^NDyT z5oxIP2vLgnH!abWZo7(h3e|;ikGb1+(Yd;Aeele<ok%gMD-_T<alOjH;(O2%?cuLj z#I#-lJ0EV~aVcl3ces#iC7&@U$OjlHcGuGrZdh~jgEqP<#Bz(RZ5W1lw-bnhWN?=w z$#rdO`yo;vx@h*iP!iM8fIcv_`%ow)s{_kGVHknFIEZ`28lDy-s^aJ~>vV{>U(f=l z{ql&B&zgia63<+|#CvHdz9IU`y%#5cBqZvO>~6GSy8ExmX$>?72;C34Yd7L=P$+n! zW;KzY$o?YxksRYDnQ>8^@uN=dPaE5jhK^my>({m<^2fO(TZm_<58yhZ@W?Tqxggx8 zz*MkEku+v@qox*HJD?~dtm|g0ULdr>72&q_ca-QjQKe6Bl4K5iSOt2G$h(0LCl0SW zt5`yKu?Kk3%#NgWa&UR1r)g-h0miii8+o5zM2ZdZS=YadtjuJvYiv-gOEb<XUWd-C z9L(3J3O=e2rINa%`sJg{|Ma&0MA^Rilwwn(N^z!s9-V3#?x*6(q_0guSQhbEBP7G2 z+##@g@wCH`HW8PtmYsp>cPP(#UJfn|;80;KFY3S#%hc{Ua$r1q?4&p>sEM1Et+^~g zty9Xg+E6HjMzyJW5PK=@WusmjEyn<+2EV!gAP%EZDRIkZHJblZJ!a9Gp)jekl>Em? z>p;}b!Hr@MS(ksl#N)S2z^8h(3%|d*tr>b@UZv|olJze~7E#;5&vo&*hUTl4k6IPB z2ii?o6cX3J**52K{*>C|yWsdCNq_fI#gPZ8X0Qu1G3AW>d8jA%ue<?A3+k13EUcxm z68nYj7-p58$M*h13+bmX^jew$5~Mrj&tTBNu#=9sZ=Hcpv-sPB=Hvu~NL~a)-h>Gp zy8g$fT>eCSh4<b$zJuKocTfA9O(Y%)?udGMZb&dXL<l8ZVg7G)e}cBq3lg`=0z)<s zfjItkh&vv)B(Dz0*AJJIb5fX{h=bcgzr1nd_y$05T<33ggzqoc+`s+JdWT=7G)f2U z{Tk>i5T^^J(}{L`b!<gvx}|6I<?Umkr%-R4Y@kmfcf*8AxV%;;!5<9V^C{prz4{nM ziJaLizRl?(I+jz7&<4yb_Pe>H^8WII(*4|vGbaSH6CmyoVpR<Ts(^NNXWK+uVNK`y zkWT!Tp~jrdoer?83P-0l@Y|JvqB{PXpt9}$g*oQvb<0rj3A=Y1M5n%E)uM#26q8(c zWSE{;83{Ic72EOfr&GvNf1(JV4l17$<E9H~YZ6VvKQgF($~Yt3WmxXxmd6cFLIN*` z*>s*#reDYSfHrtrLkV6kuMEp4Pbv@U_WjGbH_D6?ukzOWCpB?;e^r#UD_7&~7rPlX zeaDLZ$}{aDB0;1PzE%Pxd|g4v`~kyTLrJ=A>{C+^mV2d1(vUV6R&3Ax{JtC+9`khE zgg5v%YI-%P_{FtRxPjLr<gZh&bKhfY2cX1)5bX<84HvJJw>C?^X-?l#tD-9q!yAHc z>5usNA#L|q{)o1b+Jxc^q}y&lOt=aIB76Tk>g6A8f|p|t(%Uax0-`SuDYE}`NBgfy z@}DX4UlqMs-Ax1c3ELMD9Q4#WC=eKqi8U<rYkca2Q4edKDWXR*M6yQ~Ak4iJ&1rBN zEZZ^H`6Sa($}`7qYXt9_)MD}V>v$qK&GBoMU%!99lIs_e;Psgsj+5^O`doAPZtu;0 z>UbmdG(Z1F<Z&1aLz{cJ=}S}<Q=8}amGg2a`Of0I5n(p^v8u;A3?-0r-hXGGhB!S8 zXZ#?f*(t%#@Ez$P#rF?v?c*L>->nv5<_-7DpRFj4=Q^Cyvl}tOtzeGvBRY^DZQ^Qn zwf#JxWqo{lf5yWw6e}RUM0>800Z(Jc^s8OdaZmeTw=a2^gtx@Oje6c1H3EBs;^+1o zVVBS8m`~Jgdpr64o5Lhvlm%eI3Br_~B%8Bkfj<w5*sDWOGr2HgwW#{>&Xww_C@o6p zCYvCeMa0zWNJ_|^S!#+4MrEi=O3|%bR>h`+jYdU;;xr+#`^3fPJT0|wB~Oq^ZIDa( zEu%9sQzVi1L&xxblhz*?bJ9c=C5^V_KtJhF{IOyPP&bW$jA>#rB!jmqk<U_^(b9vq z81Zf(QG^ifX!u6jA+}Vm;wUAr$+8PJY8*(((e9-^zqT1_q2YzD0<{i>?(P{b5+(+( zd_64_dr}UPKy@8o^hc1+WMqr)USl6JyR%#)+d^0X-*tm&gnW>7NU6j06zV~dE~%~n zHMIPfPaR*SId@4G_a$4k3Nv!5)vYzPTQ?8cnwJ<nOHCe~hEh;a^2+{=bA-c(`^Qf~ zX;A`CN+WI*P@|4TWjtf;Ti8^D#u25HR05q!IA^NJ+7_uq0JJo1z=dRV{R27rRN@cL zhMkv4<7NiM^uP|<@W2@KpV-M_uguM4McOoH%oBB}2x!*24O%qw#k@Vts*-DU1J!Qa zmD$VyX>u5)_vppaENqCbwuDr-b2+ksn?z00<jz!nDi?VUr-cs<Vg)OUEl>kv{j3=Z z@jb0|P|>xT)T$|=llcydkl&X(++<cfFjn)fWGr5(Xg9PnuT7#EQH2eJB6M`@y?M>& ziI{|DwN#}?auDk6X(qyrHc*4g!rUv0$92TDbtL+0Em3OJu10Z~xe7o@5fz=V(y}&0 zaaCUY-zorMk>1c-^u+0%Hj^wJcOVsd?$A56Z9hS11`}5bbQ)BA;txx}lcCyROt`y) z;2_?S>U|W2Q(M^{3V&f<z^p}abu#;6srLS;yQe4}fq735&7Ws$u$=ror{_PIh~>|q zT_fUJO2L(Fnw*3~q|{x(3@p%NVtIi_pojz)F|LHa`mbXZPHW5D(ezb;SY1p0waTS- ztVA_?S<k7FcKbXNMW9o{@0wyLzG(=BN*5K+IlMDZKrnQHfjE`FSONx3WzXg2A1r?X z*zLi2DnK}o`3Dn8Rrr9_HN~|6MGs}409?2Iw0n>8(y2azF1F<!&`0Cs`e>1KJy{Di z=9DKv16|CVjo2VHX7%IW%2YOD9f;#nANS#@1g-0%%%<WCnUW`bFm$q0sgb(TF9n0E z4C;_@M=gb<l#({;Qy~zw?rQNk_4Pt#Q&8#qYNxXR_<ksWzGa72>_r+!HJI3j1lO4q z^%G>;OjFuVl1M#$5a~4=6Iem5a~Ygs)h(^QEb_lRC;hcIR!c2PQ~K^?%Fp|-mQCg5 z;9j#`WAdn@;v42eO^a}Zu9&*TM%T>JCQ9;hawfE$ZcSO36#K<yit88&%6%we_@s+D z2G~Z67MfmxuGc#1V<r52*-Jyl!IiC~Iv-U(9JAh9#oqczAB|wKeo0cn-qFGp*HBvq zu0B%Ie<FD8w3!YSCtYY3Ofx`n8#;}H@0U`D%a&p{j3y^$lDh_frjnw_rc%qCTV+%} zBF*6O>T&C*jqfON5?RBj<sc1!xro(}u|dIsQEFEV#O-T!Y(EwbH~D1-k`t=ana?e7 zYw+W4nC+Z<0eR57hjUeBq`aggC?f(E%h}{@(&tBE`0(mWL0m;_RH77lj)MG{yYKdD z@72gM03(dyi+b}5%C54>Se{i1gqYK()v?#}Hs6h4$T5xZ(lh2hTcyQ~J+>Z0TAl4k z#wgEk_v~z!Yt0eCYIyOrupD?mRE+3qhS(JB>D*MygnyQhUFBL{=MM3i6>oIGjkg^s z3|{NyobW0?|K@TAkuv|TdaO7}IPI|zY^sP`mL=|kZo6B34M3=i+eSe9ZXE^%r4U5$ z%mo91boBDQNvZn%k1D=~a}wnL#n?NrXWF${!ZGi#V%xTD+qP}nsMxk`RBYR}Rbf@~ z<>`0&>$m4PdS-sZb?tqwz0QT=tA0VJ=rQZ^=B;J@Aph@VGGER;t&f9FkN_|AzWGl? zEJuvhu1;}JrQu!Gf)B-Q#%NP#jTuw8H0qPNpR4Yiq(OFfi%8Qhfqm@U)pXs}artR| zvF!!f0VCZ3BSyg9lm_^LFY1VWm<z6=>D~>EVqhp;`y(LiOFAcEd_fM+G{8#A0H?=7 z0(PX3rV{H5BrSq>w)N*wx(8myc<M^dCN@-KJnH&7N^|`m+pGqg?toxAD}2i#=1)Z3 z*2X$#wCR_VJ|DI|M8WU6XIXel__<q<6{UM^2kHuJ(>v#ayzw4!nWln|wwkQr$^*!b zoNn?6=kQp3r!(i*%4qtkLpD9yuSgQdVcQNA&ya^u=T~Gk1l_(&32}pKoZ9SRuKPtV z12pWds@|DCvD3;V^{lNbG`*H*`>f%UOh^g!Z6w?W7qQcMvdG~>TF)NgCm0RMOT@Ak zu3D4tuGk+r5=<5H%6ZI7o?(9NO?{<?tEF6gr`OHtg9P|*@U<jDD}sYimDrWVLS1aU zGT7E{*oKMvtnoE4?_8%yDh}+O?H1~<H-w5EgS}hFnum^ct78+rw_B<|w3H7shFhED zdHkLu!)Lx%?$sLB#`5#*WfZi-&9cmWG-57fWxw@S5byorD!44p%l{fBY+Z^lggIJS zuT>nrq5J4%|6yP8X6zs4ufNYLFO-b@3YJ`s&Sa4?9i_0%Cc|VoCy~wcXq3&IB0csK zl8h@)tM{cqf%2v^5brRdiLqUbyS5sMos-{}cN?L61^o=-H-ghUFx!%T`!e<5)HAI6 zZbO_WoVmzp|M<7?;(wSB+_0)<*>4t;{F@CS{U0!silwcon5C(W$$zHy#i~dv|6^IT zgO!C&NPW1A<N>1<g{F7~iB`fZ3?*WqSt~hK8YqTNDppma+d3PF#b&qr1Ibl1*6yJ5 zQG_!q3rbr;EK_#gbLw;2wafWp{rTtb8*Cqjo`gb{13WR476VoAerpUjMiK)ZaYz@D zlRVE&^mQ-;UKk^xq0#^`v@(FuUEBR#9HVoQvnv0DB{(Z9v*))I?fIXQ&QkQ(?3vhU z=pea^(i<|&_k%J6$W=@%r4=&sh+@|ydQ@0VyE;qFV4{X*(Ui-~n&=*U8$>3IWbnl! zw~0BN@Ws}buhXaa#7d3au8iuz>qG;s)fl3A*Ad7?ZY@dW=vuq-3|;j$nP~!-#mZcE z);5bD7L{}s3*YZa&DxAOE#wfZY2c*DBay_l0eJVnKe!J}>4cdd!FKmKSFweSE3)Hr zWR!hB%X|MSOgV;#M6~qif;8iTdJt!pTQwu29!!KvYwd$QR$5=0<pR-yrSHqltn`dv zW>WrK(8+DP;)U>BrrO}lY--O*ElNOuCF@+)WH#4;XQXv<-`r5S16u^>e)Z6SD>hR_ z5SAD~G=1lgP90JTTZ`^An_{xKgTs21?r|=_pbc9=V|I3<PBM5gk=iBk32q+VC%Vfw zKnpj!wIZitLeO&8ozN_{&<+-G`B%_wuF$n@_bl7aY=45Mp^p_D=fP(#G&DmcsY3pt z^ri_DB%f2rp*k#f71yy~pwmGrQ3lM95u#dFASUOuU6#R{J3*o5@>^<$1+)w!)|n5! z`-78epZtcC7+@O%J32$v$Nr78i)dxKT`@#5JC{Mb-xF(P{>Bv9@%0_}hS1ZZbvBFw z94!{gdghB(Y7ekQu`N?Y27U)}GCJc1iNuHUE71kQeF7jsc*M$ixuq&{#776TA=||8 zr8#6c1zB%xf=)-;LtPc^1I6lFjqP}tNMW8N>E1KwqI5;s>92ItQxlbk`4KlGSmN(T zv8_x0D!JKFJ&(pYk5;(t$<5`{d6cw%V#O7xU4H3}<HKTu_=9HuhSIN5-ufi0YI&z& zy-Mi@>ZmUoTG)|#V2lgnbge1Hzf3E;M5$^e&A&<sXEY|fT`ZIz=rq{Ahe<Aw8pMA< zf)}3o`ETaif6imv6a_Kq_j!EywwC?h&*T5UP_X`2n1NASa!E2#6aq@Uh4zx_5V;0E z4~lX>*uaY|=49qI-TJoLo1ouabbPsl49f^T*(b$e&N}c$3DTyE`N@v+Om>HJ*RL<1 zzwiby@+>+xVerJEdODJU`&KYX?WKlNG_}#Au_Sh6j?|HxST`2wD-LOdNH!XNH!y?i zPRljes*5Kxo#(v%rYy9d3mPpKKK%#J?<|7mG@~$50OL2|`cT%eT21#H=BE_eaC+7Y z)SH@2)GVU)M(HWm#ik)G@U9Rz2;X_fc6RHm-dRh|_gi15q$4Wr!+xjXQ$1yhnhdw# zqqt+(V|24c7OX&1?8&UaW3E!!vm4Z^lXSsB;<=u<d`!%u9;z)DpCU@I*f9v^;RTn- zr9?i2rMTcXg-Ny?tbYAFD}qUfV$72!$i<<$>-%rVtEIR_h{pB?NuL0=K&nOOasG#* zAsq=_#&6IG>OgZ&R*+(7hS9&3=HtQ4PYMPr0FUY4tr$wwc7s()Im6e*FH(M*6!SGR z+^U<uCC@1l*tT48UmWrbU-MQ=iV!ey|9a#f5}L72ou`k2;L2{mLYa^4AOdg)J&KJ{ z;w!=`#V9jyku0?$3`Jm+AMqB*0T~vKtTaq0I(23$y5x5{o8-BfShGCtN#6Y{6A-6@ zc8q(jR`U)R#Y`>VVTN9=Iw_i!Yi!p7s=u|l%52^a#11{@(Rvzb-CQvqKCbF-*;J)E zwnd}D_}7{Mj4vIC=X1e1Uy#Bu8+tD54WsTKq>093f8|>kgz5_Pyta$`nJ^uXpMs<o z>hLwA;ODACFnj}591oa{zAO3s^Hl-j=NSZmJFMU*9<)LW9FQZKa>n=EKFJB_noB3R zClr3d*4SEH98Y{CZ{p!6#L^)-$tlYyxWkx6)-s!OA*%yO<juL~*b<W)TFP!~#<JUt zMaR@Qx~Ui=8A>@S=kYlmri&}%=%!*NBaZNFt}W8xc=I2M7jm$yJ8tEUQ8}aFrr%wR z+*J29!C<V4kXBSuf7cVV&IGO_mHb`vM--FGp>>KIqMgzlvduK3&Y}1%r}C4}K4Jg6 zLncfSm$34C<D3f%1VsFQn|uGF3R2W;m9bS({Lqlu)@f{^?NfT^*_sI{tP9Fhl3{?Y zSZE~z(3TDobp{ru?K-<8Cm~0_JqP?tn6Rp5IQ*CXPCV}JKZGO*%*fntJ6^I+yYo8y zzdlCufNqTS2N0Qvazh+cg&=do?txQ9Xu=(Ig%Enbt?Q_M>8K4<gh8y(mmVW&r^vYW z5^F<kM7@W*x1`;DsS)@jPlmK0sGCGi$Pf)=MD#(>KNrLLtCMRt*qXpYXp~pesHTt| z*qh4KmU7r9*p%V4DK*U^HD`L6%rm)iXg;2r0}Mo$CqrDzLWdTf@g_N4LH4WF7*xt^ z66OY5LlWuI4lG1VO{TId>lW<1!s@-$7v<4f(H3Dd-fEVvE(Q)uQs96U<Mq{JgA!e7 zrYR7u-6y`61gzPvcJ@%*Af1Vs1)R(vT!%%MARv^?@@%?O77*TAbau?vs@p4=qlZ$f zs?vwe{umB!tWoQ+GBY$(F4HmHRte;&u{~<-fzeotkHzie=8VgRk2d18mvYY~W>D>D z_%&X3r|JF4*_IqAzM=X_Q+Jv#<6!Q8l~^^GDWEZUQ@Pk}6V2+D8f8E2VItP1IQd|Q z*thc?SV6!#Z{3)EtLb)>wkxvvt&&<?ONGHtOy&CW5mv^;WZYuUow_Lz+$pQoC4v9a z{(P6zT`s?(GnU&h6qR}zYar%?0c6xFY9^qwHBoglFlAof)z0yJZrVB`WYg6DO;k4_ za-#&+X$m-g3{1paq*9?CcGK)B<lL8tIqV?RwH!_Rf~7K@ZcHgUIOTOJSb;p$Nr>TY zr#7heBsFO<k~D`)nGj{cRCkmWIH2iBawRcFkfi%i8gbpqKOf3SX4Xz=LqnezMKQ%l zPd5C{Bs2FQC>)a4oA0w!qRXB|Hk@=|5dX0+L)+j@G{HpW;Y)W4HXX^#S&oynUFPF; z?>RAvY8pBT=n^8@nJc#7uIQe=9H~G*IbQ@_!9~jnleFWtkltfK5N}82H_vq{O=u0n z$q<&6shVEZ;64-=(06TJ!WKKskCfg@+$Z}xIH*@tZZxIEKdqJ8Ih!TbH|>la4^V%6 zL#wpJ8r_g2v|Fe$h`>Y7iFhC@)J<jw8*|xkpZkkwx6d}un1&~q{=8J$JaTRlt%n2R zD~=qFh%A1#CLzKN8V=Ph{Bw+sX!r#Rm*@}tLLJ=@MGYv_!aEX3x)A+}L#Q4FV+^ri zStDcwqmRTckYj8TiaML5*+bVI5)pQ>f}b|%Q+0YdDAWf~E<OxzJl_cKu2pDnHhKCh zT))^)`U`;|J_!Ut`S*bzy$%tu`1v1c5N|FyKILToc|5<5%p<#kvB!?<aP|fqHAr5J zLWdgZ#sWsqg73D;Uy}{IUgz$Em2RV#&L*SDdOd*OvIR;Lo@_H81c@R+b$I$pe$6dH zsg?&vEp2&4WGLGq4Xpte#@eNf)u_{Md5I{VqD>jixK{~foa!{ZoK45z7Q~Zxf4Ku( z_AnEIv%9a7?6*PiT%*|qF5{a&MO=R~r`+(nVi~t&Vu`^#7Tfo`k8{5@sy$o2`yb!* zmTrKt3X=Ck_vq(+=@$Rwxq<n2fz3a89=mMxVV&Rh0?>b8{{P{sQ#LlV`HzgGe_eO6 ziPLu9A&{Z7By!p9@T7qc`btTyBnjVoH0x#X3JuMA2UHRFALfa2T$se($Y<L95MUBK z0{AeFqbh$SBKC$`Zh3cknVm<`clrFm>%(yoShw!>4$R=%RvfV1b+&#h^z));(cLhs zAQY#b{4ChIhQrJj<U#{nCM+Gi8Sx>nGvZTLHW#w&Ta7VWK28=I%bCv1MJBr7CDJ^l zn<usHD@C#IH)Kbzp@k=3GqWVgI1tATh0rHQ&K8@kT|F0K>N{PG|0obmFWxYzfT@w; z{jDL#${rnqw)u|kJ;zV76}>2$8e!hJc8`zkVWaK4wEt#d9IYYzP_%VH2ZE0<XLvUG zW{q0Q6RSJ#Wy=gkZ5Z~vn@;R!w_L_k*27jhFm$358F;`c>vFoPnWRFQfRS;*<HI;1 z+S=R{Z(?`W*Dn=8ml{6`z}_BUP|=Zx&Oqwf<u+Wq{v1929R_tqUfIt_%D^oaWt|Kc zg=6u|AM~3)e~HRJNO@rL1^hy}JBVo*2!8sNipxUb<jaD{HfINZIZH%)kX%H&<`X<c z-9*dxWwBff3c;VbTpz0$<^*fG7F{2E_umlZKdd-f>sJHax4sJUJ7@8K`uu8^PA;y7 zHvb5${_~BOlJp+|Sz){Dc9hkqh&56A5&39{>apl#tXn9gq^PnKtd`xFoyuJ8IiyX> ze_mC+Ob<f&`|wS9xNS3OTh-XtbC{iHJoA{D&HX>$KSBGHQFu)p*u%X!x6ISM=u%j; z0o=nEjQq!bW6KG@?3-1@OB|`i+(PU{PDvJco+fQ^E6xH;q*7YAg0<s7`We(yq^?}K z!-ZB~4JD{ym&?ZoxmKAnUeI+HQyGPO3zO%Le~vcfpG&o1y81++QSEj9p65?F2-Z*A zaPe#}GOd4a7wL#{ufD-|WttkgmdN78-gB$q2rGeJUbMWETT(@tpaS3_#C0`PjEfw| zGN$M#HtbIn%NHS0Dnd)eE-kQqJ$3$8i+Cw%LFxc-t}|oO#XZUUwq^$ZE#XYAsaV+C z3$e0gm})JKn+_OLz|e#mwDZD$=4<Uh8pr!8c;0_Ky181X`6M-oNJGK@18L9UhvBkv zdM&QIjY4m_pz>HD=b3(_z}>4b%@9?=sRz9n7sR7uf|*MGjQM*y1cN6?_)F!X{dqdb zF235`#MJU>g&ofZZOh(3-|~b&e3vo`n2piaUkW=EGrNfj?}5YqFP_=BQ#EV2r}Vu8 zFsw*HZ+{72g_v>SzKsv3uty>h2WU_*2%Yw?VCr@&Xm~WoX=EIo(OABHv%GrgBJRYy zDdZLJ9h7~v)b|jPRm?N9>YMAxPHkh?w9zv&htV0edaK(4cdhYB8ytqe*#8Bt{`uuf zWR>S5zaKC(-}dAG=@Ij9zudp>n-cYN=O3mRU$nBFmOA-x$x85=RKqN`&;)w429_N` zC8A#IP93tX=c&_nYc}oOiYWHrJPP-GeS(lEFvQFkkm9(#uk-#Rig~B9nPDuphS}%c zw~xKI&iKD%?f*O;$^)(Jb>kCWJsTrDPpqkjaq)~qlNtYfDUV49Y{xTQJsU>6aL^BS zWB9!?4A^}9Wk}c?epsA0qZ(fV*2Cc|{o|1Ed`JNQ=7=Hw>ai3)>gzEOPOiDF%*S&* z$jp@cdp{k2cHa{}F0BBC{#7v;eSHQRlYZPoGYGkXX4{gvMMX+plHz=;TXSIHxjY9- z{JVg|D3jTR!)I;|A=DdgRMz?gZ8U;a`c6YjC=Jm9e;(e-P`T+~pKg`0nxiMBB+Pd7 z8WE7&Y}$^TYVxW>ToA6yo6w9q4QPY=uA+HC1cgqqg66hGszNCk)C#s+m0m;6wlHYS zl1vf5@ET8G;}-jzvSX*|A<n^A%CWPZLm^y4v8p@4@R`x`+A<7&U~HOPF8pY-mUN^| zY>lU)5{$cC|L#+{j5-z|46D6oVepS18(Lueq;ygg+rn-<r+{8j6#AoOLz3gv1*g_Z zn_gzv*ZQ<3Hog2-<4JI9TI5#jTrR)*!oDgyF`EFBv#eY{2H$~vDXC-&K{AEKl%1TV zOjpoYE{n`uom}MzaDLz*%8;&oRc!nbd7MdM&OHFvN~|GbL3H>89FLvt$->WoS%*@r z#4=!8{9yK(<*e~~;(RS*kJ!OxWwx0WC0%oV+qfvFvTNgTnsPe54zp6Wr}s4ZPnL;C z&JJvrY(Gp0YPE>QzyT$<bU#&fsseK@p;4xn4l_H)y^B!WmTY*D*8;1Jw2*2+#!9o{ zh>N%og<Nh$hNbF{rR0nJ+RV%!tGLU!D>SYpT<LDh!dg<QcMv;A$F$(S7W)!%RPB(~ z6fZDx`^`aZ_i;hfYZZIC-DL*EY?KzFSwYMm`Xi7qd_$U;_>`|0d1J51xBQ2bvlX@v zOeHr)JX+$;tNAB$;c-sE6F|*zIj=zwRfLxuyprA)7-hhnrd3dk53oY76o=B_`uo;a ze}d9{b+x(O-KaUjmvJt9VX)>T*4SecvaB{ZISR$M8~(`Sh(n_ukX~b%rDix-r552! zV8`tkYU5fiCfD=evoqUFyZ)%da7&VOk`XdSD$a?pS*IiD7wsQYnN1m9Qmjksa5Dj* zQ3Vg5Cif=>&w#FGH55$YO;B2Pux6(tgCv<{CbrYH*I+QYn?naqD_2x7B1<ysRIe3k z@HR8Rb68SK2_eUf8~Su2Y}gk042R$-t_jEG{G3C{rn-QeFVB@)pCS3F#R`3}?Z*ZS zyqJ!Y@#XFYW6LVXO#8#@mqtRHa&9xnSJc7m3&tA#uabs?(%X%tmGy=OSn2Z@%?Lkb zFU9Fs!6ks0M?>AzO~|1UIYr4fLgaqf%E$Q=Iu8k~4T5ecO69LG%wPFOFg)M+_6yin zC?@BqV=1{!8cw*qpO+MuzhM0L;uI-Tauug=hO4X6|2mg1ID;RjNf<)o<+p_SRe@}q z6hk)6M}vo4wVaWsK|+nb6yko|<-bbOWD6ug1yaHbA)|yd3M=49MCNm#AY?}7LZ0g@ z9j7#?jd0z!<sMVrA!;=WHj?!|hS3c=D;@>qP@|?f?gu0qj&Ugj!ik3Vgbs`s4m?Rx z5z(N-;8Rk`;I|MB9HYa8#G@jmQXpwJ4v?R<CcCxxp`gm*X@Sb_D72Jqbd@`zIA`+6 z=nZZ;mVqQI?vY655cQNX=JB=J82gIJ*RoNy5)oZhu7!n*+Nx9@xmC(is<wmX6ifE& zT=fwjfqS<wUoPW64Qyz2EWWpozE|>gul(R`8}E7roTzvU7nSqKO?E4)uzC)A;_WhC z`t-JkT||TPy2a7tl%0G+9JdEh`9z1l!vAg$X=%?!7q_O1Q`@f~p?G!)%jYOW7IYNB zTTqFoi&~}boQ6ENUz%K+$5EAMt27=O?WjUkq~!{ZdhbR=YhH~97f5P$*t(Y)@F!jV zHP3JKE2#o|U|vB?b7o#k%A?MqnJw*Z!)72Wl&vBv_rr;nTZm?Ahl#B;+Crw|#S)fg zW=^m4c53c{A{A^2per|sqwyVv?P56inX&3jtNG&Nk$l2w?4B~lpx}$k`Zutv)=)D) zHTAY(%Nf=ED`1awzW5LZTjFm3Lu2$pc7G{W!N3dtf6cOg(DU2iM3Kxla<=~_$Z7uv z^sH`bYAs^uDPd}8V(RqY6zcz3Dk7vTRjiQT+d>hqlpGL*pcOsQq(uP_@Pjwi4ze5| zu}twVVUCKy$Kn5`$8X6fX$$bVa$37ya=o9oy2#%?ZddJrU|$IY&j(qjh8Y6hFfek5 z?oeQn(TpSZG9q};`RRwAO;My3O-PSOx)bZC5FO)KynW&fD>c}xr8Jj29Lu#*=%s`Y z^HSoo{k2r(**m<(YJ8(iDoDyOGn356io2>acFfN-84);zyUQ_sy7ajBR&u@al}Qv? zA`SIhSQ=h}d4<q|br=A4HD{H!&Kq*>?mMqM6*4Lv%3Spw%ZM=_m3rhGCSIK$)odyy zHx`{rT#hV@3a&yg*H)^+t`}&5soX(Mb}=(NdzFUNaDwGv@MESA>pTsjwl}ZjaizR; zx~!F8{3oWPxZ?JMljOCf6}?`H{0k_~n1o11w@)EJgK0oF<&Cznt%X9_>g_cvwG6jh zsb(tB3<3eFc4@TJw%G-FAk>wERi&;Ih?}gJY8iFb2dRnbV*Jz?=c%hPjdmMD?ZY|5 zj|wB$-KObh7w;wjBMC7OY9_S?GDF=F2sX?xEhktA=!4W4kezXl_`(?4h7GYut-C)d zOw^P_WV<mD%tKtqIf=-lKaaayeheDi!H``2#Fee8OqLyNkl8Nv@~^nkIDu}<Ufd?0 z$+-_2v^KH0wNDQ7q@*1vb{O~tNE2N>2g~f)KB+4-i}pq+3-uHOwDl{AHm?>F^U@;E z7L)r`a@LZm@ZhQA&LA>T1J32*uKz5Fuoj&wBdg_mlONi*Sr+v!f){Y;!I6=?08^-j zsKZ{%J+&bJ^<aM#joR@8eF};WhJ%N>obzUs+64=v<Pxgl5qbhP%E-WnGW8?+6YEA8 zvtS>>VBnrm?7ASl&t(U4BUR7%zBOPw0bMKVj__pOOY9Ps>-^*g_cOM`q!IFQ{H8s< z3#BXkqqiDPUrk40`j6ldU;(p`)|N5BED6Iv+4lVa{rzC+BfaVr81KCp*w^<o0{r*1 z%bfV&NXYJiaUM~21eo;chSXr1R#x#E%0h1xnyCLzqXtlL&9<zClDLu#_!6gjmkwb| z3}(6uBvcUI<g8)1RSv>Nls`zP_goAA`>`xB{><$DhL|zm5R?7?`B?t1gDPxlWAmS& z^G*MoO!<N*7^Ewrp~l15siL#)%*4eiC4?2c1_2ISGaS5ujhULMW^RJgb=!Th4PQ5P zkEF~`)#QIZU;PaBJ8yn}I$xAuf1H^Cp@y{?W_+A^<hgzEy)i$z{3V|Y;lSAIWDJKD zJ$EF=T<cl{UPD(cmKAXsh3HTOa&3oF82rP%b3XDry;4^{1Ut%+*bcd&%i(L?`5D1{ zYl^-xEx&8~Ot20c<{71678aQ6l$67h{uc(33_A^p?%60`FBT%>n5mtkF{a&d)n>a; z+v74W(Q|aWazK?f`$3~Aqi_IyxA;w3a4NESKME&CBJGOUtgB@O6)-p>5sZedv^xS= zS9*0ue@Fp&x*;4yR_Akl`SKM{Vt1A5`Me3W<y<MX(?+vv5RoA-Rh3R`rEQ36yXriO zbyh$CKhE-@-~l5o8Ft88UA=EV{K&h|g8^@n@stI*l&UGWrB2c4*<E6NVZ(??cQmH0 zQ<@Y?UF;4WHjKYp1h`tA5e$V}y;XW8%ug(qSWMPRo6MN>EGO=5cHm&|IB95&q@oKD zvo<ZKW_luWo8_zYZPCs<pkiOrzT3JfR+LR=lpHRg!tv^#xL={4)k0glkBv?i&hlQ5 zAmRz*Oo>#ZT}F-a#J9F6^#gfoYcWi*;Hb0-%|S@KmW>;JrJB#4Z`HfV^)3+OGFNaQ zRDUvNEH0Qb=4W|ri%uxPwD?LQfZVHcSqiJ=_BEOPmHw<e<{+;e+A$e3wUx5r?BG_~ zRc-68E+JQxqB+Kgcsu4re30@4K$5;HN=D}L>eWc`6f{niOL{=D{^<)R1*=yZB1Xm= zHb%x9{gLdWC?$j>FXaIv4|}(Eqi$M5j<Jwr@-xKzt~#WqJt&>qWt)jsSWYB;xoUJO zQHbYMP&hK;l(ahlT@>eAysB5~lY9rGhsqF6e%!euxFDk1%!dG<cxR2bB*hW3O4=RB zPTC#XMv61S4RT@@*&E?b+8zEP>O-(E>_f6|>_cRr*=l8J=$$mxd^IMumeBYS5kiQQ z?0}Ld#SwN0!uEN|gj!EQ99!6FhS`Y)nAD9)uX6epi$6W0RF0A18kSPN+|eBrdRepp zL@x{6E|QaQ6Hpo|otPq(EKkT}$GqH|dX~U!a<M#1)$;1jO(s(#fhv-#G69^LVcz*m zrDU|CuH`1rIKe?>7}biaSV>!lRZTeGQMDp}=iJuvC$7X~<}q%~6?Ii5CFYqcS*p{0 zb{{Z9$J98{idIr&Q*>G2%5O!F0^v!`ek;+w38%1(g)<I>pHnoT*66FD>VbkaGLP;j zGvdu$PQh6UD5X+Mbc_)nOqTd2@tMeYt)}~zjh@UuP?^<?=qlya8ZXKn>vkKLF=Etp z7<7I(L1yRoZ&6z_?m%XJrCtB1zqA#wbEbUjm2BenjI9*;Xpc@aQ6}#h&V_EajB;?Y zLpV)+Ycg9uusoHhv~ee)m0o@Ismyk|DmH;~7=J=$!N}6aB3h=+S-LV4I}|neC=io( za;4yd0})b2wJeR^FbQr|m*wo#-BwAD%L%QRVb}q(@r)k+(Med<&t|TO8>=L~7<+Xc z^^2joA@I>S;YRqHNKT3)bP@Sto`5i9!zH@uxV-j>PiX;fizVjBj??NKLjL~sH7SC* z*iK{hBM};SSB7T{SYo<CB`Cc&`RGZO#@HBpdC=duG%nlE{@BDWwz{$g23&L~ZRymh zaa6Lo;<!FL$`#I6_Gq5IM|W;wau?;y`ameFGp<(_469hM(~e-G?I~OQMZ*A0s4t5> z>W?A{&S-TXC5jtF_W?ze*d7=B%Z8$tAv{3%VTLb|)AI}}xt|$8pKt;pR|r_5IjzAR z`2$MPHjKt$G^8_@aV+d2$H%td${Th5&I@yg%kvuD{2BQ4iG;pSZqq+oK1d(2N8`); zH;Uqugo}Z{gq&?(sZUQgY}#ZPO)E`+Lp;cnhz?y*G(_n$RT#THa!V!frU_(pkI%?E z@Uri3-xo(~GO|Oxa_)v0!KP!$VVTutQ9yK-v>F{27O0bR*q&H|0*|2LYI-3Zi~wtY z@<SR1<PEZTnGrmD4D3w)fzR}b+*~yW_{sR;@}U5Q+>uZ5^g)q^69#ItmX-sQDN2`V zP9TsWJ$`?bVKvUnADm9mUy5pf;!<9Xg9dsTLw%3Fs&Hmcgf%2bm5#Ya!y<-;d4Ziy zY5ay5d<HdGlPmbZ9dS08A+GzE+rwVppf(?n9>C=1d0>7C>95lHgwfw|PRt))#U<JR zVm{xbL~%C$E%NOjoN6x(umXH%gk)m_0a5?I4#a;A!C?(p4;)q0PkX(lb(sYcTVYE| zn@ymsVpHv0A*oFk$<1V2(CtJlfkPAbL_6*bxTYrB`@mNq6%;|y`~%owaw3ZDW)Wai zeW)n=`@bXPy}J>g?q-d3Q?1&)@$pBKQ`y|7e_r@cbG>gec>X;3zJPKlvp_Zgvr~Fl z17!u34^02oh|osa!s=TgxNs1duvd1_2AU@b^5{z5E!fKewm~QyU-nlALLdL=3hv&j z-QxxBZUc7T^HuWmrzY=Yj)>o*qx4hJ+NRCBfj+?TsYV6Sq?DuPKpA4fNgeQ2@)zqT z4|*lJNeeQ55I{sYP=?{F*<%)T*)IjcOMID~m^?i?eiU>$fK|GVUfA0w=nWA+I#%SQ zNBTvB`x*5e499^Uj_Si2Vdp+mH$J%<{0h-qv8N3J*X81CpU1Xbg&h{aWsupqY;AGg zoQsyeyZWo*^x$kJVQpsL;!DE5nH=qhMeNP|vn7%+^C&Unrc~zPHb`s_C9|z{DQ__* zW=^{!h~2`0+e9WZ$1o#i7ZFpXwHX(aWeJ(<WNs87?q>e*IW$)y{awRpYw0RRGy)VA zvnFSGVoj2Gp$c=P9BsFY4NG2D<RG&k3wrus(^t~hf9TOQx|Y<%I)ZpRrJ@BLtil`D zACr=qnXytk*civGSdMnkwXgZN<2Kb@y{z=rc=2^kg{&mC?V^{1OkrC1TDlY_4kZ8? z)OLQ!?5A2v!-n8Pa4F+4gmqeptW$QY?`Yxe2%8Z(`I7|8FvB<}?h7i!6luMSy8jnA zu`ll+vG%+7`@4G#0Pg7)>->6s{g<c1r~}Y0TDf)>OVTq};Dy8JPXSqbD#1a|`Qi$D z_ri8%Y*v>H4W~H5X(_37?CJ)0@*E)b)_f3JM``jVK3|zh3^yD51(I=x(dymvcDsuN zkBR1*WTb>T%O6||A1yfxhi~A}yj^G@``!EVN*}E-s(D2rc37*|I|IC36tis+(5}}^ zb-AjE#p!ef9zJV%1yf9>HfmKh+1R$jZ)~ibS<WlY`?@2$8Ro8PnC0N1DKvTOxTcG) zcCuNcTkCo%2px-%9JzG3b<hZ7oR?di;9xCS#%zDLN@cy~`R9KLsR`NI)#xP4yd+b$ zA9+AKN8n6aE``uLu62ftrM}a49AuF<chVFbG-~x(KQd+}(+^Vx<4@v4je7Q#RO-Oh znVovl7oS(7Y}Q;p2h_+rq{z)AMVA4BSrU1+HOm${Tjc4KSTb58HL_fOtE=SK>^VZH z$PqZ~&;MQ(Q(k$s!Ia~!v=gN}*rdD9rno8(d1wf#3}a)=oZFDK%Vq^h3#HzQ#+@}_ zX5xT02ZklrrF9T$=a7HE<Lqjq8t>-mt%g}$W5-@2f&nwGh(TRtCq1sU&Jw<5u`D+t zr$ak?nqAg#GFq66W>(emQ6DC=K|AA0)Re?caNAXGKt;zHt~E)L?z*jtFw)lK-aQc; zb^}zlOX&Fps54$tYq7Y2d~l}Dm8xC4L8wdeg7d4~6aUc|mS-TElZkWNI1$-&@ph+5 z$W;%|V>^8Jgz+mqIDHKb(y#OY`K5Gkty6Nq{#p|SolfN!zRP|ndGWUZbG71?__LS@ zxOUcZ;YH$mCAvsd^k9xkKNJ!5Yp;&x(JwqY=vT!ncdkkUdRUOZgl?<!<RjcC(91%* z*|#V>1A4ppqb}ky$;rB5F4+&<W{M;>gyzDWeA+iNK_+C23STNV6r=WOVh*gz!a@ZB zGjli;VZDo$xtWV4vqAWy#YJM6|DN9Stu5+nkMg|V-_(Lkb#08oL#uI<UR<N|<in&T zN`1nWr=@Xv6t3qay{#h3H*w%=O&_Yi_=hS8`CEYmUyq%u;T5S+1R^0iD~Tbh;&f5< zL6FF=0dRahJ1Y0tzbHwfggOZ)0>_mzjB95&EXrXwKKL*++*Uoum{p|6)q;FUV@>L^ zC^+JRio{lLu2dJVzt2n&^%r@xJhy2#zCfD@ipkFF8@^5d*C{UhM*<g3YJY;@)B~=c za$*v_k=2`;C=R)QgCvQOU9*Ws4`@&3te3rN&f+E-DtiRY{XB2|Og~iJz;suO5s<GO zEy;r&;Okza<1~iv<reeLqWSwEv#`)sHg%0D`Fa$ECA%Kc;E**Hp=y{nl*fF8T5RVT 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%0AN@{P<KwEWWOhrIt#*M@*X3tL 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∾r)X6Q)cx?_UWZ> z_nAIG`5$+xZ<g!s1TnwB`5&3ax=~g56Idg6wv+abnO=i={7yx2{SF7W_whj=mYF_> zsmvbP^**S-WS9J?V`C3)uc7_OfxdHh_@&jheSX~?5B}Nh?$ikT{x|$Rw*L)!VuC7B zv#|T!`J$n)xQpxwpd#f%A-q#UY#kes9qf=Hy;JB=k-}R-^i1=mN?=WTCCLU*q*w;? zP?@?%2&opbG$xj5I+Y>TSl)36<N48pS+qq>ncP~2`~{Har{N7)Bom}v7ILzv3rr=8 zR|?&Cuw<i+ken29mC<Ydey=V#J$~wuhOzv|g9alkeK1RKa||ggJ#K-SNgaDHrT0C; z*^_Y$vjPUKTQVaGO-o*4Tbr6?5o0l0kVTRx(xAuN7dZA*-l(f3%w;NqwH9q+1=c%n z`Y_y}!j+4h9JQinIr;v?LL%%XV-J~DtI~Hs+uLM>ieCj=hz!M>e8!g7)+m+g*v2eV zH7z63s3IkgU}ft>$+uxZ&)#4`sT)^0Ep+=YK1pmsqLOF=zA1FVLRcd5q_!s60P80~ z)IG4rebfkkT5aJGVPn!Pb+FWe-RP~zr9oZZ#kvzwuhfbivqoGRgUKB&l9=t-<fb}W zz8D;KX)(`@7%P@VMxxfb7}1z+vrd@98;J%QN{?Uxg`#IqX2-*O&4CSKUsEl`4?0WD z&0U+#={95MT*@*x6IW}akEAMKn{r`f?e|?5g{>SHp4lb)G3{C|soPmN9<k*E79uh0 zNK3%4(o{!UlgZLx1w2Dqck%{}ISEX&C`40Ufk;dn5j|^->R=dw)Xe&LFDhJo(Q<0s z*o<(LT$aA8;jaXQXs#14SFxEHwDm&KsG8vBO<<!SWt*#Z@QF<}s-_(kVoGP?rR-vZ z(Hh;BCGbg?GS8l{pfm_Hs+GP!M0%bBOu?<1$VbUYADVD)uFPe{NP)ktCtYX&I*dqe znA&bVGR*&!ZoTzddH6Sm3{PR3v33`L)(6s>&cwcfU@jYRYSSF=2T++;GkHc6lWR~0 zaOyfu2U@iWi!P(Z8x+_s=%BOcu7)1!D>}A3gs#W$1Oky3%~-PJPBT0=4I3Bc<fL)e z+f90aX=T%Hn=r8B6-i7+(-I%kOA|3&&9cI_QZ^~KXjf3QMr%)JP8f{f!e0?-*RYqY z<j*l1ZDKHcckyOdGZv8B2P$d#-A>z6RSa}6*aC$qi>|A9LlsOIe5S{)h9rZo%5Fhw zM6prg8nu+@VfpRRxkV)O?Ik|suu%)8gJe;?PmG?HeV%j^BrF2=wmO2nRR$cRh00Z| z@)n^h6)kC5%U6Ooar&qrcDec<ZYQhfyxK%88p;6MY&HJ0LWs0W+cQQ*nv_(w1#ZDy zDr+K{RJKLZs%t{J6P+&;M&tCTXKJTRXNnf(QYrInNlo*p(3c9Q@+H!R(=$m_N)pcT zt`U8EADT&3d2UH8XR4GUozTImbEWcwn>09&$Qj*Em6k>Er9o)dGs+-l9GZ$kVx%Ed zC~aDWnF9~`RD&Zbw|^}T#+{htmL0m%W^AZPYqA-v13C&6lnPM_MOE8X)@W%WpDYoc z8L*ejTyS-(XMR)pCReGSinWD13&%50Ac^mh65Ym^9M(|b_4x(!70*q&L<)JUzVU39 z&GEI#7ShkyLT^^h;V$Iw8S>=KWxAwDxg*cN5otqB?{OwwC7t@-wPfRAm^D<X1SDY5 zpK1{?wP+|!85M`Aig3W7Rg^rCdMOmr&kIvs7Kf^OiL_|t&gDO(O2y8DCv^$QmpqWv z3qhDXpzv1Csh{Qu=_{X}_bu1wT?;?pSUdb0RzHc8+Riyv<&xP}IRQ(GnQ2DhDw~T; zR6I@Pi9sG`BZ*BBxl1`km4l?}jQISqTvV641U%pHz#*TJ>t90lj*5|`JdN%r1u?ru zU5wW9xG5TZPlq~UyEABwCF+@9Y!&`xrS_b}SVUaSR8Y5?u~Kc*;%;_9HjB9eK<{vz zPh_^#{|vU@X*{E>A8TlprEea>&dHW*QPX?@{(-i(uKO$;q))p#tLZ@bfki#fnBuYy z4`r%TEq`4s7%TPRojKv`QW}}8ZDW-!Hw4SCWN|HfCdstrZS|T<y*HDon;UfJ)-r8p z#RMdO8%9|ZZE%UZmM(qmq&f%<EmyCv)vr1Bbr|TPv6+Ywc}XbA8wNXJ-E$)Ua;%*1 z+eJ)2x#&#KRhNimHlK)}X_b~InPVKz-<Z6#&45X-xHT+XH_UB+<fSxUJsTnCGk;X+ zr$@6vT$1W~y&E7tHK8W2EGTj6_pl=_x}12*LTxW#jCM#d8hQ+>SU6<0R{w0NAI!BB z^B{#8D=|A|RNOD&BaXG*Dp05e_m0NEHtY?n3Tj_y&@-sPOVe)Skd_*<grvt+kD_fu zyNVJ87mwI4w4cXzg78T|wKl;vx&4+7%sxU>W-nFqzAZM2;WQ$*oo>9p4@@8+vQi?o zOD#|JeN4+-9&^yQZrYw$!F229mud{MIxaZ;OM4n*wyh$SCq_c#-U(zL^i*qrah|uc z!rkAxI>0`q^LENcYh7>e5IKc)L;7Gn=f$*Wx5+u6ux<D{AmT|2Hr&{TI}6sO&5g-X zl+M(@X3z^jJ)3}irBdKlB-&fg+o-r}9b}}{7p1wrI-uc?Mz(pUfaGKICRzY=zWj=# z2M%7fj`Csi3STt{FVLzv4a|26v0;$0>|P<JF~iUtzRV}J!ItHVX-W7&1HKz(M6Xqa z8|S#q{o5-L9#+3+XQh{49t5PHou!n^%huS+Ao4)*T3yX8ixB0FQxC}<phopQW!l6t z^4ho0rYLRKNK+cFp6ng;WPyhdOFXSWB_A@rWTi_mam&0-+}8dKg!tX779^?`Tg%Q{ ze{m{>I}NlESc^qDQj0msW-n$`lwPjc76^e{P&5KMtnNq4)#BA{1@~3j<=S@K*ossI zTTpil`PbV|pxI0WY#8Bs8gALJG&_+StoId6Cv|UzGZU|=!fO!cSCA7ETlowlE(_Fm zrJq;#%^Z8z%Eb57gpWBYPnM?~qLG_3jn_=u5t1-8>>U|>P3~lC*V#w5B7BH>jE4EP zlcGzLZIBH(-9yQuQ>n`?cZ=98{%AOe7P6}+Fw#zSCfqZYsuZ!s-v!Yjwuz!Y%V}OE zSyvaE2D)gh(=u}9kg{tsp2cWZpY5zTVodv8D4ftHZ53UYdw>a3#TZkp%W0Fhbfj}@ zsxFa(c9mKAYK2KkW=0;FLwAm+6>hS)7je#Zs;BPZfIiVSt40PBd(|z4&`fyCiF0oW zzEZpl+pdww|7o&&u&YN4cd6}Dr+CPk$C0Ig*H@8)59JIafbIz<dL0553NROyxT6pL z2^l$HhUgymu!jft{L}(>=#Mt~D|LpB2eQ~5m1jG=<Ar$j_G7(|iAT?E(H&M?+tqVb zEBpo$qVKP_Rs2+>!1RdCt(e7iXlGIYxw1+$SHN_@?@fd)`*j6dq^1g=`_oLDI%<KN z-!OvX2V^gwF++}MJfV9sr*73Qi$cirs?meS>`tIF2KJgmCfD0gq(M`9t`C@)BqShK zPc*3GX!&?7^}(8%Gl-XrMg*Q>9Ni7AKGNr+jTqqBPahA0(bxEGw8UgD8<Fv&*V`TC zBDt1`@fPI+*Vm#5()2q4BFO-u(hhuFj=*j^LP3s*=YE`3;>31lE$a@9SHn~|1|#OR zSmL$d)rPcNV$56OFn%GAFTb^J5!Y@Q*^qKGBW8P#ds8DZm9gy%)>|3TeP3woOwQ{H z9gz9RzYTlyGaO;Go!R`NJ70LTAJp`+hU~Ge^x@9fLf!&8-6Q_BqHa{}z=63VIUu#| zQ@h_@+impMTwrp5-u^b=q$c<H<%+p*9jfGraCNtoQtP12iiSIkq<F^2^0SId5a^6% zUc&;>NmD(Mrts2=sazYJv@%F_Y38aILfR6b+SHHa(F8e6wB9E>=;MR<%tU>!@%UVe zrJL+PRlTA>1PD`!%A+jTl{xXpIc~1U39xDEm*!r7)yWBz_1nsWojQI7yYuUfNI9qJ zbb#HFO5CGT5$MM}8Ken<#>lv2P=oHye}tClO}R11U7{`V<)oPP`sbtX{L;1+Ay;F} z?ZZfnuBJOs|ATbp2tuW^!5vk`-#;_g0x8*jPGg|S`X4xH9#w9hO)eXIeLHy$$8mR- z&;+{>MA0|rC9O1UT|jS{FejZ9O-q>QqFUE>uGe`@l5cV?{tz)6m^%D%8r4%*@j3d! zYvkt`Ba7q%ydmqdt9;B#x>&V`LeIHLBJ9%AI?Sr^B<D)<P~C=yZvI(YkNST3Ely4n zE8nwfd_LBAut>B$<awmSudJa60kGrPJ$1)XHg#3&Wj1$J?PUZu32;ai(6M`x7_)@Q zA=ou+YLF#CYo0;9>y_!%JOa2PFe(s$JKN>)gnF-J={*6DKlGGmrvIIQCV0lPak6Mf znJZ)pTCEY4vobYtGQ<LG(?QN!h;SpP0xH_!cuWqpcn5djcruUmXY3&sl>NAp!F0_Z zbj}C-5PI=^vhh5tdJlxEPCl-e(TpY=-dBN6`8z^$5c=gPtSU6;7A2ZPt=f=#1qkyT zTbok^ZT>MnSCC@>#Ojs2^A9Kz7qEGCfb|ER`U|gPy!RbA^qL-HKNKeo-w_2cAbim4 zmmVT+$%dB?&Lc<d_*d%&W$+gEa!{}hW_tFMLj-=0%nL>Ql(NIZb8C}AJn^i8Mm+|b z!r*Way69D!Ct{dGIJ+nImLs;v0HSh8okRU?;N7Y9&XUKl5E+wqlsJWzt0&*c`T->t zWnqSwW;*)D0B$p&nu(R3%Yr&<R}r&mRt)FhU;49eq!1hGW1n|KeOgL=dE|H4efeiB zuzaoAn7F-0bv5M+*Y~~-oBdX+vb4P8OicKG0SWhO!KKLUby_>LpS|wM@ycpj$ArF3 z`{-fh#&9id!^ZKmL&R!UFY4!^Uv_r|7Wc$g`?KmkbMAi28AromSMcM7a_6I8_Tx_m zvlsunJVl@bAL{DsJL%CmD(DS3`8<2;L8m{e2Mn*y)PM-LhUJ8m+Aa?g@;}zP$b_h@ z8rA81a@)oGlfQ*tnBj;#GKC4aXL@QLe<P3CJr1ZP*tDHTk34bQP;RM*NFpq#^!3cl zG3~6deSxPyed@PjIhlSE637$Z$A29zVvOuqE%n~j1s3z&q`dMH{&75Upo6>Ec*m=M z1BnU4uj{$4@8Pcl-Ry&1V&X)s)(JZjvFl^E#owQWiOG@W*n?aPvgZt7tKE*sp{p?Y zMiac>V?}*Qh{%goyi$te3<sN7tp)Tf-=;D7y#p@Jo=s}*Z^8;bks~)%d5n8-61x6h zFJI^=k2POL;~0_UA+8vk7HJGG`#LWwlY^>YCDjz8!bHqNopQO&z#!*9byT>=mBaw{ zkl@GJN|>grTi`vGUh@{Y!JRkPe$;61m{NM+_-WcA@EcvH@V0UHJ2}KRKl4QB3;Ne; z{`P)9|9^3%wL&|Qvi&T|u>35_Q2*Zq6;~Ha8+u_IS7(?1?J7x9w{}Ke#`KG6nA0+1 zj0wv96$M2|FwSU&Jg0ySJG2t6yh^shh+dr1*wM87uc4}eiKF>QD1oh+%{G1El=n2M z7?Up!HWk4v)kn&VX}&ts?*w16h|zayHOVFl#E9V-z<bO){hoE~JJnuJpTgG(Zh-%V zI4Bn-=D?n%5&E<KQ1=?{^HB=N9Kj%VIH7@}9T#nclWap~!i?FAazRmaTYz(TP}Jc= zGxCpEoLTV$Rus380*jZx9d|4>X%Z9H{O|!_lNE0*KR(OMl@*<bIeq%l8gmSmr`Ah5 z6}_^Q7B3)dwgzCGH(j18WOf_9L<oajO#qvxMW^-uEKi0vsgvW&WOY_E+@O&I$W9}X zZ7Kuv7$sMLlupISK`A>;=5gB`LnYi8=<pTDbAwrbl$>fgg}ZU(@=)`hAB?>US<*JU z`H`jQjW^ews$nOs-vGB8v}gY6H5m{4yL1_a>?J%zrvY;Kk*bQrHtYllH^mW(P8HSW zdrwH`Hl6>>T5laslCDxMXnvC%e+0O59|n|nJV909J563Bd>%!`VzUengSnC0PwRz3 zYfZsyC<nF*NE9j?tXrM)$Y<S8m==uLSa6buq@R?=b)Smy9hp%9E~;n`e@!++3TT~p z2o6X7qGg>SxFkhZY!}FrR$HQ79NRwSz7f#wv`7MMRH%s59UhG%Jh4z(mPiInKsehn zt_SQ0ULA!+giRexR3wof^GM(p`*yl)<j%#a8gP;1(%+7qa}0YCINTK7T!Tg;sujxA zJaL0-JA&m4%eAI9df8Iq_jl8HlLGwTXUqtKb)(jL=x^%$)oZ4Ecvnaf^q*E#Y0{nN zD*dnbQ^5U#)hU0>fxE6C_9I8K9Toe_;C_M4B~&2YgV(Sf(ao?If^$9Bw=w=`oL=bH zCoh5io;*Y~<;lVr9`JuiTEV|aKt7nih#a16!Ay6mPyX%lne5oVwEI67_Vcn92{7IJ z_jIzN;w9UPs!q|!6hRCZdGdlb`Mh5uuYAxxrj+TEb;iyVog;L84Q<>fuM}o|L~$2G z;{;bGT@<&pGNx(bhPA1<F2rAZawoZr_cf$7mC?8+sRcJR67{ieV@Hn-zsR-|xs^5p z#&KDXsUnotRXy)%0zQ2~HnKI1|Fx`Pu4f`~0CZ}vv|cfbEso~;zjCa7*1W+ssQL{4 zEK52Wro?C<$M|G4RSZnXp=JgoT&ZnFYpd$kN$Vn0Ek}=!=I}Wmto(rVqBWR^_598* ztghHL9bBn7ljzqd>sbsk3merGHise(#~yCq=B`@y54=gW;%LTso+~Zey5h~ht%)?H zgRjo5F?*k1MC%i_rLlh9-387aD+9H^W}|CFYk%-H8g(Y&D+s9}HhFU<n9;9<Dy0ze zDUn$=8M3YhUDvVlfV6dFclLmMNZhl<zGY-6qa(iHV4Jvu3HE9sLIa+&Sp4r<pr}^7 zo(xnRhn7Ytl6NzFUm!Y}2T2*Ef%|ib9r>SwTbx2tbLkbb+ahjC$7kpn?WP*^1a*PP zwa^hyyX_HYf!WU2Seu4;u-5s8-b5GRNg85n{R7>iy|MVjeKRi59hZ5|lx$OGdWJFN z|HYlxiVhqjN|H86hxrx+#6wsdBlgs|hF}xJ%fdR5KPBAZ$IZb_;p}t=o(viSM9{kl zV~xOhQwRIcYTi4HUqX}eKQ}1DZaHeXRqkRC2}ePicNK|9Pg@g`Gg^*T@ypimj{qbz zF%C9R@Fyp8jzNFiEo<YlukEn#O@SiBefssl87Snxz=YOb(>bm0B?vVgMHK>xB$m-~ zz^2t-S0i0*@JabW!gd(zSO-o*{`Ek*?SRTV$CKlmYRJzRxqy)es>*@;%AJj7|3Hmu zsW>I$t``BYZvc-cR5_y=B54UV&Q+%tConI|cLuy$3aBXMb1u>*Rp`-qhmqx)FDN!W zjbtqW=r<~?*M?DKfO)$nfiRe#xLqx$1f)+0?Psst^)H83U1^K1UOP@DwCKxRkuVqg zOz}=En|UsD1ihB8>!RnH&FB0EtT^w2?jV`zrr>k?cSh4P^$UZV`qH<Xt}*+ZQ|R<x zV~CsdM(ya(nQyrl@x=5iPY&m*EZI^)8BMxFaMP=OkKX{8h~RVlCcTm(_jLX?padw) zelv~4UC{Af6jJW!{gM2jUs?Wv=#+2HABB(5=6Z!M+XW8WgPJ~nIX{r)>xp<GBR$}j zZ+O0f(QovxH2S3TfR9B0-L*&?l!c7`6o_njvGLG|ghgUlzL`Dn|8fapb`#^J|Gpbr zp^&W!cWs*MTo%s+F!grz&>6+Y|3kgSsy=3{0#8hJQ<;TRorOc3tp5}B1Yh=MG7$LP z-^mq2pQ||>w^MRx4cgV`)+8Nvj)As^eKC8>k<uk}X01ZE4=E_8lGvR0z@&+;mbA6J zMA3;iA~}_*lt2GpVKowQlRmgV#OC|oKtNRgefhPwakaJkpOcJAHEm~PQw+bRRg(-C z%ECfg;IY@Zf<ysPTFXjWT2&U?U?EP(kvW=EAvo81V5%&5kG5WHbFbVfj;IZX+$gkJ zOo(d0tvJWlD?Scr_Vv1~k`$$(OVMYS{kHG+vF}#@v)P~S_j!6Cx7`GUK8)W+V0v>k z{Gj+^=MF%|ge*G-kf988$^Ay0NCS#EFuSHW=*2&NAroA^UdmbwEV)ofW<(+Aq7ddi zLfQ*5VT%A#IdfLPe4L_!{Sl70*9H^)1tYYXprG(wh2vHjIxaP`ycSrowxGj=)G=(a zMFw=+QRkJU+(G><6tVG<Qi$)7(FafNp7(LU(|}jIHx%+otyA)Rc@KJc47CEp9px`N zSuIZIf>d7HHHheWOew4c&%J2uCeke4+%p+1lV(y&(_*IEU>_+dkXISTjC|(oe^QFP zcNSio@lkQqD;mLV0m<)Ba`H(McBOQf(8*DpLj$db#$(J;YQ4%D&}F%j`3?lx({P8E zRv<iL<sHnHYf4oHk3RV{(*GPQN2*Hmq_diwXU5`<S1LRDLtkorreuC&#Zc<a8fgw1 z+0z}KK@{5P94*?n#cbMTfRtrCuU6;=rH1JXs|m{qXVFf<`9%#dg1M?0PK>1M!9A%a zv{EIUqu=@2Z}-ckC_bjZB}S=@*1uW2p^M=(M7ylXv=-`AO#Bj-pPW^z*_{o82LI03 zM*1YRoTnTfjNHTs=i~4|f``O6-Uu4H6ZP)HsT%+*cZTS9^Di>~y>zA#u4?lL?bB_G zJ>M4^LW!GkTLy;><_3U+5XC(nbOJ_al{xqLow5?fr8kVtwKYJBYrkvzR2bv#pg7#_ zA>aEZuC#bd^TyIqy$_<JR&%8oj`}9d#fL)2CnPvLY;eY=%8bOhVp@VpoDvh8#b+(Y z0j<W@AqTC6@3g5|E;aYWS!By$gtWM=PXRXh@4zRv?yj+Lj9R1rjgBi^tCYG}^p7E4 zsA}Poh65g}G=3>WMSz-NN$Myp*8H9NiAE_fNf_X)D$Cwu8&WYIrh}x-tJjGP^+EKg z!+qjHWs8mJHgGGK-?d4@z^x5^{}lU*zb{JTkfv#4`L^&vNqK((pOK!a+DguDTsqzP zew@3*gBfR!XfBS}N$^R4>rTP%dmo0=wxSQ%InQF<%r1b_&LCRMmfH3(Dry;?nxd?v z<ypO}PtLC|=rye%M@&cOs{B<YkPX!1$oHr%CZ5ARxSih(dCXnOly~_rN|Pao`lf1+ zm`(iOjM`wWK9BTm9oCKIfiCe$`;ypC*zMU2g+Bt(aShu6-Qb~MWmJmTt%0dnwOHYE zA(eB&k&%0z2*s6QGs+DYx)Me_jrSLUb0?zp(Rpw-?xz%g5cx!2Ra0X0JGb~Edv2OE zEr@ljeyaZtY&y3c0ZU}tzZx$PE_f(ajg3AeIfXwfe_$S=%^Z{f$y6=TAtD4zcyJp7 zb(o-4oA1mx1a?9&)*^BX5tVF+F16bIjdUD`g7Ca6h-&>lABfS+H}6&Y?azf?oq$9~ z7UyV2%1cP5WUr+HC~l2TIk87j<l4yMV#bh74u4R&UCe^nNE~x*#7{tpw*w|fO8}vd zzoAdCqEGZEQ|)kgsu((=I|Bc3)rw?=*4kj$#%Qy#1QLH=0JHt!FP%r|AK>#XiLLcd z%m|Mt48EtY6kDbVeo}|(v@kkviv=V6ByC#ctSGEv2e3tNdzi&aC1GzjH>BlBSKx0f zuPY+G<n4T2fqrI`6jK$@FS0o8552GZ<DT<Deu>HHPUQuiMD92RZa>j^*!8-7w)DO; zS(<J<HC{!H!V2LqpCqLUL&%-su58iLe#EB}#itWTw+|??-9(vFx@Boj)l3>ektYjs z7(_yBer>0}Z+u2Jg9P$PDy?s|b$%5U+p0^~d3x;^AL)N)$nv*!tzJ5rjtJ?Gs5g8! z@?o3PI)`Vp&1T1nm+W&&mvi0*P%T!~{HQ{;=zlB2t{k|eCgxT;_m1U?-r{7XsO0OR ztI(Oa$jJuYgucIw&ZuKCy_ekm(tFTQ6N9B+ZN3+iG4n^<4<Mn$PA>lUUx(%sjf}fb zKhBKkpF;D0g(3V$kEdW`Xl!b0YUlDl>rAw&wmh;T!k1jNv?g?7hSRLmc2iG;lOjxs z%8b<y%m>NXM`Nv#ZuM%(6n*yxEE7nk6h$^<{wL9K%8s(owg5hp*_>|M$J}h~>-Bvf z{V(YO(McdqFD*@oV><}r#;#F#<ROC^5u`9$&DeCi&IYoBz5v%R{-qaR-5zj${GeNg zC~??KPi1#0u_cO<VOSdNdJ~!98q7A8{wBE}NX~wdQwfvI(Vdy(6m^>w3d;Frt&a$u zXE`6m<V<Zj>hD1}nz7VYE@RqOLCIX!$(f7a;F4DP5^NbO#*iixzZOrXEJND%6Q5Mi zlj^DyNRyc<|H#*}_*G+pJb7Qn5&oN(GS#(H?XP9k^(&?JY!rbfR|<%4ZX}-MGsNhC z^;F^um2K=z;h)W?K~rr%GD=NGvTancBA>E0Nu)A48$L@xTJ>^vZ3?ixT1z%V!F+@I z6yQ`c(PfONGbb$=sXEp0bk*LUj#_%F>k$@>GGLC13L9QA!sw0%gc0f>&&C2H24Was zSXH!~T6hUIjwt_tVw9V6&WW0CgCdJX%;|pSJLeC8)|U1Pl%zpsyhi}rTV)u^5r)}1 zfKzxHtP=el!fMM6TO#4y71yriI7c@^>kLA?egSuW#nB~mNq3C(s2F*YOv}AchYSz) zUdj19qge6sH))L2>UV4K{ijjOYzH&xTi3~!&fM=p?YPdUXwkQ{(|mj)ejlHxg4Y+4 z%>*-;kn<|OD1uXB3{u}Hn(PzU8BPEXh;&g`|1<WNGH85$F(lcr9OBzq-WCC;M5_Q` zZ+JEus*G8(M7c$BsUTEn%duyXY@<wP-^ZtF2=kQ^2BEwQ>J8wWL1c@?tZK%z=^?}L z`rDu04u~AlDZ1WH5uQYY_RN1GUREf;gjnLn8APHC3^G5ZK?;tQY@9a1GP`^fOVoM$ zOg>0ITQJO31!0$l>Le;W3vbUWr5J)LOl=1DJl7hm6CFNAY4`;{D#)~A##7O)QO#{D zTJOIubuP(7Llphkn*4r*lK-n^{67xRPqc=;jobfGNmO;^QPeT~rmko}>H{^pwAQR5 zDd5J3m!KQ3s;vK6Md~iWtI<4A_cJZl_QR&76~;g0G2RZrASV=se*xP+ib=_8Rd<}k zp1>0pJ#f}v1Vkc|8~~m>uHSjChdrk+_`g42(f=y?ROccaWAXJup=Mi!8PkL(jF9{j zm7^<GIbdbkZwMjbQ)Z-l9yyLmBqKR+ZZ$c$tzZEt-v&p}gQYt)S%-T1w=gmg=g4@# zBnxQwx>XvPI&R%bA9V=JdiPRiOhuip-*uF#^qspA7@%AXl9KB_q0K+kZh*~y-<o-? zHu=e^3$07)H~pH{Z2GA9d!}ycFD$kj(rTl|3+;wr27!eNOCSmQ23@_!cOLRJ23yE% zW-zOn2o`e{KNh46)klFmS=OuB`<0p7NIFcT9r=*g*{U<BsKPGlf0d$LSEphv-JwDx zs19Ntv&QqdD)vc7sb6u3m@D5!*rrx9&?FaX_F7EoOgW}JNFpve=qVQ~Fy7!h$=V+= z{qbisiK*S4CuPk1J~~B%w(gc}yF$cvt^CFG96;;6s)e0}C|Q~hvq{x8r`VGyFszp9 zxXrF^LX%vW9|l7sGc2kz=ZHD~tFwJ6KcA$t`tS74NLG5;K2=xpc*TUZ-0=I0*l_cU zT+SbR`hW!Vq@C2O#)sfnY&A}lm1n2>m!~F_1X$}3Jbzv7F{o+Bum;|g`%=&>d70s< z<H5G{ORlc<6+dZKy;qUy48hqpOtI`BPNcTk-1?(#T6M4HmEI`amDvsJChBd--xK-U zEB*ONACAt3{)ZUctA(!iEHsto-o4tm;Wn2;)Lpc)QQTJ?)q+#I7+f!xNq-nAoSq17 z*yM*>VXnd#s0Q{&KH$`&xjDd~;c`Ob^<4YfJz~9KXdzAne>tY;?~|SR$$$E<C=Zyc z=c2GZQ!2_-5)#HKdL^>5Ky3_DQkMRjo&iWckYwc?^1X#-3*#q4Tmo}t5lPnQ;b7?r zTf?do_jiS2|B+tGRc+wy{jv>$I1d_?F;aNzY7BAP!?XL~ehEvXR221WaJ)P$ja|es zV}4r&4eXWz86gaogxy05VTfe$GiX0rO<!-=>c{Zw4=;i7RO6EB4t)9B*&>?-Kbji1 zxR2mzntc`59=mxqK#P-$Vw|XtS)Ss{B^8UpT;hb`dLV$CRz?gFj+5sHdIp|}Oci4N zO-$uH08^miv(OYXz-2_AqueSNVmyoMCzG}RkLB&ZSQ&{l8Wy&H3MS+apy0pn%2a=p z(f@5>OiIv}pEtl5{tm9SGw%6`6+s9Z?FB&v<#Cv4MP*;*>Su%86_QrZU1=;>?~z9S z1R{F_mSMS78^kb%W$dM{mU#e4#pn*X^^7Re!3ZCHd++XczqY)d_kDY{!|tJAB7DeU z4?`0PT;S?mBhSk={mVGQG0HK>G0D-7VI&b%A7wZMxsPM4GLRZ}{|h{?RW?7b(rn@J zB)u(Hj9N@GR_$S~?Xtv-rR!`ZS+^!C;%|Ck;@_SEGpvI7Use#{$6zmeZi?tLiEK2w zrOC;z<kfT;3-f>`)<u9iZs6z7LQ7SimAeJ=@@Xg}<l#kG{wXu~AAA}WSm!W!A?dMX zvo+Ixt<jSt)pm-#fUrnIojwtaAIN%?q)ael^!Tqe&j^#UrHF!+*0Lrp;}bJQH=K2- zeQ5Yd#ww=0C{SUu35F`h_$ZWpF5~2XLy3P&6t&n%C+Q>~B3;T$xSFq}utT~iRZm-x zvN^eE2mp07o8cK&traO?A|1@8Da$U=RW;_{!JsZ}_bqU9*<2Fd=R4a9lT`LI%nU7w zU&lL8W%5K#smL>p*8;O{5g~=?c7~;My(Tog&d%;`x=h-s`6$ekg>fmZNeTO!q=K}6 z$dcrW-LP+4X=2rkq?Rs6s9s6jX~r0{^qL9A>v=c{hmE21$S_ipd<^Lhn>-0M6_siw z*gJ0^PT>he)>`H^gn%k7@_B^n0=2Aw`L~2t{P5R=CaJ#`y8Ne8eBrh$%KhfJ<VBUb zi-DD9=Lsx(<`FDSrcb<{c>DV=yocCpAb9Of;61kn^sYUFcrRXopTMUxR<U*ego}Zm za%m}wqt8V0jrm0xL^%Pr⩔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%0DK-taawV-Vq`^ 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 literal 0 HcmV?d00001 diff --git a/libs/controlsfx-8.40.11.jar b/libs/controlsfx-8.40.11.jar new file mode 100644 index 0000000000000000000000000000000000000000..3e409877f8189018b17f4efe3295c9913f9273a9 GIT binary patch literal 985420 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 IAApv9f)3p&nDs)VUV_$`!l5gp zz*ZB-db|K){ALsToclcZZ^~wi)3e$<0I<^hCtzjyCvR>5R4ovAvx+6o$!s8P0+OQw zW{;P-#C@m<1XM_hK@cja=FpoQQjMbynlEKg`9fxX0D}gA+<Za;`vNgu6l;UPCmd~M ztYtV&UmiWgz2E~~_GXBosnJdzWP)O^FjJT~3<yGDleJ|Ca0WpMX}*{!TQXR)sH{3^ zA6>|M%stFioY|{M9dWxISfo+eO6Z+)!_?eclTI1=_T$EV@SZ4~sJFe(h--z--(0D} zVJdo6Qe&iM&ZEPJ1;s+ZyN?u!7gT6p<KD|-`C&<8?!mN!_t5wA#)%~mxUor;;GPpR zT4DfbGb1I-@29i~6A5uaM2ENW<8+R_ow(#GqEJsw`$yqWPz6_2O=tmtybfrj)mvc+ zo?34@b0Z<@NS*aun9Gm#4G6<<EIAkJhvYw}zKl<;I1xUG)j+^P_MQdwR+D_KG1nX! zFf0c&TZ805i5BT?TIEXmV?zb<1#KESn3y=XY=ndcJhbzf^K2S1EJfi-ok3oRPm+f% zCIogPyd*tP{CHxRl1&3lR%vEDnQ5*&hzhON^NFh_0q$hZG*w4`fabkM=dr)7-Z!jy zG$1{m#DfnIX@HB*3l)erKciJ^?qCt$aZPI$GRkQ5qSGv>=Kwqrr-AEDZq==8^j#u5 zL!E+0Crjlpa}(^ABbNa9jQ0-t1TW4-J02GItE`PnVDuhKw@WbHrQY)?dcR@3SucJ^ zw@c`8>F>c%t4GD68w#X9fSRJT#H5(DQ&421>-#qpHgjzWn*67f$@)*q{5uLa+GGwo zY%+E8Dbc?d*krfZ4vC0s7gtgtDME!Sr|g2-WS6Y%ucmfaK>78XDFa9T0M31*7_2s; zqxBdK>Sk^<JI>C~`52j*(F58X6a^xy&A<>E8dTAqF>*kWB7>p1&}W4oApxmr<^ile zm9@xHTtbIDF>X3_G0Hg}lhnk1$)tHnh6Z$I(790_<iZqt_SQA>s7rqN<2wRKv*)AO zgMjDBuDAd|nmaYuj2K!5QVi0|CIonH+%kwa_oZ?Pio5{Q95Jf+qA@q$gIO*DkY?&% zq{*FLJWhK)U=D?My8maasN3Id@T^;!LWmAA(!jOd4|yPL^G5O9UC80)2`&y`w0(;S zAkCOMY_I)-#r*o*F4mZ00c-HTk)~L=>*~1CQecP!G_rc*U!?ijdfI54Z!Bhw@9{U% zylDy9vigfOxpQjgEmbf7Mw;v`E2RL^-1-}7(gH}+N@jsZodTfl@7|);K_3L0xz}<j z+~WmC%YF@FD|GW0X==@#tN3P07?s2H_tq_%HGItsALf!HbzEJrw4eL8w!Q<iJ(hj1 zGgO$#tH$9)P6v?*t=74R)ub(Z2Ab5+;O(1bd=pA9e1RySKqYO+!Gl{!2UV0>F{)q< zb4o6#c}Opdl#b&wa+m1Yrslrs<0E{5JJ8eTp@+@WKg?3%7WmDf!kThU<We1s$rj_m zmUTb<)bQsv)ggcbgRWG=y0lHAKnimW7TC(Yufk{KR1D?)#jvE~|B$9R>*>n($yp<$ zacRyw=>OZ&@Yfd}_j%nn0svP+(ElJ>V*4j)YW<}U`WsAADh+g8rJ_{@x=Bl40HKHg zk}y3Tg(WrqG%CY(#MQoY<1%Dd?#?W}97AT&%nu;h;@Su8b2@OH&3VGT^ERE4@%Kn6 z^ofRL(gLHuD^vr8nF6+dF<wxE6P-zY5u!dhAf=B<h|79B|HrWQ&;xerReQk=XJ1y5 z)55+h1@FpwY#QwNYH}@1E5>tVcZqWBD`P9pHCwe=GqFLKpI2o8{noJPSv+C$!4l|z zxk!g0zvWV}U#}IM$1rv7RF2TKRI^+*C26*R-+4#>j)OY_#QHN?MV+kAV-5}VxzxV0 z@zIVrQDOl<0^xu&V=SVVKD3(pM=|%c{%$%qqD9szk{L#A=%#Py$c6;C($K^Zs#FUV zHXS^19>d0oG;7~hujPlX*6SX36_u8am~&z-`ScW>N^5zo>J!lpnp`mz*J1|1?r^@^ zO=sf{*wR)mSmtMLUnCsv0GFt}+z8b&#=W0#Pxz*M%iwhc?RsR$-kpFFM$Q@*6N7OT zYDi@#=z(^n0XwA%hQOk&mv6be3nqoMk3>rQPvST&7^Aeos$SNP^zIyrptX;345;op zrb#!>qU+Yb;wE5E$qDBgNnXB~`Kmv)eV~Le<u6cm+Ojzi8efkw`Y14*4RGdpg(~b5 zfJJG@5c6Zsd=I?QqZ~5SCD8B~8#jlvK2$jE(1@WGmKueSh8m+#wDc5D#ck#@RqEe@ zr$1gWej?{buf3S_J5%?VOl9?z_3G#qM(~Vdcm|<1!!BjqYv?WyZL!#cKFrgGN$oZ+ z_Y(Cge~X^}^zM=ycfJ&kbTmSmMV1!Jw>psP-V`EunVs=V<cXTo*2e7oS4c-=6O5(- zAZ_rUK$`uZkhc1}`2qAqDiJjB_&ZfYuPr(S#5s6;FoJY+)K5|pOK<1SgKPa(n|Fd+ zrB6%}DpBO8M*ea4GOb&nh_Bh{9PX1`uj?FceqZ0;Q2Ky<YI%m5e0*l8Qu*=1O>i9n zFx0c`DMMMpL2oosG-#M^11S&@rqZg~9Tu7uNS_tB?MwWuP>Ya$m*^*Vje>BMy>R;& zgQ{e@;ts3pj8GdcnF9l#G_Ae7T+LJHvUbI7gHh`?*l7lJR5(9`=8Mf8whK0o(5hOK zb?#F7LqG^sY!CL7dtmQ3z!v1cz?M_IZ&O)h<tLz+heR%i_J>bGn8_KOr&u**pV<(e z=GtC}Ll*_><*hGtqZWE3x+)d*=`zDrSd(077Zc2~z@mGLsk^v;Zr;KnkyQ;@1}f6K zpNG%1)@cC}X2y;8It*M?22d&I7KleWy@W!wEFPxlM7*=_7J@RjbGF(AQ_{KSOtS%7 zj;Y0C-5x`Orc#a}?*PZHOk<EyaI5v0Gzuw_Wp}N$nM4EQ)}p0-u^B=JEYq~1Kv9*m z6kB4Y8YS3{CY*cnULedWOu!i9k#Sra30%u4{n?5E*(KbXVoQYa_*i31QEFh4&UpYg zlj}RwM1wc0q@7<+Q|7ICWcDX|43dy#^aZZYTX!2lW9u<zfB@s(*k*xGsH#$p&;P8^ zN$ixX*atoIbVrJ!?gWEO>t@#;ujq%h1Rt7~QQHs1`HpZ0L*s@MiBPqsG&9gI-c@qv zUjx19#<_4WI0Y|Rx}1W~463Xs7ep?XprWf%(Tyt(+x4=K65GIZ2T%@rF-5E5zB;mk ziPjOlNVyBtJ996H?TuCnMqBN{%tAVe05i+D6$uoh8<a1xQzeL+!S;XWY=kV6LtTK~ zn*sK>Z&d%w9j?E_J4fxq4@U*{&otTEnslj0YOzf*yryJBpY0C(LTYGJNgRt$aVfn3 zd6os!l_}fgWNImdBBHkf3W_oczDO^)WtH`O;Bw$PRS)V;IKBKE^5;<8$##22PR^vY z>iwJXaW40X_stt1VrzHPd%tl?`&K=Oz2uI~S2cU!1nI3SK;DzTOOva=pqG4S3`~wX z>K-{JH}R?n+)7pMa6~`xDhaHoB7ZVIGy19ttfw}6IKC6_Ko{@;rK$av#nhA1+X$tp z!#R_RYZeFj+!o(Egazmw%DA-w-RUDOebQm;pg91=q$jJ>5a7;Lyyf-I<Mqwog{q}` zC0uw#^wLYbLt_45EV@Hxd#4=u(17)g)f;^!MfN2<SYgsly~Bn)cU@SlxsEp7=%6Lc z9V?By2tq0zc$DEU$eL!G!kIix4Yu-%wIFX&o@QjKDB@(k!q8w|%3;0Q47YWWEWc(B zm7W^Y=m>Txab9_d6O$|D@U4vU+v*?A!G<gwcO7O5u6I|o`LQC+&1z{P<}!gP^~9NK z0C$B*gh{dK?-XBWKTnl2W$X-RQ|1c4+TkLIJ$lL;dKEvGdDg5=uY@^;gCym6b8eG^ zc^Z@iC*DTbKbO_G1~c`_qk{WYti(`_&tlz@4PV8V#2WUDZm|Tbv3^>YKsPBYV*1j{ z=s4A?Yo-yY%XisidtR}9nLk~@W^u-n(9A+^g^ITGX37BT#Bx&XdTz9}mH-q~84P?) zmbIp|UQ3-5ud_};X_uusmdCPEFkQiHz4hujz>*z<RBMrydGhQFnX-if2IU)PaNgaX z0JOC}vm8IWnj~YD;XB2YPD4hWV=!PEF{UYWm~*DS7CnV~G?09J{jGJ8JA<zz-9Sbo zOR%2ajB7Z2+in#s;AW1-M%c}{YJ#N^E)J(=Q87D2R}u5FA>CsMk~WDr?YK2%^Jlb? z6JtvKoCMc})OzaXFBmruap^Lb(w9Fhnafd<%M&EZO^k#F7qWR9YDhxc_NH21>R_gi zoSN?(Dai2PPr8}=yrp%}>%k_NR~EyEo`pg>dJME{MawBg=yN6O#9LYG$tVNY$h<LP zQCxnoQK{@|Yp&|S_Ku=tk{=$R6VHd?`fO3I$H1>7iZ_TpQ(vm_h2J?#vTP`nSS#}= z4~J=O=}kU*c!gtd$@of+TM%&3qDtjAbnK@4Mvv8{;M`C>?G?_F8Aye=_1oHNV7NuC z4K!Y>i$O7ibg<E6)GBTNY%7FnuHkmYdao)v3uLgjXA%FT$SGkhZBJiZ>q9*l@D_F} zYB5(rTc+ZpHIQw>dV2gO-luIqUT;IM+2KsNv2m2cWKBFGo7ndp9*;&(A})jcy@Woi zasFL3sJ_<W7o7nb727@;>Q}x;-Ai5cPUS1EEg-;Ym4{3{cq}}ce0-s5F%oMhqgK8g zOm%ElQzXvna;-R}^vh5&=J4QDs;~M)RcrJ;b45YzUe&4H!h)*10V_46cdg<G`A&s5 z>>sJHDT{i#KKdFI$-gg0C2efdRk%Ont}<k5t#F6_nR1=dXH=+7pE~x6Juu2R%5D6q zGsJ(J8NEWvB7GKsgeJYgr~GK}E7EU2I#T9T(Sh8N>37Ngj=M^Kb@{o{9iw+Pmkg&Y z`kV{3ZvW+IVp*r6xZ1jBT_=IU$c(2><wQdhqw8x!tlqXR&Dx@O>oh3oMp36}2pb1R zTPu`w%K>_d6Ez{ixd|e{q3968ho(0-Qr;N?)rFye=kTaG87f3vy>(5-{)+5D^6_z` zD=NCnO*$2v)G91(pvfJh6so59I@=Up>4Au#Rm6Ayo3bXpbA6yM*=vxk;IkFq=w>$m zZRMXVZp`>@3;b8~SnLg8CsTIB86D_(JCr>y5FTmq70~YQUgFyqNiTE!R|s;x+{b{% zK5%pIcvD+J(3o$WYlJccuDR5>g=PI^FT}EBVHS&*m3t7|K(})>Z87=V5=JS$dj~p? zKi60$cELeD`GE4o*;Jh&KB4e`3-ogy4#>H`LL%m}43xEUFI*vF9$uUVi(ZJMSYiQ{ zB_Wqfs~!@P(&tmfx!-$?h9!;-4}w%a$ctAS6mkV%dMqZYj|{#;vK-Ed8zLi{$?j(I zWJ*{Y>{mlhP8-2R)JS_zfYeSI*)|yAJS4Km8u>cnKx6&v3=d(%p+L}%!F<FKCOxXl zT$kaUHpHvdhurQ3tH9%($HGa7-Ni^4-KW5T*~5c*(4TZ0bMNDz4V)6Cp<&chmwl)k z6jqPD4_+MpgamqH5FSO68<QMt)8WyOFn}Wa<fx3_<7+#0*c18=Q;CUg@ZExG%aW)k zywKhUh-5lu`(nbpS*#EXi+t`!avXHIuJ~pl=^G82o=9Q+zQv^efy1Ufrp-y0c}MTd zJC7A&FQ#rZqf2KrVt*;Jl>Q5Jkt%wYNo&qgoMbU^+>mvPzup9~FFxUxTrB^oR@qXk zENHQ5W^tq9qMPKao{0IKQvd_cwNM2Tg>5R0qcgYlUOB!nWMDQtkVU@X805iGKSy8m zh{FLh&_@*CN3fY6up7h&9esxJ4p(d|81+6VlNTdV0eOXAUGVi|;Pr_j_TjxFMH=Hz zELF$@EK}|BZ~TMQeBoH|`^joqzFf^i&1dr-F{fR8GCt42rKOCg6Mlkco0yrI!xa?? zh6NQKZswL)LW;yo1cVg{+MA1)P%<)3{!vW?$rC!dmdj8Fnx>bf$H1u|3hO=;&3NNm z1#1>?W3f%y7&Yl++}-YSqt{u;k0w@!*PUTMWR;RKHJzP?6FQ<x1j@H(3p>$opbJ>T z%xR(L&&f5xi7d88EUsWnSlLe}?!+};kVil60uVHvIBSjsD9DqS!S4zH{|3yrM4GN+ zi=PYvHA2DdMQ7Iu;d03WwH#8W_o3A@Mxe-0-|L`1zgd<r^W9`ddfC_Le-Z#Rp8Ldv z`dg?*p9)6nc!dezz0gy61D$vz%myoaT|_)VROXBL`W@ozy~kZh@!D!x>hf@i8d@V% zOqtbw>XYFXSK%Lk?^MP{sUr&+82B<sm{AhQ>8Cyx+uf~g?>F8-;E|dm=4w3YG%b@4 zYEpO6xM~ltJ5)pGE@yccAYxX_?Iyh{i|@n-j!cvmw($+)Rw88c$IRTm95@?&+wwQz zlG^%(c4v!p!*y4SXs6M&v9<E&+y4zi{<02`U`W~r1_(bE0Dgc*#=qrL|0P%Y&*bMn zvY3C*L;kHM>F-OmkoXzNfgcFNzhZ2Pp7frM1!(Y~bT^~e<wS^~mQyi6@0wtZHaoUb zjFm2{JZ^!!DI64MJt5lanDM!P*`;R8{Ct7`M!pJLk6VarD3<SYG0sy0Z6lt)AlL2s ze3>zyb`X(C8PMI<q$_u(i|%P%ZddbA83+~dbrG2$x+Yz@6DX~mo4}81KAlY2er3Rm zj+vSGH1?T-VM_uKXv}8~Pn_6m|IxaQl4J%?-SYTbKy>=ld0HQ1XNyGbyRF~hy>#jH z`)0=e*_D`NGlur>jJ($ROFkSqiYH+3W_-G|d1M5L*V=q8AgriW;V7pxmC@!UF_2)^ zrmDKwnDdCbh#I^9`Z$Hc`Hk5CGFv?m|NF-&=4j_)|M$mPq9UcVAdkUYK)((qpo`WF zb$<@M|FNW5LqStrNAW$jdLBtKJ)Xg0+@D*m?S=7RI)wj+8Om%3e=q*g>sA(mBrU*H zkhz_G=j)nthjXX<44|;(2h<jk0l}0WP7pZ;AuNulJ=Dz5t!q|~tsvPxWZJrR0Oz#{ zyQd5B0vdc6S%T#$(`)Y_vz@HgQXE-e5s8~}JkC0_nLLrHsBERG`lGE_)n%<RE7ISL z{ALstwo&q;!vsq+rtH4LctH}B&-fu2XR@Nh@(A=02}f<-xSJ}4Mro;Pjns}~3>4@$ zrBO!Y1x;lKla?Mm^)XMC=nuEK^3nA`>&nY5$oCqRl)*CIy_s}TAL0o%N-ebSpJlQ@ z2Y6DX(`Z~*;#-QW7UQfb6X$l_gJ`j%>)RahsdnuLD7cg!w6n})$V_fHR996hC^`wI z6#-@EZIV{No|^gb(A%f6?7m0*-(*dsi!0Sbf;KoZ#XURXX1Wh^3Qw+54XjXRFMhD& z-inWvXQ7&CnwV8r?HNip93nIjIl2?<)6mt4@dbww;TcE^gHMNJ45>qaBE~TerG|;{ z^eG`Oh(n2c_5=fqb{#4PgxOH0mv+f4gB@Wphj?@?64=*viC&u|!NxfATw6H+s}F!_ zVeo(L*L@5w8MVdiKC<1-M&KH$(9xr_$n^f$Pj7rn^i)u)##Gu?SD}6+6mQ~4t)51} zt@d~~GzjncB>FO%EsJ6e8kY665<(Ajmzg>(6^9pzyq$v&FP_ivf$%c_7=Q58h!)ky zH8?#jTFcLg@Xh}IN)rmyZ_o&rU1lAC3yOu=AVNG5S2FK)Tk^d3C-#RWdfy~`@Os^- zyLWaOwy&oxp?{q616#o_%iXAUZ^krwQEzleep#ov812IFntP@dj#G1O67OLI(imiI zW3R?hT&x}Y`Q)7QL{Xi2iVV*XGqHAU{50;%(XE1nt7!a$tTmBzi(K>NO*zYe*4Se= zkjGpUA9D)A>r@0csqjwH!S?SxVBq_kKzRqf5QOtzPLW9zK}R5pI|#4)mhktx<g%7Q zAUKNH#@U9DB)Hh{0<MS_U~iki!UUu=)L-cT^%eYsI2%$5aN}jf`1XzVf5~Vv2LE^g zo7FtLaa3^s^jtD}Nw2fm%-h0u{Lo@UFDQ5v7bFNqDU{Gmnw>}MJ2OqBv34D}w9YCY zRY{QI1Zh?QnovNP#Y-eZSqD}`6dC$XNsybrUlZ=%bo61$HfGykqr~?<GM)9-z4Nj4 z>*nLC5gdODRzKkOJ%8VnzS1EIzIFfM{(%kOb_5;8doGOLpvc=gF^-=4H4<D;#Xjt_ zV<D{bmKEQ7wR+dqV;>LxTE#vOT+189?HB&Y9uWWLYsaCte5LznT-Y6~#78MloeEzI z<!Y^d82C<N1D?X{PyMn$Ab2pJ^dPar1hKExkdaS!oX#VoxWI1T<XuQmxp(={GLpNE z#5)Vn5AXE2EZ*1H#rJ6RouNiwZ}^=wHr}#ba6X#hDJb7lp%QIBlK85SDRG{bWU0+l zWc5`HcCLwmyL5}eqKMe-f)&TCpIvNdQCXQ4tt+K@RY>yIp~1a_!%@vHnjZ7f!V_6d zc-J0U#5s&p(pVioq>gQyzc7~!bB=0C5hGkwakD^GSe18cV+V;$WBiGgn*@6`(Ct=A z2out`voCe4ux-`>vEEzET^*WE0Vd*G4iVQ>EyNTZSEjC2J?{9$;?(+NFD)FdO7EUv zS{eqijl^jXWYRV@u8<;6=r*QAdIzCAf+X}~Lo@n?!GhtlRSN;P3wgD~0oEGkJlO#4 z?!_ETO($J$bOvytLHO+QN|BPVZ%24Xd8+s*F>wQk<S^>#k!Y71*oci1C_p-a4#bh@ zis{G*Dq679rIC7i>&&7vbQ{q`eLSn0cg(~R3>i?NiOTINTU8N4Z@{Z=QoQQ{%C9<G zs1MpVaDG9K`Wfs`D8E|E47pW3tY86$&pKsM|JwUhQVP{S9@<+>135nDmGL!)J>}p; zxv;6bgT3sfC?NB*2#wn?!R5UHZ>w%TYdSNnwpHW8G~Sism2!d*6T3n>O_m-5TCKag z61G0wR^7~)7u9%w2q#L4%fxFdRWe~Eab8~{JJD5Gkp-&{IV59h#!&{S_iau2)6SnV zbtw7#Pg+MN6)69~6M;M?7PYPSt7w*#pcNoDz}P{D*F10QFoXS5U933gEIV6-jeBYq zd5mHqJ*~7f0kpq+s7QS2K#3yAAtn$VM04b3rp*Ldt7>3wvE;xihCHUOhlME0qW_lH zp<yw<5YDWM1D6%bw{~CTQtb{&SM@eBQg2s9m-_(h+kRA}-o6@@Z_G~lE3NNHDy~Cy zfUL9SoMsX8+LS4VEucojMi_cp2Bfn|cs6<@XiKx2-n_3xnCzI;j-|iC9rh=3ukt6J zU%c+8f_|oPVaz)hm3W3K{f<gk0RP=GmV&Y>nl!_-f{(CN9d`ypkkylZ7qNN6N1z2T z$Z<3|955>;l_(DeEe|40Nd&#j8I_^~WFgh>=wIdPK`SbssD4TgVAIOCZm55H`Bhk? z?tk5uM*1Dl27uy&ID-a?1u06l#DRDjI|g<66l0t6U__0KKkBM>pfLwgLcoTWAb8R; z-{ryF!7@fMCqn+ppsARL2zwGHiZOY{NL4+P!V+8aV2ntZuO6+#<2C2b8)|F4iw$&B z`9!}#j8evl-{Yk?;NXNlt>7SO9gn3Pto*jE7^1HgfpZBkQn$j;%mab!m(kG3pu*{| zfJmd-T>U{KA40@KrMgEI5J^nUt93IQE?(5YWg)!Ou2~or3z5w-U9X@&oJlN$y#Uvm zHkZxjjp#b!2JPgE=>>#X%tXjKz}Wc(35g8zHE%pPn{`lsY|J8=vt~MKU6c@}=4iQ^ zjzcxhWGjs$QkcQx*fK51^ys=_gJc#G8H>?C=?H_Lp*M4$l-AK}QNTzQHO#y!TiA9a z6rPxA_ZC)YuqbOeo0Dj<8E*xpaa3)@Xxx3lwJ+Lgs>%F2{fbpA_O>oQ&>Ed*<gH7* zkS!tpPs?hvRE&Eoi;*>ps*^7iHdmG<gxXKuREfu1&N0*9^|4oyBnmrQM$a03WhL#H zqXL$4^T~f&htILhJg6r9a|+uvPKxU#o<<&@*rr2ANL<ye9ncIcl3VDAdvr^OB$G!n z)wGUIxhRwQqT`iQ_8Nx{B4A!@4ZyqrdPTR6cFSI4SJ4_#)&r=TED}lG-ndvPoYpQQ zD+#A{d_K+-49L{PrYi>LmQNgI$q(l7IHZ;r>sYC*dW)LBx>`zFY&4)*Ev~M@-rzg1 zMvAbg{Bd3nvj<zx?nOg?)QIpx>+*4mCMe2{S7>{H_W}x^4YP(ClI8H#c7^N<5l?Pq znltR_u-ZJ^ANG>{GnV0YH)FGFv_o9BZ4@>}*TPFt%v>Z>e!72)O&Q{jXD+k@#_`tu z0gHc>0lnb-&LOm@&Xs1+PD^RVgmPAVi}EtC2CrrWP^7|TZ8WtV-XLwHqRIg>>*>Uo zETP_A?}oglb?5xSHY3=o-IXF4u;Bu4dL3w|(zEl%v8V#qp0L5?56R8wAQ!OVfiC#w z0W_pA7blUWSpBA<q2p%I$8aGkJ(-6ipM5q`YRrjd&q?*%uX6_J4hHDHgmwR(>)+^( z5F)Gm4xB3>je0uL6mzR}(xM-(ezp_)qZj`c*0AF{H9N;(s*o<GSQzREn)KenpmMbk z!UZFIH%0#u2dJ7pVy&Tsb_{A8n9eIq?cmdDIJP~x?cg`te&jaLnO)T`|BYKR+Y@<x zsNWwgjt)Qv_=n}6h?e#W>ksB8u3O1(G}A@GA!RdzlG*U^CN%Yq$0fx`)8JJZ1MCSC zh<CuR7Him(cOlg@$MEQTM#;5zZeZTv303+v2;dAt0_p-EK*{sK-R{dxLFMwZ1^G$> zD~g~ALe&^$fl;)+_KJ=QkYx&;KL$at4wLuv71)@nnL#ooF=u4TX>ofej~jd^*P{-w zTJ?P!Q;PF*iWM{R8*(^&;m4d*k7lMwW;T=>QUaz&th0Obw9{^<bmgQ=c8$3pHwC`3 z-dx$;Zb}wj5>5>6x8-`kN52TD?hv3ot5CPGLLI4uR$?$pvcm-j=LT9OFRm1;I5n$p z8|E;yF?E3{XRu%_V^Mq0>~RW#N941K^e>U9QPM-CMI6gLZn@q}tk0uf3Sx&?!jnM2 z5RuGjFohHJWs>hp)b;5lGbO<@zV|R1lC!5>1(j95^0~L`(bXNzK5Wng6>mJ0gCrje z7CC#Mo9;4B4%sT-+M`w#p~)dS=eBIplC5YHjc`5Ar9(*%j%a{0)uFzE@L4?h_*Amd z9sG>fX8Tk2YU-pTOLz9H%&{ZX6G#n5P`oR-JjiX|EyeZ|M@ET{e!mqZQ_4>RuIzBO zd`v5BZbY=|WL|!xR&|$a`Dp1dQBe1w(%xo0<gLoJu&}<Z!r3jxsGzZz(~21_4UL1E zWdAU4Jq{E*L8}3`4A#&9P8Cf1ySnljT-%EPEo7U`J{URoOGaYN01(eK(r=<FeSRIE z2$^T5E8mdH7i4QaT)0i5)ZbLr`E$%`>sB<g#R{)18(2I#Gs``xvf8PR!=>73P-+O% zLZd-aeNRxfyGkuHUg=Yw9_UKO_-ikNF+4A8ds>D)F1X)7JL}SG=?PtL1W9))T?y)J zFrKcoigGVFy+5)^PsxblHxUN|!|J!MeEy{*`mYckhmxCC2@t+(0J4ey+Ynyf(azoD zA0fQLgsdPVLe6~$1mBOlfMIiOgf(~eYwZO8IpN^mrI;$kFe?cQi8InoJ*PeJSB2pK zVFAJY!VG3J+2cuR{$Jbt-*&NLc{v_;M}wGxg1t@TJF59$UV}d(FJ^DJs9oF#^3@mC zIj)Q6TrMBPIl+1fj_f5zp=t5ECHe@eqTzx#Gfo8a1t)UqNzR-E2u$NIGDo4hQlKzV zEDe_%ZKhZNemYDPZbVmy2zf{9&nR@!BQUaQrU$=3`FGib#f(bHwM7=64ZCX#?8DbV z?;s?yE!YA(Rdf2@JYB$XBOnu6?&FGWl2I5TyQde7?02jg%CWHD`_0W_uwKgeXHOnt zzDkD9V4|*Tw!eYq+*sG_?PH;ezR1l=&5M~TKBC8$(g<ld!r&ol5c%&9TN1WP9;!u5 z@q?^cBTDzOUCQ$iD(5@ifnxO2T?$yF5?&7U{hJ<RU4(;p5nz6Z0s8`s|I2_x#o5Bz z>7Vu9DFCl~EP%)9fg(BuYDu#1`fG1cxNGy7)OSM0;8K}#`le?Oby1wg$@Ddiz(18f zOlLuW4S}V{X}Ts>HevRRcC%|<r<wMo?%z)jP`%t;bVOk%9$mM0^CQ%uOD)Rtt{B_4 zFEg*n;D~Am`uZ`-2db$O)zN`T!Xc`bsLsuiNf8V+!;C_;Rbqh!n`x3bq)7z~dan$H z(j`BI@Nk`ow>)wu*OV}slldq~rP=o#XinQ!R!nh%H8qNgUX5G)fo4G97j9Fe2cLpc zFNjQ+DK{IWYKD|4J`$=FNMHtz=YcRR*>!ZY>9c$ET<det#>}bMURIpimI_Kes+jp< zmac~XXrqC1F&4ZM<Sf4PKXf}7drs#<5#u7iHP)4R9vU?UgR7fRzzlM-Z(3s2dc>I- zmG6X1&9*ryT@DoajrmYFjpAW=3+_<dC_K7lcBbj`LwJrZTtnz9p+MM~pr9y7YQ4G# zv#OCR4|6qd5@^3CRmg|#F;+Sy@J7}itEl#r!TpAsR1CPRWJkZfB{5mLO*Vv^G4~U% z5~rbOjsNp+u4%Ws6A4*>8OQsNXZ#-p(kY5#k~EAcy!Dz@HX9YVdB}9ytFol~qM9HU z$>dG8>jt=0M%a|d5+%X{pJY0abf5k&3h;K7>yRQ%1nuN6xtmV5<$izg^S)IZR{G=o zK4d&L+8hB98tG7;w`HiFT%LX<g(s@b6xhP5$V{P0QpW@(kASLKq$;;WB|qs`9uI?Q zue5~--Of}tr03*EGtI*nOQu|M9xW2GE#_`b<n*F43f+%Y>{lkn8wre!VztQ>C{JPK zij=F>)$e8Qn_|I<k8n3F+3yIazChtyD_P!Gr1(gy5(UimVe5AW7(ZtZpSykMtIntk zi-hP>Ls~yAI5oC%i|zAC_<>#PH|n&I4q0i6mXf4%FZP{8;sqz$3Wj;c1h)|0C0P6< zk*1;`)1P|wLkxeS(2dgHAhQZS4@%WT#eOAxteYn=GrR`J{x#Jn$LM&y*N}goYW7nS zo*V`FAB;A8McBNxvgPPLiw$}9cdSZ<FazJfw1}cmbf&1Aw@To)L2Q)(Q@w(8%aGgv zFy~<mQ&{gbM-4wJ0lT01ubT}82P2|DfLW#h=&k-|@Ag0Hk4sdx6c^+Xe#=t8(h4Bd zf4&Bp&!qwb_3bQ6R^*!}U`BBq=w#xp>x-w8)ZAj|zJqOZ6>)g(eSejY^^%nWPsUuY zXO?k&x%Az+UgIVI<@@IqQXi3?D4YmUgg#LrTAwNsr8I<PAxh&^FcUe>qhMRLKHpGb z2p6o`cJ)qimq8lEHM*m|`{xIlTbpf%>~4EYk2W;$iUyl^t|^2W%?MNj%-vwd_84ub z{5Gvq=<mRz+qC8_q!+fBM48mSKr5{0)IAMBJ1ilArF+aK){#BkZ8q<`BrYZU?s3Eb zxo9!%P)zmOqLaf57yUI~?*PZ>HrXCa4pd!Lhcrc73YdqQWSNzg_UQYkz$0*2ctQnA z-L8W1&x|pK4Gj#TOJf^wFR`a1Zo%>5;!fM7LiF!5j#OtfeJ`lr2fSNtFIg3cMXL5O z1g3~Rnj5j?$`C?+;%lu^Tp=iS@E%T{Nr*++PBFh#k}~0OEH`NE$s#xGr?*@reQ?27 z(luY_hJJ`!oeprqevO*D2UkaqV5P<{)J1nil4GgXRqjzXVC542G=Qywsel6uZFuWc z3>|BcG)ccUZp2KqIT6t*8M3Jo)KR(1o|ZClNV)-^=(1d-O*`e!@qyUj;=b}=WxL$r znIB`Li>(b#uRQe{@Eda5;-Z&Y&<ed{HniBL=Ai%sXG>!TW+hMHu|Z*%<a;^a7Z3MA zCl+&{ZRj(N*Da!YEFBrlU|0l~6FjueGGK9lA>M(KjN<YvZ_;k3X?u@Qj~vph077CL zH;IUU%ZnMt83dI>Ct2<F=fH4&qJF#?`KB>50Utm_J6Ex&R##ys&nJ~9;2Amw9vK5o zVkJn{L^yal#SqPSj|73A3Gq-N<m@vzyNF&V6fA!6JGL&6ouq>Nl6MD@u#*5vq7b7a zVl<@k(m?o*q4qUh$uf~+`I{XQ^cfPJ60n-41muKD;xK706H~NRLonn#*1XGR{0#?L z$&AcqzewWntO#j@9=y*POLQoa`;RL4G|_)gM_4rY^nL)=G5vrp>Hq9~`bUX$iSpm8 z{Y))1)X^!RfT7Ce>uLK{hoD;=Dbs|N`ann+`DD@xXf#~Mu3P%ZrM(sWBH}VBFpy(r zep4J|xK4;LB(D~8n@t~a@Ax{I`hER={@(llQTC3}nRQ#6aK*M=v2CYf+qP}nHY%#{ zj&0kvZQDtGdHS3l{hl7<>+bjG{=4_w*P3h23z$clc}C(wFt#P)=Hf&}31;g3GSMZN zi-=)_{T8QPqy)_>8w!j=e^OfUj!pGj;rr#c9wS3fxdM*YzSdkPS<0Y>oJ~d<SWIcZ z7fG0j5pR--)UXLyZYm57hqPie$!suvT1Q}+JjeG{qnBt`8jb{9#Jz2Y%qMYpV(!dr z&pyA_6WZ2z5op%q;*b<Jo!Ofu1Jrk2BLuinMnAymov0pUb|H-dC=@iy$=NpRMznkd zbmNl67w(_~xw~#x2(v3x=w_`nQqnBzo~^*oDGW{^DKXjHB8LnOgwlapGt(;a`-2k2 zXoll}(P+#T*QO^`+*ZFsjRNf(NShBb47U=ohu}vUsqQ5{Ifol`auIVP^*41?9Mpz+ zqtDGnGGj6EnVj(~y47z&)KbIpi3*6L#JI>9zGLl%S>CYL;uvQW`lDl|S}KgtlepSu z`x(4L3yd&1bU?7X+X%lGrd1juit2;7a5}6lG)+NS>c=MIMZ_QR98^|t^lH$+%cBl@ z#%Gz&%+aR~_!$SKG?>`PjvsrE4|z)Tp59iQOt~IcsW*XYun|F-@+$7sup!9HOr=V~ zk<&A2?iqiF^_6V}JMcO7bWnj}DA{Fp-*26{Xj`)wCdl;`h7y%bl0FFn5{l*YVSKnX zXvmIpDj+|N%pu^wHRKRO1g-2WUtrWN5hSVZ@ZjjN6?1!Cku=ss9#96+wEqCeoKo;u zsH<mxd1cF&pl6?y{hWUYYr)bqso))071@_7(VKm6AgE9vqp*VqY77&Q)-6Fa=OkIl z#@-UTXLMWxYE@;4e??a~#A{1_M%##5TtigT>^vc6G#x!d;Kn3eG`GY!{wi*E3fFc1 z%Ui8nSGA{Ug4d%zh%@YB2??xHBKY;&KDPs**z@auTkJsvDl=GrYYe>p8HNA1y3T*o zyo*$~m2gy0zpls(4B8uzkP4ep=F|miKpP)1P}hH`u%NOeL$9pKI6_IWw>vzOE%6Iy zYnnZXtPgV$8;FV#_}thz;!baFlK5Ld&4(Rqd0oBUW?$zxC3gS)yp;Qap>Ww7l|IK1 zY=M@>D$GDj%1pI2Zx5!%YRpic2jg_dLGQNA(h-MHxD*(Pz^cig=z6cnT5f=}%t~XR z@%Ev<<x52G=-8aU7aFMouEG&ZIsx6EanYo}%ywPW3Eb?_wzJabQt=>Z&p&7{ed9%B zv?el7$4G*G=3%>{%SA9U&$&B?Y?+Xt%3KkwfLLtAoHfm5Te`bSye=9qK<KlmH&SM` z)*!>!&yadCVH~X(F~ub^Wlv<a_Tkx>b$k_>&@4We<^mnsXxUQC6V_L<!o&;i)7#X_ zZH1LHeCnQ8V9y?G;SnJPs!Y#uD5-Lz(qEQ1zk9G^K;x<vtD{LsMoL$j*%VD?=e(VX zBD#B(uW;*7)*><3W501|0vM_<CLgJkQYL%8@770|HJy#W!PexX-c+4G(uN>|{WO3F zsw(<mqlZL(KA1?f2``hfm}>NU7hv~(KLwyL5?c`;D{lgKn~pt)U+1|B{+^SXS_d1y z9a$y9(2`Xc1aK|gWW+MNYYa2kGG=*dqT-R?BKON{HLy3gRPHs!PCJN&<PpaOI%_WU zI*1LEH7TcaHGTi>lv$>j8^>mp*AC5O1QKB(bst22v9Zuyf6S7;wDByY&u$JH!?d^( zF^w?!1!EYaai>^o-D(m`T)1Kd<D}9uO(XEtLTDy-6jd!k?XXzq^Ugeyt^ej{lp)4u zGxG2)YE<Lr4SvNLok77hL4XO7P*U^HO5o;K&Bl*cDeYFhL=vuA?)yJVx}zno&lJi> z$Uc}){ND0zC2}i(@L|_w5n`1JTsq0(nAv0HG<r(bG2e;9?_PANrHA=#pLK@=Su??P zpk|s?`dd{YHfTNU1>r*Q`I2!QU$Ws@4oVt-F%){1aONtlSPaGBb@dkSgEevtCUkx@ z<^siYmE7?meuQ>xo&C70Mmd(04t{F!r~{y>10d)q!xPB#O+D%%`D{R#?T&y%<$N;- zjLd=!>^qvyaZ2VIWP$wxZ2Am{gRF?hT>BTf<`w#i8QWmY;tiOuH>SR!RlqmKUg<o5 zLR7{Y$<%fQZ7Dw>;Oa%iSFo!MLuneh3>?<R9{b+@$||@{dWZuXTRu_f`qh0$OGmv; zSkBYacE^kCT#Z5z7^uc@22!Mf)kiZ=We^L>_g=T}$NKTSc>Cc~azUt!^<10V5nU_+ za|q!~&HuIq0gRCMY%7@5$MNcuBHJ1M5k!cFK~zsgCN8eT4V#UCg)I?to!^~OI+2s; zLnz%88=#u+lW1~CK9HQtSi&=)aj1X;>G+JT3lTM~P-Yi=JJ%qIZCJ_$PQb3?DnaP5 zyhpioaGGE30%iAhuI0X-))nODuw}+8C<4TP?2>4!jg`+IqeBt!3Gtszb%)vDucd$3 z{{QVJ;NO)06lI-%DF3|k)kWvPm4SbNsgy6mYE+O!_)z6hq=8W42VNRB;Y~(en^!m4 z-l|z<4W(K5-f<XiMLscxxYuofdgTdRkEgP|rg@!?ro2BtZ<+lmX@>LkwME&hq{PQZ zeo`lqlkbC*kw}k;|3Vx0*zKb9Z6?`BWf=Uq%*tGJnq!~^yAQTbS>9&j5o^=7UaeWY z1}l&8X^=|DW~Lt6+!HV1mYTR~7*4ZJIyIxkK+~mKj@nvZiY9ZHMZ3~wYHJZocoe|A zcZo?CRA;EMp~1$we8`f0QnKMR&9J$^f~4Zyu2|{eEyZjFx|TbI>e|>Q8c{VxTUCWb z3VrV2K3H`hxa)b~A|ByPT{XfwuA)XWH%egv+=+H*S2k{a9PJX{H-jNBFEdG1em<yE z<#iBihiM{pZwX(U#R;v<Qjs_tt7AEJB)c*UygP#9Iyw7_B4nP<K{8wzPX0)s)n?Hi zTr<{**G{q<8)&hiG83c=2DR~hq$~P%o;U*N;6?hP1K-nC7{WZDV4(5!g9$yNBLc(J zmF<zzP-zTwdw<d~9DMDcV2a8u`>$0Si7Td~H^<af-?+Y&cvp6)*e<H_=w@8jl*|1x zfCPvn6>|M5sHf!CbQzw><#bKq-m(gP_|?tkQUWd&fLJO19si2V2n*0d|8ns5?JnjD zAl@>$Qed`do6=!VnLY+fL(#lCI7cnl2!y+Pm~);-8AOJf)ioA5k@^YM_F&8_f=Y-T zR@eHhzseh2mmmk(4QaL=z>2tP{_`z$Nr*$tPh%kT2?@bRh+q;;Fi-ozs7I`r494Ef z0@Z5t2OwYtL!4mdu^0{=1t{-2%s&z6+kF)0hYdI=M13poKwLr+!pP%K=_3STA$~^0 zx5ND$yCd+HKI}e*h}-argg=4U@-e139QW*<pF$7$mp-~r1yws`{IP};&&BpJ(9kI- zi}&L$pZ{CVl%wI!y3qGe^6`Df3;wsx_kWRilug{71x?HiTrKPz|4lwovay@{wiUS2 zq;SRqVRM;yWfB2n`-RH?3o$D_A>QC3lyC^4$hAVsB1v(?H`OSD8GDlN{aXf$&Js^M z6uf?rm6MZp%n3OD`gnYV@CSxA2zRI0M^Z#qB{4RpSlKh=4kpdWTIbnwfMl$yM|OnG zZ(H{sMyx)|IbC@lig=#mm<ui5XQFUfXWPJ&I)9Gg6KdUU+043H$vId5>`&sa=A4|K zjFG~1FJ6?>rBfrR*nBI;4obFG!GT~+*&TfMkOB|;&AM|?R{F3pIDmIt&|9;?U}I!A zbB=k{wN!f&bx^>9fVEYOJ-jAAuJL<wvNXqPZPU<Gcf-AZmbJX7l`Je%KeB0wx#b!e z-$jSXW}cc^yF2jP0wmx1dZe&4Sf$>|YOAM6QZSNRkaY7mNq5Fr<!X?wMHk<gu(WD+ zKsipe%+@bwD#GzR)PYysDhl_&j$i<6kq07L#coERR!gNmlmZx|Fcwk03?r!Xcx}X# zB^B?YeZ7<Q3BH2tUv{w2<N5ukYmwVBmvj^Pii6W8N@tM}$v_k^@!^)(s{4p|F=5Q| z7Vx(M<4xkpI3D2l=nxpl+!4c;UrZ<OYpC6!10-GkV1LVTF_`rbTl`1%F--TCC8+i( zHU>hk0iy{AXm^MwK!p=aL!5ztzv5~3VM@a~{H7>``R$y9bz(6$NuS`gcxk~-!BdD& za2gLWgFS9_!ALfyTDS%Zydd14>)He4w*jFGgad3EM#=BuZ*M@UpWx=*38ICG|J5Sk zpTYF;7)lM?x4dN$_Qwx}|5k|#x;Q)A*?teH?M)n=Elixg`58jy2DWA<(iTq6Cbs|6 z535pDM+rp@(^pnDF{DNiw5a4~i8&vmVJ);UmA=jFA63M%&lyrWk~Y&*Q=?1i>o<C? z`SB$jJ1!*$YcnqG)r_y=*!km&Dk$?5<4`P)W8Pz)Yp<N=bL%gU$6>u6L;AxrA=8E@ zLs_BYjN;lB$FjfR?kzo3`WrE;_V3|0dIVu@x*AGCGbQaL`Y|lKibB`1yB2Oz1iS|; zX)=d`aE{7O(^K*(8RT2+c$geh6*R^<k1TE1Zwm$91wASaTUf(Z3a<N)FfhmgC5Wt% zwyRZ;SrjW%npNg%+QUs{<#BpZoCNWiPh>?2^lD>Q$vuaKZa{g9`5KJp(9EpMjnvGd zi&@rFrj`;vd91dHkE;Y*4RtGdwHdQTj0X2)-FoS;mlAiA7r9no+lw4kcEbG@U50hp z@tUnwk7FKJkv~~s4$GuuWBvKmc6qF@7Rw}3UW+L<oyS#O+{MnLLycp_jfce{A8g$Y z-XE8zHdbULtM92eVT_Zqe#;5A>)cju&fl;yU($ohE;8#h(2hT#mbErt;XkG2l$tZn z;8{qh=r^Ew^JS|}U1`|I?12P!gx9Tt4r%6JtlpYuZZE+`xzzEu7I{@wZU90?7i<FH z*J(3iyYnLNX}@<6@uFZ&9_Lsp<jZcXiw6^KK^V!=mZR4M8Pb!pFvAr~G<PW8@m)wS zw#{6PU~dJwJVJ4Dr3T7y02RgtLxG*)kG+A|1;Cc9pi=8}w~*a>ELHVNppH}IQBmF5 z(hGVlIhywHFI>fbya1tV4+pe^s#u?u>H-7^XH0b@%#B`dI1#+(9uJjaY)P)MmV$jg z{F9m+d64q6F*@{=SOmsmBV>=ZH&YhS&`hWbf#Q%Y;<k|d8%gg|yw6deR@20zF5|Pm zTuv<+Q7b(Svye!Oz*cq~&NfAsTyYCgLd)hp=H$@=03*Hz0vjmhvR1P(CtAe@=^(Dz z$KTvG8s0vEm<yQLMf-Vc;#==)P!HBofz1-XON$F)2*3PK!QlwMMbc8OY5X37FaB2O zjE9hF)<0rDwLkqC{H}j=o*qLM{SEF&@rb=)7M@!*3;!BIi2#b-9QXzQlLmp94x&~M zewX1n%-aTbk77q+m|;RIrSJ-7w}m_mcp-v|O5r%QFj<gIzhP8k6<6+W><D;+Ov9wv zUr~g#S-1v(-cR&Clm|2RZ_i+^?hMqxevB2AKq9;+aRTAw!niyk_yQ^X;Xl$pDU&$J z=e0)SmPg}^K*=SFg9;q`$+rcvO9~ualmknYHf+RB^k6M9FJU^kWFWPYh&z$F+=w>x zWX*g<NIqEZk+V<XoK0W;!VukAn4;+1!=+W5p6>~}ACR_*!UwY>{)O_&`Ex1oQlzLL zYsNdgFL%xdKq{Cf_s9t%6Pu-$E0D|S_2-e=o;Hw<HIkLxiJb6a#JsmyG^&YaehDvx zU<jz+P&ys;n2jI6@8^`<rFGDN-`m?CK7Rp~Q_=QBT;v+0HfE7#;QD~MX9jFh^E170 zj=1ITdI!u#Ffw`N)@)4;L%d7*`hI)oZExQ!(2rV}x`pCT?X`5Ykd{aE6u|55r5O`s z?(-Bkr5F?GUl%A#P)#wWjO!|P{@g2zqytrk(>%(anaj9v3Kw+~Rv8@UyMAjxD1}h& zcb-AQHtmR&pQE8uR708#V$KbREjvchzB`h07@#(mxEpt-6@BL&30}XgHS4_O|IZ$J z<%VDs_8WT-zOh&7zlFUrCbljT&L%eh@8~;424esQnpYxUk$(U~oZ56pxHzX-3Z)+L zr%5HPC4MJyW^%~F%yYhbHbb{*%Y8m0(ujNhc5Lc_-6f09%x%?QRmL<uz-h~A>b~pP zqkHNo7sKxZOdoiWqs^W(7JuUWg$O=^`f_8ml(0G#h6{baC6b=o9!|=k;Z^Y$+;YlR zT`Z1eS81pgSJ&Kaqri5tO6hd_(ov+zR<~)TMyv{@Ca_Q|+<ibs<K&p<QteWmS1bT* zEp6-^ZN8Fw0N)SAwOBqqr$}&urtQ#DWJkH`timj6G4fpba&66x+i(fOnBFsKE}ill zgDZLtgTFDjF<+%tFvMHHr;Rge)C9<;$}=vy-SIH8QGQ#yF)Ogu(g{GWM*I7z?(`q@ zUD!};C9^j?&M%jB8F$>MQyI_Haw2`RIvit7%fbaR>gw~DVzXk6l8ll`XuC?iToXrm z!isCkR)&J@CjANg>Gk>QYc&k$`?_0`s6L>Hm$0|w!?|3Hw7blSwM)16BeW-zcCWQu zPX)-2cR4<XcRxrEMh0A|OO*ldSMHc8QXXCekS^0~k&i@C;>hXelaA%!#Wg+JY&K}n z`9$c*G_<t+f|(!H0>)EmHs<^aEt^vlFy8-#9dc5AZ&0hfejJ^|m5aP&G+L4J;hPw7 zz?1Dzp}9#W)60I=B;e!s)&%ypuPaZyovqN{f<09hX+G%R6UQ7<+Kia%!-^nN<afmC z>E)^%GMHB80x;L1Do?%K8oX%;#Nh}muxuf=e}J>A4%}e1hx7plw_ov(P~p3@dyo;E z?cuE{TZXMDF#Z$G4bEo2?GJ~44>f&l^$W|L00q35QAkZMHnc~aIRH((dB#_`Ssq!} zgTA|1q?LY|c8(`m{7cU%mc<FlE0qnKFke&uk~9om%_{X?fS1cTW+|={j(Fx&J#!JF z9XQ4Ms_0HT3f*SBP}aKqO1Hs=Pv95q8Enklt-KA%wa+uC=d*C{I?1H*{Ol0pSI#LA z9AV!-@SEH1Pvjo<5ByU61HVDqpFd*w{rtZcP=poz1h=I51D-Hvm5&$=yKjXJ!;KIe z;yuhAfi@kHeD0{W4!;=naQZpm-RGd9Z&XQ3--$R*M-zUyPzlF`ZXhQoj(|qzIH<Cb zD|HjM!F^(_-DPyoj+<EHT$TdD#cmLTGHjfALVBmkLUwK_;f4Q*Tj8G)hbKHBa~T8a z+;N2-LL=XSPmOA|kI01{kTZtPlg#%jwC*O^{gDkRu@1*3J%e>yM|#ER=Nf_luAV~f zTRIT04(`pScve$9)k9juFUl=oZj6~?`Rn&fnNN~mNUdx4PLK>0&`^7Pg3VoFQ}9lX z>mJ_JzvfhwpEczk>&6f5BTFcoYj^(v?`)B;S7j)miJ5r*&>0M+G1RfqgJ$8yn0{js z!l>R0@e*Gc#t;(M0+>sB%qNWC4RA_s&~ea!`UYQep%03Gz!zzrdl073MVgW8WBw&V z={kh~>jU?|t6|qWb~b{U34)+*Ysw7)A@$<}zr)M7X17!?5x!olAdF6S?5(OI798K@ z2DzIAVg>h@u^m7n2J*xwnNqlitJZo!z6g`Ar7|1hUnVi$f#OM(?EyS{5}RJ;?y=g= zcPP~7f7XKO92_h65BTEp6;%;^8}0ESVJT0WwH!?5?(<g1la5x;G;&-%6IC|u8%=wz z`~4^Q#(BB4B%uEIks|Q_&dB&58~=Y@#3r>o^p#YW{${5&RQvce6j`exB0{Iqsje>6 ziEH%|nIx$G3EwZYp-G5eAQ6#=a6w&gP;>q^-E`Qd)z|3(!_A(>!h7CyFcCF#cs11? zy3Tsm)zzIVghS`=<{xQq9ly@H=N|8TF5<c04#Njy$mv?L2a8##$%$0PF6tE#nPcX{ z!7=BzKr3ev6-tFoGoLxoDEq|@NU>0seLt25!;2S!m{Whn1kAnQ{uV${;S%rv!KF@y zpRYhFqi9hVDj1NSZ%`vp0Vt)yE1P90Q!Lf&x5uiOW#}8=m*y)jXA$Z*$Kuo$;xAh? zC&SB|qk$V#2FzK*9UeV!&i$tDJ1%uDe3-ykJU=w53awrE=_58847R$VSu#fim!eFf zhpnPnVF2xyS6~q#Iy^(q!j<YvIp$%klO#H+T&)-tdRoj=-4L6kT28^CR#b#-nqkCe zfmc1p1m`q~-`(Io<p}qvOj5`w0t5#$vHM5T1{?bn^cAucb*dLRvSguZE|P{zp}$s{ z9J>M)UKJXm{NP;T?vW%#c4<Zu5N^?(c%}KOPHP0PbpFlx=$ztPNhoe+?p(ZDFG^N1 zn%C%@DrshA4sbdcw==%bPMMmoi8QNko=%H6hM5Cna?SJBCgIYi@xg%E8LYcQe)TMU zu`BXk7#p^HRVV*(UO1?!UA(K^i}%Y)xlOwt>_O}H@OAI+ebKw%Ym0ahHA_XoBb83+ zuA_%;(cEHiLVahzQ^vQMiASD(COhh_M}Ix94XYGyfT~?KJ?<@d2Vo!|bI&w(H#zQ8 zDAc=ZvlvmY0K1g(ngB(KW$a5}0QmKoc%xgXSqS}z{HqEp9P{xMXOr(+N7<_ioYOIi z=rWj4CE8@K014_tSezD?jjDU}BO2KRiJ+|WWk(rj@Wg1BKRr{*4i$dA|4tQDlRK1$ zOP9Z!?E4*=T}ki!!EsJtn|}RpcMr<ls9X6wp2nGxl;k|JkMh7VLcMn<=fR_JNAY7Y zbL6}dj}MlJ4pt^h@s;~DGy**gJ9GV$p%RoT)qJqQC6R-$+-0_U-vi6!xkN9|73b9Q z8h%{_H=oX48&K6#aOY+en<)doOzMKqeELQ+?~KTL{$9@G&dWG^kkB1v+g(L2vw&e_ zjSjQd@i<2X&-~1qO4f(3o<3GyliLX!au7!P4qWe&YWHP;ldmj(c3Dkey{DNK@Y;|0 z4NtpsN4uYUHW8W~T)dQ&HjKe)4fpmUGBelDqArp^zklYU5hMI!HF3zmO~;J`q>m1M z$1GpkG!6HoIc4^3%|Ms7)G<mU|7p>jh;2T*&66ONmaXQK`#m<($V<(@36~40ock6I z@W8UO{ATLu6wEaSUwG<S^`PvI39LLQy^#A@x%DT^M|$DGbR8h_N3>x)C9V|APfj(k zuF=bg_azK^>3UXa{IpE<%uG{(P(y~l*7=M89@RAyoPKV237l<n626|nQ)k>PAfM1Z z#|JY!sW@aislg|^#}l`XxjJLCi9KJW92mORSoMt+5|RE0M;(sDWFVkwzzhlgy){q1 z#z90?EVGFZNevi{U0E{{+?y$s7Mq6t<<}S{*O7o)bVbgEj;W{-1J_9#$6xE~v$n38 z#iEl)bdyi*i;lcG9)l?7AR5Q**Vb=?Pp9HFEcfW83bsy+cFzOEIb4n;YKv?Y=1Q+o zbW5cpcJjek`0>}FcK?b{R8G3}6i~eUgRALT%Lf6u!n{Gn=A;<5ICcns5caAGyllK+ zPbpXoRlEo*Snm@P?fIvP$J8=>=n}+rj^AYp?9pok&qZ>A+1pCqO+NnBO#7)Bpyr}D zJ$;u~j{kGmqE76!R#umlXTZYN_9~_QSaDbr-1;jb3!A>E`gDn-F|F{=d}|#>XpFeo z+;4*Ne*7bHa>HEN7r_p{W_TILw5gj67zD{GD+It`sdjl4dBp~ELe2Z!tMnGGwHE8J zJCs(|4$`U2!OY42CXar_Nt!dmIv+cV?ddD)#`G80l4sP3W#r1W5%27CZB-~Zew(|a zkVzb*Qk2Kl-w4J~S<cw^2nX7;t!1w>csFB7Dno-5KBQvG-+<Ot9C!>o`yL=r6H-58 z8QUkVZWQy!-Y5Bbw@^7<jzjK}RlSCpQhKzL79jS!(>xr6Qx<>lGiQ*i1q%lJ9T;;2 zF;zZe=f7)7ah<$fX>+%TTq<n}fJ}2@vo=}wd9swM#Z&Y)6~Ow5tDpjxaH(^QtlLa> z@a$=4u)gF89bVjyLdw<BDSlg8ja>6Jx;w$u>7~Ey^Xz9Z<EgoIPuYXNEP^709Tcyg zfD$Dp9tH+H(sic@g)}E~N=b`ViEO4tl%$r6r?_^!9jaV6`HZFl0n{sSWuGp&fw&ul zJ08J4N;ZCR3>PoaZW=mmSXkht4Hv#}m~7mf5tmKUBWK}xLpJ`h18tQQn#bc7o7@Nr zRNcY3$&zlVts)g~-h9$SvLv_jnuJ{W19x^#9>B#j)wg<Ib;DFUCsE4`Pv6Bmq}t^T z#44=$R+cLJ;yxjkpv860sew@im(x`zTX}46leo!DB}6bs<*qIbq{D0924j!3Bg;J4 zt`)GT#i+!G@zOzl_Q3P0;QdN2y99bYqQb20pzf8qy?hZdf@74e8?S$|ZX#75%?@HL z+rG_De`2I1IIqU$wLVZ998l~Q#_k2&57IkwLw0@hLvG<zWG#O__mnhS7u`~Fp8jLM zu*~7DL$Lbn0lTwm9_OJ=((dd5y|YtGd_N@6P1#co@O<Kv@|8ai@jz&x`i98+<xE4w zhit;XbegoeU>7Kx8|l-2@*VCN!#98G^wuu>_s8<2AM{SQ@lMpHaJG1Q_SXfAuRI1y z_XaH*d@`xt<x*m;#S)T{tM=jVb!VR3H^?L}r>1Zl%Tm8MLev4|G*0F@ro~WfZUUq? za_)jVjk+$^t3LHbd+3~63busGON<6I2h?bV!Kc!qb-mg;@1`n{sBDO%61clagHm#y zuvdmJ9)sE}rx^Orf_psa@rc>^IYCVM4HxO9SUOoD+I{wuU@pv5egsId7;Y}8Hlf!N zhsv$++cf+M#jH9}z{V9y+X{uQBHE7SAtOt<E-C*75*ezS2JcX5(6Fu|k{0hM7l+nq zy(Aq<liKeNe725B?7F6v6KP$I<S8E0%tsmh^(@193Q%>omT1#%wJqug7%yVxz{$(q z(0H>DcGRY?&_egx+gRO-IB-=m?z*w-V<(Za^X<KXO0u@?P!22ad|gwO&AzgsH#&L% zGMTJot-~_5SPhM8YZEIfPXYtqs!fHLc`Y^N3owp%0Mr)w)N@k}2LQ0^M5se$wsKI< z^;TcE3%eSU(YP1P9byz`8tfCP6c@?4O1lI<Deu#lpyF#s^K(O{>&Nl7@8E4fQ{TSb zGuNGUfH!;3z?o-n4b#uCP5gJK(!|17s{Pw{f1s4*J?1^i;>q-6AiYU3xGM)?@2<u+ z(k5?ZO)Cw1tC9Jph2<>S;*7&SLO1C){zDq^jFj7SGC-}2($`gSnB~O#S>eGVpDjGO zvX<9?_!zL6;+Uht^+4|KU|&G!0i(oz;kZLDEDEQosJ9Jc*ImD^#=f(UUc|noUKG7? zpvTHl!XTx$rI*r<6Gy=@cv(e^b4lk=dth}S+WcYt5{mh)*4jY>7vLJ@UODk~!q2Nm zx@IHZ&BH!q9|7h)gBXhHIZ3NydqdJ_sPQ@j1Eu}4s8-?$N(>Wk8J|Jzu90M;YvU*6 z`yO-!#Gjv9bcP#aspaVWVouv|El9zcFY6q>$o$NbY(lNe>NN@ctiHhYJ44nR6SSLI z!7?p_{(DhrVD^~WLmMBmE!gb+I*M&zSnE4&!$V^%OHEiDAd{^voAM%>ZacF07z6Dz z1EbLt)X@3i&xFjJN0jiJ&@>a)8!=uqg_Nnbt3~LdL_M7FMRhhsbq@4b%*ky82+q3} zFbl#tON?@9gSR9<fCtj{t9VRmRaVjEG$N>Uwn5|&44u?+qz5SEbQrFs$L7(kFCz;X z6=P!xNr`M^A|DXB+BHj=6$!>Ad6CS-5LCZ~rnCdKJYuTG8Ip%&M4dY`6yr-LNIYZp z#=K#0?;srRFn6YDwjz86vahNSq_S~&8x%it=Bnp(R8LHok8DN!z+l)vZ)C~ASyF9= z1QL$f4&Yeqw~p+t^)a_Zu(pK2w%8BS?5`OfdW~qdY3E?2^c$KCxUG(d+<9Wj)yv6k z#!W6Ly{sXgFAuh~DYl8l2Ir}KpW#IJu=@AR;L3gNG+fk^(a1s;@kun>a4Wpgha=5@ z2-#K~Q~LfM@!Mf>2c2H!EJ#27S+zbM=!*Q6+maRWJ7Y3_`o2Zrb2jj|K4pdxRR(DE z20X75EM&kNidUnQF}fqqrHz=W0g>Xbxe;$9zpF@=^n}nA@gS6hP%;ruD0(gNa@tVQ z6leY1z&t$6CXm)_%&C(1B^yCma#4FHV;#zMZB!@e08sFhUx4qu5;SZ<ZRnp}o~_)! zoq=j_2?aC>{pxu2c7Qy8rW5WGD&75~bNBwaqPaQJdGw<O<NSV=4A)c<gZf*tElI^K zQPO1gvcSx;{jtm+;j(s4ROvs$)Vrq62h5v%`4!A?M9D1=He~LsZMP4l&w!0?Ec#&O zf-R(>@4wS&dKc8E=q`jEh}$isAtamfoSDa@d-j9{szGXIz(0NvXuhi2EjIFHQ<!x= zr5%)ri*vP&{Bk3pJ}opsZ&ZJKjF9S%Q=b`r89)^#U@#<mzBa5xScwFIf?_=f6Pu)R zwi{k~OjkdlTMu+d!3x2uf{&)3IOz!%d}fQj>=~ftFsFt;N+fd+!BX|;=M1@ew;!3r zB-zX^G0r3t8BQHvImlF4i=f=#SFykD&(mU<^i&-*lA(0I7Cs_Nupkv?B@fP1vNZuG z51y^4UErp%y+tS@tp#pRZw1i_vu?u|aRwPX5se09%1hud#@P-buLY~NfsxNwas=7- zdpL71&EmEEz8au)#<&8!*Th^6*FXH!Eu3_ZY1$F;gv_1k4>db-+Qo@8^p4cQ?LRhv z{EF;$IJY>`X1jo;!vIq)5ASqqSDA2g;QZXUIixF3my+rz<LGD`r#eck6iWESyKD9J z3*)5v;%gCPO?oEy`)k|IJ>~S(ukQG72z>=&d844-^?-A+54hObZUoX(G_mv}orz9d zR5?A?C$+cDV2W{_wH{D$_Y#s?{dh%-raXE~Ip-lRHjdv*!$x?Z^cKu`v%YCj`vzoF z@7^Kt7)rhs%EDc?J(PPM_u0A({C286Es(=){xW0YmT`C2q^}Q#$^$<3sSmCYL7x~w zuUzg5jwPvGb?%;D3o9}+tX<0h@JHtJPfXf*97b?pc!G<N=n@3cI)pBvgh)H>zeksg z2gh1R$K2lADW4h>zIgTg+zFr6Zb6@ancfgUVLsu862vtJKqn=JzE~jM!6&oij0S*k z82juYz|(Lfmh=$EVmiyo#_oyXbHW5o@~}o!nHUun6sn91G-nm64-5km?XEe99sDOx zh=>$nMKN3qoD+g(ffz-@7z#eSe|6za92hRQQ5H~VJ7r9HNFOIaIa3ME1Cp4qbc$$T zIv3X-p);ai!L#QmViw!dOSEg{Db4tvhJP0IDdfT2QkvkXVz}0}&D5=-(*0Fp3Uj7T zB2$MLYs@Y&o5wzr+|$95b~cH~;FGv7R<1jwAPyKx!$E81Pum2GZf98IFZ70Ziaa86 zl)|z}V14QbD`K3EGuh0O7EEOVBTg1#6fG4DQH<$N#-30uHp+A4NTp(~6)f#P9plL= zooHsR4BQ`@Xh7mvij8VaRjRA`{k8&|aZ%a0VHB-Ug+>@M@`3L`b%^zgDJIBRKG*Kg zU_ME1>BYDit5c?JebZ@O;-$GZy;%K_=oSEnyT+Y4wkymltwN0NnPzniERghT4?nVX zi6f30CXXtLLEd73Z_F^6LJC(wMf9_TpWh9egc9Vv_5p}x#?hE|I4|A9?NoMkInIXW z<<Qg}e_!5`>QcZ7LbK)c@W>&xx@9q9NwkZSeiJ%3kV&>bGhw_wmY#JAvrZq2{S!}p zYEpnaFvk1D{JaP1gLQy-w=$d}UX*+dM@rHoO|uq_oC>*zn!8rAIG1F;Sx7Ig%erkV zAj#v467NL?ieHV}vGX^*v^<YJwakc$ra}o#|95~%icW}7N|JrBBlPfSsks7OAJo|3 z#qGF#sUv%p@>MVGSWt`7s`WBRaR4}0nyM`pl7Q&8E>t`2biQDeB3jjk#P%NMc(WIC zd(b7!eda_J=-6B$o;Tb@PwD#XwPee63fZw}_RL1Wd@#>_Z3PGb#scrfg^1rQ{o_WQ zNq35d@aRyNn~v-b2u6}z>5kzpd6?s}*{I}>LzGhPkF*E!ellKq9?zu2Ei87j*=!+C znChX2n1#Bf0wbiDrgC^IcIG(ukaw&lacro%gR-?oTb>kdWyIj@ntE^+T2y>}t4Ayr zUiaxh>)z-6MD;N_=r|Y|7RK-1I=sPi59*yDYY4i!d?S>ny{}y|?tX6jT4GB&2jNL& zK1LyrfPy2D;uEyk-)ahl9Yc+KF3MDPhQ)VS*QmKp{(b>$hf-B&db`$#R@znGQROeD z*aa3rE(r0d5=u0(?lg3=T_PpjXyosh4#=Gz-gdQaztPCkhV~8=sb!baf$EmLvrL9Y zSCQeQGx6vcL#M>2W-=%-nf8to)ju#nTOnKNz&xs8VI4~`&&K*F)Y!(fv4>h6<xkIo zR;zeeTJCmT9z(WO{FAgn?8~hF1pS$(2?Xyw4llrMA&reqq-Eic3SB#_>2rW87_f4S zxd#^Qk8Vp9>A%GAK#2wkbvV>m7MC6{dESqg)wXT$^WrCq3OHz4tlY^wp}dIofdfSM zsC@7Q%F$x%Kx>aWt-X4%^0VLE|F#I>SoWXpqdLcG$f;bqcRX*M^8TX#&*^4NNeC~_ z_iAbGn_0^Ie_t)x+S)lAIGY&%i+1v_31_yd&G+K|JHbLiU0uxsMT8ccb`7zovbqu6 zA|Zbcyn!sz+^01-)7YdQ$BjMQ=C7F9+o+vyB{QqD^P2C4G{CQfSr%}-rSnrzy0PE> z`KtB!kaL>z+4}3__|Wc$?7kPCm&31NP`-20-iBD-mIaA%6FfDBf?X**?5@Pbij7Ih z5KcHXZhM(9LYe9vE4bxDW&k1mwB5<cpiFD#vb|J4u#lGssEJ#If!`CM-fr<^cH(J7 zJ}q<rXZaLUA)0+P32<mHd*g&hZ(4O!{!OqFV&O_gy(Bz>WsW|_tfX7V?#<brP-JRG ze8ABEAbpc5!9ln7)MqIkT|zc<<8+N8<~pW9im5F*4ro`_QFQR=HAu{5y1;C7jq*x$ ziS@b5H+h3IpL>$l@BBj}_jPdbvAPq~Z;j<V<*@AmsbwkMVxE()0G~T$>#>6-HWo%! z$cTg7%*M7YHcW1<H;!TepT)2HWj+vT56qk_H{Ln60NGo~y;#1npF-JuGy{{F=Qmc} zO(@%S(Hdv6hFTUA^?1hqI9<bxanpB4Q%zM|0w~EI(IXx>T?{M<RhMh(Swjt!{v%Vt z<P2&nzM-ngcCz4PJ4qcbl}fX6MO(x{2M3EgU<2m{>mAe%yNRL0eghJx)-QY8zUEMk z^W2W?J`;lkf*S=6t<J>Y?}Hs2Kt%BsfL=*0w836O00EoKX#F$9AXF$5ow<ota$`!u z8g3vum?3FbN3yMKNn%`%%XZE+JMktlXD6hNWY9k(4Ajrc3R69Fa%MSL48-g<A^;i} zgl>vCx>Jpq8TK>Gw{U6uz;q1xiNb=m<^qyhr&uS)UAdlz@tDhrHPfF!inX<DU4*O5 zy@7OLXfXADyg;EBCQ&oAb-_z_mEupJW(8;7T=Mx#W8_WAc$+s;iEn2<SC%2E60MB! z8;Bi_th3+9Hc7yv4|Ntx>G~W|@s%Y)<??|GTEO?z3r7lWzR0FI3(YO#f!{{3Kih3D z!Ld{^0N5qq9-kiaFe}i?5qx%IZs(hnYWXt;DU>*quJ6P&RSi9jqo^-R7;w&Ou%fW) zJ%2+>IN5gPSSjgbKIA|Fllk8D=kD(!B+ng2A~MrCLP%&vYW){n|3^~Ui(i<*$Wl}P zx*VXz=D0$@n8kb8{vrF$fMZ1yA*?j)dCsjfhHr$$-F%rE0veM~e(o2ExgTPfxlG~# z#K0*6M+&|M2+k*%&ApMM1VE1nd;v)=u1kRElNtGzYi+*z4{da1-aZ&tE_GO#1#cky z<2q3Q^NfY2^Db@(pPT^`N2o*A0N5OmOCWRz0wZY2rUI9lC3$aC>87u@a9&21FVe{O zR7MjIw4fgT6A&|UDalvafs-eDz)SZ|*I?!)E+<-5c)r5O{RZLM6<9md?gZEFo0hRS z%gXpd{C42W@<iQsev;uAS|4-^SSb&7K&BfIb=>XU(chy4U-(7Dr5+9_5b|N;WzrPe zb^<d)3Zz0*(w{cMsB{vZS8?9Mev2;{J19kG*Eh_8>=5ZLwKYO_8@b}s*eZ$};$3n7 zgPaUXF3u(i+L&-?61~guN~h>a#;5wA!ZuR56HIi4dig&4h3$ha+dTxtcEkRpvtTdk zD44{%_rk<mx|6Jk*Um0gPF-!H*oYcxT+)C<iX@WI?gR}IgEq$EY$+Ndg?Rg^RsK|x zXL$~9w7{rng&U`0ABvr$AL6-xFYcD;OlJtK_wiqhum7P?iOF1OSAAnF@3)$e>%WV& zq6S9Jc8>p+`KHM7!UKKVU~g%nE1c-~53#J<6e%DflVcjyWR7+i!|sAl725v@L$3El zUKQ=wJCy3$UjK9ii_cH_DKSIhoIF2wo^Z#h)z`{z(2NvW>1OSEz7GNYsvMqXfA!)% zMi#;&Zcw-h30M}TrY~Nz^LU(`NEP{6*ITV^wHiiPuJ%jRoZkI98UI)m#S_gJ*ZM-X zzb-8PE9LVExot584wz8T0~N(GTq@Y}1qmDBKTjN|qP{YP?>7+l&3EMZe}4=A!>8=O z9y=+DGIGF-h(3d8hzh9PogPYv?2H>r>4?a3<z#{_X+<=HMKY3%AGC60_#Z&uav<m4 z;1{IEOlRHW&WtImr^m}zFaf-GFd75$uua@2%sLE339r!^4*0N-fOjah+U+{gG7j|- z%vm{M<4-FCh_>dD4c9PXP;xx*>Qb-3JXA?iTe5;G2AeGz3MF`#fh2hLx$I+!Y50Tm zJbX)(_XO3Y6XT6sUx8dPRm(&6<hfL>Su1#9=WX$%fO2%Db1uJ(-_kL2lvwb7t^!o! zGBkXT>Fov-4G#mtdy;Jm2wgaP6Dmk<><X%}!eX(cufM4y$n6%lJBkP|u~2snGIl@y zR`<%k8_i0`5gVTn*hkHZEzji?DP`7(G3u4(EamjzLz%@FbP6D?kZ6nM$eR@RLo<rc zQbjHd=CM`)&UhqO{&+DdAHOBniZDu*+3eu`=Vxk8V$(qR=4|VH$6Nm2Ka;SDsey~N z^S{2&f0nA6mfClB@D(bZ&Jn!<3fh5cv1lJrtE>?8C%nY`2W>dfnk!_Iu|5+Dd5~cB zlj-H=R=G}jx!uwt#)Z%ylf^dgn>@Ksj87OHoyJQ(azf$okb_<Ar!1e>uFh%F?$7&s zogeKtG0~n`i8mF|K(LZ4<h#yDq4uJoIA)}<<2O4M(Uly-zmeE@r_r_JZ*g<X<}p^3 zP39G_2%{M@hKvmmh@^2-{zze_Da1fwof|M1On@Xkrb0M;J3UH?yYGmn8_!8GoiPyZ z)&)}ng}l2cxp9HEbifG#571djqsSvK$W+=fv6Za`ot6Aby!(Tu7(=+Yw8}$^nq88E zSVL{TisU!KgtyLwyjvQQrw7N`X7Yw$W#BSr&-Ho%2}SGGCgYD>$GSMHXb802L7gr^ z%VVLXG;h=E@R)eUuFSmG+*p$rg6mg(BwSg0@jY(cf5@veAZ;(U;6xo!9|ICmEh#p- zJFcWEr$kb-8v{Y|h;aY~wj_v)Rpl(ho5f8{FcAk!4$apz&u2yfF#&iOt0*`#iqzG( z_9zIUbXsN|r>BiJ1Y?xCml&2ZiE~znkzGn}(H*2Tf4mrzQi@o!;x7sTFF6bpra)R0 zA6*wH7WwmrnuvlomXapJax~eBo_IxILtBKJmMgnjX9TB_bkO`+Swc>Akl=39|I+6Z zz;+zk!=CR$Jr=LxIADQagF_BvA*dm{jCU0_<1Qsz#$WBNpjd&g_77D#j!!JwLF=IU zW0GR*)R+t=*%Y{JAL8Mo<4<4hOvw>03&zV)wFB2ty2DU~xCp&v2);d}0(M<9%i2M` z%L{hB4+2K8M+_EbFCx(U3J*rG-{v0^XJ0<N5Po!Ra2a2vgD(HsGEH+<Uhyj23wVi! zFJS<y*m3eE?3u)nd{OLGd(jm5G>r9x6^bem1>j{wTNKapqRs7<?mgwOkxQS~X{4pR zw>cA??=>B&6OKbJ*cADwwmEZCwFG2Rn-Z$+or+IJy+p5-l?4Zh*QcMyBgr>aG!X=( zQCR??Im4Uav4#~x0QMUko7u}h+F@A}%&kVYkfO*7{S?|`Hp#qE)ZB3#ZE|I=9W8X5 zf8dci3OX^ZcaCKm!Q6AlM-PLd&hF_SnU_xN=FrlOap{~?%%N=7wlGgt&pQD(@o1Ks zde7bF&J?#-td!Um(?{$@kOuO$YJ;gY2;-tDjbyLhTHjX*#`W5h?}f@TG#}q(-*c=t zEIjP79ia0nup-HHl7&a%x3x4xC6y(p3myu(hF45VMY0=84;NU2yvNlcX^8V;n!6ns zpZr~1UBqg-NSCB|KAa&KeY96^g4Q}IQbjOK&2cAsbmmZ67hvXp1b)04(tva`m-iR7 zglVk-l3AcC1v3wg^915<L00+-Dhye0V^6~%*=>Vh+^KTl?<vN9-n6Ur#lPAu&XpH$ zZnZ;K6zB+v^l+~;wgNUZQi@3r)+U~cC&X~m9gk_shxC#U=_G;q19$1Xg}(!Y7bFa+ zy%GU{f@_rv8xo~;4-H$Fkz3sa4UN$pjg6uiv55J$?8JDdc=_Q|E!HdKNcigmqlhAT zhRmQl*cA#78D4xNXyhuK<z#!5Dyq7(mNFv0%Tx~;noyJaXT+ZWiI+d?B&;G7l$4Sn z5ottSru=WK4JQgY!_92i6&rP-ODHC+!k#y%8wsKv)J|79loi52C-8TNSdeRR&Z!=o z=^mTo8FhWH@M5|;9T8MKvKu0c)P2YpMf-8g4K64#QrveOoRT6^=hvbcsNvJfsjLma z3AOt}=OoV)LFPDhQpwr<CR(@9A<q)Rbb;r}v1NwHB#ot+IVvKI<|gc0D1p1Xmj~yi z@>}Wl&e!=9<YV&XU5tcvTL6_>`8&F#MOVf&%%G}UQKm(cedj`TXd15kF^bmF&4Bb! zZOe{3zDxh1)_|To|3&^!@S~dpnw&S4bPd5;(N_eN4~oz8nTRTf@8mt5GH_esP_J;O zNSufmOK&+Ss6@8gc*5_DJZmhc6H+c1j_k%8o&i}y1;K40Ye0Z}{sMaHrvwz@%ydH5 z$A9Su{)q#*T2g3k{O$!bz7L!KLwKT~qltmBkfV!@p`d}||1{Hx`L{s0nAW--y)-2% zGBPc)lL97uSydTZT0HW1gT>yyGuC)tos=s;G*{*Wt?NA!K`=k!b`-)d+1<36l$K?N zjhXvCn|b^7DXaeec{@(;2l_1!5FRI<S^ToSm>6!orO^N*fH=|v4u;EPW4@+jw<{C^ zw%@V;j@b#88Ex4LyZBsuy7AMEfJ@3~6~(*rqOl2Qe1m!}BJoh&F@i7+??Sw43X!_~ zJkX%QkaG`hx3By*R7SjQ@ApQP)3o9{8>Uh|W@33PaYx;xkKT-HjeUm49LMbVo5OK@ zhJL02rPk`fHK)T%vHbv{(j<zZO5~+sRku$oY0<g7KcP~HQ955p7@<?0Sg9&CUBbG! zildWN%r&TB5HPK|`$&9=rcBs)s@T~$U<7_tcAgKV?prMUd+2<qn8D;-8eyQu1@}U} zxzGg1WXvQ;ISpLFC7&V%sPn9eN2#MBu<4}qwBp-&w*DWby_T$#%m|#DPJaQ3s6AVR z0?*P-aGtr%^~z8J+if!qpjoUe*tjiT095FVB3T%zh~%3uf=4yR97;{zWrd7kpP<O2 z4p1B^z%s==Pus(vE_<MWSkMd-HV8Le#7HOLVTHXdj(4$bE<rY0?dn8IvlSDq77I@t zc7NjdUA~XKkRnXLu1-}{CdRIoJVc=woKvufBYc8z^4jNC^T9{74V=p|*?$1y-RJR} zT#!C`7P?ommQh*|Ey`szy$sre`iXv^a7yM=_`${ip_U(0A&wW;XHeeLonVbF!$@bB z&n+aA3zj`Zilxu~(>iU`HDn1)7@i?EJhUA9+sH8J$^<vQ5ky2tykJ8c0D`n3-uZKo zef?G4;+Qyr{zKFoA!4)Z6jG0Kc8S3QHllHqxdn~K%${4Io+WNx9Hp4}Lqy_HhvW<7 zfAv}al)v##txv&s`J?}L%KzWaBH7=0cPPIQeN&rodEo~oe<^zx7-}U82@6=T*aRgM zc7Q_bO+K}y5)b3Iwj;m7d||Uj4j~Nvqm8%r67aBayk%?V=H|YixahdZ?f&+bO&^RR zNgO$uxs@O0AWOvTC(d@)faApTkbc^&4JF4e#`FxrTc4I@mR8oTHqfks<ypSn_TwO% zOeA;jykLE{B)y_d6zxrQy@@1Diz!ZAHw{nQY}0SitSwR}?Yb%JI6@>>aiG1jcA8dw zkH=DzWyBm;gs#4@-^OT&F{NV`;)Bl>;oaaDy=p!La=YL{5Y8q{Rq3*TLrMlsgB4oU zHc2C}pWm%Bs9JOlL8EB`Q+>_hps&GlZ?cXTaGbXl$7kWq>ope7<x*|{UQdyN5Cn() zmbV?a$5gx?bsb;9&~w1TRfer2Ka1?DD^keR7yV5gZzJvyY@pCS6U@`p@m|D+eJfsn zpt&8gHQ9~6OJ<TC)l5v?e{&v0L%L{jftv?^Gr+{`2@e3IGv2_~gXb6}8#I&;V;{jz z7zG&gq~OshOo~WR6!BT^VCsJPxnnXZBvZO>)CJ4gFw4Z$BQ?TNrM8>B$ym6?EI_Aq z5Gp5O9mZ6q%(WY~wska(+3zQM%B#pEGE&Jx%PU(;meU7LfrPeNv%g%Ki0j07Jrtij z9MtswQo#@&JSFHsi$}{}niT?>xlh{ex!az-&v0dgo!gLN(ywn3eX!Spri2BemCREh zK&o7tujd$z4L;EdE}WWst=8v9d=GU0f{fTc;SF@P6j$4^#uu{AGpT?}hX<O+;6SyG z4ke3hD60=<x;@Rh4uNkO0Bae5+K}0R-qj7WuT|dms4;|4zW`SMPIGRyxa!q`?$o^A z{}sh8d++k5G$57#8H4l;pZH%LA^s`$QK70=zJIX(d*UeY|9|)UPpto6Pyf1Jh`5^A zI{#bcru;9J8yy4mN@w1V{h4tf^`CPLemFs3P!uBD2xpQZgkop4i@C<)WRbrq)f)K` z-)2fCJe`#;!em1}ryi}xJkuUiHt(OqX?8#G1!aT;DT7eQy4>XYWT8)Ck>yF0Nf$5= zrsn&}FEJ`(m$+BVR!#`c0dM2%RQ!ic0M}2z(-Uhob0Ngh%2H?PIF_SL+PN5>n<tYc z*0&HYKYqruX>v2RNRG_AkD=p7<*eIAttCg(G1pS?l#tpd-1^eyoOYsTlBq_HeH0Ep zf-F{(FOm$b?LDNd6X&(ZM=;lzU$wcprrJ+(oMIbKnNS-OAXAf(_!ADXhS<d}i+i8n z!R^2K>L`*fxkGK?T$Ug988U8kGa6E)O3g;51?RbhUY<zpi9g4HR}J#$eQhQ>doOrV zQ^xu-S2UDSCKD|&Ro!tM2F)s18?JK9RcSZz%OMJk46E6XJ4_dHusD>KcjBZS2$`i; z9&wBd6A}^zeXz>a3nr)hv_2CdkX^B!zWjPwdUH=;Gsi>-vZ~nuSt#5$+Vl8P-luv; z0ttMtsGksq6fcs!_9DX6g<%h(w_JM%W)3MIR>`}@M#gF71U*xT<x70TUpdGQ2Pdt9 z=$MEt;8<ZJO34V=_INn{H^6~?6RR;N*1Sa9B-doNAq%vTn5#u+<OACx$r1_PbR`FW zeil+q7<&i)cw(d6?!)7{H5fNE&i{%WsK1!QN+js@7P-LvFrtF~9kqh~L^lat%K?R! zFYy=jKY`dwCl3YkJL0DK{~U4izpC-O5BXOWHmX}V<1C_m<@|rFy<>Ex;g&U8LB)1b zv2EM-j#05~+qP}ntk||~o0a6|obJB2zcaquU-un1KlT{ed+hz|UC*=Tnsd!b<Ixz2 zqj`&D0L;K1MokunEU0LiFk~T4wN79U91WsJEoVrwAIHSR$e>LQ`?Ed8njbycQ3733 zDB?1BCefPTjDl}{n<pgaWBpJ}>iSodC>G6A>+mf{w%fSZcGq>s^QMcK&DZmy#gC^w zZ9I)z5g?tr0${nj;S`V;sP40p-I~`r5FPZJM7-bJ6gy^oe_ey=UV?pX-0P-euskE4 z|IqBH(`DZm;7;FvLjQiac@_cMzAfNrIO)K?_W<s`9wgcN3*_^c-WP9o*t;_{=Vn;S z`!7n$>%I~1JJa`?_q8f0HI&*NQJ_hu+L6#71Y41w3Ye&mbZQxR)6><m?$$WzGNJo= zbNbK_W#uI>6p3Y{EWLt>kn8vbGm#}xVr9t@EFpF*xk=H7Ml24ZNvV=)G3l}q`8rE@ zq5DQp4N0otG7DxF8h9x?q9Pi4W|68xGomtKFk+Fk_&pP|FuG*v()hR~!{D%Z!LC&W z9@+|f;%r4&nj+yL7Ij|Bk%q4QeID@dXt9S9SfZjiW}zrrD*KICCT@Dm@#@rg66Kf) zvoa2KCNx3=fQk4;=weZjf~tRY<bm^oq!|$l<s=z0lFQHjC&rhLvP3~5x8zVe>vow_ zB8%_%84eb8nKC!K!JCyeOUme?EmKJ;L#I<>{fZ`oR-L&uDN)B{L+h2H-n`vzgV|d^ z-EG*(Oqrjl4)qWMGpZPhgp9C$aIzAzCp-v+G8^$CJ1vD-c;8x?qhi{TQlva66^w^a zg4;Qx=IN<gnn2$p%#3|7>}(-rOngy2E3FI#V+$c_O5%Qe@`0BHJ%XGCmX-d3mg9Z- ziSn&9Hh6@LK`ATQYZ|Q{M?h{#Np!Iy7+*3R0PU#$sIdbQAz0FVUY2Z9Rc0c01}pAJ z8U{!~G99>@5&Ht?nznhLKa@^0Xt*-}Y^yMx87_86e%Nl#bb{E)J9JYRn&#S(Bvsj2 z$`tjj4RT!-am?3l)R-xE0s%+*%po2z2QxJ;-cbuoh(y+3h;&#^9dar-v5?)$fne=K zJYW@M6amVqRVK86Rz$mGpgquXAak{irt$4{tvOwKDa*+n@zdA@4Oh`^K=%0LguG*T zuW=)D;axH>t<K$F54ntvXa_QD2Z(TF6-e|B_SKBnWG<*_&RZMl6Krk5cOT0fGD*o) z)O*pBv?!aJrU6&fj^!6pkf_yIoU)p&baI+T4r9Tr9l=rO^MFQ|%SW}SH}+8G@{>%_ zU2M^kVXIS+Tkv~L%`D6u)KgUmShq-a5R~aEHf55R!@IX`(d*-?n^)!$tQ$Q*b$E(2 z%a~(7R&G9>hHCOTn8Om;>M51h!V7W^jR_4!JtxkH5(2BT=_gCPPWZ5qw$1g~nLay~ zz00L@<>7qZo~P=nU|wcBkcH{X?}|a1sG>OyEnM03q~!iwZESU6bZ6ucDqLs8=N%Tr zKLad4f4=AR-jiaocf(zds_mO-n+nzXx@_Q|QK3AoQM|2^C1Gmz&a!b?qyBX7RiR!h za;Q_1<509Tk^quxzUXHzM3-DmVR&#SlTTbk7yUn>+xu9k(bmcGW7&HjSx3q(4w7@i z6Sm$?7{FTy-$EIr8*oIM{TRZ}z-7?RelDo%Qo<<$**p!(hzQrv>83;{Si}j6FqG7? z`B~ewR1S;B;;iB{!^7&<>IheCpJII5UkNaqUp|DnjY_WABW`&}IYf!Qz<;qa^Ar=h zi7=Xv>iM~gZq7pZo#IOj_@*~;WX}E?<XR~cP#PAVo-(@2-RO@R@s21@!bR={_LB%z z6HmUC1*6Auho${7npvKwbfQ<*a!BVUt7t6iPLj0ses3c$U*Fug7|_pW?_b+COybPh zI4eIfT*;A(ZaY_`MuX3Tty%%%=Z_^5H2>+g2IO_9*a6%E$hiyK{QB`oftPB}<F?=R z;A8Up>xXp@xLxd<m+_aV<v_`743IfIa3xYwA@YgI?9E8D1vuri8x~In-Ci?JR5s71 zvZ?~ZtYTB-*wxt-+pa}f^l!mh2gvN?Gpf?^9v<eq(hzO;udJ!@z`b4so|ay*X;8CN z0p$3`7N(W(hLZtm_2T$NCc{|{m;|NNrN+GPX%%|8L_1E%ErF6<#EqV?Oa{Dupz$fl zFae+OI9}c1b@Sn{_$T?Jb<nZbivkHgscvR=B+yqc8qjd*m(9Xw1e!@Hr>xWoZXOw; z(2%k`bSYeek<uUOZ<@*BZ;0p)g~nrJ8xR9g5M*ZVbE$!0{1*1TVX$SVSb^uGr7Nc3 z3uPzr!VQhT!us^OpGfFJbs7Y?MM|9>qSHb}$?utl$fyX@TGC&Wqoijn_eL3Lvq-=D zV0(Wt$wDTCu!i*4@N4zSaLl_9@K2kB_5NPi1s?3v960u94REs!y%d3&-bKkCX8!H# zA93`Q&IqQtzF+0lOlR+q@U)SN<Mym@?%g*&<Hi<cd&*CiHdwuL1f|ssTfvIyK_REt zqk_=`5=$L~X$+Fw=PpfP&9E-U<XIg)a}MRVJ>sCG99K|I-5R+#4@$M)_|s#=AJ%q- z#L^81HE8Gh$PYZc2L$d0)Ngua);32ZEG8gfcnvDxg6?Lo#;x$hQqfc7_s#0>8&uc4 zY}p;map+fO7L=<4n`+bYl7LDz+W@r8lzy7sWOQhRuk4T$8o`IP(1t`5#?U%$SuBkd zTMGiRuUw-q>V63*hiLxWRj8>Xn8adWFmjewc$6sJGRk^gyv7SS#pDCaPzBDIOZ5`t zIsMozU6z|#jTbeXGj*>mQU51VfANekpM~#;`RPsTqGn0@9HR+t%zON)l+ZO&Ci51w zE5~`Pd}qHNJW2^&DFVxNEQr4lz1}EzRGctUD=K^RwQ#QLt&#ilFRrWou|xe&dM}`5 zo}f9@`C&@w%vN+8(^o7rj(!{O<h(|H@OIC(Ak~Be07o%`hd6Fi9mK|Ipbv~Fo@la4 zCViohfGUCdt_Fm+)L$o@bc;Yab@)VXvPLN~S#5xgOWQLOnO4d1`sv;KqjzXfAW9a> zx&){+?ZQILG(MlB$A4K`{ci7ne7E}l{KNi!wXrv$``?7o7#LYv(t-So-&KoeZny5Y z6QlMwDE=>8aR2#TAsb5@dog=6L!s|q`nQHGN=e&cUIl^Y+iw{SN+Jua)Ph&22M^Xi z{w@gt3mbxf6p{fJ#Af-fibkF|hPY%B@Fl484*dorltnQ?&wXFOnMp-OjA^UK+|b_P za(%_o;c@-`_506H`lu*o+7pbBGNJxK0xix!JUfmkGn@c=Cg#t?UW{t;$8x0Q#C<0m zHu{1E^`b2$ec7P4B1^s!h8pUY`BKvnwe0=Z^EoJ%%u-%t&AsLA$)5OX=73~VDS#DZ z%jpOvEC{UnH8YE;91DypH`|VED?w(oG!m@=+|*h%&Xk!rTKF$4MbsJsmPjQl)oMr9 z^En^lGdP;nauY}sp_k@40|QFSRli{S#rurn!+(U;0?iIc&BsR@sGw|!Y+EapBF1l- zu?dr>2)0Q82L-^a^*Q%%#if-X;&a`NKe`Y}w5`ImNYtW1oxg(2M(^UB{$#^Z>DQ{_ zGthPyU}EVw4X@pwKQ-pN>4-IXFUbZtn*SbdInd@Rp988#Ul4#Dtf`Ln<BtBN)`QcG zZ+@?opa~dbis}GEvy&70{BpP6fr!RZ>*D}<uCvSy2bZiYtTWezg@>)A8s}7jS-2VL z0SyQ9?yV0t_z0yeX~2^8&QrYL2Lw0SuE(K@fo4XI3fi@}7w#hzPGTC;0iW8Gkt$!} z8zRd2%!YwbV!^`h=bW0w_4C+vaOx0*NarHFY&kgZznFwr$c$pLfQ4wzSvU8wY+Fd_ zz{=~vTWdq<n+|Ip`7aa1YReIJuPi%hhYyvXTl&}^Tr3A34J=!w2v4KK4Q(r?IO{0n zOJUDqd`?;iR(1X0l&U?6a2{{w-SUfJQQQ59mMuCR%yY6$ujygm_6Oygf>Y(d?ssWC zB0PT<x1a1S<Q5puiG$mqyTn&GBTSR|i0}i&P1(}D8HJns(k*>}5~7Pc6;!RDg`1r| z(QhrmDQ3-Y%;tO}9CL`jg9#?5BN|L`L{UwBrzEwDN<L3LMs5q#WEX)i2=QH+zR6MC z$1HdcI9ZryRiHd}xsmy#J6cNJw}~vXJfy9EpC>J7<lwFE!5I@dX$_$kI<B4AfiG|@ zaVOY!G-nBOKn#S;H2IDb6Q)O6jhp@Hl&4QW&w$aT<Q-DyiN1ZMfD<{D@-#cU{{pFz zM7<w!!uR+u<~2!$YmM#S#mfC{oBDq$RtYOT6Qh4ERx4FxF%)l7$Uy3dfyP`@VKb2g z8G?niHP%kyJYcNf#LP->?Gi(V7o-^t9ldwRZ^(at@_ei~n6q0=pWZg`m6tqQv*I@^ z{F&f(IhyL4_DXx-%i;S1vqd(7J-*EghTPD7m_@LL+c)q;BHC3!$uSSz1B1?Cc*}IM z$2zL(*&~dQ`pZ6j(j08Ju^V9|N)_3?b7+lHQCW*N=#KIXs$Z_RWGFF82AmKyeB}3f zQc|fICzJMQQ-9v|p4rouOr(8^E&gS@UZ**Co9Os+pu1<M)11;q0Y6hR1(a~ySs5x4 zO$lJ#{LAR{BHbuL7U^e)z6Qy>0yTIDVomjkY_Tp^ljWebd$d)XFp2MKcw;4Pin5q; ziUc8V+ybx1+*(!n>8O(&D|x8WHo1Mbv+%1s`dbAg%!ueX7YYW2yYb;LYy)a7_BGbD zhH*pkCM91oYK;Z6ic(YYX%mj3#tFJm%&Vu*a>Ria)tXfa;WZ_ndWnAaVF)KF!{oP? z>RBNd<sHq~ypXxyEnHvd+ab=8*iHifwY~hT)i;8(`IdheE?nW_>;;Jg$HVguHJr10 z7X$~su4doDvtVD-`4gw$8uQ}^V8@dW{qI{l|65fBrR^*1YC-uzq3Q!1O`ByJEz6`M z<>t8QU^6vkczp)#Vu(i)w5oiySXh>O0n%f&dKFaUhg{bD!k!5pg^f(P#wK)njyti_ zUKh0t<0@2jJ(Y9D#S?Q_Pud%m&GB3JW}LB8g&EH0@X%t*t%&w-6&a`l_p`<ika_d* z6o1;f%ze0MfT>6M*`l0fBsT|*MfHOUPJ^;)(teGt)`QI3Wp|#!p*6UH{%|4j`@OF{ zddYH)77RtpO089mEMBO!hiho<HVSac@B55-66sm;jNDU9!EX;Nd4G@WCkW6l1dW=P zc@|*^3}!+xgg>uz#iom<$Ll~?jn{~C9U889s%9q8^L{}&h)+)Fkwk%!aD8DTco-0R z)2%O&6Q4mR{X{T4LK81Ib#Tmzm{<JQl0?K=1g8VH#FP5?V$8>g!-PY%!q#`GgI1hv z`w5uWoG>Hwdo!hte@lQh{vcJ+U%C+`aQB(sQG8>>Zw6~3?!31oRTnG`Zpt|pVuuT- z^H&c;ffW7JL?3U1Md)n1s6?ySX`3A6W-f{iQV5OV?T;2yX==S?6W5~i_f$Pxioy?+ zBRzy=1jayca`n;K7by7neRoGQ3(+Hvp#+>vE{Vxp8~hJNp2i*l2&PX?DPh-~_kW3M z+5qArdjCEK?7q{|=>HG*y^N8enchFog8y`BD_a4uzGZ|e@{a1Wspj*bQR#(!SVC)^ ztXK(P$b<eG61C|qzmusf+iNH4Q{VXBivHy0aLw<02i80Q_#VWZ?5FCX*8DMpzunQF zH;y~EKaRJzzd&t~MNrXgH3!``PKP(?yZgEjj+7tvo_<)-(zi|T5hj3FzQ_+QyAJ5b z50ao7xK12ECK!Qf?FOI}R53owK$!842i6YVxkLOS@T|bsO8yD3RMXetgd&}{8OUDw zU{GK(6d~<w5H2oasL}0NpGdo_@(+tX^OPO)f;Jv>L`MbHzs>a5oud{1DP-0_xO{fl z>6jhfDZ)i$wvM18%T7A}X*@%d#`05jz8N5m;XLSMSs^;)$*LzlZmuDfB%(knL7dQ~ ztWYz1*;`2!iN~1l9;#9VVOrMatn8;zgBC~ysHO&B)J5A(T)TQ_WN*DrnH#DmSI}b0 zJEKIh03j!rq9C8Yvd!6M@Pnu~s3BT!5`<j2gj=jKKx0n`nm9xl%1^F24adq!M_*ms za%=5pV39Hu=^?92wz+szi_bV@wjgAiyMozMtW^bKk=iN<q3mNd-(&?_U6{H?qZ4#4 z+(6Z^cusQx(=kufHnAgTjZ$~d#EPi|^y&j090@-^>BqRBW_~Y2=c=Nf;B6y7(PqaR zoh9ZwHe7X+BqWzA^lOI=!ZX>dB#R6(T}nossU=L|vH{jA+mw9E07<3SB6+#G4?b@M zvR+7K5^VFlJ}I0o`Fy?`A|}o<E+XlJ@g2J>%BQyLgBr5OMfh^%p9=b;)d^f7=?5-_ zj(b;+(JpL7<dv$GA78p!pBS3V>~0N$x6=dB``3^awCnas2CL9kse<c_(AH%^3@=Zu z*v0lFQpL))hCxG9wS~D8Wr<@(VoFlQcFaCvW?BU%!vT2LjHkEQ#V1Cc{4w_MAEn1( zzjlFgo8Y13kY~-}y#;;Qb!GT`^Vw#YkX&PQ;hP`$W;(olyImko|G0g9f`O%4@skYN zf@lD~HRpR$-D@@3hf=~NvvLnopmrert%KX(p3z(nb*&L%4}~VS@F@~P7Vdsjj!=6h z(cD@^Nz=g??>6<9X&Cy*K-0p3Dmw&%4<uput6*#g{e#@vB!U^Y0NW6`y<!NLq!&jQ ztq+t9CNeuVNH(dz4c4s!-XxwIU=rCvZ<Y@~h!P(fu5TgLd5uZmnEKl1dQRw4i;<$O zrg3-XT~2Ij^cpM+Xkr{og>wKFoy2&*XNMnInxwM@8OinH$C{;HY4m><A72*cq!qVJ zOzx(m3qV0?mCQMSc0ojjkOil_ygnGTN}#`%mrs8NIn09bS~yAOfakUp2|dC-$bZpy z2|T-X{cAsASMSL*|9y}+efJapg(Uf(f-pfdM}U!|jE$j@rJ$aJ(SPv5MM^R@zeF&+ zNjq*ir%3IfARDXA&cSZPG&>6OFiMKU-u=pOT41Au5keo`&n!FAqB_sXcPDa6$ADTN z;)SUE%J>Cs4;S!y@J{o3xXzox611odU$b0{w_;4P-HgBfzNc*e(CW)#klyKnAZ5T4 zfJ-4%>v^B+!0rVfk-E<d76jF!9vek93rCcE6Yp1sm4YF#>9;?&hdHK_tw>|R*=@pJ z@A@<E&`<<x&8yYiseGlJ1=f-Rn}SYmH;a_4YB)j?GA3QcP)d@{D6LH0tGbrqwDq=7 zy54ACxtAK;W!y;30gt8(87Dvo-K$BmZmTUje?hN(OpCO)+Pl}G*##z<;L(^xT|x;T zX+>o5D?g0}I)=?H;x3UU<gJd;Z9RCB-aHI!TQ61Z5$0ZRapi2+v8u+X$uL~7A1PW7 zax7Egib}JBZ>LyQyb2&f0RMMeB?Z!aB(paPKg3!Q?H50$B|~JDhK!!;B^p7iCPUU_ z<vN-=ruafDDSD^ejJ7qidEZtS*;!x?o4Hd;OY<QnW%4-<Zm&Qbmas~e^Y{T9wcEnJ zSe&N->0H%s^y16bWK)&4mR)9M>hn}liD8udxsKv}P9!Yrlh&}*=op2io3Loj(vwoc z@0p5tcr+@p<3b^a-}>Buc)bvXZ{7``son_8Y}6H9>qE22s`^}LjYm9~de(u;(~I$_ z8FV?9SEvnGRN&H4)4OnoUiwB6dU^p{JM#fx9Xzi?^~A2jCdwV6n}{bpAzVVYaNBO) z^xK<wCAme)yg9Iilwh`_rOnj+*Jh7XW^v3Yu~(!TGv#$kr^1`uJ_g2bqH9*s6L8_V zw49zfK7#|yNt8}mR$&Hw*ooMzOVQaE(jAX_EQ%=4&6x8`2Dev%M|35LB0G{NjD)&} z7+sw2%{=Zq>@&b&xRz_QLQ#M`!zWE2nZfpMB=c@7%!_g0Pei*%D$M(XoIii1%S+!N z<Pb!2r9Wwi<pqKrTlukQ_M>AsW$YSKhb0CeeSoj`XzozLN`2x{GxM81$WAY_iob{j z0cTXw^k}#q5+?fWLQd@^9TEkRc<}PhxtBQj*V*s|n$Fzh9)D+``qd|XiujP^#@Blu z!3W~$@!oUwEjr*tqVC7ov2NL*z5+4vICEn7fXa9QE3X2c;A-zNnJWSP)2B;+@WHwV zj4-^M9rrG*I)!9PMzf(-MxR$l0iyQ4S$}_UjZsmXiq}<KkRWL1XP@rikNedNo~nVr z%@ZjvR$*`oOWTN$IOb9w+iu~};h)zW*&^D!q!&zg#vp$I|375SKcuwHSx9GN-_wQJ zZzA!3dPXq*2Y2{yzOn#G^k!%!6ofJ;jXD}UO$5GIdD8`E3VrIk?#<}S9_Qo>>#!F( z&!<rrJo;I4PkP?>jL6%mW>gU!tol_hldEqt?6fwv_mAV0njguvTQTf&oG^xt(nJ+A zk-_RXU8#U<HzR2ydrq`(=}2%eNwAtcvNz>0y{cnZxmgF}jn=TwZ9T}OXVkjKFGBKL z-T5k8lm5F`Mv`g>3V)Vht@etE2{<8UInCg_{Mf$|1;3BBnw6bLn6w<N##igO^Pa3s zlq3x4p%m@uuGPAy%`BV&EKTC!Vqc_u8`mf&Wp}=M#M&b$E>$4oj@0TbEn^)UaO6>t z?$9Vr*NUrtin^;F8B5+=Eq{p1=b*4~cQF_&Z2*!B=rt%doI-BDMAoY^yoJ)kGXvjP zQ~tJWm~50=N*v#`Q6n?dSSER0;gH|u-vprUX%dNc9k6m|@FA5Sy?jNp*Q}h%;z_RC zc@b1(aF@2B!m`1_>?ZpG!B9G`_uzc{L*eejm_$!&#sbyYPxtUhW2&hb|J(;tsVm;? z_5)ANCpbNu!c3O4a|}+SEuXz8)ZDZH?PDkt*ez6m9yv?4a@dxmIWV2cqCI|OzATt} zgv7j1lMO(@Vm1l#UB0&#n!9a$dQ#JoJ=MHc*}g5)+%7fUD~utq*8D9ZK91N+KzeGU zHxm;;f@Dq$@i@a32x>|S!6Oog%RfEk2|DgAc;JP>B+V+y@MBoLzMzUclPC~@f;E_- zPZVSMb!eeSp;6yQrlOoJ<KxE@CJ(ZV@SnVvuod$=Sg?e#&A=zLt_$&9Lu4;86g=2- z_~16>J{GMY2q)?07w_}b!JpFdlX@BnfrLKfXTsWrszL|glPvutYr?i^z@!X|-GRf6 z<$<nJ#y-ez9mp;6@D(kt`&L_ZKHRgcAE<K`ODNSrTV`6r;;v!~+45}O{{qM1`Gww0 zzOPTF?>_v0S{nb6W1@0uJ<pHu$qHv@prug_T*MCqVy1Xzk7ve#RV|n<i4wa5J~yO} z6kwtHyCeh@!ZqR!_^;?5k~sGd_#U4v5TFLus$5D%8bTvyV;-h=uMQ>)pV!-O-{t+% zLp^=9Fd{HcyM-QHY`|VC5?La<nJz?$V<v0tFeZqJ!V*KifzmJsm{+pL5_8V1UA92R z4in5#>vcr!o*hMyAx1f8ZzIim_ebpX9r%4SvTL?2A=^!n3=mWGc4cGhHVT@$QLxs6 zeG$uqZ7WuwjQw)~{f!|uW`%PRNv4>AH8V+mSS~>)18oo#ww)Inq5Ly+8R0w-c58oZ zl{~$W>f)nF6^}OhF3s;}Q)2*&ZL3R2NOirBoG~f^7#A%0IR@g{E7yA8gyN9r4p}G` zCoRJ5fG)dYX?0)T*%<k)e0pww9TL+~AGVWdSszAob89C>Yl^fqrz{tYNI?9iL2DxA zsyKyn3lHOk9UqbmV)FDXQWgNw1$Q=@&Mw<NgEwZ4;8b<~_U|xOxYuP2S;AvTVtHrt z0@0VRmGsZc8AMgBAh%(2F|I=3GFRI7XmoMPYDmN;V9wD9Qg?b|edy-&lRjf36=|(L zBV^UY*75-s7Pjbfn4qSmDoIBnvBd$<Cq<p2a-ra>B+UU^T^Wx7`qbj45uV91#zaMg zye;YQA#1T}6FR4QmC*N9^m_$M`48s_JGZ)7`9sTzGR7P@<D@!T6vfz-UK}xTGaQ^^ zt}!W>MVQJ?i$bBuWP{Qotc30s+w~g2WyFx7cDSv|;-5X)#YaM;fRc_imGLfM|Fx<+ zAKTpSVya0gQW5f5x$A6MdQ1M|4ozhqexjxyT{(;o*S)On?OBcMh8E1us8Tk);Q=;r z6x|_D>BY<!_-RC9{P}EffL`sDFkbv6CCOmz!i>7@Ii}#v6{#)ru$n|68ijdLsq0wn zfvfJ66B4IQDGcTVv^*0Xf{Li_x7R8gM6}7%K{j2ynOn%$4w5;hKbOz+TY6pg@(>LS zeO@Q{9AXud$frNmTqA+AbrIysigFY@cw=Ut$;gvum&xt<2qtqS8Nf|9nkH^-Y61?N z$d6LrqhZ#owRO`)EJ`P_@lnE5geh>r?bwG{L4Re4pBFiGoU;63DB*>S-^S%k|Fr!4 z7yJxFONo^HUALqEAKKo3&r3;C(zN-d{GC74IXN`NnmW@CI#$KL5SCzxr3frxzLxqM z*cs~#A(y-AGN5bHczI1bL@9q7Rh7UFK)m%Hxd4Vrfa|tHcOxe+@-p>C7=Nd$d6${S zaX*>%dX)KbpQGagP9Fom&mQdn8L3O_H}9$(=0-9Fzt2Jqv+vZIH=qwpnvA42^s^}g zuqT6q?xZzWM@Wycbcz4%jHG?@H(mX9W9B(?XMZ!={OG*CzDYlX1QV^R+)<^HpBAyz zvcowQId$?OD02m6=8pMiHu*}mmW6dn(I34e9CuOZ--Gt7G}|i9>t$s~KO>cwlf1X; z{Q2jY-#J)#ro#at3ES3=aG@U7-PUa^>WgtECNx4jTE({GYjyb>(L_{vmu-IPwE?xL zdCa5fb2LomGR&Y;&bmfsh%+}`!4LiGN8!gD50x!e$%U(V8!A>*zNhpNZe5-cWOi~& zpvG@h{P@jv0vy}umK;*@(Y5<UGv$`3RiXnC(JkUKqt$IHD-ROGf<BIo^OTDAG0)4I z<%iBjVe!ikRCnQ3Lo81|$k__7u0^yRsKd~fEh>q6oBRB9zc2<-K_s}#8Y{r6^%i^9 zB|8KBqx1b(v`kvSmXhwVwpeUINN|3EZS@!XJtw_`puC8`wL1Wh7I;BNJ}<QPDDi3C zLy3^F2(2@y3Y}`^4P&qJjv0k7d1^|yLg&v8GR_7#9a>{xetS{#*7-{<mRH7KrNa<4 zEl^j)E5(O>87lBb+Z@z}P+V9?l?nOEUV@%FQK>~l^UOkW{N-2V&b(b0%TDT1Ji5IJ z%icb4mGdJeimj9x-%tW285xCbySyY<L87j-+7a<C7UM6*kC$+Qe0{{-@j;QB_3&Tg zv^tcKHpb(Z{`B|DF&ngvw~uA$(Jmwhd|#-27zk#R89hu3QRLMPWH;2=Cd>^HF|D`- z*RsxdbvzgLvro3!<8>hzDCDv{fwZ+DOiIC^OQhFA($_@YrBP-+_`Jnt@8TO=FA<@; zT>;yz7(BoRG&@}Z9pwZx=B9CmKXL?yj~BZ6!F2TDbo799_JO;5MgFn;3y0P{jONV` z!lxe+;u)Sph-6=A2-olGH()NDGa$t-RNvgrTXAkMuU&t&V^p|qDB~QrA6ehNHv6KA z;gkF}kI_ezITt7K73C);-rNKvE!?m4s-b}fnB|O0D>XoF5U$XJzrkwsE^$N6p5Ob| z&Xts<H0JfY%zu4LjsB<C^M8c7D1Rt^uhe{P8cwE9Dk8*&4>mW~(Gt|>%4-IoAr)!= z>Om?B|FCWFfUFp|Hg@SBp;{n2L4LTNLUCM6<K@>GO_QD8v=kJo6Iz@2&T^UJ!TWRX z^c=(I^MTWY-CWNeU{-gcpQb<`ss2;dPDTLH0qW?sj$K>z29j6#`+3A<Lp``j!$%A1 ziI1%J7uZO)6C0|JoW>M&mSNL*_Dadv>gut%!(TIK)$%gGO4poz<g63wO4B+y{N0Nr zq;kTQJ(<HqA3%U?#ii#Ryeqi~kJWzYp|I0IkR}=JZj_-pJtnKPKO1i2&|(>!31ftY zJsoDvz`gJ`$4#JUU>_h*9*fnlyLkIzZc#E7@NT?GGG)8iBJI)-gDpTNEfLt4i<Lbb z5N;7nK&E&NuI-&o`0Jddd-;NWgag-Tx^6Ob9R^v$hTP&Y7Q92Sp1Ah7(rVtqmPn#$ zn*LMNE!a=PP-9wU!gx=z?6s<AZ#)`*C?<fDCQ`xr$~E~sBzjqGcedGP{6#RxuY+<* zPiv5TsvM(#opNfwI+9LVsV-k1)q?S=>;>wa(!7;!-!B~2lV(3JTx=!rHdU|p&gG%@ z@D$Q=+(p}3BwB7q)oVJ`6~9MikNuv-q~!FDWZil`@B%`N|3!4L#WlZgfU|$kr}od3 z%U|uSM+SQs)t52=-?OrFFoB<-%P6q&5yh@<>k5Fb0N@F%=F}GoNMVqE+zl?SSwz_s zaxxaT$d{qbGQ}2e?=4U>Nl5Q+q{f|Fn3~z3ePr`autPqp8nJtP(k?@O-*!EqK&dDk zbXc)tr^0Uk;N(_3n#rGVa$0ILt8u&90;!P&>ACDLL*O8_G=V$UcSW=bEgV-0L(^H$ zS10jZ^bwEMIQ4NQ0l$T&z|LGO7yDJfEOBjImvdw^!`xqrOXN<h6?XyT?zzF51D*%t zZqA6q)UakJ8fdPWKcDi-in-2Zq(G)HXYGjpFknw8&p6^zhc_J(^>MxDn!_92pDQ8i zZYs{L`s4CJe~_z7?}0^T_KSOqpbV1J3W;WxS0i-|oC@VRj#6tyto;UQZhAm&AGiuL z9*k;Fn=@t*P4pI*7Wh_T#puO%syz05i@`J0a~=MdpLDY?dXP>mXHOZPLNT&O5RBC+ z$cWWhWA1MPj~|D|eXp=>V#vsI34xxFk3T^8cAqj(kOFL+7QrQW;?CAE2!9cBQ@~vl z8A9$cqZIFBX9)OB>ZfT3^;XZ$^MHp;?t?q?!2RLp{0Vi6M8Xm@Jd=PNv?MbMUGLgP zMv}!9^;r_<4!h5SMnRBZCjgZiUWZ~ABndH>P#Sxw0|(tI@&aa7GxLc<?MY|!uO~^T z(VtH2@3sB%Z+88^2!;CJ&B^`^0avL*x}un1dVg)okanbDgCb!i5at1~X7mLAKuX{z zpjZ*dPqJm!jT^m+g|ReF*_44WuUd3h9en4n7&PZ87Yr&y7+i91Y+7@lQ?WW1uv(<7 zdVAsKeSGOoTU})$SVzG<`Z~_JcKvhy)$QfF^T%WwNG-^xz3zKLG2HQbiwmz|%XGa( zwd;k8vS$o={hSLSM&j860w1k{usuxdxe<Wm*%u(Uml`s{N3uJQJJCC<zu|8%_yWUA zwX5=JpNW^VKWz2)g&X<<n9uroC*lQ3>ZLxAi(AdN=5~DfbsdtFXS9Rs^%fSggj+4r z4vo8a`zqeH7{Y|dw1*ha8_?IntrqNntF*UH{b~*QEdCN5=<)NwT3fY1n}7rjU;tdC zp@nk=6CzZeZ=*m6Y{Ubes4&Qfv@Gb&X^L+9Y!=Xtgcnv0e0i$F)ojBi_Z0IAE-pBM z7Zyxp&g?y4Guk=iZlfa>F9{-KzLSe}u@s=;+oW0;dcLsdWu93|IalW1sHUZBC5O*_ z5fgRdEu~GJdsfbeu(UsGJMu?H*}u#EWCYHOUvF#6FBJ<%8BCC}Az{X<VfUI|FBrvZ zX1i*5QGmsK1(3}z$=hh_JS7R=mT-vXY}$^dBUXK5EL@;h;#)z5t;8XpUTuwoi7Q{Q zuKvS=30q!}E2(todMS^Jw=k|G<uR}z01|_tFNuF)kTkV>ThLx8OH!HyVoHyMaMz=e zp<dsuSl!Q-ybx?pBUN7(1yKg?0*mmg^wD@usmOo>Nn*!r6kNQIAmdIkhe|6s*J(?g zn4U`qOKBh5+E3EPMJPOf%MS!JG(hZ_IEiwS@DeKKBoR~AM#$wZHeM6QfMAs{wQ@#^ z&=p`bYm%EMIWfo~1R$qk?hg*v0%M1LkOA|@gw7OV?_ezVs9Qdgi&9mwYMu<VF2|yl zQkXCz-^qw$ry>ZCMA|}t!UW3y0Uh-jw=ea!r<9jSsIoN%mS?5u=OWh<2d}X=P#4n5 z4Rj~9(8DBR8&<;46kzjBnuRB55sw^Rvcg9NHY175>Hi8L!glp<%b+!)F;?dZ%HI5j z2r^-fD4^0>S8?L<VHHPCe6eY2QYP5<@v)5D2uf#8kG5XpSbGmgp$b!2i0?m-j_^sr zDS_^cE4$m;)O7>cYBVbdRN3qzS;&g2b<6TRi>9jYi5**Nue5R2*XwcWY2QsLLq$1D z1whLD7~)2<yKlsqbFJst)his->ob!^)I#7eFaNrdtQl5{@ei4I`nRhWKbKk@?3TWv zQeV8gF*e2i9;<Yv##JWNTzHXZ$DpDbfFHBdNeg@*x9f^j-Sy)xsx~C&OT5XA{1*2z zKIz$HBdJKZiud(1di%ehkY*@IjI0FnVj6^wtVH85!rfh!cs?=7vwgHh>g=R2P8oy* zih(Z4%`Y?uJGD>cXNsv9oX-an5jbUVV&fjZ++(6DL<5>X6fk3U*%<RfM??4N*9BsR z1xU7U2^Xv()+omrWz{y3EeQ@4=&BJ-CoZWIXewe*2bGqp!PKV`7`-F54>8LZCtf|G zAMgyd`0)rv0(jz{DF(@QvdkVOT*Ebtc>BZn9kQRNW#K<VOMWIxuinl_zmWAZ0WVM9 zC3h_Nwy^QNzJ?utF7rlMq_meH!Q4f==5r$*q(i)PlramKkym#d-0)Y?S%nuCbB`<= z>4`6b?+b01wdKt#B`)rjCd5$YAvUFO>MFm1rdj&OGvL#YI+i6VS8z)>xg4L6q~P|g zTp?kt2pzRyMM=CcVJ0GU>IcJBvgyFOO<}wbWcWIo{n)~W%(kCHk5No+yk<2N6BTzp ze}DljhxRnN6<<#n6B^iR?#Yx~Em7=Y$!Hn6Xyl`sxqFh4fu!-y-^JdbV@~hoN3!j? zLryD%A0T7+iAb23zL~z{o?SB(v!8X1d6OW(i=8Uc;>vbQyl{~S%CURe1|og*Dy3)w zPc(Zq<%0{ES8f$fAhwoaybkY1yqlJ1X15T$Tc97h;eGrtmt%c8%_7^yLpvq8L{p>Z z$+95WoTfoggG8rvz03c=`T^HC$2Do#ShE8($*UuEeXh7wBaB*gUg!6e)#!op({`@C zpA9Ib=9U@CGlBdf$JY@{b`9-u9{kyi-Sm3b>(&fnTYaPlZJUCfRAKJgBAx$~eav&8 zJZAvAxSTzp4K9<oSJrXX0dnKvf_O!{aXr+HIh7_boD`eTK;Q8V4$H&3S6R4e22@xn z<A;F>Ry$He==mb3rvsL9jLf1rz>0u!ey57Iw;<@!cX@^@O5;Zrv+3$F*J&H{vWE4l zR7Jp&VtrliEzA*zEgPlW$`c9_o^6R=%UEIKZE`+d$Lae~qYckf3s3XZ^4t}t5c>HB zzYTSh??-ys8Lm*0C6Zb>Ye`luFyP|+#8OALju3G1;TEcVV)+Bey?&)XIix%jhXv)O zeE*;#-EQKKMCkgLOB~TP<Ac%+6gMb5t|(?z67vFS=TVOqC<S!jZFX7L*j#tcXWOnT z5ZtW|k_!<SgP~t*T%;Wq{?Za_HdnO0j=`lp*zU;BJ?`)u2tRf?eB1^A4NzYku)hly zoSHx;T6C@ik71ieNz(2}_mG`d^O7o8^qC=SBGxu8*)*S@K6hIDd3}{ivwcbIC)}^x zcy;1+b>b4EIN6R`oRnovyRxI!On(P#x&}djRp8O8bd452WOn|?Pp#k*fFQu=hwgaA z_eWXd=t;qJglN(0_?XR2i`YVSaRe=WPVtC{D56KDZO{j~<ICyGBmSRj8oawLke!~` z&<Xq%<j4Y96`(#OH0TN;$0zk3yn_K&&EV_QD^8$yv6lkK&YDn`=-7@Ske^8g1l?nl ziG=f3PA-NEV}BIQi^#`GM3OB9_|ilxJ=tTk;3MJ{c|<dR<DY)HjoRxi%=oO-moAU} zY&m?QVw6UjN`#)UqH@-xmBu=5j{4OA;+bhkzq6zTR6PxMqYqVUk%PHKvbu|Eod^L> zDZ+3T7|D`PJV;T++N{FWdEd~to=((hFpqltH*yaJl^n%Ef%>Q`aPYJbv4cH_Kvwn; z*P6<tHZgd1;Bxi10sozKmax!QJyebZaFi8ov8Ku;X8<XgvvLP%UFEjwWqH<*O?&Tx z>}#2~S=0J_IO{qHhe6bXarcE#lAG`%HJbF=xGA;>*8XPYzyhSnWE_?o%w~?=!9&NO zPCsI_`NY`POb^AmuCd~6gO?Jrds_11j-4@kaQHNJH}Ps4QX;1HnLLWS8<|!DRorCs z-ATvijJ^+wk4d*aTX#iUfQF9;G&Jc^%U&_|M06U%9~!cTR3IjfMd|RC`NsZpE((}j zv%s(6$-hj)8d8;u22~<U?kwFASAuM4J5(=}Z3YZgC1xL}pMg3Z8;*RuF@I(!p9Q3z zLq;a?hQw}Wzy4)Ok@XJvllGf#$@`{TB>&&F9sg`Kg>0<!Z3JyxiT{`X{*9>p=Ue|| zYyX3(t@`&3t|{GQeH?aFonwm<nAmp1A$SB{->FnzCcldW9mzI9lVz#3`iUH)J*ho# zA78#PSL<=d)It72iS^@5k7<Xg`Qu_fZ|`?FUGU^+<|~uBaBy`)UGtTN8~J{szBbc? z;3H&M&A_N7arSG?yIQ)8yVg@tZN$N{Xl#fW-Of8N#76G#`K-9>R&wu*eIee@Ip}Si z9Da-7p}%BiQDmhZ-M?5M=px4PH`d4sHDMszn$IJa6Z*R$+?}`gC)_nTn_FzatHVo1 z8{a?!H%Y!Tebwdlnny!!C5W`&s^Tu;2l<7<g2;gMI#zgVV=h{Yjv>kHi|{n8*dpU` zpddf*jFE<rMhTSAsfaG9mE`H3-J8HtPPJW5)@O-#)N^Q9&l81YHbS9kV&<2AfB8yT z+$$`W7#McgBeCl*M`dN+=9P!8+@N>wkIp=X;2=gF^!WPK1Hm4nmSea^LglO*y-1II z(S+1;q~O9T3*LW);47ik`QJQ9Uq8L&K}0V=D*p^4TOzjSsW6B!I93#STp-)`!-14V zns6%~*8V)N^oQpp&rzklnKliw0YPW)7&?I+rc9to;tP<}sk@6SK(YUOK<Nu}fQcTj z-5TnIFB%?YOJQ69um~J)9qT}S*Nj%uE`ES~_*urcp`KL2Vw%V`nDaWB)61fjbC=WP z9I$LXWNuwI1ZuV8{I|Qmy>}Jn$`0>l3uT|sF?vqCnyRuocFE^IF&+QdCX8FI-yr-R zrL25UOvV3yc`E-M7b%^~ekV?T7NeWDREQ&XCcZbJ6z1;)5t>KnCJ<slgxxMT<BaXq zuU}Y0zF_kP^D!$(u-pQ9en(EPHmmXX@cT?~I2>i%dpS(4e!hKtkolTXQ-tDU2K#dn zNK@SGTZ2B+SIHZSx;_uy@l(SKrNR;n&Sb3~1i4^ZaM=`9Z8lz2+p7jAR}r#dEL57= za~YUM_u~ZTUfo&M2ei>xiLI~5pi%el{8Vj`CToj#Y3(XFgw3AENr?|peT*+_L(O0s zko&{X(wv-LVnO53Ue<9B!(`H$7$0jmxEOU%uOb^&#RSSooSnx~lJVEbh-><i1;`}y zsM6oK(xRF6sY$nIbKz71nq!<6G46CNc~@Nalr)2q*-^hs{4c6PUZWAF7L!Db{48~B zUW5AJ@3v}U4<Mv75pE@P#A<XVxw%Zk)#kAc=jV8qx*Bs2H;?^^OHS}8Q{~cuO={)H zJfduz`*_TBb;4?ze3`H~rU=gzKO-|n2q75e<R%Nu3jKDN&lj~P{M1KU$AOq)<XT_a z*ZkqQSEHw7c1$2Ih89*26jmSojLzVZ--Rq8%kO!W8mJvT=uR9VGBlYeFqHYJ0K1=6 z%;Cp)0eKX0H+B&Bl-WCF;U?l0Be`;ez`@Gg!=?}sFsJtbhR825o|D^K1K!o57ZFcy zLcmv9z&OHexX7;En~i}uHrK@-cY}o0u~VTmUUgzb`uJgqjDZ*;Ulfi^Qo)~+;h=-Y zYD;>UtV5oYfR}l&QtJF?!<xCN5LVC;(OKC~mOI{=ExBeohC29Uj4vpiJ!nt99iN01 zvE1-n_%IvOS7{7BPSZ=_*tuXtLqu|Ekw}r*@ihur^-itU=wH4M+}69B12lV)EP3r% zrQa6$8S>dnxZ#hA6M(n$${0)GlL%$RyIp{gQbg;Ndts<7{1O7903X<imV8A#sbayC zDHsK7pq|FhNkVl$1yC8(6bxQmeau+u-=sxDNEYFaqkS>Djieu!+jGMe5bx2%IIkfO z>_g^r@KfzrCSjsF!xS0EGCR$U39ZyzmqZdV;+cdMvVZ=Q(*GZI2;H`c@elU~Poy6| zDF2&v_-~b#rK+xqY=Ys<8&6M+DgPbru7OAqj4x_cr4mcon%CNxN7<YNrw3C&&^rp+ zd)3sj+2mp4ZbbKp?WgfA{Vg7z-+FBBI)^Xw+D;oagcqV?ytlf(?|f%_-QU*n{&@r1 z4Xul_2h^x9=&urD`vW)gd44a5)A61Qaez1;Nf8K?evk?sWG3z?j(`BUhf$hoj0BPi zh*>Y0EJgjy2)7Gqpu$zA@0{C>$d~OFjjvkVHA8hP?xs5MnYfd#)>&6DN*hC5Cc5Yi z!1R%h_#LuwYHF?}12GaXT38NGoam?_1O37*lvVf~oOeIgXm3r5B=t==Ps}KeIv%{J zX)Kl`)dg}E7DeF#`6xw@p%N8T0Ot*oxQB#zyop!(NxT8d0?UbGC;`CZ(yQV_Gf0RU zxkNlcRMcsMctmB6hLUnJW$g^V>g;4!91`#m#v5u2{C95a?hA{F$ZW?Jd$;luamk1h zg0m$HWjrSJ4Cy(lr%LxZjx~<zdA&KAWctc!zt?3Vyv82*7iO9aJ@KLAL8>no<I`u! zb|9UyQEuQ6=sEyW<-?2#2IagH-RP!Rl7oo@5+cj4)^zSskTjE@WxDbLM+oW;1S1zp zXr<$*f~;>iw2Va|Rgm>o>G7fFDPh7ePzz$PL75fOX#>XLKKu{WfEa~e2JPh-XS|P@ z@e&xb&>HdK#0zOb;=>DtXBa)}h4vOrA6xXA%IK<50u|1<<5|@jJbG-$^}j8eZzJZi z6u`K&lfhEh$S9Ih4(r7QC5A31&h29M4&M$7DSLB;iM@WZ2Av$@*79nvB(@7xM@&SP z*=R@@l8g0S4T2I%Q5*VMT`i6sYI=3fG|QkkEo&$Wp|7-qhE<l!w85oHCCQg6ic7lh zhK?6}mHcAm+@vpAi?!fY^-?$r9DCeYl4oIHlD4SGMljXPOr`R<1xS+)LoaBiFm(fa zcswGjfAVzocSuIm*XVmRr@&=4i+MVU0x)@sac3qh3Ud8yj14gnFAj#$C|m9jBg_*3 zkWKW~)VFz&^zDX@1rcw}krgkY@dPf@c#3n#3+t~Z!;Gwi#Jk9tIr{uVV2#iZ9c@Ny z72enMPbQ4fdl+WZ=Az;B^9wW3Ky8B!E60p)>Pd9AGDF_j@wQoHI*JS0O&pjdwi<n^ zjNL<Q)UPzCh3k89c3>qxHOdcukc9pEQX-`p1@n81_$>$gYg~)OjVd|Wc*$e_NJKV= z(lN>7bS=MWi4msKmkC)d&K~3Wtew$f*4pJBRpCK>G%yR*!*%x<F6U7`4XSeNcdZDU zwii(Ay*A)TmIlevW&R|T$Eq$xfMio8cud!T$LphIE(d|`!z4Eyh=gp?d`7^5lH6oV zg0Eb}q&v)e)9rpT)=XMNcDkz3-ggPK%c5T&Xb&xldqs5mM->S2jX?iCb9@!xfy|Vv zD~DQbRlsIwLxM4o0!v~{$f98P=R)9h9}|-G9c>Sr81<4gqluIDvqDSfBiLVUmmTyK znGU}=7HEhm0l4|%FO!9B-xdov*v2MHV$Te)76LlmS8gnuv@2bsb$PMr2<G>&jax1b zNiq=F2f_fN)FE{(#wgRKh5D$SxWh4;!oPqOk+TN9$>P(3X1%2{IL<`_tShe`-sBl7 zJ+@jM?jCd3N(!&BxgDT)`i@v0Q;t6|%$`^t)NBeBx2d!b+amK2ZRUeA!|zQ;LrL7z z?^4{?EvSvT&vRH#48PJ%JcovHse-%G!OyAu9#MO)3YtC=iB;;Qk>TEps}4P=ZS*Xe ztoi!Ltb_aS)mH7nE6nL*jxuB|D}~#GQCqF=G`6f9^k;$t4&35O1Tv}wV!{;W$)$1N zR*SQW*oacY_}v=X!JcpA>!SD$>{!^fU@->tGN@Ww`d7L35=RlRUTNz%bQ(E64EOuB z?_CR9Wvv0gQ-=y~IFfwP`@%p)+j$3FCfH*pVT|E=8TJd&x=d;69(eJse(tza1&6px z2OAb?9&B`llOzOIQx2tp={vcB$Ch&m!jdhjX^mwx&Zjm~;u(nkJOH%jYK*68k{({U zTDsI(^60TOdxh7C{5zMy(#$HPBn2``I>aJ>hK##hD~VW&NqKG!%V|EhCs3&iNVFAX zA_)s-xJA#Lf(w(!(;8luzmE`q|0RQ*(^Cdn_#3_ueZ!ak!eZ#3=;R-vv?^vsF8={g zvJ(DjF){pwj$m2!YbtEofl?m`RmPJ6gn%=D6v<Ia)YV7xDtEnz#7Y2t-(_wfWB}d! z2VdgthGMK=!~m<+^~bh@_wnx5caZW2xNnJT=`IYbQ=y&aFxb@zb617{Z-56T3dWq? zG~`_jCX~$dwTk65td|@Z_%&(2WC7VlK{0Zml~`w0yx62&R_&BLbBY5+Go~VJ4H1S) zMl{tH%zN^U=0<#BB@0i+IO{VGOUz)RWO(n2o%SvpF+8xq{9)f=j(l`m!oq%UqIA9C z3S&ly=KxiF$L3hI6Zu80MkH~chJS~E(ZHenj0XPSxI3!~jy!-Y`5Wc+&mRHJ*N)n_ za9-g`Y?@U?sZE%3&Bqe;l}nH+>@34=rQi{J#256Ar94XYgO>$ZBoEuKrI8O_HYe+Q zNyt_kVby$!yp4b8v^CxR_MLSiYLA^5TWxxTXM5C5!5kA|5^sBYL@EJ6<CkPY&fWaM zkAIX$Vs*eqYYE-9&u%&^UNomMvNIB<K$~p`7p|uXc)hv^3Jb4@Wt?Ulv=OgnAj7y? zjy*tjLxy1%eel`@EVa@cs`V2-*O)OFbyq9TNIupj+#NHC7ISBDksK2gDSd#byoB}u zh7Q?VW5}*CsP4x@Dr$p2@v$hdtjMCGMy%_H7D(fo@~?*+s~#{b|Duk@INZQ9*;+v@ z+lDo&zZhOJ@<3{hcIV=&?jtqt<DVjlh);@Pl<*Z78jP*^$A^zD+w#0^^-PLy_Rts> z>|r!9wtN34F#Qkh;tJB=2m1denEt<?#{cEn{O^Eir+<KH&(lO8#gvH`puUhiCej^g ze9t>63f0zz=0X~PPjVPt7~Z!vCTam+@4w^ez`%8f?0?78IzHZ?z`DP_@wByZU8Lqe z@$`(XW<O3}m?^o?eRi-+pN0W>W{M1^s5Zs#>yc8Ld<^qfuU(`_vTQQ{V2hAE2uS!0 zZ~9v7?Fis)Se;G|m?{da`<z1M>|9bF%tgo;=m`9c3#2(%I7lj))3B0#RUSmgi|p|c z^LZD`77K92LuC4@-#~gUK%0{^Xo)%2cg~J0;?G?}Gf!aoHF+a_34yiBrdR9W&Kq-1 zLC6x@&@_ug9C?JjHe1qjYJ?ntW1dEVmu*nyMY1It$BbPx;Mq7)AlZ+-o(;0>3j>d> zGxnIxPwwwp8d*{0te8aWPs4sh&PEppiSVc*1HpWE*vs%mY^GtRC(p1L<d`$IiXuiJ zE(%8;9S}K?ZGR3CSdHfj@&s32zX%`>-74`n_?9}lev|uyI0-2W?1iyJ7g{u3C|qcj z=c;&dpRLE~#_CQn@>JienqYd)3bbX~`|*iN{bjQapPk3%+1Dai)jtI(eSws^W|z_n zQmx*5{AJ&HlmK84P{xl&`L$~~Au9F+act`+NA+}^S=KIn%X31c=+oN3@R_CVjlDbl z_h@>DkXGg;X1!y=Lsg$eRowuo>i^>G9iuD#vu)wnwr$(CZB=aBsn|)ywv&o&>^P~| zwv&pT)SLh5?$dpHy!V_Q_uJmj9^?72$NFK;HP@WGI`4WGn}%$`xEqkZ979gPJQh}D zy>~wu^8ODv{a0O91{|YM{D*M*KdZ}s!0EpUZ5!#Uo2sPH->IOWq^uI6f(X&7TA(<n z3j=>(<)yk)MNil_c8XtnJhS@Fh>=_FAzr6p`OSI6dYG>pg9C&5rTZLDW%x{O__XE) z_&tLeqRkVBB-lzoX$E0I_lH**=>aSwNK6Jg8B%eL+pz~dk*LF_E?5}(CeGtJ^Y4za zH*@xD;C^X|+cTAO&mXui&ESRe!pV0`XpTJ|X*RLjS@CPv!3AULZL;JXToeK>+3jX` zNC?Rta_41Bk2Gwjkk<bU55D`-$S;GSenD!huzFBE8EL78y)y}C3EDCUOsscpl<Aqo zW%<v#hK|uouP;b_P#t7WXZZ!G7xTCEmrkXVy#5tZ<I*g&T6{rjXyt;Ke?V%g9|hgY zLlW(!WFBBB*5dC~3?zEAM<miNiDv6GF6*088bbn=SBIA+psnXfY=!FmC>}0q%wa8B z_A|2PmgbRd8W9}i5>s@yZV;(OV?=PwGg=z8X4O%rEYHTl?U#mAoiiBg847*x9S6}D z5=Tj^pv){FuZG6{zLa#`7XJmQP1(YiUy(B#Y1{)9Pn{8Pb-3uT)Wnzy_P}&3(GUe8 z{76Z5FNx-8u6Amod`8Ph3w4LcUez~7gpgF>G61T~WS>O@_s=T~c^9r1R04tt6&Bn5 zW>7Xmh1Xmkt;~ZS`0h@*`lT&*I4Y$M{{pEA{|2e^N5Bu8rWly-@elY<!u|oN73UO$ zY2Qsrxx_!MZVl$PBwKg|nxHWhyMj>yU=K-s75B2P9SWp{-}yltp!P*^t1m4JA7HD$ zvW;*HpW_(b^SR7!oOj`-K<4h+LOl?UBU#tJpOqKsoR=$zc<C@I{fsuwof|PlZ}@Ua z>IlsbT6R+g_WCG8o4x8kBN;g97w5rTs2mKfS|E^T9D1Emtjf<Ip=BZ#ZVWYntHsgA zN}@9;RZ1aWLpuEt+8YvBd0!SFqi9>8y_(Q;N;qeN^;2eB;JiF<=-f|UiDMdfz|1P# zNzYw}Sh`h8Pf8=lzxQ9Lt-sddV{e^i)fc3;{SP4ZKi1;kA+^?vDw-tPXQs`{CNPE= z${?z8n)v2U0u_>)6cny-3{o<gao8rZL>N8`s~&TB`)^AG)S`A1<0~QckaBhEJJm{+ zmn;=8epcR2z#)~o+_&28r|zO}obPwr4}!oK19C`;JDy0mGlXL7ui)8KVs=Pgo-9I1 ziQfZ>U=ntMi-9s^bKyurgtu__2uotvN`hvXbRZy-rei~y;-Eh>4!#s5xx-e#)7Slt zdiUI)UIu;Gz>H9y%n{9=)Di5S+I_Sj24-6GJY<w%yl8+6^@B)^p^H>`n@UyLahhN( z#S+tQ^%OW!4y-72RRXJ7HuY4MuQ(G?=@Duxy{OoXD4e25i7=s7mh{9)W_@$Z`x=gi z`xRD7N)yoH{)pJKwep`?s?3tdMiv_@a+yJqbR=16D=X}dG79Ne0%1ixU|BqDeoUz| zDy20Q5YoJxT6`(Vl!vCnklC({LuL8W($waxqV~ltX~eZDsqK)-$-b7hrb0_T#lR`% z<2+3v#g8%_10z$Wx!lEA8!_aL{7yu5Ftv#lvrUCO-*9Y~LNKK}Nee1yxP@j%sr5m_ ze#X1_>GdS&CQXydf^ok7u(&Q@|CK-W<)*02OqF#b7gqupLW&)<@jF7`43kU<9Kw$3 zkdG9hj^+8ZX?ht{qh>!L6E6z*<+UNtHwf#hr1JwEPM37ySyRi@6LF&@;`e0JJ_kdE ziK)iIAC9mUJ99w*!k;FVemb1{wH9`j^E`5N`mopam4s5ARBGIe`$(}=n6V&`xntFP z1sSP&npilplFVd2Wz}8_Mu7j5D;6|2c_+_?j8f;lch%2ZLyXEeIzWdmRhFV5BH%1y zd1bP{NhG}}mQ{^`dSGT|VZQE~iH%W_48PK_m7|pMfMbXzD;K0ChZgBNGh+EBETVcv zp1a3Wt0N^rS^W_r{I{p77=0mJNrr5>K1*0R+V!Fx35OA@Xmp;lPU8hT^&WlJ{yGUk zUogp*Fs5iaLZ?-F2iqETmZ;7g6?I>y(S0fu7wsP27V33R1md+3*0I%9(U*neGZv<p zZ%{M{L*z4BUgR_0w+PEVfiL&0ey=e39_#1`(G!##^q!;jo&wSxPJPz6M+rvZ7xT^% z@hmw?B7No_Jgw;umy7@gmWAh4k@zIDqzI!A5=`0k`lZPTqtGLYb71|n(r5Eq!=ngB zpI>&`2Q{OaryOqN?3Ou6BF9@KqnrLU8(z~CRXRGHjy%4?zR|y*d9PqZrKFWpG!ql4 zDX|e4w4=HmBD~b;a+ic%+u+*OC{b<RlX(h>$dgX>S8JopTwSs_7`;}#OWSg`=MQBV z31rHT*4byAO=vIi^Rsd>x&6yj>|3OvRp%r9%uJn>6`TO{!Qz8(hgPfJPqV=!X(GSs zSUw0co}j31!BUIib-j@VkvzRjmC2j^`DbW%Adv<4Fp=X6H3vz#29$DUr6P;qC+ZQZ zPE@fI6-xC{aK>W5-X&_+5#(_RNQeKJySSmPp#RjDAy;25uP4XkhL*KEm|o`9Z6Z$F z*6nmmk!;JFLhU9g%?a|7^}$+VV3d^Z2>kQ}bygbwjqplq8_gay!??+I)rJ6kHjgg4 zeaSYj;1aVoa6)M4GMZ7~&tQBHKL?X9)JMG`%0HVb%I~h!InUY{tyAO1dAX}&@x$RV zPV)Td2X1#@SC6IkCmu|VNWQYsHXev3a<P3mBM&U|D{qhsRi-#|tW4oDGK9G@PKg2b z@9NPR9oZ0|U?2t)a5<cK)IeyqeKu^D;X)mwU|uz^-v%3!U>@E}?(H@{dQTT62B0|j z$1$iBX*D$+A&%&j-tdPpSJl28_=kW>8?6k{cbZaZ8pa7bi^%nMI)+7tG;6k9|M2L` zKI?GV#uC!9WNo}h?wX6TR2!-zfy&OXPG?6{55>+;sybJ_(E%Fw`lxzBNIrMWPWQWJ zjO8nh<lE!GV6TmSxF4}8ZjD;(g0!X7XRO*kfH7IVbMPGm!nOVIt=<fcK|KI)oe1Ru zHNsU8v4-{%*U?h#ZECA+4xYvM*tr}xurwG8OK6yKs|hJkG2{b)FUgd=eYo-=@n(GE z*tSao%#02g`$j#OY@5RY++97~R`chk0nZRi_nUodJtufezl=V7L*}&!;5rH5ig5XJ z!JyZ*LWDyX`cFKV#xc1??~2%^$GB2L)vt_G_Nn5$>c;UqZ}BExuhSO=;&7}r6Sk1l zGh=uD)YJ#~57a(mr>K$JegMddj6?jrep8<?ef|qb|BFS2zxN;G{>lZQ{(?r7{|k%! zUoFJHop-THe~SSSH+)gK2JN*cki$T{8cIS!5oIIp_x$d;(~{i5kXpU!9{I_R_z4t{ z?9@Vp6&Wd?nc?MkcO)+;u)PJWx3kh;5KI~-LnOBxVI@hPV6@_hs~<)am?PPrH^}8T z4_9Vi#Cc=!35Xs^Ne;?V5?|}YwL+eLPeAKd%AydhCxl3FNYrA={wOPB$6{Mw(Aqie zqNT15_X$Hu8;Gxl4ePK;;X9QChL)46%1FFrXfBiX8lq@bD6cJ>K3cSfA5$;KJbx!< ze@`tW8#!j(T-tHYSu+S9wfRQQjLBJ0++5|pP>loYmFtYHpoTYtDMq28vc6qc(MrOy z;6HJMjm09RNGuyo1gkVjtk@=MIlL#HOlKfr7U`hU-P~7IzS<U>bNI%v=p*>zdaRBA z#zElwZx;^NN6oq)Uy|e_Y#<<!|K;CTb2c;kFN);9K<Pie{j<0G_iMklm8;s9y09lh z+MdM)P)rQ{0|*{zz?6clWQl<cYyfFZ3aTYCxun{FBJJSo@uZx}j7F7)?y~hc#Fbk= zcrz85P_s(2hRtT0&hq}8N&E<*{jsNlB6{BMEr%<)ma(R5(kK53pY12FCl7_(=k0b$ zAidD-x7iSYKVE;;L_JPzLOkz#8)|Jz)$)sSU}vS&i@D&LV|<>))A)Mp=!h<Rmpn?B zzQ7jo?=5Zcz_-IQV6Vqqpsna9E6-j+_Gcj=NhiARh<l>9H%9P;2_b|jY=lYi@e?D# zw->0uz9@N#D1!8@BZvE}{$w}W@OkssUhtG)<1Ezk8&(;uuxt+$s-kxFrX)!+!}D*5 z7HM{~My&3RLbJ`V$xphX(4?$iv1laXehbV@Gh1Vfeif!Hq>f&{flW4uoOsMB<epHa zH<OqprB<}kNhTEIrKykd`D9^#j{Bp_4)2@OnUJHNw&1_bnOkqHU~>9YyM_@yOe!ua z$9O{LHvwd{G86)jl$@4qwxnsrl7iXv>y~BG{Y*&TCKtY=(J3uv#bDp$NQ@`?xLNv0 z$)Ibo^3v%J93AZPy+KC@d^v<-w^*i&s|u}TT@E6Zf%~99v!ci1o;FDjOcgd+W(VVg zFDt0;j#_HOrtZ~Q@Z)w<5ot4^e_#ho4wu6ZAiOa`HDMgnhDW-l3z(XdwOKmT^<O`P zWm>HfAr`3)IJlL!mji8R!0FEtYndMlY4X{FlIjG|+2c^-X7-KG@U@#m79WNz^EGh? zgE^Cwdqf_de6tGJ;z+IEvy)k@D#J&w_!6sFKPP_wO81kLV3o98e5||GvNF3hW?NTn zk}0N(<c5G%$w*FM_K0DnmnNS<8do*`qcz~JshiAzi_5Iq!ar_oO<DJos2=VD<Vl>@ z&qi2IyrG_-J5y$O(zRonK^hmfN=J^0+*SgT0lde!h`HP~0zvntKRE-btq_X;c2A9^ z;Ll5Qj)FFWhaL;Lfg^~N7`u$`h7?>q7oK5G`dc<~7m<C;1uh#7>d)x&8r`y8;yIaN zy2vGeT63xA&HYk3qpYLR=+nbCr={O^SV8t%j>>vm&ro=0SXzRrc~cpZ;5IF)57EB} z0s@@r&{<n`+~;#t?sdsw@ihxI0n+&2B;w;Z^a@Br%sCM8zx7k&(`!}jvr%Z>akvyp zTc`}5xU;fm<H<qFGHXY&3d38_I!TRi^Znefdd`f)ovqqO)~nq==bE-xPCj+zi_+)m zAtr3iuSK~rgr=dLE!)p}PL0!b%8DDgwu6s9e@4(6!aM@0p-o|l8!b<Q@k<j|A3=R4 zpsk9dBnSN7hosX2k1aLnOm=G|`$OFJk>ESXRK7ccBBD2<SR5P1^wWg%QR>j2X2ywm zGfN}q$}bT8t|L#?gjpqnN>w$H_y_MveN{kWXx9gcNS3@wDnzfFCR=M!QKCJ-1Ai!W zq<)XWN5&ul7xgGRDQyTX*I$)64q@K<C_hL!ZQp1-iQ`Q#&g|0v9ZvAr5-T(GJ2XQ8 z{d*87!z%nZ+p6xy4BN3K7j7J`?N$RVL~MWmJE;Of<8DJBrXkt63OoFYpJy`VlwoOD z3s8JxSQ0>V`hEC8*J|Xa^9Gd8DM5p&XN=bSjc9Z-PJKGJ%u=fX%KRih3)q}F1>_*+ z8tI}Q^KUTe5Na1PZiRB$TV8DjsGQXyXVD&xWJK~T7_oeK+*5%&M~O#|H}#y7$=aDI zykurN>`eo2wfvs%=5dP7@||8ao_RNK5&%^m|HyCWQaeaF8KTDI!%2|8S`0c-8%S{9 zVzJbBfUvQ~F4^8whfn1x5aVKD_%gN?(Lu}7d5u!+U8&aZMqgQ}X_*%Umc!e*{0h?I zMhCVzrn_QsZaf9?rRU!jnp3?VkhKib5#WCU%kQAUGgg{H9`L~R1w%dA23_@}1lT5B z`Qy{P^q?^AzS0P({Roby>;xns?Xq5HhjHR@!++yq2~3=)g3l8<#kSmap#r5)BFO!| z-DyPa0E%erW_k*Ce^-8@%NqzTiF`oo31?>1L;L$NVjnYCK>A3aYXPJ3?gjEHR|F`4 z?1!Kc^QYW%0Odizj`ce#?hWH(bHF~umB+3iA86p4XAjcyj!ux>;U~{eO5Y#}ULIhd zLo6fGW%y#}6Hcc?CAW4pWEH!k4xBAm)1yVC#X51Is$9`X78OpbmOXC)D-zq?tfz%D zG+(thuw?_?A{8$NJ`S190_6w}1@447aC@P66W1&JIP!xNKTDj>20nLk)|C`0cZ8X= z8(Um&^cg$81hzn?ZZ~YE$jT%Jm)@rInccDp7Z4CuFfhHYY(})L&gay}ns~mbs3It_ z6Q|!`7&6ZZjpdI!N7-3brhJhymU}E<Lm~^2*1Cq(fB`pce)kop4ySSbG@s>4yu(l^ z8n<s#MY#HIl<Frf{4trEDC1<-KF}7(1+Cdb#(_oUyT*}yUJDOn=|2VicUSS|baYUS zkzMPt<c*<83K6Ocw<KtT%Ojsqir@-4LUl)IAS?n5%DL658PwBc+4I@7fTjcLl>oGC z7rqE?e1{9A$t#s2{fy{b(Ip`B02{B|&Ue<0LyyfNY{hn)T4zn67mExFi1`#R2Iw{h z=t)QEJ~wHh_Q9J$gBp9M{e6FOresXQ9z9>BPi8u$tV7kHAtzzfU^DpOl8o2zdWoik z0@(Hw5!RVdJ=cP+?>GIZdIu6Qk_vk;$97GDBOLBxsm;=Q0{ntC!tHGwiXGc2S0l7H zmDF<|HLhM3Z7r)Kf>XOPM}7y4qD3u-PR|MwSn==#A*A%ETFj9t^Yf+n<b}b&?ZE7X z^YCKS%+W;}yFX}?9<SR1PyQ-~Fj?}f?=mH}k?YffpKMA*g!}0Dff4WxLsJDk%{1W{ zwZD#Lyxl{|1u`$6LoG_*>Y_(Ei-g5ad+DK~?OWYBg@VP4Su{y&2#_`7p%9n~@c5nY zs~P;#WF6Y>L1jqsw-S$)ttppSO4j<v8HUaE$hBIde%&$^HN@FbA3O7+KL^vMeLG~m zt=a$<O6_E3ft*mMG$5O}bSeB9;6%mme5FE1NF<7l=4QJXyRLiji3fG3@0DHsQ+#aH zg*bQjj`84`E^Gf=Jy^g5Y#-0ElbaN=JT`fGy>0^~Bl%f!XLhIjxb)#QU%WLuHsKJr z01lw-qX!@NV!8{@@=6TyAV8RgX<RXP*x{Ns$g|t{6Jo9l*<)Y+@l2o#_V?$%Xg2;L znCusPH}byPVY!I^yJq7bH@v^!>om??P}RSt&st6sU9(b^Kn@GgK*+4f^Pj&D!>G|F zBx@R@qdO&Sl&;%*0Io_A)drtj7Jh#MKaT}s%VTFdJr}da1tjgaXZ@<OTEh<?o7`IV zdY}58>tg@;`Ls(2q_Ecs<W7p-$7GP?XoUL+J`>xN$5A#kHiRT?1~R(mR-X<1l>kI- zzC3tL5A6VnG{|f0r0=_x;z;@(X$uur{N!+ulCgj&P&VCcg`Iok4puwq4m*XBH`=PG zj~#-$<owHE7;Rz?LzHOS)t!vLmX5lSHWE+Ml~$Q07KQV2aj;~AZ+bm#^N=f8un5C# zh#@O`x0JHPbd4!Gva4Xdv_PBeQUMj-b}W;acG}GV6G^z(wkLhke1tNaP}D(XQT;0% zj29=%=p=*8FD$UB@-F&t2#>Q-MxiK2X>F8tEylRg_|pDy#if!wXcJC3md6>xp1nb* z5*z2iv>+;rm|&AjK=L`eUM1RPBXX1tE^D`35<QIBA(5R4I^MAI7G&12T}{b$D_iCR zTel!o#rXvavz<P93Oh`qU8&O>*_&pGSaxX)g)OfV^BD$Imf5yZAMapt&%N=Ebhesx z9QaCCrHQ40_dqz8_+jNXnfMa8P|}3t$EPtZXm}AbBC)cnVcU-Qf{R{(#I)sx6WiKp z)Ottwq4NFBV@!T2-4Tq8*zrUHYFQlXMRZGHTXJJtJDJLAK^8U~0G}L7fwHkIXFsI$ zL>%+=S<FJ{*Ds<U%;V;{iWLfJ)~A>wA;8#>NT_)v>eIt|W(z}!!@Ah0I4)lU3B7RW z7Uk9zJ+>1ZDRXSC$1y?dGtn=?atKmdKMIVLgBSop(!<O#Qf<_L5ORQo_Ap8+cA|l| zUNOLh^!n$hC&u)c))4);wxYh|@Y}P{uq+qpm%2ao2KkC9#x?^U4w=ys`_aK$8V-`T zX(W}vk8REWL!K9VUG1TelsekpptA@_V3>06@H4qUaj}B8qOhJv{p?a&N0YxI6Mk`K zzS0cUFiC}OuVfG^NQG*lDZ8el*$!F7SJeMj&!+pA^coRiW7sN@hey%-M2pOARO#Uf zF)}+%CSQddwbwcm^roY$i88Qop}*&%7lkAa2JZ%@=p=2sX?r}K#W~}2f9Y~n(Ti}j z%^)o!TY9XUt;=P+0VnuWol9^Gif2dkp6h7yvNPQ-D|X&KE%q^!v=%N%vd%DwVsTE5 z<YMjQlGLTH?N2ga(SWkKuzDp1=J$EHK6WKLykqq4d?#9!lntV3Uh1envVVTpojJQ~ zYQ0sACd62~6dvie?%HA_0#LIij6z`C(?3gDT_Yc5_EDS829j1J?m%4?4(6xOE}3zB z_HE%W1b%fmMf3o#K_2Y_KuFk<s#LgQNZAPNRwH@*Pk@Q=jqW7pP}WRtX4zeb0wkZB zJ<BcNd$vdA!ByUg1BJl-b-?xzXEXyhuDil*gK#<!1&tubO+7M@ej1~-;*srE+F?ef z51qzvr{h@6zOHKVKbFmq8o+ZphiZ@n5sS?Jp@e|4xYqH72Sta2VdF>0Bq{)5cY|() z{*^<)5VqEa<@`aBt+j%%#utZL!y5|(rP}|z1=AuZV(I-e2>)pb`IG<sx!=h-pGF^% zHKObWZuJ(GnUZ>^ru2Jo&HmXc)}<Y$L%I+CvK5+2&{e@KjC)P*VW%s;Ag9xLE$_p= zSJ%uyb?;O)7q9y9BU?M3<eZyV@FO_s?sM(Q2P{fwv_Eq-(K}S<)#B=<Td}{DG5f}_ zbz7u5w7wrTG-HPX<tR0ON6ma=jcVTY0#VD^zHk!aw=BfG^CIiV3&XS%g{vWbM{B9{ z65H<HDckl)j&C^}ga*U340hEB-g=m-o{QMiCXBJfncx+MPcxyufwec}DOcp0Pb@E; zK~-(Hg#Yx(`HNJ6#_dYQ`65(+z<_`l{s&m^VDIYeVCy2GCHl8df9F<ImH*0@`E22D zd-PT+&{9^m5w}A;Fp!G@mzE<{Oo60{t(~aXQ>^j$wUw&mpF$Be4Eas|U3qx5D1FU% zU}B21k#&2@xAX1%>4^|17tn0DmmB)#`D28R27{o`dKXzko{!@uq+e!%2~AoPYN&4I zwNJ4P_jc4{T?QhdcZ{hMT`X|Te01pyAEF4G5GKr+He&E9--GCY*B=Q+AJ2#H!V%jt z0F6zJQwl3vgU)X`nv{H>iJPZ8#NGvM%}Y?k)o>NlS`hiRnUQ3Xz~;BO-Opb0(Iius zj@?&v)=5udL0*$Dcx^a}4_>fx$bZ)I{u>JLd59&O<fc2tkuuec{uH-;`$<K=jqn~( z6-c&`ZmqGb*Z8dpAF-Iy9pslzE{c_C+De@g)6IeeJUA}*f&79UmlkWi{XRAami2N< zj*+;Fip*Z5lpMtzJVdwuiNZ_{R0f#Sfjfh3BW;%nG4>JS{tZ%hDl|0~jO&;WiS&qR z`O+t?99eQ_?=p$<g;O4a@=ca1x#=JvN9*w<(OT2eO6_Db>;8-L(IFMV9w5W7=J0}V zh_Rh|fq8__P_!DxtG*kZ(+L&+Gc-u^k{`u}DZW9}83InH(sG2Y(lYhUU4ZlrRouev z18<nyyoabtl+bD#Yu`^g8$S7(=CE3CA<mPX2ANlOR{o49_;!2#VT)d5BBarfd_zIE zN3@`mTIc286b)a6_1{*{B>(p+Gc_}Da5i$aa<KnD44?n1Q_V_3n!Ydc@9PI3mjCDt zV*mZJztw7rioVU4Xq!LD7PaxHsJi*4$p4-mdQQ9vP5LxA>KUmDtAfxW>9Q@SV^f<V zY3`F2yd;08Y9}6L+P*Nd8F74Ii`QbR`*`xu|If_}?e|Wt2ju}7aF;fXVK+kYpUF-| zF<Bt~*7B7<=dGz`PA(@zv1791f+<-pVborEWQuXM$?HCkFOQzFCdgo3r_RXEric_F z-)LMn=^v@=&cr(D1C6V?Nq6{}I%($TBG(A;;gbD`A(<0~a-q$-NUNu&P-k3xGN+cj zhb4q9Q7q*7e0}a|;oa3Of4Z)b^#iu4#c^5W_xGvEW~>h%wRqvw3xn*|PFkk>z>cbU zn8K}Fyk91*1<Ej}pKQ&;V5=X$ss4P(f!k)z<FnppJI=E>efl*Tc9t-;##Rck%;JuI ztXy3f<I==@`9}-kshrsHJivUEI@^7x+BsNegDUVX1I8q@48+&-ol2ot;sBw@F#9}P z$aj?5?bA=fFnGbolBp_AI(-CW#|hYxI9|3*>YXEX)>M4ynp=}&pM#fB`8mw{7&fX_ zamP=DSaj>IGF^57J21`lDe7`-a+Ga^r7hWIXm9Y<%)nr*u}bjY=*R;M+1RkJeQW(| z-})b168@#4{$39b|D6q&qN@9~d3~w)tLc(MF_6&OsbI9m&4j;vN-$?aiuFjso=*P~ z9muhE+8tPAKuHk#-uLGjE<DS|Sd_v>kVq3gUU0J>`yN03O8Z7A2;3Hbh|pv*8L_VI zx}$)xpUz~=65UDVY78R|IgenDH_2j(%ZC@=UK5pGP}?+(>-!Xo`62@2AgVs78b+{h ztf-M3a|S8G8l$CHO8{BWs+;DIM|GN`rz*GZOceZ#4KUsXnUoDKbH`$#JsAE$3$9|j zfH*GFyLb3Q!CQ9xco$(gus#VO*M%ttca@neQX9e-1(snTeOh@;i*180p(a%5jlN6! z%WiJ5wDSHL1bq`*%9_3WT1yQpOp%rmmVwlv5f6Hk3EM7Gjv4NAIk>=v_vrK7%|JG4 z(!Q$WaVWYEYqKo!7!JhkRqwSR3Pf8U^Cq{FE8S(6_;(>{O*DgR=cv(Ee^9iKmaEk) zA|9XX4OBcnUArg9IQP2B2%J}E_>T#i#U4iA!oHRExFrP$k%AJUD68P6_fw2HB)<rq zsxnSpJ(WMFLD)vqf|G`pl)vpvSmDr0r(8yIvu1T%WUDe~ZioTz877SvI?jjPXk87| z0D!p%B{CTEe3am&Y&7U1k_Bn{do&&<{P>*d2}<QW>uwLDHQVDS#a3QtzT@OP>lIJ} zWQFgR5^%m?ePFJ4R1e;*>$>O~%Bq!%O11z9?Gzrdx^Miw?)i#rLo8lk?Fs3r4u5zR zR=yyBT~E;v%?o#DY>&6j#8kkfsY0KcpeS}h&G`mc0S1EKZq_G(_$3zRBhLT556pi} z4phF0ENK?PDcBi)Rf<E{cqNr9Ncq*m5w#Tx2uw_`j`;H5+xh}aon>8LBm0wI8AJcW z$o~IdS^sU9Yu55IM0-I0q*%QO`9&7O3I+utp~nFYTc`nDVhkh=4^8nMLig0vgGiR6 z@%(}!(Lh62H(uwmWN%h?mH<OcRHO@0scNan+Q#AQ`Bp1N{O@0Kk5Z{WiXZYm^nX8X zJxy(A`Q2B4cz|*ljNR>u>Fot0rePF-rByutL`>UvX>bX>(4(H1e!B+uRUS%%xj7`! z3#~dl#zE&jyw=gy<IK3|VQB3k7Tl&AF!r@!LAyw-;;d>L3TN@v#n`^t?R?Iiv{%3J zBXr+ig6?W4gSvCdnta6Ab^mIaMHvvr4U;$YD8w<|8MWkZh6@nB)_+R{b#^TIp-11y z8|{dBm73?Hwm}P~S>84szV8?r_2$QAFbs)i`A}-5<)+M^z=Q&0{!>SPd7;Z$)KAr9 zBK6^y{JAElgXO04>zM|45^l@+rZ-b%)_M@VG_A3HmAaB1ChHf`E@wYiq#qV^tCVJj zZO*c$%J?=*HKrpHM%^Wg51~IM#kPVZP3Gk%B5RseLD@-XpwD#R+1|a?L7M*KO*l*T z62>4Cg>#bW#eN1AKT_4_0u&sTwWfA{znE9hhmx{4n<eLAiGejaW^gjUd}Yx}YXX-f z=f;xB+zvL(*nBQZ9Ce_Y)EGh&yCA&;_Q88oqJ2Q(OrL<6bPOHl_5+ra`g&n#fMYJg zip|}v1$zmio8CIY%7mD|L%Nlu!JU(T>=CM3W1dMYpBFw%l?8HWgzhGS0HJJ`O6zcX zsWSn~T5>vRUZ?*`{%nbZRQmkbu&fVr3aQ=F_5vF_br$=agT+YEtwlqk=u}_F#GAnm z?3*%IlAN1;xEJwy6aS6yT`tSyg9!-z6@7tl!%R*x>gJ9C6-F$MyA*klyd5;)41>&` zqAC9FjLR@DTXx}Swx14KJ1m#&thMGKa?DYQgO<x%O;dLZ-7HEs(YrkO)UGq7L`> z>or!?S6h=$&c{?tIBC_=;w6&%&Rz-}uOn58!4O3Dz<?bF!bIY|cMJ1-Qp11&Om0w# zBoOb<^tJ3LJ7eI1{&A>c4$(4?vtRc7IMD0H5Rul94)820O3a0LIBdIJNUARUKq?k5 zagGt|QFM5231xGny%^zMJxiaxTUhS!zH91y<vZE+nE`apgQ|DoFI~C4w{x|zSgH1* zYd&Z{NA&>`4oc)ThB_RGl2C4bQvDa@TdNpLwBbe-dd{~h;AJn8a3KI~%ZO+(UHV4A zjtxq5Se6O1MrUCRD8v#5r8!5hkABGJ2Y&vC{vx8Pz2*0PG+S)NuQ&ocX1U#4r3E`H zU;26mTGOAAqb53uXF?dzKJaCQ3IK{GYp#fJbhY@B$#PFIK+$s`1il>(0RYh8t2cy- z;~znZt`=KBYP_J9=&PLRt1MBbRI&Fp>(mrxaorT;CFx5FHXhH$7k#|al0BX;MMlrx zGbPnBG7uSQ!1pbR(B)a0+F<5d^<6GFuo|bsDVOf><hbNHbTXh~SM!-2w~N_QwOve3 z)}L{Ylg7Vlm;7A;@cX7A$VBo~(mXLthi>^g3hU92OMIy6-q2mEPRHCn9bZDLMcbCG zD=ba@T^K-kLkS-+jE(ad)XO5n{th3oe2w_7+W!-o<vYLWt80nbDSzCc^yy}^cVUhL zk9_v$k)`#zLRy_RL2eVn2(dVT+>L9A5}uRb_NAv`@)<X*p+<kyz}!9#O3Ot<-&<U} zUQNt2UvMnI9U-phET&7LwKAWhF{s2WF7a2f(b#lrVzYBMdNi&E3(2-&$|vcyvp|ls zHgR-Vo=rO(mv8iAiy&?sccP(Y<h!RP%c7Kp6HW>j;b&+7;c#cxLG-&Iox~^eB3~^5 z47O8{HG!ri=Ux_Bgn<R-so;j}0^1R%ooOK5u4{M}+x)!1n0;h6!bB{tz(w?Yh=K)% zM|{w)Famp)BL28oNQWQd4_YTLbzhA^za5Z(mbUEJ{B(<;kk+gVGtp)zUC2s0gC)|$ z&LQmp=xZxV&||CGQFPRYjddyGmnRZqn1d8(Vvo$N%xwD!Xye9wb=2Si7}5%7wv&(x z7V!n^&Rk12ce2X>M6C?I((d%LY2-(mt(og@T_wA!ZBhWqYvmR=tICK~{Bx!tcz4A9 zR+;U}a4NBjtqg+-+rAyUh#{U1%Zw2g)lst@J{KD|Ry=l;6a+JKgN^`L{HsD=zxdxX z$lSM^p#a76d&{QK(i(O2P;yJPSE_VY7W^aOPdcz$W>m^uQye>NO)siF0YZ(MZJSz6 z$6v?n%?8l1y%#ZUjZwU^#1N1$AaD5>_0k%5%Ol7uaEJom*|V(>kQD$rafjt2Z~73` z8|Z6M-^&oa)IUb20U5y4`qxcIn$7nGLZ`u;zuH0~0;#awjXC79UR=Y06(m6or<V#6 zE+%G^iHEc3CD55=!m{y<JE)KNqE?;2n9rTUXpfAylCoTEnc>y_sPr&ThC;@~KW1zr z7i+S8b*Egd5wjH?^YTv_#js6!K`>Wuk9e~6ybLCV8ZXmH<b+`@yjFG!ou@cTr#PHz zvvbZf@W2<1<BS6wi1Nza%bM=jI@2sXN6%$kvi&fEgFk8~4skSF`|?GGyxK6y&npp) zhkxdzuZ2g})GU5b{Tj(wBpFL8IBrglI4|FSNDsx`8PR0Dhbz9oG2F<OXG4`<oP2h= zUr^yCJecC%pbl|{@<-RzYa%pWs9$xTbysS*rbhs)tb8&-nF$}W0`LNRldf(h0~d0E z7h(~wudqyTw79e|yHO0g1BHyG#5Tb0AOU-F*FfJJjdz@ZQq>gdmmV2mDwM-qjIiY= z9A)-Qs$Ow_Pt0_V_tD|_-moO}OJGt<Ln!F>HppOdBZ<ZAyUKTdwi5%nzDw6<fy_f~ z^LrPq@5l9Ej7Yzui~YuyY{8Z3C=WTB?xyIr;=fWXa>8YBsAXyf)8~BP@2q*<XbnrV zBFs)MH)7V^Q7T=e$?eml-bK?32fR_yX;5eqYf+O-5*UmRHG{M8SfW1S3N;#WDiQL3 zo(W8DMGjQ@F#C9@Gt%I=cYkCy@E#Utv;cpjNY^aytD-Vn7l@_z0q1>ml^{3_VkG)N zxNocT1*sAm3a6|r5%7}3LmK}$sJ?xVTW1RY<f1|3t$*g2JoL>Syn7$c3{DsLUZnd} z(4dT9{pti))J`!I4=%UMFLy>Q(loeB<O7;6e`|tU<+J<ksG`Q`ma$mW2ieiGlI+38 z_76{CrJZuzx!v?~9S~+R=DkURh!Cq8hMH8PXGZJB`Nqb>WArK2irgW2G5bC1;?q1C zC>MkW%i?cy{@!r(4}b4ZV2v|KtL*TTA<!<DAJVr>r1!|LH_Wg5PN|ucj?}$U4*f|n z6=hh8(<`NR=H4l+v;xB`W345A*}i<mw5IKA_Pj?3yc&kngWys8N$H6m`+TWQSicR# z<OYUJBohxZ08b!Oc=pGMS)y*h6;t)HHvPnO8cw^oRD2<*mphr$B~gk!f$jH{ykMN= zOLtKrjz;izU6`_S>>CyKoNH%bc$sSHn5A=_Gx81@85}zzzB~_I^!1A0tw6cr2n;$f zT_7C!EGRFA^pHzT)snKfw?rWF>WTGYo*c6$wKHgMk+z1j7CyZ>T^)!nHMPKckEZMg z<$wQM#8Yn9>FC23!qfj6-sb&}5Wl3ek)x%R$v=Vre~;*>>#EKRp?$WffiR~!)9>k5 zr8-L^qccL07z`H#ks=5%p6U#Q*jglMyvh111%R<e#UaLhr67+qS{Z`r3@K1_T1<1l z<+$|lufD%OT=ITD_ne8fKX_m=9~f+lgqF*!Q)Ws4BnR41td_#-aXJF}<ipfreO7-| zH9)1ANi*GJa(cz~`rAOpU58eucwqAY;5kPzu<X%FXx8KIMajFrZy3)qKugjPbj-Ep zQ5mc{=7js;z%!k{+H;N6CELIjNNW_?z>N)2o#qyvM<1Robto~ubVz3Q6uP#x4u8p4 z>RBqP4C``Vdz7LHzD9Z`GTc$d6_l038v8#QsF=IPFDcp>+6Y$$t<_g(&jXd%@qOfL zpQ5N>+sQ@LTM0)izrpC7xrLT)fEtYwki&?k-OD6QGHt+Qb@|><JmRcPYjihEth^(G zOvN=vF-t0UXl^!411d?_+|W`#A(jyWWhDi1){FMZ=1Uz1C~#t1<_2zn-i;Tq#5tiV z^cOF-p;$D{)VcTSt6m6r7A%vzY2BVlw{J{$UJoruHhz$UvSQfpwuGX2(`j)T5y$dE zT<N3_@q@Zx964<dfOtc<c=^HtxTLpTbw8$m2uOhgLIa%pnKmW3!uqXC21Su|b5YUZ zKa^^Q7H1OXO@0%T0=|!&H{ft^dDfVUmw(MfjmBOHj?36Ke1kI3x#{*U8sEfsb>IK9 zub5ViqTBEYiLROXc;r8T(+cE)hdcwXN43MJze|A?N1C8;o&;%G%8~y~2(sJiKCwBz zSe%SRUeW)8Rm=aK73GETWQ9T<<b%yUk@Ok?lno&vPLDYP4oMm(aaL4bgaclyj9c1; z;tzBrKG_{FmjucDMD58&9Lr2!1=W?$_zfs<Kn%zMuI>|vDN~TDG6;6|a0ZnxgoX53 zA9rH)3Wo@~s)e}pH#tTnp0vGJd*s4lxx<m+fWGv64@muA6E^uJdnaR9U(OS=zTldq zb_hkuj3oY@MRYf~|Kxf9YUimE(_*`SttR;|zU2RPHT~TeJtxUZaX|?!Y<o&1qrML+ z;yWxA;7BCp7r2-<j9hjo(=V)G|2Efgxq|ydUVNeb+M8&?*mNXgxW9sxxmrOLpiUr@ zro4X7=e}*t=d$+t|KWmQid*IKp1~D`y&AN1(=^VDDh~0-hA_p7F@XZGoEyYwJdr<+ zErMbbRAMRLNC_*l^d3KJa0A>EvuxAsE+}O=wp;veh}*jcXkkQbDgw&TgPMk|CfxW& z@|2MXa2Ti}ChrQX^T{tg-CH`k?O~IuJ6+4zf6*Udq&t%3ZP|{$O|Fr=eLuBB8@%hH zq4SwdnC49dTc_q-3bJ$R_YL<UZ9ur?<eNA|AE7m~?VXIKA*jMyWD0YFx3gSi3Y3Od zyjBx#-6-swq&?Nnt<^acA90TkL(;SKq?pg0U<#E+pP$<c4Xa|0#)fA!^91+qhh~uJ z7~=ot*xFDZ(6SI65H-)3oQ0>JU&1$yamP@lX8URy>CN5#AisW#9`h0281$$kd*7IP z(wxe6!O}{Dc!q;xAp0$qRb2W`Vu?-T6!s6j=wacB=OjFiY$Fnf3vH7FgGFXL9J{|g zheNTd_I@IdHLC0B%>?^hbXl%IL~*RRs<112bCWHFw^bY}+ed*|*#(r)8U?x<(3(?h zQ!r5sQ}uU6Nu{`e;a*Z#qS|X>l7tORF$2gIA*|{mnH8lG2@&=_(m{}<=fJKSJP}@2 zVq21!rTUCI^ILctW3_oVvDrugxE~0{$zfDc(v!x4Y|*WrlCK12wh0|80LeL~OOQP% z<#!m+yfI*4x7k|4Uk+-nq%HzzQ=}OiP#j;T26IsMstcgHubn?gW<CGS-rqo0OPS~E zU}!`D0^<IEI~@MTm*i-^Y2uEce@Y}aOX>7M#F#-jU5wTUtqiQl(`I$p6LGK^M)VJI zS<Q><46Ye#>eF*L=TOMck=bPnB(nW(vdS8aoR`d(C_d#@c(n;Q*`5>ZE4%D&tb!zZ zGRkT6u(+D+e#&}Vo8A6=S(OJ0zbRwdONZXYBiNlSlIua2;OxOKoHa4>g~W+B&nV6? zMLRK?B*yLMgQGak(1Y^-L>wiYI7p{sVg}Uxu(;Ky;79^t<buHfob(MbF&I&Y5TF6T z_MNe|0Vz99nwaT-xbAuhhf&)Gf)rU^fRoD5_^NlX!3EKjB;{0FAzgF|@-e|OS-jU8 z*hlInRW&3qE%Etl^%ss(6GNNq&!o)>(65i_*Sfm9QWvYiH|wLvpsR$c#^;_l^n^XY z29bV69cnxFF~J|F3;A@#EnQg!_T{s!@mZ(8Rt$w|Z|2UKy9`=kH_z$V>omgW`b>Uj zbwG+?jMs7J$Y_xpX>kTuIfGAHY$Q`$)A8SuLR9AhV^u~J-y~&jg5YWBPXu}UW6@tg zjA6HQ`=VEGtxIIE4D6<l@6N_s#cR)|Q<>E7MVeOcrqZH5PL7FBnuf;?g8<!J>!Hc~ z&3$zX-Usq*g--$ohZ3LO&q!`UmK%IJ5nK0L9m84k$VyN8v}N2Cw@2Y#{?dc?eO-dn z5%}7YOSl^;ucCHAhegM>4jU`luM-N%4q7l7x>;4Uh&Gg59mOqmO4hfpHzn;ix#}>Y z8T<M9fgle5rjoW#D(xu|pnx13EpE0fdq9QYZS_kE0;Q|nBSWBlPKf$4VAw;7W5PDP z4T>_jpd6&B*%L>H^b{pTs62tRa?rQ%7b$X_hYl#*D|^Ns5*wPnNsLO%=o&b{^i&_R zkuw;<Jpe;@*rP{xVD$<gW6XGm`K>a$5y)!{iG7zG^sVX{-oI*(zpHi+R8RG~AS&Kb ze`sX#1>e7R2a)D;bV;DUAqt%i7Ow*|38edvex>^xeoj>$&h~2u(n<^UJ=)G|g*LpJ z-Hqx*I!>Oa?R_As>H^b#Hm8wwut{cx*#n$g?KAh08#e5Vo-^nf@?H)xT``$RyMFaU zY%JhcWYKX4=hJtHr7~;^PHRn?jQL4hXWz%JT=zKlJW@5Cu<u}-0~k<;c79V;l|sJd zS(zT`+J`cB6jVhzvpPS~Y$Uth9uF&L9+?4rw2Fdi8PiBj)(>GcC9?1&nnk_?Ew>$) zO6^bTv6E+++EPc|B?nge6ERusg+9d%U>R2*0gp-XV~7{*x8?M8j6GW$;`FWMl#s_` zUfy15wxFHHNojDD{EBugM>2!s1`+TRaM%1Sd$~SZ{!B$~8|)YUtm|ht(n}4jVHJnP zh?1X;V^*3$KjpWV*6!_owl}P|A=-fROXh9gN@lq%!M|#A(w5qIv98E_WZ8E(fz1qb z$4Jm`3?F3iWcWT!w1S)gyLuFol&o^@gvUG3@JFIQFYSCQjYNDJ%R*v=D+CsOhKXI< zjD4n2**Xk^hpxDaD7z9?`R%dzz`<TkT&KJ#T71={<`LiNl*B`TPkta!;n}C^o8nG; zzct?&M$aFq4(4M|biycnda5rjs`x~+8e^|5-e!GcPn|%KXDU?|XXpCcMiL{(b$1<J zw2&)?{%3QLu_E{o0U~((O0Yk-F`<3IL+x&Q_=Wl!z~*KUGXhK?lxHbPEBM6BH$b8& zJ~JSR)9QBD=q55|&Tp>3)+ewo!?G~ijPiB`vU8aC2BwCqhrubd4t9jvT3|y_uXzBQ zYzpbiqR!qZF9_1|P>g(BlRw6X2CM3NtGv&K!gB)MmHr+=-(HjoWp3i2o|b*onqNbr z#Rat?2RGr;+*IHbrE}Cb9<>)62|H{iteU(jMlGzmLZ~pLg|t7XAEl)X&A+)!<b5q6 zN{m##wilFrSEhtyGOiS-D3<*~BXhzIpP@75{_-7`$DB(dhkT<sh=FBUX<(E5g2z!m z*D{1)3P`|$l3!08RGA#d3c#<CEzOamQd2-%*~Xe{dkCL0gf632@wkOzoU5aEeGgHL zNleNrHEqg<W@kEP*_VW<FB+A8m23gMg;HDNE+Oig*nL6mZB`XD8A&51dW!NmhJ81{ z_BPkRhdT1evIucPC=I4)44Er}nJWP|O%!NB4ah4R6;M?64din|NA*NzO+M7_nA0nS z9qDx4)*60m3$$sAM7+_|8`(Zhbc$xcl-ELDcNE<SRj-G&Da6c+A`?KRbW+XkKPHJ~ zG)3T-X%}W@JVuJ$z>A8&hEolFsS}M!cnChIVo3a?U{577-s6&pEF&UT!75UQ`Y0qU zvqbBUI2q)M#W8ES41Hzf5eW{021k7PfKhn+K%3FEeDWC5Rd)-}HMxtchEE?%)+Cc0 zrAzZsT5@QP1v8sLSiJ8en(`bY9BcwpNFja7Bgb?;eLjgN{E!L=$9)U<w+=5zZ0xnb zS8o>cYbKHJKRS?AUA=70L~V^+T>c5z{(dH_tt+4^qv@A5<*1aR4F-Ak13PpBJ?JDj zCq(1O1Ea!8`0?P!xjFL8Ps+^-WIm(5p1{^-dO~OJWFh(oenv7&Y*<ho8l$3qo62rH zzGz<7@tOAh_;3R46Q7ir4NDGk1<RlU!Lk)c6IF&IT@P#IqD;H9`--xJVW1vmF0avK z9f}##*KC8+M}(pEO|g)-PictGHPI^J6ZM>|gLC+jZ>=8qSw|9cnJ~hJdG^;0`ZnvK zP2n4`Q9I`wo^R;w#Su?G7|!^ZD%B?hT_!hl*m=d-bs*;1J2Xy+wBlc3w}`X1oc`hn z8l>tF%_43&ar(Hyt9`!iX~1&YO^MQ8A2XJs@ViwTT?{2}xEtiovqnj3%348sXj4Vm z>SAoJvNCu>s14fnhQrqtQlDmOWD)V`c+yd+vR!v}-rlV5m6kg|*VAAs+<`ITEwrtT z+C=Hhk|~A|$Gog8iarmcTUei5G|DJ1#4mya<qdVnETwXC8K+jC7`UzBUlcd1TKXE= zflDCGtks?;&mP7PUv6?<d|;b+Y$}}jS!re6QWWVtR3-i11%u8!S6~dcPbM)0Mxm}Z zR2)Q&KA&zh`mt@v1oz47^z<;*dr?SnWe1Ag-HQlEFMVoFvij~4F`G_zl{uq2Hk^LS zfn7PVXYXEc0%M`h(JO$1JeG=^+KK30&?dtDvfxKEnU;qA`X_RDrh}b8wY2>Yz^<== z@HQTJW^kf(rUrbvT+%7Zb><X02lSpV^%E%dB}mGApWHYPsm&w*5Hu)nKEng5`(~cU z>QW+N2`{Kk&XDw^pDK<-apyJ%F@ymR>|H<T3W<HqgQ!kA{Cf}qc=&gXsHZ*0oI%cU zwG-}KulQ@dS9*~<QQUSzS%zdN@}OErZz^OSK^%e$_*zlu9q<7gr4LoI@14`4wsv>C zKJq}qd8T=Y9MWoKmV&Wp=1dXiZDPlK_AjRMuC4JWl#XCV+8x3^*<kpj#>9!s;rn9p zMdfP|_o`wtJb^nDDX?#e5NO#%Mlry>j#~X=c@gjVV3}~)HC0{0k#hxYYSiL2MJXq; zE}#Ox%l~)>cDVSY72H5HdgfpQumve!{%vTgr>Ayr{|onBen~n1hoPx|B<}u$G5HF} z{);i;mnEepPk{+4q}tXRmxL`W7e|{2cZ1;p1q3?~>&r5c$)O_siT*9XS`;DhJRZ|K zhCE%0CN{K|v9;;*bg}93d-Yc<;kO=;^uBorHbbs3tT1CKBe4u+vpHr{rlkm{4UMai zI9{Hsvvjm_#3j34M$#Gm>+zDN!*=0Smv_z1MJw+DTTGWZrv@;^)f#*`*n4uDLP$;U zrfkh*5P9(R6xsDGn}#mq8txc2Ouh+Mjb9Db@B8_s<xp5&%PEK1Ca*ok>$>N~J<KdN zyjj<m8thg@msja=`fQ-uXeUw_9FzD-+DpZ!ucya0J#@dROh-A7a-Kmhk43->$q9O_ zCpg((ONl~k+=)2V7imn^m^V@8?WAaT)`Y4*RB35ftw2ce!1pEst-1}^S_fWTH(;B) z2*+Q(qtp4Uo5@bCR|a`Dix-{goiQEj#2v5OTPZ`F8zk_;>4`0U4{Qsh=3`@um4qNL z3Cn=z6IK}c8OS~Pm5mKoRZSfxwD&~Qekn(Lr!H+fO~2w#RM9GA5i0<t$1V9I;J13y zN_R0zTRmCuyl?kd{~sjAael8>Dh~je*W*eP-Ra$|>9Z|`O>c;xdO$^6h?f_m=g6D% zK^w<}3!cbI#y46u{qfwE8($=DmTDmz7QyG%b&W%T)Uo{NZ_!vQXc1x}`oR8TXV1M6 z6cVV}-TAd7^$RnS5et+Hm$T73D0ckJJ0+H-c2)T^K^jEa6}G-9*|@|t9TLb+&58PC z>Cz^)91p<8gb72tqLx1Bl0M;Wnb4O&n2%vk$^m$P;JOiH$FZ@wLu$IiF}Q`)ZstS` z_#@_ytnv~>1CQw&=Ez+eGo9#2!&82^R60LGA8R-5<79}xAk-8EqsO9pfO3whEY1$y zpnVf|%gtY~=G<4E=^?EtDm#o&mY1xJ6X@W1RW396zMoL&ZBDGBo$ua;ZvA7>P)iX; zv<=T)QK{<s3H6`+$Y1&*tdN6#&@XNz;H&vg{(nEe{;^K}c2HGoy#1wg{<J69<ZCIZ zChzh5Qk6?varQ&Xh#<obS{6$g*P$=`Izqv0$(p(<ZFyB3iwT>Z;(DJXJoLOWzq4MW z%W>jqeA>Euo_Z^;{qylg2t-&&0MMlxtoxpYvP2>^h%{JDg)E4gy^iclFv4>cF`^Is zWE@e11;C_|er5^7zJc1Ky`h$U)*0}F#)WepV{31=FK_u}7bZ17hs&PxXTY)fU2ao7 z?~2;3CbOl%q}jdg@PZcI&u3%@_rXHXg}`%=Pqe9!Q-0A(H@m<aWKpEuj2*q&j7MXl zPI{!1MtnL+q&f3jkziOwkp0;djwn+~4RgqnE<B5S<<G2lf1l2&>Pj8X2$pa5R+Y-C z^!i==#-lIVWk5+ulhrN&BHl>lkB=OJVKc$Qnp!xQ%pvvg?OnyimR+^na|*z!T1Og& z?moqDT3C)#I)yz<77+Iq%^ZVUEDcB<2aU3|NHhhdoQy|>U}J_yTubW1vTRJVY%OHX zampJ|POP~ej?TmZ$F8xQz*bCZ#?QFo_mcmQw0DfIJkGX7D^4o5ZB=aBwv!#(R>ih$ z+fKz!Dz<H>;^d{e``&lD$GGR7@!q$+zpwe9>$lcib9z({D9h|McO_1mU{=fBk6&=L zP=)8E%M@t^yd_^V)~2B5WSX5ZK=rl_^)!PYI`pki3O)?A-mlKQt1x1F#l+m(R?b>z zVf`wJsLr`;Yo(eu=I&u*-0XjaNn^7m$-9vk1-2b8&6Ru=yuS?>twriiQs^hf+%iab z=_OZ?;_z!C-SNbXxe45fr!T>otv5G&p#u0Dz5T>DegjR~>6C*amx2_=Qv0Q?h}MCu z;PAvsn>5b=*6jdl7^-MbvtiW^%OwM=W&a2EvfA>y7yX##IK8-ntpYCVDQk<%;1JbW z^Ko2Z4MLT2(~Lg5cOad)MYXxk0LwCGn_<d`P&F&7wBau!&d$-Qyg?>++*V=&e{BxL zA2JLaKLm5B)Eg-j3w)9$bQY$|zN0wFjj<p%wmC|7`mdp^gVBv4vc}(obnx?yGRNj; zop^=l0(C-%T{5HJ^9UvCAr@oTrn`snAAakdobWm(?ehgt&G|9oKSR%a!<*r8`T0a9 zF^Vhwiy(?%YL-plr3W^!RwntDJ%mWrOm+%U<&tQR8|_3oTK>m0W}gU6oLpZ_M<BV| z49El|b&1baMydm5Ob9`NVXOjtJ@!6nzRnOT{0nPWpfvj(L@``HFTOu)OmDE5zEY|X z7AE{3s4O4@&7L2w^jzYS6UOYJxfgxp?f!V3t)#Wm;PJ$r(B7L1K5eSU&EE%^H13JQ zpc8N>y87OB+<dUZ$$8P_yhyUotw1@n?>GgN3B<pyuzBZzJa@ujexjng)lvJycZ!p| z<XjP_(Crv%i~S_vd(I&Y+j@9ZI%Tpyv|p8Bj7qBT`}{9Ei@#ryU`NF}jW4#n`udXm zU)c7)T8ITHZQ0JsWALP)Vd%6Fj?AB|!>0nzp%&O8yaBbRZZiYiZcY@dr;98lw49!< zFz~(TXM_uGdii?z#-5rIqk3UTth+rgpQl_sS|5LJ>HPv)4@l-m(fSTpR*e<00phY> z58WdZnmEI>sUE0ZsLiS_UQ0e&E`B|9)3$hxo-xPV)kzyc?Pu(y>X-HT(V=U`Fv8OD z<sOC=ObQ1sX1&w7Yn>3Q+`rhivKzfqBP9Q)i@sEjR*Ib^p`$w2*k!YH9k(8hqu5s8 zIe4LAtp7vZyN$Xt{frkGuf{Qksqz3iO6Vi`HNLt+<~&X}-`t7z5*Fvw>sb$AoZTW> zrwQl5lAxtyohZ;I39@T+6t|7mKPc}b?7qp1(vFS<_Y{{(#>_KZ+b%4h{-<YV5V`-e zz366uCr2WVui0tNB}_us(}g^`GaNXaYFAx8uEz$aMfsetKlWrL`X)Qmv4KpwVdaSP zVJ0pWo4fyyFujbe*>}G4cAnfv=;2G~VQfaL2}FQ8-%?+h;Kx0knUY!cB793@LjwgG z2R=?$$K6CuE37B%XKm4M5!C9lz9LISDuaY-#Yh`eDYAEpviK7TexQCLl^Q~@5rF+8 zmpa2INL)>0V(u)LD9JWR@^ROfhh=Rf34(Gr4s<!RIH5oDf<<Vgx)WM#9<J{+h~~5B zt(>@CF_{+(S)|87EgMfj<t%b9Y2S}MNwZIbQY=~@kc{MaW<u<&xTx$@?fwP%OCJjI zubD{QZ)Cu1<T6H_9j#qk^qJos?3i^B6<-d8=r5YQmb|zB@<#hxouFh&HfmqhdG<f7 z&VSAOgOqgsR;Ldfty8Uykew2nGd?}7wAx#1z&1oFL$CRO-QGeTjz&r~sdd_(o_YR^ z+YbEonA=Ve-_TR@-|Cd{xXnJ|zPjV}c6iylYPtG$DI`Y}J&A&}EJ+yhhSQ9?E^n7W zxO0`E+dWXbVz*vx!`^(wnf!R^rhNKayJ3!T@Rc!+y4d<fCD_`U?4RXXLX44&RZRQm zCB%BCd&fE=R=S^|bz!#}^PE^7u9Lp>x3yL)ON3{3uC>i#>6=bH8rMI{GpS)LU{l<? zj`}VAs0)F Mf(jsUGh;P@g@aV+Qv@pdgT_@w!JB3s4Gete^ph~eaxnFl<*F_EA zM810VThKW-+PX<A#wa``-5NySHE|yvA4)=C@m0D@3S?RFoGa|jJWRKZ0kb`uzT&=| zRlfr_Ab!caq<~*ZfnOoWp959moT9Y|fIbehLcH@rR-}rYyl`$G(0(j95t(IRNt0a6 zS1XL*ym2!3GUn_-!lkdCLpV_D674tVbHV(<3U+wXbu7-u6-E@-biKNfVf;Q|Id2J$ zPV4z2eK(kpo6fgHxexqZ6zZiwofCIJJW1LXiIRRo=>bhKbOPO#HvqMXF4ViQ3N&dE zH121PdaiQ-eZB#rIYA{b2bwB+tN@Hg`2r+n{V|??nykM7yg7R2s2-trYU(w0CjEI* z!R9$iy`U{j3S>tlb=<pHoJHpol$GM2$5bmXNmd_#1FB`*dVsj>*hm7vcW9uHvJR1G z$Kv=Ft2$(AiL!;X+}~>#gO@|lmiPhw-}^7k#m5i1ui9MtAJ*o-f=Gju{+cgh@SuN> ztX{)tExR+OqX#Rdw)Y9xhCT-P&xQ8F`?M!gJDq6GqTzl@B1aAVwRnhU7%D01gkiQ` z%{bzH<UZnfyx+|6?f(2`hi`$za6T4lC?|^6MtV+eNA0%;W8YH3)rQn>(_i0FZjx4Q zjXBkEXJ3l9=221<0dEYf=A`6W0rUDS@6<I7h_z4^qpxIfQp$vxTJ7_hTmv_rg_YV9 zjaX}EgO86d2@-HON$;!1T(<|6X)vgA5F?>=koElfZcau_^nav!H&L&r?{TC5sBuhT zvikaNDt%;oCPo)bRU+!um$}MZ!daDjJ?QC^N^5;Z2)s6x_fA%G-sWl-fkVaLsoN#& zDDw09cbesVpM?EJ{w6&El3rbvp#wZ3W2tYsTXuP2W4wMdEfjwsCp}q<BN)G!y&yqQ zllwE@A2b<-#6GqM7c68sx67iBe)AZ&MQoU0-YU2YlPUdj8X>#a*^+-xYV8zy4VTd> z1c9MaZdJD8R;gmmD7xTJ0O<n}pS9lDtJpb(^tG^oe1&HS)!pyP2^JZ4*-PEBK-_jl z`*t3hq+6N-@q9WcOqg+$E|K})H0bc%KT+@W5TAwTC{VEWK!JS>f`)L%5Me6BfqeF7 z82B{Bun>(XRQ)F)MLuz`8+Tbe#F=bmUV@K@+u(k^!xd;!mQK<bv7SV1GagiLTM&FI z^k7l@fM*mGxk_Sd<wnT}+w5raKN93d6c@QOng`Rg^RrF~+i$43gRprYtnII1iDdIJ zL}t?%UkQFd|9eeZkL+Pef7Rs5|F9<i6|(tnHHol3|6I?IN}WqR`UlpZE_VvF1hF5T zPiG9Z-HFybBHFhoOmy!bi3LxMiM{+n39P?){#GPU*Zcd?5#6`p>G)7WYT{@fOpblE z+MJ$uP&kZT-7UL2<6x^f7msust!%@L%a90(vM#$wn>B<SD&cCZ<edeKKMO_YqIr`9 z3m4V;%Vt=~?6}#kfp^ia(t@)xT1O@sT*1HK1V$hGayuJocIIU++x?T<j0<jujc6SN zu6nRwwA7Ns0>WNA<lLN>yh*t?xA9DuRiP)DKH~lo`Q#Uo*Bjr{T*Bg>dcEoaoYPt? z>Qtfr5;>1`ra+M>2$IoJ*%y&N$oojUZ*U-g5xMMhTPk@Y_i(L;aIDs!>6t;te&3F! z(E*{qMBeaEB7b#Z15yzH5&?s%q!7<f>;d^IND@Mw)Wa}(5AT?%-q}XXKPIzg?!-z@ zP;BRfJX`F4_}Mo@4NSujaQ#o#%`-S*JA`gpR|(c<tKo9Lk+85EiH+mvX~KN*x4Q91 z*qHWG(Ai<knDP0n9CFELNRgtCnX-fvIbnc7Qu$*j_=rW_J#1yEkJvsmZGrqTCOMKi znx*m;k|=W}F&JnP-LU^D)@&$&P!kf7A)2?d)oe81F+<fG&k00+&Jo$ZKh&Ns<@qEH zftHh)T|jL{E9$B*Qu$E0UhknXyor$^bbXyv!dfft7|-{Ed~<W%N@ij-9fS-5g>@+H z&B3moXSjoAfutNcm_2H-W1$h>|8n&3m%xKs+5@7$hOA&;kJSHWiU0SJ`j7VVA0t)+ zfR(YlgRPyhgOj<j<Nq4)6si785>r(;udFQJ`O~dTQL{1kXNoFH_;<}8nj!XHYr*RI z3@0R%{(OUc+Y#_j{*hDcU%HsR7zgeQa2V1ek#S~Ehd-HDYggwhw7-0OKfddO4r1(L zL=c9bF|7B<7;J<SMr797NMWSdk%MEp4jKw_lacO|N;5PbFbg>jVUi^TrFaFII@u&L zi44z1IxIePs!vih%T%-IOlAy)TX2*oJ%IgI(MuU&svSWX&5)uJ5))vWPk*JPJK5*Z zq(`l$bC5#5%4XW7v1|_Xgvt8Re*Ht;BnX3f!6eocMyTnQv&H(xqf1}&AQFHTZG76S zt~xovUE5eBBIBI^$u9w8iYZtj1c2(e4@)x$p7T6LAyjiE^Yp-szCvkIT|r`<$DmJH zjbfHn$2DF^%gdSu&DAB1oiSqSS^>geOw=H?5e&z;#LKiypNus_OOOg{YC><S@69R~ zsbx#AmfQ#ZK~uaUvS4pPD%qHO$pONIu`3cnU1Q=tSYhL9DV2NvgUZ5Nu988zQB&g+ z?uAf%qQQGU4^jF@E2`pXPbIEM7G0MzYKZ^vADB&{o>9>-<rc6{<;`YOl@K}mkR#0* z92zQB=8EL}&7}djp_bj6P<4wB&*1zFR$K{yCTofjPM<d>JUy*}=#UV1yh2Z9AP451 zdh88`9EQgq#gXYHqbkO!-ONY<?c|vl65LkbcHLtv$RB9^O}^jWaw3*3zuP0`<WA+V z(q7OiIPlb*derry`U4=zA&xisw0-$83sLQFCVuI&Cue@=?bTNJn%hUh%y@G)#3(5% zwi%dGZEm{#>^6~ZL=vN(KbL5*plKs2mGevqAo+-rBh%6b3O;6IfV+u1_JqXEMT%1q z4E*?MM#bayjJzyX-_I`in>GB~tABw}i3P*4a7zT@AXFyGol#bwd7yR$L|39`u$8-K zb<AO^nJ^aE7EY9nlLttiOyJVlQ+K=9Fwej*uOoZE!}sN*ID#{x6+&&I2+j4q>0_CF z*Ah0wXTMeqR=aK7!Vyp5K72E(-GaBvg7eMd^C5oRqHD;p#0*Scr0x!p95OoG2J0{@ zEx;O^_ydwJYpnWj^oJ)495pyOc}%9wW}UmS<!nh`At#WFGaLE$?uDPLmL#C`;@$`_ z2$rz9`2Dco;C#&B_>F7A+9Xc^IK8E37Y@+CV~}yUgAAdcJL~mt{{eFnCoG7+FbDeo z0rP+L?nSCnN^|mG6Dlo<GD-@H(A=leFPM*LX(5_<=N{xaV+`x04}FD|kxL+cg!}fu zLa!6-^%)%WVVY{U-VU>8XMjT%6`_tZKklzPc3=4%WqXc4@_h|-F@$~u(vt~70=}%( z*AEx75aPw{&#Hf#13d~NF!bX$yfKgy&=T}d$16H7WSgW$m~4qxC<-Rr1BgsB%5|kV zv(+r2R_aHZswvHd^i-s^7!tC#2X8yL-NDr`fXxeX=^IT|bjn(Dq}-#paW#aJ8&OA< zpF7TAmTOd`dc1>WA+kJEWD0~~$^i_ackR`w<}&p(ADn3{697S0r!{8g2)YUY8D6@D zfr!ecm_@FzXgo}JlR<Z&(96>VZSW?s(`{^Az-YB@aCJcbqEts;@EJ%kASA9Bs-mlO z`K}R}3Sxc?lo8Lmkd5QGcMQXLm#pyT<$3Qx@Cr<vC_@>Bo|dI7?P<IYE0jz5PPv=x zWKfVYb;+_zk#HQ@e3y|vrx3fT)a@Er*}kf4ZX2omA51C>XSqtI305tQD>#oYq(}Ic z3h|^WU#NzPSeoEcoGN}q5v`$c+Z$aY0(+d2DsCiqDVdLJ%3DzquPBydPBw`IIf$+# zex1~A^<LY&$>2#%`s$^y^yd>xNY_O9hq7`b+#tk&PDHpxk`vXdBh*p=pvH-^cQJ*w z6ux7=U{|UPkZPkb1Y#3`BNTzSR-Oe_`>hTFFnGYXKeY#Jl&&LMBRGA7h-bl)RGDej z;*Ed-*J2PSi+n2H+?atXJ{L4y0Cw!jdEQ^~G}OtcnE1tOP9OMF^15+f#t06sLtyuf zfWkC(%{+@qOyjQY(A*yvIy^LXe4JR;@%a7so*3YtkoVR?T&4U*2Z*_R1Q-$U8&5EQ z!mRjY=Nf{DdVF#N&eci5vyNTp{n<nCc;yz|@B5C_y<7R)&_~f84`0lqZ^#Pc?r3L^ zg@;?V*MfZ;!mmpDmkx+7?{s=q(jNhO0)ds5Mz3~RG#0igLPc!ZTew@I+t__x%Y9++ z2*CJ=*S6EjJwngpLMvTjD^a~vl9xM)4CHgZt9%Vo_~dlBbv$8Ka)5ETK#Q<nXX2HI z(CuER(HSKsWsy*>YoZ&B%|p9fkT!YFb5P}*E#KuWg95(=m%>|s1g3*v^i*+vBWJ?` zkzb((h*D(57-G0~nr8a{Wb`tEut$6QWGkWhPc|3V<+Kg`g89XltJ?opHviW%s7O`j zFU)yr{<3+ufQU$~q`99zMQIgeBK*v4p7XSQN^u^jVIK+QnBEP1t9>4}lQw&`_7i!g z{m$6dwwoRn!F)0r&0J^3>m|=o*6XF`!E4TMy>ILMtbz1HLXZHWK&{rvDlS5jxZOn^ zpakH{AOb)*U-7e{D8FV8jgXM!m#am*0a^M=VslX-*-4P_BCASQtP}TH4RXD4oTZr3 zY;bo~YBPY0r+0iXh2s{ck^yv9RM)_4th8OxfiKPh%UzQxn8w^PzU<a@3A2_>S*iy| zC?jC1tD?A0<R37P_}?&(W0(;9-!L~KLz8CtRZLYwgep&DC;`58hS(kGdw-Lr5PbO; z=4T-ZI$bbXAtD!67f{$`aH-+%5zG?mGGK$cg<0|(xvC_wU$=!G2_Sft8U^C(fhf~i zJjYdOlL%#~3E?+QEG7&7KUPE%^lcZkQGb`U*2Y>Gqptl(qEHNJKZ21qg*3I6@TnuQ zZd<shv4u+9kQJf53d0RP@t{825TFAMb9ag4R1T0(u?bRd1T5y|SMRf;t`u+I5C_B{ z*i~y1Em$vbB{f%)4knwBYDq2>wAGi&FH)q}GuGVV!dwl)-+eJUht48QL^KJ5HHJH) zDLowk=n;%2-0f!w5u-X%Ee!yyf(UPip+Beqh4Fq~y&`n{7?mNE5b-^9){krEL2!xx z0KgEL_3hgC2cU)WNrXo6s03BUv;6P^7TnkA=jF@ct<Wfe)!n#>aaJBNr`GelWPPQ& zs*zXV<@BIoW@aYQi7H@x10H>P?q{6Gu31nyiy_KGC$YargUDurGXiqd;%GSH%LR0R zFX&6Q0CFjf(E-9g0S@O4`pVyoPkV2b3t5YAM#`lcE`Z&R6G<?&i<3is#@)W-SP9)K z-j*_g_ITuB7JU<3@CER>FMzx5yn=qdGIr;{>6Jvd^(=)@GhYo}3I$eHd;vU)#=`iY z07v}{>|qOhu8mN#B>>$d+V&Mw0)juFgEwB{HAV*?qi73J8p@RRjqtUI;g!|plzl~7 z=^hBKK^P<bs3xk*q&vP%Vh_$J`3Jy<))`rccJ&a~MfN<&OTD%v`J+gYfH4YrOJNYo z;dAi|RKCgns(|G;rVDG6J@M-F%ZP5-poFC87jr?t-TtiLFn<1z_aia4R8q(nz_0#) z0Q_HX%D({rGFtFX5M~{SBFLel3Re&W21ON-5hi%@3x<yp(b!}iM?hQBv2YEzReJ-` z<=zIPg-0WY|G=)`cFR9sp|KBxg2JNW>f+hBnmjv6yY{{sSNpa%B8D(H3E7t#x{YQ7 zeI^TPZWQRO)>jzli8zvq6k~pq8W)>HKRz8l12dUslp1!lm?T45L@mmY<VrJ1QLOX( zbS=?hZGUyveUX{9?ZA%u0$P`%>qo4qSsGy?iyFI-mMoLo%DXn@@&3t3T6sPlbu!r| zkLifUoE6j~CZ~?mj!yjqEMU5IlHfNccuRddU~Si#$W(JM(c)kI`ieA9V`GwW)UU7w z{;;SLOkmsL0i=&va+7Mtd)$1bKy9wn^AqD^4hjoPL%n5n?;h!0+d_#x3u*_`Xcs}` zpB`cSHUrovGVsr}CX-0^$ciI&kK2HLt6=qlRB6G=DwY~l*g;ASP|u2;a^Wu;7h&f5 zja#Cfua11G%lMT+pYDqCu+Uk*qvBfoMdL2$s7>wU%^1ZQRh7OF?+7G^gNUc{@MKCI zs7N>I8W7>_>gq@3LcMJ8u)M-OCmvr7JL#wLV)Id3!30%wyt$~OwL)B{M!oU}KQb4_ zMhre`-Td1ltO}boXZ%2;N%aW39|R-bZroR&9&;ls3U`NuW<&#!7*gUkWcN%J4E_MO zOtJ?;H-<439wOLv+Wt84$g|9Ksl%xL1o=zjx=NuD?2=hI2kjrBmV+!Igc$hw<K0~^ z%8cR}yUiNf#>dgW7kQh*%N^FDWg=%tIb8z_l(xeSN?1E#Z@zisVpx(ztCp@XnT)F2 zi^w~=l%neR`tRP5nKOv~@=*wl5#B;J16c^F1Qxu92t*#;iIdaEABEc`;nAW1K8N5O zkxew54%0;^j#Of&Jsjl>;04t_qnT2;bgw@c)8?CGm~mkK-VKJeal8))oP)Stz59A{ z``{M(<tl3z_SL9^gvL3ioqwy26`4G@H@hdh^-Rb?d<ibaaIrhbEu8iY^#5wq_Y2+* z3eKzK{{TwE72QCM`zB$sVPr4n$Va6h%8BAsNSe<D%adEx!~iUM%X`$0k<D^Sm`Y!L z`s3Jgy7(ngXTYL0TdBv^7=M-V7ru*mOJNbr;q(#I&c5M%PGkHW(?xTPnjK`1#;$G| zr-h^-=6Au^K=`a`Gk%8s_xX@|h2}S&ui22_7ry@+5%Pcc9RHW#N%c&1O%&ln6~hQ6 z1fgWz)>;zTP;!FQJYkje=fzKKFbWsKVst7agNW~8#G@qpnID(G{-~tif*|G0K^&Xw z<#`AF0rTLb)&pSAWd`_6OilQ3F>y6CRBU~CzkgX(&~q__hh);&)sKuKk=sKViie87 z+=%xvs&b+UUh_gxdXWhX7$Vl=%aJ(QyDY>sMF%}l9da&Jz23A1>Q32+ixU$YeACnJ zC2J<(7Ev8YA?gOS#<|46%B-+7I<IlgTd6JK1oMwEvvAo^ME4JNCpAUQ|5>##QP>P4 zH+CoQ>c)_(`oVNR{yG*{|Hz%sDNAz6F2}4UK~arld@OzDu4Et4JXGrgL_?<K!ke#I zY^fF8e>84ow6f@!(f)@9Ejz};k~kP}NL(=(pfedgmGGQBxi3nF%7-4eAEs3%Y!b8+ zPF_i(G)|3~E@@it;9xHyTa4L0ZW2*#BW$!`KWdaOf!aZFI{Ff(30#0e9aBkMoYBtp zdm1f$+30$(3a4m0y)r|S;{!&F3Dj6hB~oT^u}xdyW!+yE^VehZKx9iP_H#0d$^wq5 zmxo8X0X?(5y?glxW_0EEhKD}wF1sA)-tgYw%4frJg_YWU<$!$JdsdsPr`mQAN^4YW z70*J)9Sdh6*VdhHWC(BsfsY`qlcTh<HV(Ih#T2wDBV$i6{nPWCcV+&@XLM$M0O_)H z18I(s@bV0IL_LUWSQlY0?4SNRmy%tD6&k@nm#3lQ76}DXtC@z!yR1A)zwa}(S_|_! zoFFZOzo%!@wa$Oqp0=5-jWN)bhiZSr!n>9}4;z7y|M>&J_w!0WlwCiyBhc5PjV-FP zxud3R-zT>%ZZ~-}p=1U0x227yuR;x$IrmHybv`T}lIjeX^==#hrKyRhok1`RstuDr zB3aORwb4?kEdO)w;LUlU!>hHvM}bAD;(%Bek8-jR{fe{7QgGF~v^r}y*+5>_Y5X3> zg@qMsgG}<rFdHG8DFbJn%!_KU+f>A%U((!TCm9WPJEn!rE}9O{pXBd*Iv!<1$6e;b z1h(?@kqKWLw0K*V(Uy#T`2=Yhy#(?TcVxGgghM!UB4)-*a<A~{6g(2a#sKOSYH4JA z3K04Ljoh^u4iBC2h>$MKo=50a-{QE18q)nPRdGG)eX*)o>#A7%7QydTv5z;~-0@jL zeKB(7C;9-5h#X0T27ymZ&MiNu;2z5A?A)%vYO8C_tom2bZlr3{00BAoex*N|xmAIi zR<$*<E55*afqv(h;BpN2?9!N?K?Xot1J4%PT2aVU>zJalJ#Gf8ow+H~G6vnE5Y%}g z@6m*RAo|Ybq#J%+$G%6Ayh32+q00sFo<qJ*2LZA75p<&mUkA|p;|I-XD!7gS5~sis zET^SChPRbsruKNS`jtNvtmex0`FP&$=6vPd&&wkL?r;CGM-izhbrXR6_Dv1z|Egp8 zJ0kq&_oqu^!xdW$^|Q*zlhim#RJO9+MbdhgBwCvGs6YY>+i)owyG0V2YPd{lt~QzN zmMq-JMNM|S5QQSK28mZv>baN_VN4CX^rDfnXgVajANmcfvk&|Cb<fV`MqFe3;!XJ6 z+`f^^;nezT$0Hk)Yqjjh?H1b>crE-@Fyat;+cOfI-r*rNq8I9K(bC5zNSD3ukKI4^ zunD~!L0)cX@%YI1))0knyddeWpST!xtuRl5-pTzjy2od)M6SKxerDj0Jt=@*L_ZBP z`phyqbT+om#dVYHS%B(HZ5zAnmoWOE_2of&TsxxaMr@<I1!d@sJ)zb-IYahy-(h3^ ziqePIJ?OP$tR8>L3Y;{zq%0|G;J9d2P@jg8T9SquGvckmG~`%dc3)=IqrWHr?k+VM zW!|RkAuxITTp5U4)^M8daR_iwRk|~A=&h?w#Gyl>22TNpGLEA)wV3b6#LAjKs&t1! zyu_cmKkp<p0D&i)k5r*gUKHhE^;8{K|B+~?`TJ0%!psaQ`=N+gSyQF)UfV%>^1x(a zqAgFkcZ7@yrAA>SjhVWA^cB|IMsw*0jEoE{9Q>vQ>hMYB?k}WtXDKc@X*}DBDrv$L z;x^sfrePDAN%j3K$&+FgM%ndf{A>)KxOC2}>~slSUY=wunG({*RkC;vmK>R4+JL9x zq8SE8qcV3(%}La-!em088m)dL|E`W=QsyYsLvar+$={ansK0+(459Sb)d62@G+G>U zqxF$l>XwAIFA+z4Er4I7ph>a0-WX({J(o(1VhxuM4YNS;7bQo$yO$WfXbjEDi=r$| z=K)iaIdgYNm**QQj0Pr+ovLv0B~W>1s&_(AE=1W2mB@kY=?k~X-iDLzG6fm+BFBqX z_gUHK%}$*ZAK&*q)Y#ISk0o(b&<B#6GSZy~xNw;tqM0BjBc@K`hs>Q_CKsFz%>+us zOiG_H$!pDP=6eI(WCzALiU1;n)P_mQ1x6LYRY?;{3Sr-q6h*^LDuy$3FvsAloZC*r ze;47a2d`2P{V3Vs^5Dt4FvNSzj;DVVXr(4RyI6aT?2ogVSe%~KU1>etK50v`Gl^Px z%<?OJ&sC1z?2pPO=aZ8Pof;^-vkR&}xcu{do;IFF1se&;Cpnq%!lXD|Dw<)AyIkY6 z)uPOaM+$T5P-*`vjMISh$DDLK49r6t`Pkr;eqUH^6a#L2g*>qZSwWh~?`}UJsD!Sw zZu{;z^X*;!!51Eo>RzA6?Qig+!NqWG^&Jgy0sWR7#Jlw5c!)gy5rxnq#04_Pne7Fn zuCFVl{+@Muy#h9Hc8>6W#-F<Um+S?4F%;J$snv(Tpj@kjzM<-AoNjiBdxKG{tH=w7 zPlfyV5T;Zru%75pTiy~6i?gvaBt+8Q&*@T%@4-^hEdpJxOpe)7vHO{0vY~bcVS@Sg zP~w++qHsr><3m4E$$QhTm*~UIeTVaFm2<-nV^+#n*^-Rju?Ewa7=I!jzJ?pVCimFt ziVyQQfT5xns8M@tUy|z0v6tvYZWV@4+$tb8xbmp;_^>;^wF`+#7IT_}HhvU^719CV zXF)7Bo0)zqhnsKXXwU9?IPzU8K=Syq(_XCsv2k9z*7t7O*WkC-!|$nf_IT6w3?JGD z(54=^l!!^==~h{Hz8qHy%sN?HQ;<<n9&Y!1Yd<O3wt4ZRB<@+t@c^0v`}3Ilv`O9V zR7_|va_O7+0oyTzF9ab<FS+-6ZV#$eCU+9B+E2nE$Qah0Hvr3AlYhYZ5Rh8yy9!=P z8xIlDn&T1P5Y0?>^2(pIFYr>ofO1l+63|_VD_1EfTS+jF<qm=k%$|0v<)_$dCW71~ zr}%1a)u&|EZ)#Q9T0mRd$`)A=c+J1C9&peWGIoPUtTlXNzcXymXMo?&hL}aD$J(tL zY*R;G-6{yZ6oiIG5PcFNkvx=0P;JFIgJsiY4VGac!*?|96ggKw&q2q`g<Ml`!qZ4* zL&Tb}?7ygDr6Gzeg;_WXz9O#Qqq3Tv66SyQqjrk3Ru;%*)<q#4`II;nvD6$1?1Eo) zy4exzW|i13q4|k+sX1_b4QZ(0DR4P?wHB|R66iXW9bhf1Zt(pWi-=pj_oC*@fCu2a zgetD3LttIapN<$R3kr2&F9#d|=Xc@X!<CF^WKQenOA7oc>i6EI04(Q;w7es-%@^9^ z%PPH1&I1M04h7?Z@KiGdrTq1W9n^)<PfP74&lpr)Q)>HHSkEWHk02~kyTyc_4sOUq zRzi|NEHe5%3H=^2y9y!w+-&}nKSNNNcO>!-kmpFCE_6Zwb67t`bfdBiNNHBd+(U`& zkS<7Weo#EC)E=g6P)QqLQh4AHZ1UJK>bSZFl6_-bBd;~jP((i-rm)3}isiaUYnsY~ z8vZxhTp32~T3qK^+=aKMu*_=YCyh+x?UI3pLGH`Kl=7D3VX1+=0~YrQl`i?6Tj)W@ zqj5UrYyxO?gxC^^sgJ=dH{%nm{B@n)YS-A(fm8X{M(QCqok)ANNM$yw)WjP~APa=j z6A1^sp#7L-lE=E*<o%=32K3N<^iTYFT41_l%P*m;t7qIBQk<8wOnl6yzmY2@LP7n3 zKg6gvYW%BJ{HvvePmw}A-S=ry2mf$)p!Nk_*<xFQQ3ORWqFNy{?c$jP<0!-(GIN-D zWn@2}6eSsFSr!#ksuZ@M(rgdO^^L;XRqb+o;OZqo*EH+m-H3_!TT`B-fR9AJqcWW9 zlDEc^`hB6aWrzGv?rweGoL=4+GBY3ei*eoS&nb3a&cPNPFT<%L-+zA>L9LNH4}aZ( zJfZxzX`15ZMn=XqO6Eq!j`9XJ#{ZJkrdT>5s~`-2YOS7=!6qgv(u9J!CtX9@4$QI^ z73HH*B$kAxldaXp+E}<m5NvDV0aH=s=7-YlQ|88&XYTDh%@pLkpQ`blnMO0Qt#Pxm z72#a?t#G-T9&T=}b2VJlxca_e_7K55)q>WPx#{#P%9-H}#K4of^+yc4DGdt1j(bhp zg+BCSVLiJG3nBAu%}!7JF2E9e<1Wq%${A*9^bj27l5G@m%Mj}9ui0FvokeDxg}xbp z!Vh~?@BF<Bf<~^939#234B?d?7UT7bWTN5SIg#^bkNB;exp#ELeFqjnr{OiYYl(KG z;#IKgA09#VgR-<XL6oMLd<|wCE(1}g_dYsnXJaRur`LwZO0&1yC|^!))ic04?BlX^ z^Q08^`@DExqx0O4%lc-|61+M`?M@xh37EBa3C$7%b=h%<s>)EC(_WUa(#>h%IML-W zUNGavXWT|0IoG~s<gV|Mdmiv7-MszG4`wNdMM3G8wt1=9#|szxn*^Q_O`<_E1#DK> zPz^FMA&;A`13qh^5Nj_9M1i5|X;H`0$o&re%;#ia8xKf_pN<xXWRl93{*FpB2B|OU zADcEjZG_Up6}jcah)~09K?&ezQ$}T7{k16bt|akw1o)neh%FSQOfc1q`3f8Rff`u` zO5}YE@y;jnr|uVH;)?KV9vPd+moaNP9WePh>U>OFhV;z8$bL%*b?M=47e+hk9P~Qo zdYfilIhTE<z<2fPAT?gFdKgRSCM~uw#G_44P#9_MBo5g%%gd8Q^)u6|V(|)^;nGaj zU3PMi?=(0>S{SiK*Nv5p)x+RT!KP#lJAf05yc^Rp*Q@9JkeD2U5i6=-vOFYhK$RWz zs5)Q%y^z78G+HS%-(Ue7U0$D*#R9WoJM`Vsi==8HZH^glBzS_2Oo@7{v02xKa%=*L zjAan8u-}sW`IE$)F>rqORGUNn8P3QCHQjXPwrWm|cdp$ce6W)C*iobJwDZCkprSQv zuBVpIhdHwbYa_N$?ZcFk@>qati2}N>amMKJy6fT7)-Y_$m%JP2+4?1a-l%@6gNb>W z8OaY5VTwSAKtofzp<UCtD@a;MqRAd~^buCSuccQX_)^R>fHk<6<yQ1+&Tp)5Byr)r zYOC4z$6VFU#9Y;_#FW&^49aA;iIix_Pg^D35=UD52x|<epBv3YSSKp4piasjecjRC zhCGty4yk>qM$;^|b|YKG!aY$ULnc!lC$Sw&+Dm_B)Pc{~n!=1H((-hPa!=vcXr9gw zUY^t&1W`BcfSJI)R*Wnvh1}uh)4`!aNJJPTro2f>KpZ5xY=S?75UjD1&DHoz4cKOo zYJX#<+QEi>>5`62nfnw?+1#Ja(D4{4YS}-gmLE)tommstODo|MHlzZLulQ!nqU?4& zxzO`1vBx^m3RXF)RP^K<cT4VUpeXVt(34Hx`plak_K8_Rpz4lUL6GW+nTjCxp4oyR z_L&*W0>&eV1qA&E8X3DIysF{uwziJG>h}cT2BlP-)P%l%ztvfkVo-~5#Z(WWTyEK0 zs6LRzJQU8MUH0N_tiwHc$rYVS)nbLNrha*s9#t3|`RLtR2N?2Nypri4rsbcG%b|D6 zfz->=b^K-Mqdf`72)-oRMg5vGWxEQ*QIZ3tVWPwXrD>u?0F-=%H1UgcCySF>p1wJB z`6ttFbM>!(!o=53G`WcvA4+JmoTci}vW$8a&}JpyraZCdT4o6+TeG3!;kL4nd(J?` za~?RAkt|XgvIuxqifQbS%ellE$;H!<3*&DaX6$wO7vE$Jk5Eo)+TI=yo-8pxWfB(} zeW4ZXhC0vrh=bBDm2t>gh>66brn}OJuL01_im8$|owAA!8e<zYC8RVbf!s0z%}PUa zo|@;Nl<<Z8pC%i<R<5Ov9C>3*>i6EG`bmYZ<AlfEQ}%{BM3v(rwX<v$@xM@zD&sD@ z-q=Z0TTm>kan8^wRfWS@)Pf(d4c>J@D`tAbCF`ixJ)a%LX>`I-6Aj-<2T$VwV8-gc z$cua;wdpvOsVEh*P3R)HNR}Zemf0v$n6!h8h3a=C>SJzZV}V5KlW>c&l#3XTx`%LK zO;X`3deKeF;ixHq$rOVogvD?obwY>=wQ!cju9T^KbuuuCTsi+HetlY}kX5Qdk8DmW z!bM<A)xg?(ky@H%;0nEPmfkM(3W`OW@3+8zQ1lfL{F+8^Eq<X`(&^Il<RdUv1_U~n zLN4;2qpL#{syknHW#S;6ky5H=;ha^XoEd-pfH?y;(7{2H>ZR^GTKLaR-$9<@qt%y? z%;oC{i}wF~Tq5rNCDO4nx3QEq02o{SFQrbDvbo$EKZ3WE;yOl4Ar9?*J_O1z4jgR} z1SFIQK`gMc<iKN81FX~})(V_|&O&)nsH6(tqnHY=Z6y1uxXb?J`FV!B?U3Q;hvOgQ z9_~$aJ7hT-l<SEBjBNC;#Ki<JI+(u(HjLXCset1sS7T;flhjIZgYgGo)DS;>Z*ESu zjfXuD#1}>H^4s8RbV?%$Doi>is})Sca?iKe4qi1{*N!^!&Zqhkv=GH6G$}5aXUS<4 zn0J-30aedmgngX0Py3jq;CPR&ZWIaLrxWC}n3b?a!s<8fC{U}(_2yVP1(F`oV-lCX z^Q7dCYI2H6Fy4x|4tlKaH0dxLTr)bQqshDWTqG)j5Qw%ycBpL-2K<dTby^9p5Z%WJ zUgB9&N9y(z%IDQ&XPjy>dVx#Ps-5cKk|1a)C&T)S{w~L1ENP8^YYY1Z37Q9c6?Y$m zxJwztD{vW*IW!Y`%U<CeFzD(a#zUCS#_R8QXu5`e28|VDAhtA}gIrk2kvt}L^{xR1 zL`s^$fLu=4Hpr$6#grjE(!42|RgI&W{cLg~51uh*@}|l;-ExoKZtSL{wWfp&?VDss zi3#zRVd<+C$)fJME|JvFNQo?VO7113Kpe@4U#tTzs<_NlaiMhh^fb#G>K*X3EU<FN z)JnNA2-Ii^48#>7Hqb3Sb{UnN4kP4vrl;7cOgwkEJUJ}oIg7f2KqVBjr%raQ0RsG5 z61>G#gfJ!USG(C$?EW)}d4jK?EazTeTq2jyw^L9yZ-Q4)k<e61<m?5?e9T!3P?9IN ztu=A**YclyeTEmf1;7wa%msoE59t5i$Cc}Q%G!O+w`ZZheWU)LmhC^=xFXdpCG5YK zQBQTFCgu`mhKLc$=1>tXWzCCd!ql|>;HBW^bru^mDYdm$sT;6Drt`mg(6_wqs|w^? zM0@I(vbq;;20uq`)+b4=fb%Ngm>zY%7SpfYj+Y#4uSZ+I_<-y%Eh#g5BPIJos61}s z{QbjSCa6-S^7TZ>4}%7+4Q}fE<&+B*l<R)Vq0)puN3(ZV=u?IPp<;TG(Oi{1;kXX) zo9IzIDfW7U=`olwRgZT`4BvZSGTmR(UV_gRcbwbVE;>yzK4RSatE|w!m0MP(X&sI= zBWhx{z^z3yG(vcB>9@+qHj~=4ch{Y$u(qLd(}(++b{wqT>eb7su4Aj}tF15c-W9Rf zfFb56&-~~xk$+(Ce^-~?3re2Nh_(O-2Gl{l7#`!a=y0X#n~lTMDgI1IGT!|P8P?%d z+n}(w?WN&pOrTY!nbTnA(R!m}TMJOhK;lv^bu;cSZ}n5N_aaJ=GJF9#akO&n(ob#` zvMRaD!|P|*sGnF&&7H*CG#OFHV*~L?s7X~Jr>I^_9Bg>rc@Oo9=;)LsjUF}KZoRYD z5v~m5T9?BW`smqnZz)T3uSG!Xp*)!{RKIzI<!qKNk;FXRr2EMp7$TWhfswlSQrSj% zXFcTf&IcA(jB$9TvX)~Di@K@3#c%}EHdLPH5F4lc9`hZu8o%IJT`iAQCmI}`vY2>& zPOH!Ef<57gLPchLx0{chlXFadV%REv$M+78v>8g1R<%5Pu*52EIa{<f0$8|TioL=B zff&FpM~aamxSVk>+H8j4X*jnNWlh8_iS=?*FADzw*&j;Jm=1U>!_ELkho#D-1slg= zS1ol<*OLCqP?`KTHB*30ofVJ*dRQLZVyEIaIlabc6ns}lK<Q0;PIj<3uhRx#cTBbE zy)XTqvDv5j8O*}zH1IJ~Q;gS9JmN+_MJ&b#lGi-+C=;G5q=z##SQLdV25lZ?i#0VP z=S_#9D~w&ApMR1-MEyPLFt8Mg)00&D*Y~7F<r8LINIq_)Mqp0o=8%DcX_HXVB$FO7 z2;hD5qJ>I&m@E@NdLl&CQPE|%Q%|!w`~vSVG+ZwI#!KzlhB3T&F7XrM4te-%$9*s_ z89jEi_8T7a_uxivY=;92w|J?_mm93QrafovLZ;pqG7&12B0OSR$R@qh>8zbzSHu-c zC>1F`0erE7R+0m3X6OvKceTQF0iV#HPU5jJn*@K-?@&)N(WW|%J;ISE5%@$2W}QRF zAMQ5@ED>!a`Q@W!S+{!S#CMOxbrl~v3q$qxNr^et4~-RO{~&5VG8vs9F-o;(PhRGk zLTmukD6F8NWT#=y1$u2kKS=T$<>EVWSL-vSH&}MtqZvk3Dy6mtDdT-!6mZ+f-Z3RU z3ySXT0UqQIVrujXbaSp@$6fSn{${Gh9BR;#2Jkba$sHp+gU}E+^Maq$NMb*bLi~k2 zM0;Q30rgyA8LiI3n6-yoolElIN`wGl{J=ftgYO1P#(g8#|1kvLx2GDH`!b6U{NmjI zCe%Q}#>m*s*yulV38UiW<ofs#2Dgah1(fA`eaYd;4ghr7KkXP8%>8FTcLn5(xfXX< z$*c*r-!<{xzWGq>ohRqUVel|F*xq_F*|K?mx_N`xMH@mxpuy4NK&b;6+lc-KmRYlg zC)=EGOhgBpdT<kDJo~O3Y=Gdt!c6GL$W(yHW(l2v{mi_ysbadez&-aet^ctbw~zd6 z1w~o}T;kGwWpFv7PWdO$KCzys$mlQ%6}C?q;`lA(%o}=J6ca4b>6No|UMq!5>QC2N zH)^S*h%NvL3dMS^BJhL=u-R^?eK;UvJFn4Y;M>F!n($LeR0FAE9+XvV7^XYiTam{H z5x0^vvLvi<T>hq`d4encGbrn12KW!%ovNGP%WryMa^GS~Xh@VNtv$Yes@p*YfQpF< zy$5bmQFZ+$zjYZ~1l@8UYtK6;R`I3&(mYR9+UO{mX7Q!(e=%<QD`7svh%!<5YJ&`5 zzkQ?lKXZzNjft(C%U3sK;QmiSiBh$6L^ek8X_o02b<q;{P(Vl|nq~&d*A})Gkdg$G z(IT-XJUC?SlxeYYwRF+yf!^$0i_CdD6f=GEXJRBiAt(sYThQB%vFA2zpv{;Bza_NY z9OwA$KINYCIPvkYW$XKmJ<!%TQ)xQDKT-p%ioHf3{>Mlw#^6tX7wzzw9b?QZ;W*V? z<)!q<Hi|!#$AWQ7Y8V0|sVNHKfIJXRH1{(q_~1xVFfIMtKE>KdS9glLS=H_9iJdOI zN(%Ks7QAXP`vBL?gqv>AHnX&7dR!<^hltg3R$m?_a^|@ynv^PI1s5A5vLiH+8IB9u z5R!pgkJ0(er21I;`NX;F_9PvY;t^?ewSj2{!EpB77ek_>ta_VduQ;xAu(Q=d_gPI; zV<-^V^=PeR0WRKOmovzQ#B*(B<IiP+mjee@HY7PIv3BoF!6wO_@<yv^P10*K(x#$J zsuaC{3^wMo43RVw0+<HarPfKU#!iY;)iu(Q4=Amt5MWGDSqw#~&pQ9G5>NTtNG*R| zP!++Tw_9PdBK|2(Q#$Nqk!ZufYQPa+L@wVlKvVFRpbk5!CnQXRDYI@>a}6yDbgQFb z7K;pbw;r^+RdZJA`?IfKb-`)COO}Hh!-X$<vtV=U)Z_y_;Z&;;glj$97*~y=#lGUK z^BANOdX|^yrP|e-*m+w@Gh-58id-RmtyJCZ$zAeu-pF$!mu>%W1N-je9WkUg80R!; zt8C5vGlLNIx8!mD2+LaBKFzSDR#mtzQ3h{5pLN8oc-U!zs|`k<E`t9EmAhq;Hi{u9 zwO4~&-)kBQRC#qI72MBOs|pS~(oBxQy~rQcbu!T*0Z59lRF!nJ*!ikJ=Qn=gKqNWa zs-8Slv&+<k@9Z)B3>>o|RA1>t;Tcb%itxH=fmw1sM}-tws;`x&ibKOxyuBq<^%yEQ zXby!8a5+%?EBEzp>~FKFv!+zK!=aJCRlNMPsBHG6P;IvhBWsi+4F!jmI^EM_ej}Ls zUcZa1sWL>_QkZ}oYS>zyXR<*zmYrHNo3W1;)94&H$FFL~8N*H%C%3)E4Mijy#Fof< zr}2x&Rjg|}wqL{+zvP$+(`L@|0x;I0rk0R*ANeU+X7bXGs!djrc$l<6a~?d{fz4^d z+N-y5*&^jD^r+;OaQXWX`5;<a4N_Eo1^K)PFAHrkAU0m#0YBhsHW7&Md2nB5;(@%| zih$EiKSx~Z(s{RuzeSsK3v<!UrNjt-N=kY_N@xm=>nvT;U(N7|KQlz`lBSobNZ}CD zwNli$QIv#<QNOzu;pH~P>IxazLe7G6GMo@ylxlj4b9*ivj5IJ$YHHsT!oQQhU>UyN z%ww%m2znAG#V#Rqg<w>nXgXI4bcM)jI?q@r8Np^;5oVVYAU@-61T6~Ne(=6%+OZ~8 zZ<oz)e$Vz1wjs}FMxzK)A-U#>>-b848?@KXE%89)(7uhs+alnR4Z?Ski192WW)C;K z|6K_05fsJKlMIZw^)fEn<MOCKqc)ccq1n~Hgm6^717tk%6{w;3iwF(0?F7WU0*FJF zV7{>vi4j9jAkyL%W<g);+Qvo!(WXP+TctmW*-$s#KC>qk!gYCXzSj=biu?pL&HKo3 zamR14?ZF-4qmeUUiZ8Gbb(pdf6X|p1d$wojCBZ;U-c4CRi1NNh`AD?B$fdl9kBxj> zW5pu7>vgQtuE38+p}Dj|Qzd8KZ4R+8DPJ(IE6}&k`)4t>x2>VHSnZb+-fZ~8Tei0M zIf4}K;`Qq}?1hb38>*RvWtHAbecsPtakaikOXolTF|xf@fUJrBS{r-e{I`rLZSLr# zWNc+@_&1~F|J@%qshN9XtD*V~OEt<^(X913TcpRbI`1zN6*iK(WMOc~u2VE4b425s z&DC)$kYP$)nw<~i$tMd6tw?HoZ?p<xHMm0KvX-ROk{O@sSL5whdjjg=U?MhWZg(Kb zzP~9*<M<MuPkC-SUbQXRejFXB0j&rB0=MVlJ?lSuTgDZ}<;CZR#(OY~-O{@@g#U$q zXGr(!*YU93H?AAf<~K&mZluEDJzlScn3|wkT)oE~D86i%UF;_^zHU@u?C!~!;rFL# ze7Tz=SNGY+H@DRo)2F+9_!R$T|Et#<kYrzsftYJUe4oCnoccoz{Omou->(cP1JG`9 zNhul)yJDF^D)`mcucWHo=lv>tqF!zyf^KeGBhxbj`(gY0(f~bfhD7OjMte;SML>JJ z#Bh9Zp7HEE66;VyT4tHi1f__cGU-U$d48NCeCb%Gh4`|`B!~MC)(WaLZL8jqAEm)< zIM_KnRmBrfVkCTig~?MChxr1$FBR#`u`Odo^O0EC<5Okt0q<a-#4DAfkVZ-jv*l?J z`=QS>vDVxc<#!xV$W36f#?D#ySPcAR91H4-CeAE*2NQmy5`BGUf-c<T{1ldE7DLKz z(ShDgK~fbf?hDLjoyP;waf;5~!V+m3h8lfAtDQg6)A1sx+j%Prr`*_OjG4Y<6^5C! ziN)DXbLCdZ<T%gsn9IRHv;}DaNT(ewauQ~tN>L=t<c*P>&Fp*?SP9Y?HI-J9GbJcO zhARrJsU^($H0dK)Ctit}gB}d}iq7AAjw!aIP-`h0%4PfGX4%J~pVjNi1C~!D%p@?& z0p<Ot62=N_38u{DrfQEa_Fj0!9EN96@bi#<0>Wm-xJAxviNz1G%qh++u97M;P}Z^} zzfG(iZKvKOW2bcnoU5!o)RKymSWTG-Ws{vkUFay2X*CWzljCgs@|vm{7uzjRU(6j_ z0svDY1kbASFsVz8ZCYX{^P};_eM(X+)|afr>8H_}<>pk|cIiXSmzHce5g|jQ9T2uv zec9!@*4PQtN=>x=W|E#rtwrj)&WIuvb>oH>&d!%az1Rt4O?5(J{tb08^X<A7CnqvN z=^Rk3MLglEYD;wfmd?(f`7XXy2-Mjik(TS;Jyw^xu5joTmO9W}O-MOxs5`3Zg7mwW z$S1)zI|hb>F`*$O>yN7V@<@sR?Ii|LAFjmd83m(SX7l!+5~)@69y(06&Knrv)HiXO zYP(wQuFG8XZEMcKE08Y`)LHTNVl0doUU3n*b5ksrpmFt%jWJ#0>^~JOcy>DzR^R-q zlTCgz`H&g1y%@vX8p8Aax!qIY?kV6)VVKypRL^DAx~P*?nUPq^7^n735vSfme<})` z8hgZAjrY*7D5-QT{e2n7`zAS5bAydpbGP?x@%RHUSU>6EycRR3DAma56TyOs-@|h@ zShuE=cjeAq%H0-I7U@1RGBa3`3Dph9Fu`{0(nAOxNl)lqrY$?9(0S5-W%P#Uo2xxG z<&Eh(kYj|Anp}I3o~1K{V0QPeF{D>Zut!sDJka*@$nB%pxjicq+KL;v+bon-<lrTR zRvoIvC57(k))MD2aog{PxL|mAm@EVdX;W*V(E;0~G48iTH~Ww?sThP>7bDxSE2H0o zJ?DrB%e>2`1j~LzlglOtF;>#LfODIjBV`a>d+Lj`XZLB?g=AZtY?4CX;+oDoA1L<~ zTnity6k-XHJe%4abXdL9bJW^SB)B6t#ePDqH5!eKE<9M+6--bOrxC^&Be}%qL(8_y zHz227xOFH^5RwH#Y2W!2alG374spEu5l`;hO{BKy7D0jkhqHGMj)dLXy(h^`GO=yj zwr$&XI@ZLtZF^$dwr$&(BwwC)@AsVd*<YPqXP>I>s;=&;{-=Mv*1fKEuWNbXzV8y- zr*LZWZ;E!oC%5CKAE#qba9@EI09o;IM{0#t354kgZ%8p|b%h0unK>3fC+#~BbrJu- zA~zGq7mdpv8dPS|7IAR=VG9|oD`1Hor7gTB)%*@YpnCnN>`3IUVkg)<hjRvQtI-oF zui&I^az&Pcy}HA&2HzPvA=dE1-m4Mqf8U<Y@B_iDTm01>Egb;<%M}D<mIf=Y3q4}* zJ4wzC9SYz(t`GulZq>cG)Q&t>Uwq1-qLCB)&<Lbi=K#nAR(_L+^0G7zQSC*}6=2uK z@1DWjs=V*s2CqvT1D_=H#NCq04q4MAWWt3<)2Fouqj?F!kn<;-K8Xa=`7F&G(Mc47 zT<N?M(>lUtt6zFYm7;QsO>RXocD*1|uVLg2>ddi|OV^mTVQSkTLILCcBirT`-o{lk zbj=#_`YlGITV}QkJ8U95EOPa%+aa5A&{@U(2zh0qW_UQB88p{-ULO6H$mO6Y&5tif z8ebx!Jsx~?9@@<z3nD@IxE;j!8=*v_afp%Y&|%lKVb>xP1_c2IV4Zf_d9lHam<XSg z2-PwoLF71ixY!$x*cuf^bkabhfOgkU6+(1#d~|$zbnoAB5sCr~0t5^n{6>H3Oc<Cl zoQIo>;q-oN<bC`6dQ`z}LphT20nY98tvc=ajLD2pAZ3OL<dJ3xEZUMwK2?MhF8+Ag z+aQId1GpUF^=Fvt*@x7okk6~5YRJymwfvE3q-@1_o{4zV3cqm_#85h_svpykI!*#p zIkBNh^;VPZ*Q<7y&ck#ewZLT1fU{p9+f!Iq#?I9V$h?JR4Blou)@+WM!vb3U*)E7> z3_od$j{?#gSJE}Sq0^mH*RzVl{aw5(x3%*W21=FskR>1Z0^c9-J=La>(<*z<@AG)o zj8$D@syGfH&o>C>hkiad3eV$eoBIB$sP5*G!N<)bT!wM$9U&BOJJ-lx)#(@cs8?vM zRP*E{erh07NK)umw!=LY$meP8Ug5_r%0Yz?mQ}oP75Msz2h?4!YHUi{)YPHY`&GHk zvto>=X{ejOIVJ%eQ)vS(WUggrras)iXE$zUzx>OB!@~D!I@>QD0ROA#B>z7boYMLZ zmd5sf^`ZZl?yhM0*LpB+K}gA^L|{MLA6CBBZdNy$d}2t<_(>X-EH`_OoJj-5jj0<5 z@2Y8JXwrXxKFIbq^dW(9m#sK5J)YJXk2cxgj;^M*zFqDCU`Q@gntl9y^FpB@ZWt^L zKpjX9_0zwTLFZfP^>h>T$<<#34nPRzVw6Pffifug;(9&LZ*gdH{UKAzl&q1sW|noI z;pofA1lF}+Fk<y<)EidiCb#I=NRqR48!H}nWwvYC+8+(yBT7xguvT?>#vz@ZMpnR* zUs9fyCxBu#UUP6mB2!3+#MG;1DMYg9JJKg3%iz}41_YKxMuk{-CP!sdOTNkt9o6nJ z5gd%j0J~B&b3wZ<tisy}`Dpc>iQzmT0k}@aY~+QH9hIk%DPGT++Bd3bVI)t*?JtbN znNK~OGM~pqrWLDPcLw&pjEl9Sb`soZw0VDuuP22x`ZxL#L!!`Vp!G0lOSZPC+sV~b z`?Y~ysvBj1q2TPoN7khCS-#>xkQWWh$!szAjkhE~p>sM<n(2-KYBJY*R{FAja5Ko^ zqEE%P(JY`)A~QUVDcML%YD@VOnl^H+n4~nx-d+N_NQZfI<veOm(g78`i92#a90n=% zQ|^`X{Y<;In0op7H-&RFf?e?Y{Cj!YAwZd_)U=*pl(>4^s0>%IF&i4|LwYZm%dk)v zePoJke-eE_(DEM`K+P-hgE<C%(+9GW<@o|eWe|7JXl5As&GH6`s=m3SO6uKf4KxUK z$3=-Rx?YaKzsJaQ%sDRZoCO5zaM%zP$|#f>XVKVvsB)zsnF18^zs&AGvI!~y&LS?~ zF_2sMC<l1|F1=@k82sV?BDUnq-}>Je3H@(s|EZFwnyVt3B6)!lAO^(}Q#ER6l84|g z5;>JN;8hA#LIP8V7-%~Eqy;dIZ;$6J|Jpj={D{b!bC&@xe#lsydS`zB!QJ7)0N!UL zLV~+_vH8|MwXsR``RD0K_Z!UKk;(l|nIDi=d@gaU&Fh<PGwzSbFa1L<rXSc696emz z2)RCI`0b40p6FJ5U2Zxk-BU@yOiiNK%s15dN0Z)-9;ID1!5+($3sS`{4XiD>YkKt7 z&P!B;3-Y}I|DcC>`xGDU@Uxts`ygEav&O8I<}yOuSdw~ufb^K}4d$w~HGr9wmZ@(t zR!?1Ra$`NEg+UiVanm^juZ#up&@ZGhJ);XBB5JD2O@kIAt<E5JMvf|frz}YuE@=4X zmmp!lyoxbh`5H%Td^IibRe^cZasLp(PKYvT+C#nJiO5Xx7E=XgD<eTJJvW==VSd$| z^<FDJiAvI8Aai~Tl)|0~Kjnl)(xk@~-Hz50dHt`wBIR*pslJ-=IO$~fv30kJPVx%! z2{=bZkA?En3xwH|o@RA(a)_w(WGMnp5!1#`s#qLDSRw?+7e%zA)>b2&=u(VS0o)A< zY$sd1S4Z(V7>maOL8O(2NjV>EUyGG%7rNQd*H-bDpG%`ry`HH;&LL#6o#!Iy`xMDq z8DvYy*;2`q%@3;w=m!#M^7lyUJyjHr#b*anc*rJ;^3?%{A@nsRl?fRq>8<$sE_5FY z1jh6$=WYp}Y<=Pv_^qf``k7=9eW}iuNddpKe-ad%1p@yl=FOgxWJ`{kfvGv`)KA1q zG<O)F2vOt^?X(6V8N;KPMN<O61rr$&0RN_?PVP6cYJ3iHcaf}mpQ=3_qF`92)&I=5 z`I&&c_A8Gdd>v(+1vMyOk=(ClAS*oW(x^^-@I^@&r+=T(Qzo)&zm~IF>fXpRcURJr zcrPpLH+{t}X2kGw66=;c`FsNur6=tkm<roa`W=H;!4bKd==~`}ixwUqOQJt5N8;}3 z21D4sQXrGVB#M>h0G3ytO=vaNLzIm6t;)Jur^atCLBWTGD;__P8VfrXnxeJSA%oH& zmlNkxtS0?+TN7{(*0f5!B#G~Z=}IW^ck|j!FKxzJP1t20o79QNv9l;Bz*qi5QMkW9 z*nWxN319Asq!0a!pMdqg9=WZGz!Sh<#ylgAYUf@i5Pe^2mWPJ?^$!1TcACFs%Lh#E z#b%bcI~f#UYPR76QePb9G*!B1W<!eJLBoVow81@G4?JnQI1}UMGuR?UF%xKg7PEvm z!*3r&G+`-cwjm(EToZL+X;x^BX}zY1eI{0!%cv-#TJ{Ee&$PY!>*<t`=~4(WQc&oM zsg<7Jaf=A!N4t>eRIE^?R#d)g)*%d5A0$o<)&$jB(hK&iEps=?({;p@tLB93&%Uf1 z{#g_CxX7{P8_VvGiYXrTI^HPwsSmdI59@-K)QhLYo8|X!-R!72!INSmAlu3qv~lhJ ze>nMTb8sc5qb2dZly05l_(bRrZ`gNz>*>VMqj~!$@#ZsN%L)%?$Jmq|N^^UY@E?<F zD350kekL=x4mh1K33u=?SMuYi3Me`x5vWK<DoILPqRak4sP4i@O9Pa}y7OwdB-U^q z4>kPctyS_mA0jFe_;U>PS_5}FRPIVmM4V~N^#UjR17FBYqKF=GSK@2iy6kk~z)#iN zX1?3+CV-jpT0x~MtC>IFI@YUY!CKaD0p^=Z=E=uaRfj6jWbvnx56LyGKlkTB8c0iB zb)x5*UZnYd^%>9b$pS~KR>S_8ivKulvDy6>Rb(zh#_aj4j{y5M#7FyY&kl~p_Cm&v z`sP-DJ3+*)*&x!x1$iIUi!aa0%@PKqw8jJos^V>f27I>`Agq-ZRyoL1og9?bYP8(n zNVw%#w}Te@i9ZjvoeQ@|t^6Grd?YJ%3TH}<@$P+S$?)6Lc2bSc0D^=XMXXcLwlHKe zlopG@N(eHfDpdso6=w%41Gor|_r>|0V5iGIR3HajsMp#3J|CTt^BUBEC_fotD%aPp zWK2$|7AIqxVonAG%{~9lX`ZWKM}|3hAXt~?q#$o>nFj=%_B<@|Ia{<*ZstW_GjRvr zvl}*ecR?bppfxT8%R^eEPV^tSVa81NLJSHZkWqn_ELHg?dr(%GPE1x`#veh%cm2?A zOpZ-TwpbAw3IYB_ixO+i#_KkiH9??)f+x9{C1f)c5l>Mv(oa*iY%XZ$&Pd=LIJayl z^n%85MQdBA{JnB-Q)W;L@d$0j#Llu3T5S6}%inb?Se-e&@7%;>WZOEo9?%Xy4)n>n zW8h)uaOCH1X;-IMei3xFNn@WeX?ht4g62#4_fkL>`3wrcE3!$tryXP08Ua<(>J4p; zX2-mksXQ{;w_JMcXBDgAjmu6GP)SvbnH4?*v5%?_aNROFmd`hFSu}^g72s}zvxu3> z=XwS*S>hgvnV3yYX9?aE2HstJq2A}ExlhD_k@aznl-G|T<qKgX?#li>m3N7qkD-4Z zK;6C|`ZrTzU#a}>5Xo8T8ycJ0S{WJJ|0B6)D)iXQeO&}eCu!VkEof#+ND#<@c9NR= z4ut9#BS(fXTuPwuFugXo(h52xVp+@tjPK<KqC3rq71r+yyPZ$A$AYJE;8T5&x#DKK zIez&(G-bO5v@R&vmlssd;Yf7=fL?OimtV9aY+z-kDlaK%9?0Rk7vy#8k7;l&TQky- z*QG<k;zdgD<Ch(#-h?DG;D{abx2Ab_<b^Sb=jJs@x%|G4>>)pm8rS2B5+u+Fj5Fld z{U$@y(TW)u8sX>qwB4j>d&dTU8!Fa}>*z|R@}Xd^VCs*U;d?<h?udBVX>qqi8mL^M z@CoJ4iXoxO^)RP%ICWOpwf~mkxN3-ffW$xtEh)U<6S)SuC}&tQ?+k0fUA8@9hW2P_ zgCumz|6)~du7{1%w=rULy1IqBsBTxO)izh6lumJ)@QjPvBPS8ff4+>I`y9V_o%IvV zM6nv@db->N@gx{$!~Y-ymSt{aGSZ0)9$JV%^g%{wPF@2uT@#a*Y$DZX4lP2BC>mr7 z5{y6!4W%Nqz1~M;+=fBIwB|LMRM_836#GQbp{NI~escPfkl`M<vEvy$Z3HHkkx`f4 z*qi_HCp!d2V<{Ftx6mdFvpo-@2L!4aH9vj}D_J#s*g3VtId;;Dhtdid(ofnf3PThJ z(nM>mUake|xUPV6hl3OrbmDg<EgqQ{3KX=M{C-NIQ91DV3Ym5;6+8Gs-M{muV;Yuk z`X%LdBLCaVM*qs&KNw3?we&<%MgH8HAbA@miXkRy*T@MnsS{UoyZ7ZsND~ti7Z_DA z3$e~ThZzZ&kXcUUi(Op=Qz>sKS%9$k6~1Tz$%3h&QSy8~W?H^@1jhR^2kUiH{*b{L zzcFEi()eP0weE1`_GfA@i}UXGGpp^V9^(gw2q_PGcOSoFa5YdiL|?F|fLY(jHy&&u zTQnfgppz-knW6M(hMN{V=bO7b{`<STns1$O{d~$tm`hn*7rLY>!SFrgn{3#Fs5gal z6P;N7dkfDHoumCruFo8>TiZM7_>Mc8`n8`IWs}}nyIphbUPWbh#OV;*occ_AZSAi@ z-?ktLgGfQ1z2JDa3yWP{IU?%VP`hDYUZ8%D2gLSK!5*c0viKZ5yZHtm^|=C}x;dAg z&U)j0x}FSt^Fr!21}dbDpQ+t2UtnTZ%yB2HBxwK;X3o|E?<AO%x^v_fGx?sqk<JsI z_IT{(r=`*FDXJSvjA;z*wuzF~7clR~V1Lb#@g&Jto=|~XQ%ahhVJ)SYNLi>ns%1z! zTM-&J95w^$MSIbh&_o=-Bb(4f(p19i0!WqTW@{VOhSop~NE#wgOyxs+!2>EON=)v> z7iJZJ!xdiP1=6q?q&8+FrB28m(B|^ZD}QP)sBq_Nu6=LK+uZcvyHVqqu9fZHqV}ae zU1D6_zTYoN+9;1>_7&@jRhoO7ub8Z_J8l|ul5mpjip35mjf_ZSo+UAND!KteXW={) zv=AYz_EJpZ^Ji7?CB_*hvj|)V4*>yY2A7n^!H_E^LZGmsFf3E?MJ6`D>nKlQ_<4DY zKov(gYN*XnF0bKU?|<sJDuFdij=dzLc_^6f5Z460n?`wI8wt3?9Ar9kRvfdzonuhx z<w#l_2T0d_KgC{g)tHDFKvYqgih%bnuroWHrG}$kZdtuKp@@Hg2rdf3dqTqAF#eHv zIlho`r;d4;-Q)*GO{`DN<reP5xWmzyKtSQcQG2*~BYJ^h(udU1oBL(0{j>%hdiHG3 z1saytqu{cb>35)qbjK{jy-c(mu^wH(1+4tDv$6nAKV64wi3fr}e`7uCihQA8HwQx- zyC@@0W7?7cYGk97jF7wD*xl+SpZna{j-rboggJw*s7~BEcv9M^v`w<YlnTPxPzmoa zk}_9Trm*3KT=ClQ+_WZ}>=;ztyd$ond|vIc7{a|K-jr8yIvD3io9pq=WchXqF0snB z!w(QNsBKgTo!&7Bou2X+KdUCi4Ibet(Caim-Cb1(5`G%ozBlCcAwiTPKixf62(R!h z@@Fy}q-7<OWNV66H}r^+z8F4E|H!t4l=(~)v+bk-f!}k)>P7Mv28|w#F6Zm71>!}p zyU;)Ora`_&g?P84`;Qm+klI6e$%ngtZcmN7rl^W}VQ^$V{s<QB>6k`dpZepi|A7d> z)7zJhRb~c0zcD!*#hHQbly9Hk%AaE|t9v!s0j!xPe6d>98x;uci4Th#Xr^9U8_S$L zpwX$|hGa~(H<y&<jCLYYF<}v0{7}JSW&~P1hm>%}ecwQ(RjZlMKC<tT-Q6lcDUNZ% zL_d?u8k$|zLFlRcbVf2(*+GHWfXtk@3v&h(NaM309h%>oh*j+3L!zlZr^U~_f*NC6 zAd9DGr06apJw_w!s9ArWj2yN2HQQSlt%H8u+MYhzV)Aogxfj*P(~(kY^FHF6zNYFT zu?E7(pQ^xydy_5kt9#{pa)Ap(;4A#mU~C~p%>uW8bOWz<l{}Z0W3Q2;y-m?6<9gA^ z;K8+TH*~+ylxI&ZYt%!Qe>?{n#)dguPvzNzD%Zp11meZ!q6cKYpQ@8FmH<jL#HsDo zP}eG)ghWEL6rx|%nZ|Q!9=MV&Z1-|AgVkWh2r07$Byb;xG#u2BEys4!)I4C829sVL z)PBKOnz>!PlAhb9P23~i-_6-Z-i6=LszjgJn{f!bp4P}rQcTW@{CJ#hhLtpL&+Nx3 zUNL6c!CfY!m?2K9(Y)XJwG0dGq6geZN9VWKj0n3;lhM858saQ#fOHhPhrm2OHhr?1 z(p}!48WUr*U7dU{IQbaMf^Yh(V2;$Z%}fQ~w2zICO~eR-Vw0dD5vZNjhZCeZ{6m}u zDXz3-O$Pc#ReWSn?d%5=tfF52pNgELGWGh5MD`8BuBYXB0F&IE^zgD+4Og|uNl^?V z=uW(e($H5P-MeGid!oC;OMOXUn$ruXrt2FO#XjgL$bhDemX}V<|A2>>6ff1O`GNi5 zMHEW_qtY7sXRl-WM}JVMjb`>FWlbfwMgiVFS#`9(h$R^PVa^z3nD8orlKa_4n2Z}) z*`DPbKSJ^)aAJ+A+yM%YB9Rt5?7(+&_JDf-T~JYR=FCu6m@7|s%=NNKl+v=vy_E5z zYn9!@<Ap{JQ%V_AQ$zg5hFXFwQZ(8eP}J~Q)pS|iO2tkm&oxf>@OQ{I{*K)pUF;&e zW%$kGpJ3oqMOZAnCvn~#Vmv9y#i~@IUTu3yAqT35cK&TDA0h_cw70|wPsHEDPcwd{ zK8`C#t|faXk1xP0*dsl;?w^XJmZz_meVnCIx(8DwmSc9<KcG;E^GCuF+dE~fLcF>B zF7^)B$`QIiet+{R_Ga~XCB@)=Z~I;U_41i?G0uA_*88eC%=^h>(I69Z9&}2>v%3zZ ziK;?)W=B07_r79)8mEEG8IR0ea^9dzF&wuynA_9b@vU}f4%Iz;@@?0_6MqM5^C3af ztA7slRRyrmY*D0TP(GX-bvPt5Hz6K&TEiS{&1G3+x&s<{ok&RnhY(yXBxO)IjMUOX zadk-1ip(Q}B2rMGCa?x8u9uy&U4wz!nqmupo4A*8fK>VOFA{B0tYYQtSD6*}@5?M1 zTSs#fb3^^Vde46=vlOLmzsjs%GL0*aZS}cuoxBp@1mckC1pS2}Ajo23xzrG&xy2lq ztWF23GgXL**@54I0o!2L`EZ7HA-~6PoZq?b4kseGKOWz|EK#BXw(vkULTcR;KbHWM z{TFbSP|O}wcPi1jbF3>w;*pK1@-H(hv?=Epl+i|`l}zs0mNnA+vV}>H=zZzVCnX=? z*>^$!Zt+JEQi29=4N#VN_u606=nUUEO{maRUKPSOR!+o>Y+uA;jT>wgs)D%UZFJE< zRCxveNLa>RkYyeDHDVf%Sy;<+Ce~#se*We=T6tYlL^|b)Mq38zi<@_-+E3A>Hz{e< zhMeghuT^SKsOmlJV#noRx3~_JNgNTsY^WYG!P=FH!01JDsu*exN70rzVJR^smCT6U z=8!E)O${6GlmxwXEbDhLL|S=*r0jc-8-==XJ}D1(P5WvDl!}72s(Z0;2v*Fv(o7fB ziu8RQP#}IeQTZ8xW21Z=Tn>s>Ump6KT!SY*Wi<(XV%&7w_j|2!BOX-)yY3^Uib7{R zjgF}e{7~X<4IwE7YYrF_ZX~Ve@alL2I%h2Fx)Y*Fn}DlrnL_^DM{X%=-c3~nL@xT^ zq|Ld=GnICt{P`DC^|vL?9Gb5Js_^S7^1rFV|9^P=(*iG1(fUirhx2Nzr0&R4fJ5@+ zpQpIEu^)Jb7LfW0A#R>t-xEFY*qT5*q~p-UbZr>%@gvgq#{Z^{ca+V8`lgcTfu@O- z@ojvZv94~*+w%otn|z&$q1jX)I9#1-yHoho9|}jK0Exjhp~o<&o+nN|cU-RQyZ+Jx zaA99}G|Uu@P!ook8yR<%an7k$D75`*g2X9xkUPNY_bC09!_raN+2ZO@?_8HA21i0! zn>>e}m^B!751o3fgwog87lGAnqioWN#5Um5CwTT)&~S9xwE8IlVW)8_Uo57Ti>AC6 zv5W+u!ZP!@W9q#4xsHBoG%UVw)Ol`4%>gx%r=Mj#T($ekM5I%>9Lmu2Lp62{(m(6x zL(5tWDYq^Z!hG=H1Z2fAWZ?#O-KG7)jWFAnkxsY{XgPdFP?jr=G^WWXjn%}nJgQ5= z5g0sR6ZMts*r?iw5OPceMi`TrjU}n3m(H8~2WGii{ta4NKGfuM10z)=dP>Xyz;w7w zSu=8Db*$qQGN=Wf+bZj69E-F~fN>m2G9PAZH;Xi{q*|xw#_atlCtA$qg&fh8YW5%_ z$8zk}&4G`I_;{=bv`;xMO^iU;drkf0+hIk8m%y%dM5~Bpnw;KmI`LY@Zv1F-yd)_u z6v-ue#GwZIa7;jddJ3kAt4J%qH0M>%CjN=1&?#n>r^u@+&X{Z6Qi_4?uGV9>VG3p7 z3z{2b)7~fcdSoSJz0AO7L|H_3_TOu%AebmYsxS2N|3mctY0LJ7o-M)`dMI$CfK^mY z>tChHGrcp9*9Vx=hO_hY0l?q|URFtll1(j_v2B6%T_a|BH`HEqUXP;armz@WW_~U$ z9jPm(CRwSO?;m?#!AW+<B(?_|Qc-Qh0NsUJ;mX)<i-0)0=Zipwf`{0MTjL-D=AUg< zsASlnUXHHrG_4JMV}d6DYLJC(38i6kMT*iUG>pK|j<O-oZtd*yDotBlNZC&t^HaGp zo5JR)m{k}KKmAsU#FB@<$h-L>uf<{;;GO+N9^rqHr%OiMYn?3`i`T$JUjFAV@-+TI z9?p9U<L*dIyhZn~l^qR7w74IATx$v115Ug|I$$-3#x{^u1Wl-*-0-K2P2{rfooFOx z5fSM}YV>dtZJZ_>2W5NVcIzs}f02iNFDT2ETm%j2joPUHrzD(n^v*wo?F#%Ck|Tp! zLu{ZiVX$8$0Tw241wECvSkE8_iy0TmC7C~?+XYlPA}EQG{w#W0*%C}z+e0#Q&;UKQ zRp!Gu(tmM>8nzd;`4@L&pUqNzfa`2S9+Hg#Q>lm=0ab@E8tU{^`XNCDzfLSGIxUjY zKq7_vrp#F|I#cU+L<C#Id1Q^b0AP<m^SDfW7{(M3gOPs28b{<ifEFfXGm2<?)PQ`D zX#wVZ#vRT%cHE?BLFdk_X@U1aO$4h)r1~Stq%kbFNQ;76SS+g@<HuI-#d53EnbrA3 z$>{S7_}{^MJcb$~{{pYzKLqcec47Y=^O95~q7@<h{Afco3b}P)2)86c!1H1fW(%No z(=VLJC8IhHZPvP{W}mC*{|mZgge?h$D|-*dx~Xw4M$WhQq2k})7I#czd$_?2)rJjl zp0E{gjjpHhzo5&9!eNX!B~0C4LJK<}vw7n$aKs86**OV3RwbZ@HSTVRP)ekfCn$z4 zE!Z?FK?!=Kz`etH60BPN@VZm`{^}wrJ*3beIRFxLuQHDSg=kzVROm5_1ju9+td&a4 z_X!5$N)oxkoD1UdZ!1p-X%fgH@|!QzS3g)PO^cmlMtsNhGC3N_=KPffwWsjlN~Wn5 zjv`p5mttyJTiJX$*kAtD-f&Q~OMK2`I}K6GeqnZ-1s`zpv)F0|_#$)X)^}MiVpnP8 zhJaZovYZ&(S;(`(^h27j(%re}mk&m_Hdp%5Nrc>GO^eD?`U|6~v(XI7+sOwUeVJ-P zIV3CC)%Yo6MCWpjZbR#G_U*>_f~%uB2i3kM4o+U)ZH!6=tpHJ1WIK(c6|V{~N}-1N zPj2q;<HZquIz|@d-()-R;B6cPOC{9sxj01FP>&sqzr-*JY_Vz4X%Ux3A<f>qbQCt} zZQhQ0M6}nISk^}&K%5hjh&@gMhV>z;<3fij9I@wEs>0FNtKn@88nbuMPe7RuI)FSP z6P{pBY@2U^^1E)?2Gf5H61^EXv>f5QYnhL$?^CZgesVTjR^HXiXxNG<uO5;9ow^Qx z6Lre}2kMyrDIWdLObd+sk4%f)oVHzzU;vCJCSg7s^xMcodo<4Qcgq^fbsbaZ0PLWx zh*tvOk?ikz7L}LB8>kwTH5>{@J*C?K1=7_j_La!L7==6#D$Dpf1HUrbSgC|A!GeF; zse|u??m9oej&i0FOan(e+VX4IOf^qJ=1f7nqi32d>Oz@w2jucq%W32NG4%TWDyayj z@Ki+-461Y@hY*d#QX$m+v!1#a#rDl;WC=L>4U8*61Q$c`i@T2UgrBUxaD@HlZ<{M1 zXiL-j)dz$=gR@uMZjL5nNCjoefS!zlEobz_P@wOu6rGWm-eX*`2W1jksGGyqb<pmG zN~Si7xGr9H8Tbv&w7Po3eC1X*Sk7Qnv2_FT8_O{78Pq0naNTzsn5<LY+p3lKM77sd zvT%j^-DHpVa^id9BB`h_*^#UhwwK8aQ}sVIAXrqYCHCl@MbR^EEKSug80qlC_a^0> zyS$p~+8P?PO;a#udKcZMA^^3NOnp){OsD76mu>`M5SGYkQGK5ockm}wyheEu!ma6u zj+QI)3GBFW2=@ni{yQY%)I_m)T^9*k{_JCvxUsH?`8G3YBuLAwQgP>6yL5qEaFQfA z;e~4{p?j+-1DR~Q+T+lS?F1V+x09UJO=29lF|T2m*)bo9LkyeeoL{!r8DpLIXonK| zJR+NY@6Vs#U=7cJE9Yuh^C|ZJmAeSpMc$dO0>J7&EC5*k+4cS^0R9rj&r(uaZ8Ax$ zUxI*xNN8ekAW-FK;S*y7`0Gb~*9JF8G+Wx@T;?8a@f&>Du0fvVOX_6giMI9BvocdN z-R_*7AD6Chd4a6(GX=3-GMiBey5HfNZn{GozWP605Z5U?ui#UNl#^6~b>985uB=BE z^BZ-6O8HArPMk?3D@MonPV}cH8Y==vhu7!Ps~Za{IHM7or3<1}0g~>7iS=txYZs&H zpD0&QXn(SJ;Gh7y6g8aeIAI3auns%Jrx8aWI%1}}?7u{l@ZF0O$lTdkMPgdy69sR> znwP>t309mJ`nb8t8EOczpGUWLXt4};A61N7So)tksttd^;e}p*mn9r045JIC>jhRJ ztl-qe#6C4P7J!OW*X4nV7CNM{IDBQ2w{U-a2uqnKW?U?G%zFIP#6i=48uR_>mIQ7X zmz?hSIaRKEa5VYNlF1p!taF<gqYC_6<vcuwbo9p$s#zN;jp%cXN<b?BD2b=dC)rEz zLK1x$PraDWl|D&Kmpa~%sRk+`&EM$0a(WZVF4%w!WbA}}C$sMjVypDSMJqj*=1X}* zIP4(N&?y&+E^<>nW?m=Dx7|gl<l)ZXG>b)1Q0l0NlKgvA%5bhNMgEFPME_wfWc_bC z*8XanaG#~H0idMki1>VUO4c}J6ob=UzuhPR;ssjj_kEip+oZKpnQJp=w*)L8cK_;^ zz}4Bv5s}3iyO}KVI2@jzpHJy-d4Fq;_ApMU&KoadXp&B-F);vdWH=kOLR)6qMl+*N zh;lP4-X$_Fd5C(Ze-fYx-qgVWvwsfB&HI2g{4hs)hJr-jzwVdx#1Cx3#QxcfG$$Xk ztR1968y1{}JHiyz8=yBA<6~}z_RIxM@DemebppWizX$KrBz0Nr0;ZjwJ7qlPM4}&m z048@H!UZGPJo1+-;TGY6edB_ecYl>veMPTGRtR$?-4`b?TbZOB^AcMl?>7`*lwX+W zFvEJ=RnHm5^zLg)G@5->deu*uCeaCXM8Zb1qpq(p)`wAsL{>wg*$WGFqtZCmTk{L9 z3gm2-jGUy7%;m6LJ?n|RUJ#$+>A;k9+YFq@$e90ag!IeAE@S;jpNL>%DyRa$udv7{ z!1c*!B7MZmMe_73mgv!+Mp~2fbKBGGp+=x77iyO;S3~*z$FO2JqpWoCS^f-XG)688 znLEE_rssyWZ1;L4I8zfNf6qI_yJS#RJT(HwDg_1-D`ODHizOclxsJ$`6P1km7Ge-X z^?4S;33)xER$5RXBa(87w?93loFYLzvl0`gv^BQms)))sM{z0&<+ex?0I_NK%yA+a zkVp_OS11ML^)HK&rY`4|;J#vy>X&KBe^Ozx{e!SdWlh<6Ik*p*CM$jNr*u5BV_**; z6!`Bggf4YH@W9}M!Gi2m1FLb3c)Z=ZyO2{PKD!{lNj`qO;}4=a%DDJ`r@!<!=U_B_ zOlN1@N}YSR|2To-qs>C$7gY#@A?GMO4$Jvo`g8X<Y1bEtd%!hBhx~Q_Ha5r$8UzD} z5$V!_@-!SIJC~uO@5ya+*O{c@ysan`-GD5q%T%kg%^Cwr8OZ1i?*P3QrBv8dQA@9R zCq3$dzP?M0(}u+Ozcww2ZfB&93Me4@<~3J$S-a2J1U+vNpkQyUGeFaTWC1j7P;gkR z=WxH4tQ}xKm>RO)$C|F(D1$o10i%u17Ez-->Dc~s3A9xcP&h_g*EpymUt%w&STmYF z`dY#ikMhLDKW5aqAPQD;7Sm=LA2G7gx8jGkdQ04Dv~o09{-YC9sUTOQ4^Pl&WyJxS z-f)z_vdVUi7(EZC*!pXK(ykT%^V(!l5I%Mv+Kjxv2DUNTlDw}3wsOg$e6R_2KH408 z6gajlU8%mrP`%@np2`r`;Yst|Wk&9w)8ix-=K%bp`_Tu_sm3}Y(Ysu~AjYZ6llgY* zBj`Sbb8pz_LvU~6W;<rq{iKke_$IVfTGr=57r;s)&xokWRm><|KIl=#p%vL=cL8m* z=o0B!vhmZmvT%aF`rwzd^*0j}mck~{dSsn4YYu&IS*RChMUd;MpW0f{zw=T%6^Zr8 z0yT7KOn>4@8zPyd74XgZ%&5xbHo-Lg)RtW&sDu<_C5ju;3ym@)3!O9!KzKN%pYI1l zYKJwz5DOv)mB6)$*T&p8=OeuQ=1W}1=zgidyt1zA(9(n;n(+E_6ug(6(GfT@;T1h` z*1@k=5s4lvPt|>Hq%L;aOmUC1o+RBJbiuth5SBLg;gp;JVsSHQdFQw7Y^j$}O$8&; zd@5hS>A7ePgO7$Wob)IhM*@5VWqyj{V717jq%nd(YU{ai2Ag>gcS-H0mg*Bo5d_Di zd;$LGvaFJs*}L!T)x642YasfIkXV%yT|8fsT7vm@967(OzlZNpH>uaZ<eR@H$^Vl- z7yCcMx6)r5o{+q3^d0$r2-&6oR-EBabv$LF*F=HtvjS&uGSY3Rcd<*pTuczSH#N@? z;e7`ABR}YnZY^_;z;mDB;4yiZ@ijiOrrYKH=X-V7koj?Q;rIoV34k;l;<5;U_{3n8 z<f!B{@0bF`Xt-AX9jfrrm%EXAD(TnRgqTFz(G7Eu5*u9KD1>0;1=z2#8)LNRO}o!N zaWkhsa_5jkFoCqXD-6JukmSA4L8c3(@_-9V52%r%EBhc%O|eaM>_^vWW%eM0H5V(} zDVP8a+%74K7O26-1THi8N4sHj^=uX4gHi?F>caBj!?IYivLizp!SX^YqOhBIUuh!r z*|t2|3p*q^@w@RNXLqo5@FfF2P5CxG?kHP-G{&|MGP`HUT&6@)VpgQE!@0PqBiO+6 zuKk^E7pHk>s=ZDi5L76m80Hv3!C+&(AJ8DM*VEmE6|*BU+*m=q`$1?ZlN<1TvkCK1 zE53Fw4kylFT3IqYha5y@qbQ$K3KVGYOdWG>Z4DhQE2nhhLlO0FHyy2c13tK~h9AGz zNdaIuK$E;I3W36}lP3HfxyTR}i{IQZxPFCWaI^1|Yvz=QpM8I6SLX$0OpeY;-HLfe zLe?Ql&l51ak}G(&|30~gFv^ESF46icA(fNFQ`)ht%*xC65nCJ-V%c;&MK|_UGF?%- z0cSSNKkhIqmo|GgnLheQp7gFnKwFq)Y*!TKe*FEGnowvS)WR`5u=l?xhbtLqC_rC> zrj1{drvJuw<6o7-e@1n6NKeHD^v~>jz}$VKx!@Qkm4aCsu(?|q64O0U;4Cn?9+0Y_ zyEq8`NnC=j;*7P8%;Pn^)A$fev0>gCk`*CCrtEr#!zs&#M{DpU_lAd!Vwb~}w7r8z zToII4SB68^*G7#`?n(Bo7a6z1i(nj}>J)7wf6T7kiQjH_7`8f1J<(fY&y~pjEJ%AU z#7xf~;NH~)CjQd-pJoGaSD!>XQ!3|mxdNEpg1zY~=S{f~-aGfY#D6BjB&|{+x*T3{ z5kAZZ3R$F<j=ja7n~;-N<nm{1#h;^*lh@?RXFe0Jc`0F5xBJ&JyoLt5(SFfGu8cwu zshAlH7gnT*XEaJw^alx#n-~{nBw1HPB;F0u)IeaC?+X!=Vi_@{cc)WqDy=OGz2+6A zjY-EX8*R$&Oek$i#V<Qzs??!pq>$ItS*eX#5V4E}$v8JAPBhkP*bHLv@Fuf5AvmmV z8$YaTpyHZuPqZtrWK+j{8PYP>l2B@z3DRozyP;^VAZ*e$)Ec+*4vkJGF1tb5i?US+ zX$o|zNrloYxq7&BuDxn-aO>FWmYdFTfQla3Z1H4s?n8pDZ@My}!BCl!S%wA}0(99r z2T(B-Dk6fcHne|jGH+;dwyH2nsRTM-xKO?&*sX62u4RGvL);{~`ukSX@*pXrp&02~ zqD0W@iubB$i=*yLAEia9C})0btcvW#@ghVa^7gG0jmiw5Mzw(D$MO?n@NQpjwrJiA zu^toU(oBWZ8!L_f4nTHMEzp&>rih??b1<7TFqtO#k=NPdo0HvX022E&Q-BXgvLhY# zyNeTxqnZK%d}drFt^gdE{2=dQW_UAe7*9|e1)x2i(@uo&NRs#%HD%qWQE?OaCMdx) z#&DA(mX<|FtxnWVvizH3p63l2!|7QtHl@~r3@19E>APW1CjKf++!QYC?4UtPrqH9P z0RERy+h!o)m>sRg>0iS}uFlG$>R?KQVRuIj9~odkQT}?esMNx3QJlt=+fcbt*HTwJ zWe18DmhQi!=SeK+TjvEy?F>oH>EFSKrqUYpc&U`f&9mSvYTADVX?-K?pRouAxd+03 zTg3BaUKZ<Wr#gML$6|FI_;QnSjAX@F<>sfCkvog4><K7TUOB*o80hfuLs~<he3jZP z;NX#FU~V}~*XBY&1d;G$9GF4OA$}Ny4M<q_$(yG6J!>re(p`nyx?iMkSCkmx^hafX zB<<qcs)0m1vD<O@<4uH+KTw}u!-^rdI|Fa)%QDw1T>K=?!@4S`C|JPnWF#^B<p+># zm40fS%yHoLStR`>MS-*?@^bm2eZA_az2YdhTnEgiVC(!j+=#*;bKbe(?}9kuXBAUr z4)s;`+Nu=jiRKatj>Z%R1;|#oS8>slFT+L(E*w)6jwYh=$rc(>ZXA%Qr0G?p?~bgI zYivOS>{cTL{nQB{=s4&y&C~nBEr)fhCQA;^hddWDB=(x!d`d)h?rAMb#xjSmvp%t9 zVkTZdZSJ@Q%gPp~$7}f1Y7^0I+m9s>gF=1lR<gG`sqrvUlj+94cs%!-H6dQ;_rOgY ztA^t)+wKfEva+GEYG`D2YMt?hY1xOS^>{a^Ena1nLyR|@r@Bl#Y~{GWBUlzOq)O;$ z@YC#rKRrQRBWD;fdC$qQjkh#ZR-io+6cWEGhq{^{czSgqgfFnLurQ1}9R3Qmr%rm0 zH1{EanNH^AYut5;U@}<Q>Q4_eAArP!R-s}*2#@SXkQtxa;$hC#On=AkV5)H=6qN6p z#o2%BSRL>5(WKskY*sX(T$VuJ>Q!do2@q^=3F}Eb7=^sVh9XZrNg-N(VF10^r0-|A zl0>KPH--Y#xb2ZU8lQt;r@wN6D6aKGxAP5pVW9=j3(y?I0>GPSZA*n2Xt0yJ4bYP# zCG|oh##;CUtHjc2j4nqh(7^zF2Gk6e1Mv)1-H8mAeensvw@T8<&dYR6-Z6v6C1Vwt zl}P|Xm>K7T)eVw%G~}54Zdc`zrd3JD>Btf+M_*o)cmTB~VGT@brSX~3;>cqBt9+`A z!F^*nU9nKA(;f`MzDFCPC{ZK-U`MmBzQkfa1)(pd5m$eDFuUdESxo|%OMb-BO)pzP z5};Ii4~{Jua(XNuZ?e32Hxs^f@^Q2x*g6RS8#Vk)5ETJ(sRh#{Eb_h0xG^#N)6_1p zpC&<_miHZTphd=D&8QK(4ZX<4>B+I)rQX$@<2bRSXKrCJ+3UpN9Gk%}17M*tNQ3Ud zKE#9{{1}o9KRJ@ud6B7}VKWoFN;}_m40HA*{6sg7affom+=O5|)|`+OR#xv><-@Vp zP<$|XuzS=q2+$EV<SSF{4Pp!*!OwJKFR=IxACN{X7M8apLWJxt%XG?_Gtd=5QSTVb zkGZw9W$UhblJ*jAoC?rNgiEDyFIYUh+r@jJANW%tSw>0=37ntZ^XjMqo!W#S=t~!e zs^jh`qeDv*lvvy_`uVgtrd@T(+n2IeVkwz7x;e}<fCzEZm1Tu`l?Ev@))~>eAhX86 zD9t9~Fbf(A6ZlX%&c&~oRi)D~J(j2?H5RCD*9V(}pqQhFiUusCPRGY|pq=+r;uvz= zLBe5`M~Ge@h-y#HA;C*AH-Cjc$EK`*%DSLz;T@{~@qXVnFQjXdN6R_`ri=ylTS{RM zw_C|`dRvz;?Kqu6$%1$MQ`C15?O}i>iErnfVoJ26K^~SXih#?v{6uoG`C48}kXw|k z0KZy8jN%HU>U)?Lsr>qxy%@M!u)IJ*WXbIJef@+JhlA6M%o2z^3Pd|7LtuI34w~fr zRyyC%z7(N*BN<t7y;Hg(c=pVAMuZghh`Nx9o&AdMlQ@G`1eWaVq`obEC4{r$!w=sN zFhu;%_{T8^J(qr>uwlsNjQCYn1;JAhIY7>SR0;fOn97H<?d~a)>r2uHS_?8k5hQJc zUR&XIjLph{csAFX$m*LomtK!TwL_xaEq}&|+IzFeAhD>K-s|rIy`c|N!sm&SoyLlO zAwVjbp<)je?l2nMeN!+&Do6Z{A)u2dXg>BLj?sp)bP}EnY|p+PMNFt>0qQROO)2yY z;BOO}Zt|=Zdj^z{61c_k6V+Jlh8(zsz6EGI7e3tLhp(Jba;h_Yyq>X&preGs40(^V zg(C%kk*Bhcdd8aKz>bjZNIt`|Hev-jDY0msBVy_pPNZpcyqEEZjq)zaI)z<v#5()b zc~ty*>D1{Y%|hmyf~ApTvDNo6T;aNvyg&gL8`P?}4XX7xheRGqE#fw_M2?Zl2g8cl zqkwWF)ZeovxtiHS*c|-=*u4^Ph$7X!R9m(&O{cdoAKNIdO!})oRnoX2VnjjIxmzV4 zLdv{q*pId>8Az$<iV<{sH~geoN6yC*d!=2Jj>m{@4}j}vmttsx2d@usa%tm5w&~yO zJEoI80y%BcR+7`}E}Ll)hgHe2E$}wTvqh>YTJ|8I_?nC!j(F0#a8Jga5Tgoh>h}uv zfuPPLX5V5GO5Ummtgb5kewBP(=TH(jzE?MiX|v~e&zU|^iJf!FZk!_xkZB6b<Vl-5 z2@a5%V)4hCI=L6mowFt=Ml8O#U;6qqG}DW&cn%gavx?E5D{1aT^y|Iw46oDr%#YUT z6X%+_;;%0(q2pyv;nzVqEFKDYDdkVd*2(>Ie~R{U0?_xefZH!#3Vb;M=OS0@elgMA z9BuWHomnR5Kaor%U}QHU=Zh_rQ+v&lNQAfun98Isj&pGOU5@X|4DOf`drnrTgejny z1tHDO4eeZ7mC-xLaVRpY#K%n=vxIQi{(TXg&op;^SBc+}=@F?!8|*+=(9u@&nAr|u zYkJ2;u0iL^ZMw(B{;T6vfx1oWyD?j}+s5>P<RuKzB`|cPtGb<TLH`<o*Z#xr+F9PU z?Z-~Tbyxn`PcZU!&#KU+OJUgjmZt8Rg9~a$M-N#&kl%ae8D5yMeW%A9egvXTDqF>} z2JEm=#+W3UjrlXReL2<Qs?QaTG$06_?=ZR$;8Q&U0RdMr^iztVztJ61db>fiMIl(R z2k+yr%P2SNHl3i-k0SLTrLDLHkgvhDO0cg476MX{0BWyz>NFyS#;8SVz$yCZU%P=q zT9UX+nJb9;bPDFX_tcZaoUuD4e}_A^PB%xvFV&TSN=nNICT`-;MsggWPhnQ(b<yk@ zwT~;uT*F=qYBxuYZ}Ujh(~9W9hg-f$&-O3;#x1?l{dh36;pP9>9~b<%|9YN(J+Xct z#~huY*DW(s8@^$}H+afr2vCs-Wl>b#154omXS@ILK_;D9^MG2zT0>k0V4)I^Je3&f z#<i;v{}Q(^mays6mDbYg5DaX~wC~HTXN)%JY~Az9O?#5OSL{k+XhdD@lIhSbe=2|I zRJpRe_iEjgU3{ac^!OiUa4lcPJ^5Xgyry4eJoZ-^PxXJEh4`Pf)c;yG8X5N`kntf6 zefH6;Z4`Eo3d14GQ=rl+@m&MQk<m!3L+WFCZu3hvQ4P%ETch4g2=V%a-b}b;FZ81s zKL6#f#9o-LjVLvK`RDV9mHWuigrm#rlMUDoQBpl)$PQGyIVRUE;3m&c5-OhxW6U^- zJ_(Qno+O?`2~kDSOhZ?ptizGppvd&ppncc9&NFY(xLzmtnb=4I;@dc(?0f%Z<(-8{ z15QLj!umaKtkwe35fy8SX5p#PYKyK(EA50_Y|N2WYD+(gl#?>oydy_dNU9uZSjA|g z=^UAqf?{NP#hHrHu>e)-hNHw~vrY@0O{dZ<n6tJ_Pr|oq7qm!u-%erx%0!tXjNKQX zW=4Ci{DfG&RFji3>O$qNllB+#U50b`0m~S6QX3T{RXEiX9VH#fdzy_n?R_Dp6)uaw z`|knsIpEW>qm_?ZOHf~F(ge%S_Vxx#&0L>H-pcRp(Xv{$8O=DEuBY9OXX~zZ2KIG! z0;7I>L;kh;3E@)^FUW#9pSbE__vKNhtuw0mQ_JY8)JKvcUYRTicdw`UL-Qoo2}`?C z*hA#>#xMN&WD7qTxG<B;0A2wt@U2N3j?%(5F<nTaV)<Yl`@g<3iphQVe1-wsGrl2P z>po{c2N~7=0UsfSFZ#KbUIJH?mO`SGmVz(EN-vpWIdZ9IBd(gNdCQr~2=6Tt<n;@U zj}w$WjQ$qTYU!|l*Bl+Z?^cm3V6)9mbxZLG9~0~v$+~ZQ19LTkcwB5<<XX2&D5JP8 zV(1eTl~oM!K%0eEh!~)e89Ewlm&6t7P_Sh7wYdP5-Ts94f9p<v0ZYD@r0Db|=#IjD z`zHK<3+(^ISI*YX$xck)#>mRp{=bKUE7dMkk&KZ(xzBsM8HR(z@)8RuY09fho<YNg z!zKLE;E3Xwq4qA1&&OF9Av;ZtjelFH6semhC8-yYhRg+bE(CuRb8MJC20CGLjPXyc za8BKgcXYkIu5&&=b#;9L<$&`-x|V()vx|vOW_Jrj90~p=;)xbCK0-zcK^p9-7xElJ zJQ{l1r;l~RFIZ7>ftKOzS&Z6nA$t|1Z<otP`a7vRU_iAI7ChpnY0uLmA>NRfEeeq* zqrWt-F{u8Jc{|B=gwGQCAHz75X=qLEg3-823=To-Xnm31+T69GT=n3nqU4<obt@G} zLGa{A%p0MM+}fjRCKC8MV@Y`8_T+2?$=tr)YP@%jJT&?NmS}jeV6xi$GGsF&wG`+} zv8#l8d1-p|ej9DoahR{2oC5~SX~}NBsn^Z36J=Gal~Abu4*jFF3O2cbNYRaN{!M*o z%4nk=O4=)#A(3PzT}*j1;=<ARlB+&OWuDm__qWgVR_W=uz6(f+yCDWo<t(C=P>bx3 zfz0C30dH1{3xxgnb}$De6WjR<Fp6QK%BlA0yN5WVVO24+@`c1B_0rBvj8xesanRC= zaYsAcgh>Wb09|*bu|wvCViCs?nG_=tTONjVQ+sXu<vwvp4Gs22iwEIIfPGL8Vg+U% z*_a4bR&}C|GOm*71=$a#W%VU-Vg%)Ru>>yTOs?UmIpj-v@nHQ<OSsWjD{-D#%7M%P za96?ZbjP!zhf67P3M^R+xg;k0HuL^h=vMa4lF>8Y^TOQ{rAnBI>V(GtYs^<4i_($V z95I)eHH3wTR8S)D+6`L@jD^Tb$1@LN#hI2OJyTLJL(vnLh}(HnA}RHiDh@eVWhoGs z(BApNv4SM7OXc$tdWv1DO@wQfz9jaA%#cJgxEibm0u?;6JQ#d<{d43Sn8{Gr<oKuS z&Jft^+>mIyui<+uxEk;YBnf!bX^|Tw0Q?03&*44-5Bv=|4<Z0P8?u>Tm!cC60Idu0 zEYZJ&^~PZn@(ju<>=~X8+=&Q)Z2I9zy9>4sf1MxF_8f{afpvu>C>J@<U<VW7B(#9r zYnEIx^5S3_z7r~X8d}zqx2k6b&9klus{CsnZK@9YW*zKyr(ib5NWG?_dsW0@X5z(Z z3}tCER>Wdg>|}zY(>xXVoKTwNM?;q2MH=<|XJa1IJt)iu&ysx4T4aufc1^RiOBGwv z2^(?E2}z7fOHlbbgQl&$i6w>=AsA-HU5Nv>n&67QM&C5ODzhL~Ekhxtez`_7qka*O zRJ)+|+asOQLvzQZy(^;2^VHD6wV)#B7UTsEjY}WnOS~iVAy(kqLQ0-IBWZD&si!zl zs3iijqWS36Lge~QtLK;rnWX*0Ug^ywl~{3*<sEQ=%8OKvtyaSUne-^%>>eM7BM=0( zV2`g&S`CeSp`~$3ei@DV<Tznfm?)#@fd0%<2#qMTgSY)CY)%kQ6UaUP`NP`_6!5XQ z;jr5*k$o0ZPDp-)mp;=h*n@?}g$NMDNefxMJ@AiQWyI@%Q_^i{We-w0v{z{1rxR<S zML22#^lJTzLMP<RSfuyJ>d6;4-Tj<7xIuR-G5z0wM?S!@s%sJ6pE!TVX?}!wE^?y5 z;Jh|ZK-Hg+a;^zQmzOxL7s0Aq>SZY{n%hpTmp+<XO{^>xj<qlrR8EK@Id@htQJ0<@ z1I$&$ThwiUy%J_xKy$j7dR@~8?ei%q{T0M$c}IQKV^xaKONYes6@2j!|L<LeaUuLV zxlt=B6L2cyy{JYwbG&}34~rRJnOW5k)0x1F0J*S%W#7#Hr3*FHYuK{yT%>xc<X<<n zHd`TTZM>?SNQYbFjW)<@FPYR`OhC`vP4%(!%VdVU5QWo*8vZ}l-Z8k-cuf-yI<}p3 zY}>YN+ji2iZQHiZf6}pS+w64m=IoiBojFzS)NIXud_F(-Rlge-vH^S<05Ik9-?9U1 z)u_ql-|msmr3TLlR-d(@Lx`hEL6ki9;SzhGG}%H=B<QmGsh%bztDMR84;q7XCVML; zw|O(^YbjJne)Gd4>VzKlLl+%cQ0nv3(wZEfsPG5^gwV$=j^Vzi(t>QtHuLc+uJWV= z@)IvkI(?TQ<Fj!XN*pJU*(Yshz`1+9az>Ivc<T^&e0KN>IiGjoi>ifWOc5n*dmVX< zeSzl5y2Adt;>2A6Etjc9ZKDbHzfC%!K;=r`tm4)10lf6kAUyf>T&*{Nc;`_EpeMPT zyIC*HDvK7Hw=WQm>4?79e|gtd)pJ3jzZ<c=Z+n3M`MdVNbD~wWze%!~ybI{5sY|tE zx_6yclxei=zCeuOm=aW(0v-gd!dR=*Y+c%ge*Is@AXYvMe1D3fccN+Anj<6$+>W!D z&8OWn>`z|uz9|$m`=aQ+9+hF{UKEG%BPQ_hk?5sP!7|$E4c~st#$&m+{WW1vVmXHO zKEv{_1LE{@9;zM$ES;0H#uTvMSC&dhYoZ7~B;wM)+lLCHcH@J%L#J-(W1wdbBB8$_ zZJbo0M1~FQDM<^T`~eN&Sb8Z#<>zk&QiTlRk}Z~AX=p}mNx9EmL@6?ASg|m=RxJ}< zwv9>Nuo+MFM40!c6~k^tt@MSuy#$C%3h=)8mv<89t|*hI`wZ2t7zNyQ54<cep%FsV z9F9aP`!#QweFe5Cgv8Sx=Fmf9tN~F)Yj~QfJeDFP4W<%${i;jeeSRb#CLL1^X2H}s ze`^u}n{un+K6l@SO}dg^Y6Qhzb`<=O#ub$}B2JiUHj~B!V)$*gk3+4FpzOA=MsuUc zq2&u)Z%vL6?iGEVG#o+ByuP6gv2WTQ)3=S(c`BIv$UI0{jYMvyvOg9LVe??VCE?5G z0q#@!J~T^c=5?Nny$RX|#0dc}rAS!M_a-pMQp>Q1E&KW0G8islkIp+7j+fK4DN?Z4 zUnbEIkEbSry8g`vryD;kN?}-;bs2lKE#JWzMXC)O*%E}rh({`z>-QhAltwa`i=%ep z--JA%iCLbJaVlWN#_`EysG|*Wzk{nv@&wz4I;_^~v-c?@aubg!=Xd6u3(^<<P{O>a z?2xLS=qwHVxDMd7F81oH=oG-6`i)-ptKfyY`WbkAy_D%A>9>L+%LO5R#v7wf5SK?F za3eURv%(;)(F@kf>wgGQ{YM*Tyn=TX`CaZD|4+*O--x*-Dpzv<@OD{9Rr{@FW%;He zNZUvwq51(n9BQ?wVnjrUEaS2YZ|cImaA~KAKM`Db7lyE_{7N#)ofW7bpYD>><Nkcv zbF$rG?$-DB^&YJsj^^dtF)k*9X_U>33l2u^Uhsl@GG!FjY#~@*(ipx3wYJnDhOlX( zr|{Xz^yu2cFDO72lLmCz1kvdTI<(o-XKQgvEs0Rycf$ScISjd{CTiX}h>n3|2oDQ2 z!a3K_Lp97vyOSqbOB6V+qtbJb{Fqz{%5UUA@Fz&<QRVXmse0Ayik?7mj_H|uXubz> zUPTv03hWJYcXQWarAq9^+9Q{+k?4xW|FUJbs%jwpVC_9ZO02R<^S;<jJMI7_n<T;f zz15<eT{iV3i3Z(Q!HbV=)P?NYbmg2TqPYJz!Qu>~^Qdb-A-eOuXfS&XmGw)ZBNx87 zk{@L+wpP={%1&#{aCXqrgys<^X#@*KxIJai7RKFSWssMqxZc7L>VQN&P1^|bB08OV zEgVG3nom7|Wdc=Vw4_#QcFd~NXKaeWn!rj6qmxj`FU|xGT@IPc4kzoT+cspLT2<>; z81-6wu6Z&ZAzme5B;IIEAeh>_mi*UI%qjpPOR2*ThmbMiKw@qGYZ4UYQCIshfxJ<( zh)kfj??7^4ENKxHsmL30D8JWY1W7#dqnLRC-1(BtXxgDLrky#_hIr3MC@x9-o>>kr z|HU|&Pl`?0GThdHr8UCn5^WR`C%T;65&fj_Ysy3=K9+jgxLer{Me;G8p5u>-1;Jf~ z`?d0Y#2IMuSE(N;^=Lwzt>_~PxbR+huYg3T1?}U$P%;u=BzzA!(hM0hA04{+Hxirw z#Tbgaesa`*;G6%W*qP%x{f1D0fY!gSmBRnindP5n%#rUiX7W<Q*Gya1-$Z(XEJQs` z1w=^1#C{=xpHM&J{Y40W1O@|HrA>)9nl<6LvqScl*F5RgtcKOKY7wZ6Kv*FgEx!L! z{r)$;kIU;Pw)WoE);Bd?1un-vJ9cdK0~*~gp*y)Z*__VDlam=4%+4NX1aUm@26TU? z`-why!?F-c-XuZ^q#yX1cnl1<;m=>g0&H+m#|UQ<GZg%Ih)zYoyR9NwEOovoC|cQ6 zLHv2R-=(-248>{GF_c4w^AFg`;&0$^WgwPf62?*ortlWUaz(H*#d9E7MaqV3Z?M?X z2e4eRvFsK+vSTGE7KJQHE}1s@s1O|mL~Fky<&@!GEi(m2Sag4q25M*l&DsQ{z?|a- zOr>l`fH0Tb9nbP)+RuVi&Q{Df4Wnb^k{(>e8mLP)Db!;?RYiq-N`fyhAZKV$)thpu z!U)9(PFRKnD4&|-s2wZN<{0J2%01DnnI^GeHcOQ)HFnEovT`lqSQNJ~X{1TRHS3iv zz}k!oV%fx(Dwf4GN-NV%7kA9tAS<$6G>-@{=h)3+6^hd5P)?ng(EZfVE?J|I0e7`x zo0Ury+$a~VPYp+{;R=BrKCRZVDyr8Q6wFzN3UQqivCyW#ln5?Nc()KY2mBT&=Cm1s zG_xf!8mSx#@Ysw*X|%q;UZ$_9(v#z`RApJ-M-U^9&|tycX(e8JDnp6FfD`MC+>Iay zX&4p*St5au4c_!%Fw;yJRd6m$d1(`;u2GP-4vb$QB-yV5#S89MH3w^j_{fP+Se*eP zOJ6{=iui$?!x&X>wR<VVYC@-7ZPAqy{=J(NKTx&gs1mvpfsXLBZ1{-WsvP-<`;HW! z-NcP-MhsPL(ufcsX&^+rK8%6p0%;K7unAcKfFyWG9FoXLDnW|~T}iq5{YA1Ebfnmx z#pV@9DwVAc2`P}EXh`3s%Iyu<t&L^VCbFb3T5@f*Z!x+6)gEd*tF&N1+(rx!F}VcV zidaU>Q?!dpDOaTd$7*l(cxNO?=APz3F2z8IP)c#Q&faLWFfY#V<obkss%r|IG?ZSY zszXvXKx3J}F9OFGECOK;#FE?yWN@{}zO`f}0U2Op11cfT@wnRGkM@SuZ8f|bo~}o; zZ>b)(Y^cW#Wh!EbI<S`*er51Hs6ORHa?ICxvUM3|UMwfH5Ph`}D}9Y`&=)i<X}o(p zW3e`2K9g9O2eLL3mRy-{1hUs}q*~lYdL|&#?xsb>`iXfEnb0)eEM|<O%<BfYtO-az zh~nIo<uY<3TC@uhCK_!gw)O2{)+|v@KA-`($L?{tp1QDUD_cuMcUE&G`Cx&elwj2J zf*~(U>2>k7JdtKt!fGB41c896YLuTvQ(jh{i6<m(xmHnZC@@x!LPNMAi<y@Wm3Gt4 z+SHuM&@^cYB}AWdFRfPu!Vu%Y-``6x=Sgj}7SU-T!8B9DSZ$QvhB;0uQE3vWA~oqB zVS&l56qIioLud<q8ag&g72_cKySb4B%`O&<sPyi?${4G8yL6QpP#ev;jhNUuyI3kw z9Ph~haGaLdEq|fz>(@wFY@EFdL>J}0s<(Su{&vX{9;c9qXvR!-3p{IBg>7ww&~6=t z+zxk@^L@`9y40YJu8m^~q~0EPKdBF1U*Ar4EwQbgyF=fp$Z+M&3G&h7nC)%hR3K4o zv2YvF8I%={uFl(T<ezH;AI(=NE@J*xXkJBYPqb+#1UCk43Mh<G0U6pjg^(J5&3|%2 z$yHxK<q0IpQzF7@-FeJ?Xf{Dkgp&Q)eMu@;*<h^7y96QJ@TfL{;N`OgT)H6rhFSu2 zu8<XEk!TWL^8e9n`1-=dY{5I4pG^2pCMP95xLnJdnp-JOputG2n2TVt`lCO$Z=kO7 zJZP{gxf2~~VNPRF16g5W+i%8f+7UtLlC>K0Agl9J7U4O|1N0`n9X2hi9Yh^D^hJC= zCBTDPTpT42AWB9z`W8GcJjNia6DTcvIov@uLSg5GdAVrWC3!LnpW~M4LYHH{&tv94 zeS)w1a|p)NgD|ITfi8(p9>a0oWFEuhJ&LIZhuztQTZ!H+(s+L4ku-^}KpIL^c#fBx z`Ajk@@}4>9u3auI!-Z3~U?GJ}S5*I4X0W*G3_GXSXuhR+qxj;qs(OPMi}B3*(KV@8 zaK$;nNd}<Lk|iH#w_80@jB|#aWLKCa`%dN?RX1!pXF-%34#uUX9kFcT%rhgrGhL>A z@6ySd*K0g)>(V9ZKAS^!m5{Q+2w0WfSvsRjx-RwRz+$qb-;&mFk)g?SA=t8?2c5qh zN+HV~Tp;6>K*)HkhwUo%M3P7G2`a@Rb5(4U<0ZQ)(@S_w5Uf}IRiK<F8CNKeNWgsN z_^wBGX#$B@O)le=n9FrMM1j%v+Fx9DCYO`Tc&52NCF$hVie%Z8NqWL?#_6?PjBzU3 zI|@-sOs0nn)<XjR2;#fr*tlq_3V2GDq+g)s`rBWuuIc$G%-KsIc>{2%ljJXWh}BHw zEKFH(@!Be8KP@Bck+gs6T0~l@{MlEtz-^@5R)6$_fn(j8JEDqeC=%*LHpTj074>WJ zaaWWA|9oWDPkJixwbP;;ZSSY5ZsO{t@z3Ra=&8z~7K0$pwf#dIVTx@mNOJ2rsF8&@ z$UV@iIY;q~W14KrT6j^mN}?V=8YuFY#1>@tq=<vnp<yYJw+sFlStdJTGI<-XyUHO1 zcZH=6&n>Y(L)_kPO=LZ@xXL`MLWc8<p>viJpi;Blzt|QR;{KM`Pe)d1$1qUlD3%?z zNWKxP4f?HjswT>p#bu0$xV*&%qecA~q%LHf&KBqDB2eRqqJXOa$!g1;pD|_l{gQPb z&2d3)H_|FSx0g(U!jBXYl4cAUyx5W?xt1N;(Qbjfv}l&T{gV}+{7+8AY2+;Y@~=BG zFz3nk4}GSCA*)yGI8JjcEy_DfrYys8=5O=xdHa*_VHm!YVbI?a2-Mz|9Fy!4j_W3_ z=Re*=VBfL+W???|cM@ynjtQU5D5HBm3XLvQs)%^}{gMFW`F61J2BE(boQF0!)<#fN zR1FpU)DH{3%Ro(&${+E1bEwMT@9LcR;80U0PFD^qW~q%G#bC`wk@`VuO4~S&Mp{Cl zgb~}C5#`Q{Z4K|pp%Bo#>{xRMlibx#c4RjmxV?aDt3aPX`6r9|x$SkqYjcmD=^FmY zC<)^V@`rFl&QpU$7@9OgaXbH`O$$fGvpa|KXQl-?L<))7lE3v@uJK!|v|Ec=)^KL# zqlP*0ZQ<Jp=y(;_=con+A>qU?(BHVBVrIx8q-)JSTiAmUBN?JwKFMulM?bF$95lA$ zeI-MgEv$tc&6u7qlBj}TXS3BAc7A5B-jo~FP`8`xE6~rVg6dtqB_|DJMl{9L3s-44 z2lIh<u|W8z`+E^)a-HINV|D_5WhV|*O@%XLpRI9<+6GJ01AJp)FW6$cGfZ<6UY>$^ zD8})$x3Hnv0VIy&(4n-F?VESA9jR9(l;W!%)pu2;X7%EIj^ens?_btq392_H)0G)d z!5)@14?-q?4tVYWgnVH>LNpHuZu6iRtMq=6t~>dME?z6e`m=R1AFw`YGUw#Dkv4Iy znxCrYqOsB){jCBF-yV=XN3Ab$F7I$S!<81zvU=e9awn672I>LNZg)gD%v%gOk7o5D z_x|s7vg_LTzE_XL=2f734#E_K^pAZ<sMZqq4m$i?_-2MktyN$A_|$Rmn+u1og1+<) zy%=0Oy64(I>9K$M2oCg)9YkTty(VIx+}|MURKBO}Ieo_NZlkp)GS==Z0?}OqFGzXi zr#%vORX}j+GDwLLwZRNw?thQ`828dTy0@3g!M&4L7AC+f$ab0GJek3BEMO>>*tN%; z3uF=2$v`2m(6z3u+;USu*AR@~zMzSPM@SSgCvNPuO^lRTSk4bR%`W`Vxd7bH=+n`$ z&P1#&%%zaId%Oj(G#{9*-K3jUI*Vq41GSrhO=QiLn1dfn*ZB0SZtmSQ^<5|)F^_6# z$tlmfKagfi(zT*_%!*LC-Zc9)F@>8L1Aa5c9QVtU8_`V-`BV-vX@xH}L*iI62D%_? zSyB=;%TOB8QBxu)->Uk=R7@Z3tlYt={fs)I5cgU+07vgc>tyyW;_|co1fHCCL;-a> zFw>^4UC>k?%BX3RzA)p7h+yyMK7f+B94+qT4f`C#PS-hm?#L6i6jU5Ywv)LUZT?M@ z*M&3ETdgO9G5=<Dn&=n-<4bXLKx<q~qt0%Yd<B@4k|+3(B{l7($t#0sqH@jKj#=YT z-j3qL#`fi!Ib-?*DIIK=eL8VI%9FPp^~RK=dj8~Q9MDFzp=~&}9to|?mx8tpp?LJ* zV!SumC3;JH{voQ8pY2D^S%2T`h};@7)o^GS4X<W$BiQlydV&)%GG|agnU|WNF;A3K zl$gXb(60jyzlmN}cIEB0ZV&&Jiu>8};tEC$>#dLR#p11R|J57XQ<r%N<*h%IrkcJL zWBS3^si?be_Jt(6nEcAqTa8acZ%BI1hfw7vim;jT*85?Xy=m{iV}t-wW0F)W3ZE00 z(2Q+d5gX$GCsl!;vgn^wf%MdjgkyoyI*Z;sr^}IcJ)pW6f>VyurbPcdOWYp!J}Vk` z;OhlVu&}@(K|hP>l`uMAr6N|RNZljJ=oQ7)f!rRtU9yE+YhSjr!21Z{75^#0`$+DU z{3$attB>^ubo3*O>9%T5l+yc&JwrPJ!k&C8(|gCvm~06JbVVbU-4SL;hh_w&9c{<( ztG0~V0mts7Mf+4}Gk|-ocY`95_m!?|=<3qQ-H~C!4C{E;?i!0m66<;|cl=&vK=0b~ zj8)H-{#v-#DF^xx-+wfh`2*;;>!x40Wd;|%L3pfhWsg1}hzo!Iu0HCE!vK%HJJN5` z1OulTuX35Gh$m!o-mY3@prDoi-P1Jkb9(MZ81pe<egulm>vw~5ib=5-5tg+8enrkJ zTfh;shn+fsoF&!8XocsWhDwMk>ZU}XI#2_@YHKe<>&>{kAKZ4r2<OzUz_G*Ye=Qt# z@xf-Uhu%x80Uq;53pkmZy*A)^Y8eL;NPRoI6KBH4%93Z%_%@efN%SWH$r4H5nmbTT zIS9rG_y}g>m{P;6W1+6&(KoGHWaq3YH>pWoN=EmBG}W4lT*ynM9&wJbc1{b?TMGPx zpxoi<XO0)1^thB){9FUk>OJop$!k+)*E}w%SigJ3i|i4cY18^-yh)0y5wZvq<3IHo zK`W_TVA*p~3%VAYL3{AiSlB2$O|`|%)ew1Eipx<z;^dryZOHCC_As;rL(O}bC20BK zJ)Jr@L160~G;^`iAvcP+{dogTQt2g>1!+{kl20N&F~n-fH=M5AR@1*vu#|GoISYDD zfkMwb0uuCO#y#-jL`DmLVcG9$Tlq5(jV=Qlp^jnOf<!rjj9Q{FYGzey&>OyTESo1j z6{22<QZ7f~F6TMd+TieylbwJidES?h1g!(-;t!BDJ~QOzhItcgT=1yV2ZC5#hc3m~ zqS=iegfAQUX?Y_NCD-GaPCa-~yYSUDLB^e@aJtQG@yuYFZU#%6MKgKLkp)XpJNtHE zL1q>4up2y65O>_7N5}7KpTawB!l|8l8=#(tkiGbD7PWWTAxO<PJfv?h?7&k_rlKB? zj27^QP2-Hsr3T<K?q5PT%|7b+F*k<vrOXFYcZZOPe@1@rHM6Indci#ScJPL)pua+| z-WA3o`+z;uRy=nMfxA8C9WSL%M&?4-vB809F^XA~P%NAE*G-9}u)$0;qcrGb0e*4j zE%o_lR1S--3+WWn4!W)zZI;pwY^^i#R4?sH+H&g6$&FgCQ+kBm?JS(%^|qozw74EF zV^gSW%fGFIV;8Z`d(=djSxvF1H<fEum1)(4oVTc%N_wxkZ_EbVG}RnBm3BbUSKV$5 zza3J)0*eO)X&BBVX3<}&o2HKD!}6;Pc=DX^^Y82NO_`*<GX5H5`$NDnq&ab%+{v^| zMw{eaM>+AR)M7j^!h%=FjK+SV?TL#(ck<ehE%T9Vh|4cAl;shnOKmyv{JWTzKExA< zc=Z6@kke^V_cp#0M9(2X8nDrQBDlyjd^Aq^=<{O+FviuNb}fhsbt_C`V7A@Q9b09m z-hi9_-DOz%83k0F|0E1Z&Y8e3>%H!&?WyR}-6GJ!`Q1!mW@Sz-8rN!BitCzM6pMqV zS`#fV9Z4S+=FP$8_(K?ryw03I%+fcUHN~+!O5N+n{=*|tL4k=_Mx65%Yqmb@813by zFFkqNOQHYu&|Pz!b7UAQ0d<BQaM)hnfvy_UP5gfOq@-#|8vyFblq$SkMgG;bYMcHR z|7JHhVgAGB1G&!$^W{NZ!ldEJ`?<81pbH!`LyiCYl+#F0{|Wc&f~MAm<wh}p<iSci z4&S@w{IA^On9C<#pZlo_qkdpXTJ**uD<%#bA+M-}xlkIlke>leE0nDvn`Vj*LrUt@ zZHMLzf=My!%Ba*FQ+leeHTG*!krb$(lbtN+7iAmS&7*mD-h9?~a^J-#;n@{E7KXL3 z_J_L9E{)!`iBM;!w59&&k=rw~f@Z5f7YxOkJlkg~6*oC`04MYL5K-?CH^HC-VU`|z ztXbe!N$b1)rGN4d{Mwi(2YB_-tJc1PxwrQ#gt92a?K9qY*1yPna%d?!ETD9mlD{&a z{)3<7KX!x!V>Q1Czy1CAF@b=n{+m0(f35;c(zJDOm+%07O*&@o>4;lEjKS-}BD$$$ zpjJk(;e<Fwh{#0J{Uo-It9YrBp;%nZIQi~Zs@C-DQDWXpt!JXPGEF~{maVE<o(g<z zcGme?eXaj2Uwmcf^z=^;8oc>%m>*Amz5LCa`1+VxYx{J5LIZN&t%1zEL!`zx8v$tC zIjZ>tqUD*4lxf^qs__g)ifi6sK{4`>?KQpX{Kx}foFlLVd`WuX%1f+9(?`B02FrTL z45yJQDf~r)lHadjm}cL#<QW>)N4slb=%w4kc`XgL-_wM$^@z>z%R<|MI_NUgfjsa= z=DPJ&`w$pL5app4z-N%1lEbV#u!s%E__66Q>GVX&ThiHSir;3|)FiILY-`c#f00;3 z9`;U-EbKdeI9$-1AP78Hz<kcB%BaFzM53$B&b$S}MnbdTsJeis98*n}KfR<IbgreI z<qj5(rJa+rtPH~D__Wx)U(BMc9II&=b6A*Z)Qbnq4ZWkBYH0DMX6i9Ncj<gyTmW|# zEB%~MoXe=nZk-f0(1OM*oSIW`Q);apIwbp6l;~ddcvsn#HnyiZF}IfGe+<G=q{*CV zO-})!4U?(OTVBxGNv>K8Yi!MIv!z@$)7?^lzB1`fz#@m8n1eUdP0N5T8;deM_Jv;6 zQm{H<Sx|k~Jd@=gzp4IgF@G!LiNm=KSk!bT(;nETu<&HcWU9@ww2tjv;ilAHn1l`@ zu_pr^cf^2=0YHri{+fF`?Pgu=D6A-BqSN3%_jXZs_Xb-WUI$S8L~h<^p%w0|z?+zs zv3jP^CPi0MlVTlJ(Kf%)Gp^yTNqW()tkL(}Z7iuMo35gRGH!Uz&-~l)I~D@n9pJOi zS^s{WZXe#$Q;Q&<TX2d%7prDvNkFd4>iS&HbwMjojCld#W&A0KziP~(yGb9hN@YlZ zx!TBMhHeJq$lL(^YsnX7)s>`X-8{)AOkuHNTMs`r2R_vjq^pDVXZ$oY5<;YhqCgO{ z?Nm%vt7L!-PD~G6x^gP-fvj(E%i~6?sdsB~XPJw4s2h%VQA}N_Qs%+8y!Y~u5WBqU zN_AewqPI!p@|{1tr2BBd&Re@4t)m;LD`()j4yJYg2TlC-DGkmo{_}j#HE<e14A`Px zD7Fs0)sk{^K{L&;9l~!u)zZU<R(szEwO`?=f<EhBE8N{FWwuBFbLs}Y>>DH+(wgd= zdH9QuWUbQ8DHkR$$GGUfr>S#sLrh){Z88|cyi9gOS4^Gt+G6C?&wF%OP`HV6VL?o> z1_HxzCOX5?M0De?jMvDHnqu%#Otl6PbkZen=S{Y*0kYV5-Gbmp5$ZMsNc0o!k=D&C znxDvbC|LX>)YS<5D6_3JpO09jI0i@QwTgNc>S`Qv7nO#l-Bv3)d`FkLtjt7uDR<bv z==L#~^Z+<E)qN%lj6}xRpdfBFvGdYzk$V(ywRUw4HmPkoMM)JtwZ^SX+rxDle!pZ_ zvQoqew>SeQ@2Bac1Os5J^c&jhI#j`I9vV151PUL;CT!7IO&gq?X*8%-50miE$_5Aa z=H~W_P>4Za@UhTl58EzI@2@Rbj#<|1Bk(FaSxcgi@!KfNFTsGbjF%d{FCy1mXe(1t zeh~i(#(YZ(DWlHoiu)p5Z0EU|)m4!#J3GDz;~2SLJ5yb)nm!m!obKXeSI84*2|Gaq zW`EOT^GvGf_#Kfz7&vxxv*^8Yo>zvGUV$A(>n6uO;v=7L#{aC*3jzAEf^{LN-=F2U z6n>=#P-G0fdbDN{<F_|$Ho|Zd_7}1zv?=hDiu~x9sG`)p&vYVRyE>Y2pXWc4{gk0h zT}d|Zl=W=0aQFYDthzUsYUnPt(fRmA|CbNGAz7OCMRDSfg0Q?lavun1Z!jF^;s|{K zW0*uY6i%9hFFc`D-0{zmI>Uu=YKz|m$E5H$#rI<2D!Ib6rL+F9g~^iZ1_lr^*wZ|r zulXG?xFd{}#F(RwGk@6%>-%n5Sx`EUh<IVLwP#onl-EN3@LqV2Wv)ft#p0r2MCHVL zJP?-;6>S<yf9Fq*<#xVi!?3LM);oY*ItKD8f-Rp7P$c{rIHxu^fqHg9!_>9~-v}!v zpiu($PBoZO4QN0#tmljNs;5L)UcSR-%M&;5K2WtO9qIND^#CB-jVVs?EIJ@4YKiZH z5%oySU{Gq%r+8XXdsz`9kdF;v@~#k}qMdy=F0XJuRT%xNSp2P3!5tEfvf%PD%1&{D zw)Ejqe!pji^~lw;SN7lI9JnxoXify|t9h{V_LN~p@GcJ8U>~F@qHNtWX$fQ2oxa<L zKW;Rp+dXze71PH*dyp{dWeMAY?Yl4T?W7Sx<NboX83_)n?`C8l;ocSrb~^$KZ`ROW zJEoBpAYSSx2!9aQ`i_Q>6;gIY&ZLOqIi*EC$`nL8_me~~)EX{UFB|)*D+4875marg zZQ0kB6U`>R(-4k>aW_r9+8Ta!a3{K{vi|wT_mT1O84`F@XL_)%m5p7)<psz*?L&IM z3H}VD_p0RbI>|isLw?r}{%oV?QpWRr(6T5%rxn7}3h~l^bV2G_iAuRewj-RbA%#ak z7YwDap)d}9h`tz{bsROO@EP(KI$*+<noE_>KQP_r%6=LKH}e@*VrY=u)1-|3fig26 zp-c%6fwIwS#F)Msa6w#)KsG%OrA}E3LzY`)T(6|_$LHrA$o36!E!6QF=xcr)2dc~m zq0g!~%@4$dm$=*eqVOO*D#GR_6Omc?PKX|uny-IR#p@}OH;{d+;^iRz%S<>08&_vp zOFLI*WgE+Huj>EJluS|8R9;X({RC+#AT+4)ho&nB>jI*MZuh5Xq?lJ~hK`1j%hZu( zAYqlndZXm~1Cy<&gO8i%b1Tl7>kR{q3Ye8ia-Qa$a8LEVnbFtp1I8Q-g4CL=%SZEt z?qrw^hBa@@#!7b76vS3X9m7;&h(@C8U5~bIr#lFZR>U$!9{j948)-sD<^<51y8xbb z0rz^nYlO@&YD*JYZcEf!r30Iajabazs`j*ac$;LMWW-DtSh78f>E<;b*Ph``ajkJ8 zNt%<>%$D*FvXizDLU@@#F6)iSoMx68<Ka>e@Mr|&>2PEDS}V5<EG9eTOKf7otg#wP zoXq-Gn$ka|#@-p-Y88}+GBf6=EPBRZZl=Obl{SM6=>vC857DAk8I)yG4xWmSwl{yn zoahRS?Vqz!a-ezmqKg_H=@dfdvCrc0e`1&U(~9aZ=qD6iaU>LKwzBq}Blq}x%T3^a zOSdcaAyO=_@?W0cD@DpJEv-e5Cs}Q<BZ6)QhuW_%(*l^UoO0i);NeEwBQfnN!uQi7 zH`0GDKxfoCE6b-xE?2b&Nunw15O((cr7C4C+NZl7Pgiv$aHet^n@Cqz><6)}%~$RM zc+#>%-TgEz{PqZ)mOO<6mlQG%bf?!b`^4QSJ|{_hIx2I0?)>)n6y892niwZ%aXmC} zTp?3p(KW}%<JIKyNev_*;bvAg!ah=W%z<|PJ2fd>iUqc@Ud?JUzC?xQsK$yT^phw` zr}Pt@DjcTq4)f_}a{4+Y=u)y*q69umPe>vFBJ@%+YS8^lK1`?6W@~L1kF(tAiO6N4 zVh1|YRAP=IPrDNq`;=hFF|ieiRgNc(qT*3pqC(!ngWhHR437-Y01NN&y4-T_ha7O= z{x*phmt*L1d!4&QF$AWheE}o-`d~uaDKXavDDTGuo)g~_@Vq(8lPzH*SV-|y!z@NQ zoW{PRFp(X(D0r^W2=m}u_H`i|$z32_X=4AptYW9c1<f>+3bCI;%<Q`7pi6*-YW_)L zl*mYgT`)^Deu5r-NTp(0JmL<C5{Lk{F9)U6qQFSi-_COXGU0@Ok;>Qm@PdneBaZa{ z4srj+;i~yx94^$)(yn?1H30#IyU6mApV~-uDk9L(TJah~p!P#<G*uIHYdOfT)MUL@ zMumz+7A%b4Jg!CN4N)tks~}mf?<4-V9(mgIdE-T1A1Hd?jyVxit`O{7pDM#VZA=nD zsG~4Zu0==Y2$h!QFw(CIx`K&)6p8X|j;Z9yPodd*Gv4n$6o#`=*s_~C#0j7d16!et zG>G<Tj6E5149)1wxsQA0D*Kaos~!T&R^uH&%rjnc;B5>V1?x3U4;|XteGu_>f8Gd* ze`}h?g6Fw&d`*Oa>l&NVX*6Xp?Uf7ZM28?O2yn@<c^9XM7zQWxeXQ%o)WWsTNkT{~ z9Lq03T_|-$k_h8qtS1fi1slHtIQ!5RqNlh{3ZxdakeJZHo&+B%>o|oDRRml)xM6Ck zx}#Qf>?ZTjO#qt$URWkS)4bx8d4g7Dp|2TTM&@YJyh$&%?}-g3Rt<9NBDI17VR7q3 zz&osB!8*>MRsAEsgm&u`Q`nlm4ijizkNVNuaF>>AGg(4Y*x^Q+&AWa{7*@bj|4N{; z+2<OSO<y%HL}Qnc*=-KUA|snKCJLiOS!g%iXDfxBOm7cLT9ox8=YaF+85*2@xskz| zUJL`w>V~u;Mmo*Kk);<jMee}cS(#&}Ru~qvpzCY)G3OiMOI%$SV{68EjnDo`)0@?x zm)r4U$m+@{%XQd5H(d4OOIl-XQ4OXvm|34r*bYGLK!dK?{++O>rzagb=N68Hwy%|w z^Q!vJVJgo1KFx2{c1Lf*!~y&y`9s6I3mY>L`*bIgjiEV-CF%#uy7qj~&A_}cLA-}B z;K%dAx`bFijLWQ7p;4$DE)bFAK!e1&7=q_1N4PNKrE;U(tX)Z4eox3JZ0IL$XR2%; z=%4V=ZCVyJk)jt#A8{%)ttcUPMBLlNe!T*WI>zWWq?l`H8<`?JfMfb~#i5IopnZ-3 zzeEy)LvqDadcXm{3SWXy6~*a>=vg)iiKr_kjg;_Lc<Bmjg}o@_)NfzhCi+HB(avAl zu?sCm(cme{v|}e!@u8T(da%=@(<eseHANlEPu3|_=w0WGL8#z`yfFh3+#&+Hibu$c z55I4aEzJ`?{>6qb-@kg<;+uTN{7pXlFM`DX^$GkpmRXMS%r~j>8<4a#y66L1KZf-! zMp_}GBFhrR%2j2c6H&bvW!j9pOfpEjHpJ{cC9OWt5JsE)A|ZG^?o51|bP;hR*{)5@ zkEeQXyzP72ZYJvD@_?#$)v$@%3yEW@EGLP|l00RHx??$Y2n6+n1%(p~IZju9*<}#w zJNL9&b}-%Q0Q{am9IWlQb^R7nb^ESYY4=hfo2;a{DVS-7!O^f`D<U_LVGmffBWtep zls&k+&t@e{kF_=}9cI+rT+)>y7%>q_Q1wRkdg;e#Mq$&tWIbco8v)~o0TzrT4^&V! zw1KVzq{3|a<yZIk?09q=$3@4r^?^z|hEX>Wf?-~}YmKt-XPsNAJf~hlLm)#HMPp03 z@xVh-h$0oNl+pIr-q*difk705ZYH(P`qlVe&><|sAK+=U;vQ9wH*fBbN*UlmdhT7h zq}Ll#W0ycCl3*oFDkVqld|Q^vKk(X0_CkU2iojuIur-Dgfl-uUnaRm44Y1fHfz{dC z7tm7R&x(_$0X0Y+qf3!{(|(kL3<L-OhGmT^-desIn`&F$@@?bvPjOE-_-8Pv?Bcv& zljBrUAO5yRnZFMtZuHqA-uF8KS3wht{gzg?Y>WlJMY>RXz()np@^!JGu>JLPJYdv( z;)bakkul3W(|!Ew((~VJc3{dJ!6DrvW8UF3WyEyc6JU`t_HpW0B+z#VpRj}p7(T+3 z5j=a5W?te~PKk;1#2ibB*pk$qY$Y0ca3#(GjJLB$9@xxC9*iL5%<DfNPZ%wj0!tm} z9y|S`_Piool*^nA?apQ6WB;0`%FPh}#rZ$FmwzOzZ|_YLmweak;djk)|NrlY{<UWR z{ae({)XwGKEHG3q<WLm9jg9O#mT4tK?IOdSD32QT+9^bll@Mo@SVPD@m^PfMrI(vb z=tX?N{a(pNwPjfDfPF|&4zd?SMJot{KRL{MGtSr_rY^7B2=e+s(!~g4m>HBL4l+Y8 zC_&g0PbG*Wv*so9wYL|r%~&THv!B|nGu%?Ta*x7mo=m~r;s}*pf={vr>oVQ?4~llI zW7O;1uNg$res93?mgqX~_}p*q{?U0IjpSk1zq|txt~6o|K7*h$xA3-r*bXHHkvC;H zy%2I}v&hN?@P>-hTA)kCZZMq3-s%FLDeyB#>3bt>uN>S@8T<?r&dn>OOKMU8BP}KO z=g<`qH_~9mk(a}Pq%?jBhO}i=IIWb}qe1I*b$>#NycoB@`MHQj=;Bndj6}`DPB)}e zcaL^8W4f};rpV-54;L-#$zswRPNU!CX_5Kdg#t(hoI%=ZPrnoe6!l#vXIHe~YQhO5 z3{JT=N#6$LPPDJgK7Q^lb?k<cK7;INq@CQ5UgnPa#3@SJ{*=UBI!-L=VAOJUDzFQS zB7-n3rna(hr=_fZsKb&UC*pc{kQPVqvLq32D=Grj%y8EhXK%zl#xj#@77P9Sf;QIR zO*v7P%A0J7{8TL1?@F~O|42BX9Q=701|B{q;9?>`&s_kyK1Y2b@|r!U8{CDk7oN?u zrg;Cf2eKCxtcR=|c-{K(I($f8?<0RnOk}UB*Y~&p=SG0NArPA4DCv8(PsQXv;ok`E z7^3m5Ll7ROsWGg?S52+P8G>B%N@tB$jAZ4WNU(?X<TB+4_cW2?`2tR0rxI*Uh?i4S zJ<1}vtM@@ZNQeB=$!EG}zXhASat}8>$cy(tsDWy+Q5r~A0ifDyJ^zMnZqjTdQ|+M4 zR!8#kVGNQh{sr=%tKSNp##H*dg$jiN0uuV~SHH50r;Vwhk&UT>lf8qflZ&P4zl#@Z z)U=fs1W-Ry(Lor)b$%#zt5eV_D2SAxC3pct1ZQw@97H9Bw){8<9WRajK>PBi=Q)Mp z;^W|Z+l_PL$r@IoYJQq$%laN>ex3B5y?kQ;D1DR|54`q#)<KqbfveV7Op%>sbJ0N> zz&Ke+T9uj|x`BO+x$e|j?@OeXIH7%P&3uqvm`wSaODnbJ|FADRnwY4;4L{Sh&-&tX zttvu#-Mio0mZbS)L+7*5rkjALYaV{G1vfq0VgvKp{!uyBLvA)lC^yq+oiW{cwsy{G zH2POo+p2wN76(&llXYf`%$O|=b~F)jbAr1x`P|WN?MVu20<HIiOUV;6F@v>?M%_j+ z6%4SwtGAC>Kdh2ka5PnXf7lkDViLJ0lQWj`TQ#)FmAQY`k6|+BO21%v+=@;W!zI?B zOKMZUFmerggA!$X$RufeESAlIlP)lkH3pEs(b(_H4@<MvO+15{Zg5KTTKeQPvKgzi zAU?39W)o(3H$z-~*oqy2drh%QYWQv%SDo^SVpD54r!+1MOte`KtRAJkc`xZ%TI-av z3LdvEvGz-k_P2D$pzlNOSyqRc@+^Z`&u%Jj6n}k?(6UXQLRW?74a|fiDIE6Njte`i zi_vz!E)C|`L2l?DaQxkZ08tu7*rlj6!*<RYxNHCzD6s@~d-M<CYyDXG%!?tEafUxH z?XWO@j_>%VIIf5IWp@=+Fhg%9MF}gi6Z=YJwes_x?awEmiif4~8CT^L3Cyaz85Ux3 zf=x$(+UPj24aHU~dhR<DzBML|l3nS=>e;|gbEoISjtUP*sv_CF0^U@-Y@bM%pmU7b z`7JRli*;G2D&;}=j}VwwnEjNbBvy!JbI1zj3?kk$$hImbClaG7L!!@ibGnvor7yGh zx#6i)#x(&Ap9%#=)o2)w5r;Ca);}It0<k3ggf4NomTVF3+Gh7}5aX_vMGDk`5mfvk z97uui;UA5*8az#dj{_f*6Ld_9b9`+7Mz(6XcU37=IinQDg0EMgxKqBn96qz|Q(VQW zyi+&xHm?YUp207yAPFJ&LypD*om#-}GL6Oo&AQ`&D%=ejki|n?C#6HT_cZ4gSA}`> zENb{Fd=&?heEj&&P+ei=nPvZm>ioAzQ{aCD)qlQLIja8vDkiTs6(u2&8W@cS=%Uha z{(cJ@ZHWb|zcDw*>wd6Hh2#A2I9V*udt5h9KGOlhEjwrQPASH3SKL4KSvMO^J4csm zS2tJRD4jH@fcTr9Jj9Ad&RDYR1=1O43C6DCa$tslx~YT&hz{JKy56mg)Z4rm@#RrS z5S1IK4itwi`#lgkG{qX$ciZ!_iC{yA*_?Rc)VG^1B+=ylW?Ip%GOjK)Aq^`$%KZ@3 z@u}DrJPRX4bKjrM4$3?+tK4c`ixtdg?%@ncWA5=wwvC7VmREf2X|(Kf5Nf3GDzxx& zRrT6j`;YZz)kFWzY?^OYR{+*(ZdOi-ja5gZ73zbtSi|Hj!N3zkJ>FKmsKCX8w@$|p zRpzCR1xn)7q?l!=bE`E(6Rhr81X`%aK$Vg=Iqb%fw4razAG8QF3G7@`F6vTy>8`VA z2zy(jTm3A2{#_1}vQkq=!clu!dFJAIl(0Mj7*BDcB-ukcHDt~SOSa-jH8v_o1NS$a z8*SQhQ~F2RUIXca$K1fWiC64U2el!~?78ptjMd9m7ha#>rd*9*_Pv{2mf`&Uc_*Z9 zPmv?^d%&}U{;4Q?HHH@1&@IyM1T?<octG|C)hyhqA;ry~<IrNsf$mTuI_a^%KyvKd z!s6YG&=Uq!8YZ6CFL=o+MJa%b_51xgw;kB9_4=x#7zRD{NU8>9Z*?-XXVBhe!b^Z* z1G5n4t!-QCR@nucr1%b9hF38ZBD%Y0SD%nE*}4@^`1$25!O)sZ*e-PLfr4|5zi(HG z#LIZK8rHPS@>V`E_g&@(1X$u>h}~Az`bB~aPJq~gx9Knc>$;DPh&`g7O7gRm7(!As zxK6ADRtdK8Zrid`*BHr;q!V0EmrSfF08`fKJF?*P!YUr;*Dgqm7N`Iv9q?bMXrt;5 zPZBNQeSM@qGRzm7(qoP~+i@m;;w5&ay7J{^Z?0&E)sq0NvptzAYzeQCxw7Ruh#NvT z=k69+9G^VGo__iCq3Rho9CvUsY_n(~`1yeWwy+I?(G7$$4X9?T4qXL|Mi*3fAjR&U zN=RTRbLj(=nMsdJabYYIeq?XbA7K9(l#`kn=pEndhqCYVu>V5l|L@)6KbL<01YnEC zg)+_x+E)!wod&v%i4fc!HwhYuHs(e#RHe2kGGj!2IjQkMsUwCX?XsSli@Rt{*610r z<c{oovE{=xv+R5L)o>$Tn<bx1Df8b&zx==J8J|cwxm{g}=naEJmKk%~T`##0+%w+O zx}VQ^FZ@6bkOZwoFcZkUy_4n`uf`$#bW-8F)I|6&Mlylnb&(!Afx*%~4^Y#$tVsF@ z`#5;7WVto~e4Y`EyyH0gh}YI&e4X=t_uH+Xy#S29Z#^sWyF*0L-}pKn;yq0sfH{BS zEsx%A96^+a;;=l)<%s;-v^0@kYCS>SkGsm?m0K@F`|#I{@I08)%w?(L<jS<kMWzK> z;QQiQX5s?M(s3E2KE!%f>lzE0jD^)^MIEEi5~d`zq>6~w2$yRaHufyJ9LeH?wQ7Hb z_w2@M5mr%pk*3sw^AJbioQOg@tw_5m3atpJ(>zJM8CkOZGv<Z0#R!wpW72F7I#PqI z7>8#e7W>RO%cPX!s8*)nroR@)uZL%o4cYwW8;ziSb%6{3)U9YbPN_PPIA&A6B5Ue# zqX-*LOA6^`xq3WNVbTROY1(s;Ys>ze3~s=E>O}yWk@ZX^m~Mj<c!Uh=2x^rAnucS7 zCiv9~NgM&;WNo3{ABqM6c#{VZ{0&To1IFm}1fI&%2W)1evqHu2<ETzkRMw=fr3|qu z#~G`09%gX06JX1sr!`b%*Cj5Zd{Q0`;(S)cY;tS%GSwVBYT9W=V!%RRSWmioGuDX0 zTUXbr6>WJk#U2^!PsbiGvmAyDB>H%0x8)3&Xho&xV2HoSRowOrBSw;LYLu30&)rgY z8+(a~KbdD-)X)HJ5#}#me;Od$Iv3=MBb~vb7d4h;DdnAhj3cvejJrxkR*zRlv(LDN ztxSPmU*laUA(|DyJFCmifz#w@N{{E|DWzUwD(2(|T}pmsPVI%V)p0^1ut|FTdA!lh z`DC@l-zg9OdJ;T6-mBuy;vR}AS-b0U&hce(d&<z%tjx~Z{2GD;CSOr}DLQcC?t-z- zIp7TKU7o3K`*NJzl={62M{Jm>JgJlzS)ve7i5j0+Vl~%nr6t1EV8(cC%ZKm38t-1T zjsPH*bCZzbn~`xgFfkc^c1{AT>!?(+RtbP1X4Qmful~%$SZSSrJ~|B#yF&EyY_>%6 zH5z7Kvfs*j3xI*($?49`xQSa<;hI#<{9M)3R!$3S=ss?xr_`pw@?<Nxe^^ouYtK6v ze?`4cx|9Bp8a2dCbd2X8b*PIbevS4ofD4Xn`pA^BNRsr4U+AMG9z}bF+b-mmaL#tQ zPqi@JA<|zrU$-XOPQBCqkQ=>Wq&>i7V*2!V&s;h751(MF-KD}KjkOEnUj0J}Fe$#R z^*3~Nl#E&y%v=<_xbsj?xx>d#y+g!Dca#;wQf87f5F2*IVs}WY>y}?~%DJBHelOb0 zXfw$MDKXR^qDi?ES4e@Td$^!UF+}o9yaWD}sc01VdrMS6tz}#R<!-s3%#GskN}NIi z{K7td;tjPUV>@o0>d)9mwKJIj7sks@b3zkS*W*med8Y7So>I<T@pI$%hO1=%R&J*1 zB1@t$Fq<Ta?ni1zfSv2Mvo=wuHsu5A2)B<40gr4!wJ$w~m4`0712^kw;&5G5TT#Ic zgi>IYaGE4^zriX(DrC;G24S<VbDg?lnN6K*$IVoldxz9jg>F(PyOT8O4chCLSAK?* z)G!(Ov+I-0U$Ct$L<g6ln9@Dd_IcV-kG9h%d#~vfkEKC}_5^WXFEU?$_c;vidZ@pc z1Hh1&C2c@#3*4+fGG8994eAu_>&4G;MBMv$3Ci>*A3iOEE#%;WbMs14%1)bf^BJ)^ zVr3Jw5zUDU3|3s5^@VYIq?($y9pRjcqo-$&vsRJ&$H!D%(vS*EYT9OpD6iWiwt-SC z=)T8-oM33Gry7kxwGW)G_yI&d@y<LUkOvQcH&b!C9&*cKdNrALE<BN_o)vs3*APC% z(bfsoUD@Z+K#2S;FpH5O4k?u?AiILNsug{N`cu%|S99d8Zrb+D==m|rz=W4swb7g> z4h&unL5wmSOBvNSP&z-XjqmtjIlQl=-j78h-A@ih2pjq22Iul<T~-X~=h27Z=Rmmm z3&hT!K5U_ufoEiG1nzrGwVWGcxO;ULWgNW`a-T}0*9Z+^Su6XBH>`198#;$He?@+9 zk&7NeW_OleJmRj~4Dvzvz?jZ#uZ26{x$6e?uUMVxvVhnlO>dkI=<_JO^C(e-^4h7$ zB^E2IN-C~Ivk9eK2;aLSXl+!^P9u+5`fP)Zd+Bg1INC-5TE2d+d^QzW6A%LH-yY6l z;@9LhFq51{Dd-4>>DqF)|J;~yU%B|8kDJD;a>*q=<-x;*u<DW(?Dz%xqSJ~XizbZe zz`2_GbGmR>Z1bYB)vMu7wN`7_C_;0DGp&Q_no8?pm{2bH<S&Kx2L&saBfM#(&twq2 zSZL@3q|TkHWt;GRxyg(R>XmN-^lxHF#KSa$*HsD@L*kL8>gB#aI#XT3dEEiGT^4X~ z>&6o)l~_H)V`vBp0nkb@3FQ(t4c0NHFw}+wF-V2jg_HQD;a6ph(4T&)C-!yR&m2R3 z!2h`gsJ&B(Kl*m#Z~yMi$^MJJ+}=Un?f=~SLX>pv7Z^}^?WBe0`#bL%5G*LQ1DcZ{ zA-CC7Ge;4VptD$1ihDXDB$>f*NbUCQ2?ydm1b7~b5ZTEt5Vb0*IaUCGZ=2rl&b!wa z;ucjGM|IQDpx`V&AT^{5p6~*lji#A))42RxF}sC;vH6`U=0iX-r;^0`&mGMp!qT6h z2#L1vF1!hi7fiNp&%<f|g2pPLf%@6F5)am2?5Jnfd@_)l=T-jXpt+-Ooj}wbNZ{`J zQVG{&JQF`?S58Q*_@{ki+F_kzLRa|rP~@6r9wc7vjj$>ayio{S997U!rs~<UhU<A! z5IOhr2wLOzC7gKWDCc?!-=NYG{1|wU0=7GMS7D5)w{mmp#IbUSS>-_Qc&4cxqB`-9 z#mn8jnIu%uCr(RdiP5y$Zwf;p=xjLXcw8{m%qqItLoZw!9=OI7zS^)umoknRSib5c ze4p<_mzWCjpr(QnAkTjF983ezdi_GjqzhWQ@I-o)n|NH>MfM6Q#Ft_LD(iX!tNw#l zBHv84M>VCo4+IUvvhy({geUDE;lwHyR7uzD22I=b2dmmA^1dV4m`#Z(@h_>l{E^M( z&*&w03A>JXZ>E%ukAUBlbh?+5talkIVAP>4k*p7WAsgVf`4OVV!T9x(5&v?o0t@nF zQ~KUCrhQvN{Wl8b-_BGq%DVs9it`Fn+pf^kir&IB7^O6Vwf^cBlz<czR^m%cB;%7y zYoLK|nz~Njo!J+ZWKl$xmH75_=H37!WZ55@-tKTd&UU_;{CNL+gyX+beiAP_A_PCf z<dHiP9fDekHK~>C&Qxy70AQ$o`6yR1r(h4PKky2eH~d-jB7RcPh3C=+FWN4#N~-_n zm9c00MCM?eN8qIHwB*>f{%3F@jae4&y|Rg8!$_hIyeqI^_BLhp60cdbeP|<*sYGno zac#fA{#cU9c9LoJLMp;R^_~KmC8u{l=7`jjfU6Q`-nw=2cT^R11aGJfiA&T3KBc^h zF;IeduEO9J$;Mw06`lT7f74JOW#^kA@EfvEK-CHyW}?o*4MnXtp`qGz#(H4Y*j1>Y zdhmPE#v?+f(j&Vq`FII%<wUVHYmnY)1bZ)1OA;FmCQXZ%tS3`=`5;`uOW+plv8_hC z?a(L)>qFguE2U`IL`wYvH=<M>o@ZgzUjas$OnBu=n@D<Z9mV_!TSYZqO1Ojx2Cu2i z81Hs@jH}WGBZtpEFj(cUW8-wJ*{6ZFyWej*hl-^TNk!}<k)jKfkxGwiV?l<&g?O1| zvZEEgAkN3f@(eCA4}_=|xMZjfkwh_a1YwHNz>X%b8n{~n99Il;KdzC9nXfvF4VIx> zm=F7io@$f%25N2q4QRyQ>ErK$kNlK;Q6psU+H}Lv9{yn>99TC-#3N`*9?2BlMD+nD z+3S>{{KU-dK-~WyW$zeW`PXHQR+5Ts+qP||VxvxM+qP|672CFL+p0J>|JzUB(fy2Z z`|bCP^I?Bq^SAb1m~%!uK$>7FF`h9tj=bmm=9=Owsujr*J+Z8e`Y-wz|Mb5@wXl5N zzSEb_|1N#~YgQAaG;94&`qC8^o_9PK)1ru+wZd({rIEM+TN`I9l*G)!I1}F9SZKiO z&5m!_(|U$RfC&TV^Zg|Vd<z<S9xF=#OGW+E$$pHN<6-6V@^Z@T8?r)05Mu<+X3f>& zmjrB`2dGrRwqRSbV!^x{RUevsgMrl(C#IjF3UkEhcJ(rL4|y%*Mx7<@<4cwzTZcKX z(%5m1>0O%@?ycF8Ce4=9g%x?ogck~@dEwdt#E8#5Ys@eSVQhF6i8LU8Tc;mXPp*`{ z_&TB%rQgZJxe*1!jMILl{^A6H`&X=-!|5Z+PLh>TiRZk*Jo*S>N{K_l>*C!c$mBW{ zk}D8oOYFC-erl2Bm~SWvmKv0affHe#=S9JygL2S?w_NVQX|k=+ajiJoq5myiuOHK= zz&58pFc)cy7L8@7{48?*sx&W4qTd&h-^Wn>oSulaD6)#Zt<D7=E;d3rV^(H*k|Ywg zaX~5?aAf%CG|>r8_nEahOJGetN<FWN0J_A(a)h^H&<3MUk<~hJpPE$*l%7S>SU<=J zonL+bvGfw!+DvJjeZ&Ls{iB}S`h*?Cl<d2}WEnYxs?1dFJ*0Bk0nROY1uHe=4t|c3 z0%Jv2lvRTIEOxq0`8bUKu;}o8TVT!V%GRp~6<d^5b5+lq&uRgqDd9eF&7r*iTLU>& zQs+<lcT(&89-sU#lG=Y7ZYlpqQk$o%tduS*4b6wJN}2<X2#1<uA<TuWRZmC{em-#K zZi+akTisOsK>qyk6%@8K0KQ+(KLQ>##63R<p{!M(w#w}?mFY2^6+_R@?+skz-v=QU zyO;~m?Z>gtAGeUNC8!idmBs>sK^>>6E^C=$z+t;2sGnd^x_b`>xLKcg$lW{~`kC=O zJdImj{XuT}-R`VzC}HyEcU%E8R;+dmV?ero2(LM9vEgI5gmV{}!ZYqzUThO#cc3gn z1oPT-ZtpYC7~nh4ut+X%9CW8xReZ|knzifQ)L_yi+qc+q3MRJhsJTJ041Cornp%$W zM>=wM2CE=L4L$~efh2|55R8x%G+SvK^(;DWHgjBWW@7+w_~!|J;SVfAek}i#Hp$hj zl&R*l^TbD}MWH^sHnZi6AwOmzL1!3v)tt|AhxYou>PkQHO4AoGk5D(IONSviVadMY zi4I29UZZEkcD<;|!^r>*Bt_O(d-b8K-zA%~>&n9!mG#NY_dc8-DlWU7^srUsnL6?& zE`rXTDFQAshd6u5HX?6B19do{=?_)#sSh*rKz+V(I<BQ17l^DK=*VNLHY}cXi|YKn zOVPJtmEooZt|d5-KmQLYXN#_IOm{361O%Eil*U|gQaM^b#yhf6Dk3rb+{3%;UVD55 z59tC7IR$<hj2-HsvYeBATPzbGGe|ZueALLJpUW2RNhq%+4%a<gq20ZSHEqO3wE=mc z=CBn307Q{EK_sR;8<A&R%J<k_d!6*{-nrBPw=@|nbOur-$$cUXJ8dGZm?JVq*(D>& z_#%l;d8UkwTpXpiEtPz<gD`FHUFHQ*bKK06s#fWY&^dXcE*7RcA5gU-m*`jKIwHqk zMs3gk*4{Z6O!=Aezeo3f8hibxTnZh{Kj=mkMO>pQ0!2ebDKrx*B^w|jOC@_AzjU@l zU*0r!(Rw8H{IT69VzCFmZ-YPPYSM<`XKum9>~TDm=5XD5f4hIYZ1ZDD9%q=t9*c#> zTwOrd5fqjxIk2%(UzFH4PhVxw3e^QetiKr7P!02lDtnuOW*XLO8dA55mo2J9*P^@s z<J+#wY8g%%CT)Y@Mn6e#_4X_iP^aJiF8SsZ^)@|`E}UH!ZjvUq_+Z5tof$3>D7fvU zb9K#Oj9`mZ4E}ShT1mHjk!2I?4>Qk{O7ujuWD6GiX3t5gTn6@AqwgCoVlmZ_7Lox+ z!_dj$;xO^g$dN;sRe*$~-|+%`P#d!$%kdpMOA1%nyUw}##}NWycu@TW>0UMmgzWiZ z_G);`5d1~3MX*)Q1$sY9A^&ZS%IkId^>TCz>eDSm(`NUNU$fUExPMjzM^0N%-q6Lk zZ`Qg7@mKSy+#U5*e<sQu3NPDt^n5QT^H{n&p}IJoq|U_kq(?h#%-i8(bFqp3{UMUV zgDWBqm2!Fn!<A2-{3OCS0k1sB@MdEi>?*e)Qy;)o!aReb=BqtDy1293WWmb&CEqp% zb9|=z=E@C$@D3zze>g~WbYeCmAW&ndxZt0i$kF(dY&3(UA`rvNH<{iOY}`lif;dW_ z<JSiTpl2_Yh<j0Z7nlxc4#_f-j|yWFvik1>73IV90l%LU;+HQb;8ASM9-UZv0ZSFV zfGCtGfJ8({CTM6V);Jv|`Fi#pF1eSbI@EBaEgUmV3T$~Ke4lI8orOJ0qt03)jz;z@ zDE{Su?Jza^!5X2F;MW1P^mZPd(z$+R_Ys~Ik(6-QGt<b}m+VIT7U&uMSojQY(&^rR z5h(rV-sjcuP%Qn1Hu?W9asSIZEGcpQpV#P6cV5x@I1wnlc89NGD}|yU1yrbjncoU@ z9xUID@3?c&pi_!v^G-on*RyfHk8c=RS2>13Bq7-l`q#HQsq{ILJ_$+IHFx)EnuBw3 z{m0|mIi4?IB4jo!f{<lbF*KiUC^c{#W|M}Orjy2tMoqoC?x9}W0P}ZPy><!%#cptq zX=P0T_nDaLYPiOeyG*0Za8u-6z;Gi&ld08VGb=Zn)%ud$kRqyhvy5L`5~$x!p!rGh zl?>Fg`&%;TyJSTnB#W`5(zps<m6@}G2D52#ni|%4conl6IW|;uK40M$-MsbBKF|vN z3Qf)9>qGNvKUpKKymCq<*2+5TY7<tIekw_fWCkJw6n3M`0ZPnf1~LO2WZ=sV5^IVh zcODZ|sxvXo<w(Wwr{Ci(lV%AtF6zbV#Tv%y@ig@`l*ugPI72_VP6PM0AQ$^wF9VSt z2B3?}RwacgQyS|87Cge=*NTg|fYCqoL~_4E=|a3if`xHbR3oAO;$2*7jpCFnaiC_5 zqDQ=3m@_3&7bpJ&i`EjTyNI`@3iiN1@fRrvWiE4!lPi&uhIY6QM9kLN%&AbQa+oR7 z_l{F-J@vUSSC@vlEXcqld!%Bx_zP=yawN)q3Ts}>E+wM%GG-e{Ah!?W2HorMOabie z?YHuVwk5hL{`t(;e?8qD@KqfF)aMRQ+UFZ0C^XuS0GR1#06Yjd2fhfjO?VP?`*9xJ zLLSu&M@=Bc6in2O;}Z~zWLOIFYR(2(-{HXk0(k`4y_0!@L{UZ}THup90%;RRad~=` z?o3?$QV#yyVA+gp@9{d1^6zqc$G(*^A?yevLw@&z#S5~ANHnh{IU+9jNn9G_4;`!< z?^^_}#KBJyqKwlmh{RbWe2j1<WEwyItwhgUu;%9fe&05JkItC>&n3E`y}gZ#jLm;o zXa7g9J}J?{23r&*csq=J>(+hKa=w_fv-v=uJ1i<MF+$ijp35p6JERhuLA0FB7`w^d zd3Ffy9rbyHK36M@h)SOSKIYlqeacmvG{5|y(J|Z2WQ&v8WU2n^{qOPi59_^k7?_PF z`QhNO@UV8YYCu9iZ`e5+?3TeWI#T^a@Bq$z*8q=$G|{xB6iVtklIT$i67&Ram}oI| z?SQ3ZVk$hz*n|$U9^{CaSHWZH;s)AC)sWqT0r8n@Cjk`b#U#VS{$sU^>j^$oB9=mj z-jxV|KDsR=#s`aSe0>&vl9)f6ld+R3R;6tDT&wDJO1_F!tLn(hZ(`~wtKD74V+Iea z5r>P^4ewSPC?Z2xD>$f5@ybtQ-Cna(uC$RYgSovT3fxI8_uY0OeokDsc{)U46kROa zvQm8e1sFMs;Gy{y+{1h0?x}6TpuBQ&7}(-v2>E)1+NIOB`{HSjVB-&(n2t&O`lb#& z97m^aKSU=;&hTeSPPryrUv4vz?G@~}4Vtr=^Yxo=`BY1<_sQccqmk61n*g0lo4ftx z%7*(2zdD}PHgyByc+{)i@HT|&aMM!~M^)6{=Wu09�y_o1bXnqt^Rqcx$Elt3yr` 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≀JUkivb+Po)HF(UxIz*q<3eD`x+La9A1%a7u zBeKt!K%j*fX^CAeWS<t*?qJrqy?=XD5O1+AS{)skVwunn0wu2vhI+-P`(;KhN9R{% zi!v#n5l|;)DxGLz8fNBGnc(4emTW&c#(v})kmAl@VLMLC&;6VYh8DzRz1-DP-260& zQWgLpOShU-nbF2G%bppDL3ctO*W@JoyNX5KudgiO<q{~~CU33Stp3}OC2)I+2rE!E zMZ%<E)f3p(%Klt2THhw%Vm3;Q+Z&PR0ttLw1U$-areg-Fxo(PhoX@f)^IsfzJ!Wjx zPL>H9cyL<7kB!g$mYgjaLN08MY&Ns}I8@L{!$t-gE<z1{6aTYEg)6jwI{;=BE`bNw zj`r_r9Zt>`z-{g3Hvhe7<o{nqGsM<2gk?WwC6**km9h?%a^S^=@-RxW5&<+S%ZJi8 zu#ObYV$`?HHv$UEC>je)W5o9#^-O9le;?8crvBOMMnmiUdZ3Q8JYPdN!!^dqPvK!V zkr_3K*_K_b9Hrq1=(n7lEUSvv8{$P{J7w8iQj;-M|GbBZ(9j9!DtVqXA<a4C`$-hO zWOr2SFjnxP^4gaS#0%~%P~G93(?7>ev$Tb<|B_ZFo`F4<1u_pW3=ojNdJ_IkO~~2a z!_C3Q5h%Q6Z(|OWaQ+AH&{Nxx!VtPebb}2E<FLstQ_A6BjKbh%LS#mS65pRr>^GJZ zH^h<DH5+OAX&@VXw=6slSkCBe1r)M>fCv0hvs!GX$CYifhtK2^kU%(d^PD^6&*%}s z!rJZ)-@JX=SczjyJThr>=xp0$V<2!?nui4srg#022`sgp36L_7&&aC6uR~1W_@!#U zs%lsbZTlh9$Z3i?qRzkUfg$yXXiJMZ$uQWaJW!#07R&<8SjJ`4AKM^{>zl}Fs|uBX zo~ftBABGwrdE!tNaR{N=r&wU*hU1W|{a}NvjEylJ0rCp^g@cCuxAK&VV&>U|tUp4w z1HJBQc&&uN@46&n15+Cckiy}Ub`4APvKll?f&!XO*n=^y)iyf2xptEWiTG8-n2K{) z<d`rwXQv-&oKp^vgWTjkj&8_urNvnXxGs3=-`?-ydL|t$0uV2e;;WA4J&oC}C|9Tg z7_GFqT<o>+kgh8e@zRZ7B%pT4zAadmFmXpVZaYg^R9JSC3No&!CUj2v2sv4=2`-I! zA|r0u^oQ4#j2*q#dS!jtK=h?4)<uWZUW&g+LJ7l^Q!LU2jkY)7WG&YDX2N$<zT0N# zvw_SF#nrxjWjfkWV?4Tz>O1Ci*~qt|pL1fU39(-vX}jVBEm20T@zH9>&nB#9ycr|u zfSwto*=<CpE+3v}TG*+)ChFVR&`fe7$(rDvG}m|Uzn;myNB`v-R<#~|Cgc$HgRbPO zr?y3lfn5ckAVQNH`Qk{vfyIdXx+ip=q646zvAsjT`l8mpJNPUR##+SDSW?kYL-?ni zA*4>Tlf~rRR~~f}G&5#RY%e0s80H&mLTFjA&y24eO(YJxPEarQa(fI&HcBu|p+nxd z@629gm-mw(W|7p}Bjf`=kfp>5&_Brg4|s=&<r*Q>#sMKb%p`(&w~eyS3)DR#KSIWO zLvVWq=+p1~3+*zQ5soLjOwcoST%nG5JW9{Fs!$+rK#e{ri4BoX)4n6E(9a<*ZYZ80 z@6f^N!=v4sC=Z&=cceI@qRR&%YT~s(ITObDQw-8TrEu?2ky8Sm`xtz9ihCaXjc!Az zk~u;8XMX$%MAN&)5Vnn<Q&kelNGu?kT}?&F7yHEe49X6f3p2C~%a{I*MYWhegr)@X zF+A775c`hS)rsz!_KF+Tuc4cI>BjmSb02$mu+*=~Fy5St7Mn9EA(HZ-h{}@8G>Qji zEA%we??Am`w(PyGz9|r9!67x1zsEJ1Dt%|_lWTS}s>MaK<<kF0+=zF5UukoX*O+kM z&6O9iuGpnOi@Os^Q2Ow3sN%S!ihfnh+*4{Kyi?8jTO20xZqT+is}7IGw>-rc11pnd z&Ol-JI6(AX<6P*PRnhc@A*i>r{|$E1tK4w*9g!U}yE59?-0BAkD3qIg5VRis`{+R# z)*i9J_Q%2LTrAvkPBY~D2>}!W;9t_FbX2mPXTUV@1@!+4kbs0@OMT!kLeX<fFGa60 zsfoi&8bwC-kSkx$dw*n%zKMdrZrSXx5_FXr3>IR+Tl1()VVs%8z3(%vpnXtEiCuYZ z<2Df<BFx?&Q&N90o_sfPqUvIblTjLHg1fl2Rfh;BQ{?8br@LhBXP5^QWYye|!8_ZM z)Yt0DKrAGY2V-y;lj(H_iHdldaSY;G3Bi7Fa0h#Mq%@?$U(PHFJzfJN;~pyTXVnnV zj`*5!{?73vSXF1YK}rIu0j3f=`-xB)Cn;HBT<yqI+x}M>yk9^A0{a75Y|4c6ow@(s zTv?@LQjqYxd)lUjID-d5D8&HxbF|l*on6i;z3A&K&Uh|xihim#6AO~ksv%irZ$W(h zD{hI0?{ZByfpoENEfZn9>IXG_ocbS8x8?U$#O6@e$Bg`sabeB8!b{|U!<HI9UsXw$ zs+2`Ip`Io<XSHslwF`a=)efNs4S@DbjI$r}cKhzAe9o!Fa{m*p$-9*e;mso!qEq|R zcwhrAy#xYq#2jTn=qq^m2ObiQ({4lEfkUZumhVSGITj9fgtgeR;P#qCb~MD2OELWY z&MTjnmLi;Gtq~Cl$LWF?n}F_R!s>jlH59M4=C-Z(t)B4aoFTKSQ%p@2C41b?<b4Rj z(#K=N<`UrBV9-DN`pZe9$iI3TaA80|$o_*5b8`NxtKl!-RjanGwj_e``)3Oxi7F;0 zCOus|JKqfaoUUBuI0BfsNh&qsL}^@@ez!jD^LLis=d0)QuAvn6UY>X8A6|tokR@tk z?%5kX8&?}nPh85uz)nl$8YhQdosHm4HyWSi;<qr+e)AQ+ip!Hx$DD;aJ59tt%24$P zo#ihET5ly+XFo$MpL;Epu}O1TjPzC=GPqwq?PL5e(N;-zkubby*j)%Q&xNeqGy3<G zbLrdU-P?xUm#7*8Xll8+@n%*Oy^|DI-Mjoyt6Z@T@P{e0sa0*_#D_?oV6T+XmseVm z<1R+!(DMyM&Q7PP73^GqBg=;sEw*!9K30iE=^vCo3*TS;lp(_{_?70VO?8HMl!=uy zW25m}$17I<oKRgz9xO$<f*U#voHosfCj@t@Z`-z}pH(Z18OC2gu2AT6^9_fAwReb% z>>dOUWhNe;mf3VUR9K$rdIk)B$PE4Hhf6OQgw>%htA32!x^%9vSn4Ueu|fIG9~FZ} z18+wkQ?LdD);i-}Z-y^~fta(~GdSpMpzmogxagoxKp^%mr9OTr@_y?KIn4g8?JGb` z=o=A{7$}rbhroduM~F^pZ1N!rt-N(ra!Xi!5(+=tc+PfwH$m)RCYV+@C)333F-XRr z+K<efoNpqA2n5G-Ab_TtgvHK?Ygo`4!tZ%$pmpReo~~HghJgD*ZWLcNOD3pR1v+PX z_OqwrVkcF$Ke-p>@>CgC&W&CZE1O95P+rVY9d1lg9huZD<z#nt5>WdPf*hB-M*%u* zWQU5B!&Kc3x68QwEhpD=au!l8ls%tFzaXwb)HE=>c~W<>e(X?gj$`DeW}*@NPQp+o zkP<N#ik==*Rpr4qN|KIWcj;h=QL3l@kYTm_^64|Z>@7OM3a?hu4NyL}Z(7S3SDSn- z8#Eo7b0H$*z5bVBn=qGPA_*W|(gL%%f5Y~HFd3)1;Rr041rQnSN+*)Qsh^9Le#py! zNm#(bU7o04Y#+C@m^rj7p^QaeJm(TL4<KF|_yq^tCvtYxV7V^&wztxy)Oq!S-4Dix zUjN$TdyOUYr1OE)<gXvkv6H@cET%t+TN$*f#hz5wh()sfcJf>G+JVtDKLUA;j+eOq z#_EeK*x8}Ox;cg?rnBbkaop+KA8oBv%Kg(tFhAN9UKQ@RbnTE^M;!jbO^kL^{&=Z1 zVi9do9#^8ON_jZR>v0M#_tIvWu*fS(5gUxAr9XVGbfnmbkFPr?g!#n&C~~+Pn%Cpc zCO7*+DKH)KlRlz5y@-B7jSdwmTsBLd5*?mBub3Zb(S<`fGSA(EUGD&@U$PH{?5+X_ zxXiSjMsU(M$Ul_FwW~i2qBNU@eCDYE^56Y_3<et_T`c1+w_DX0NE!Vz{)`A`F(Ux) z!6FcY{=+1Zvnw##aCP@_v$n8s{|5^Fqd1H~P)<x!Xd>>^4>utM2Ga<lsqRnFHtHfz zvNoVp<x0skkoH6Ljlh~#LnAt@)@r7EF7{!5@VEKb$BB!XmqW}o(&WK)v98;+H|Sb< zkVdW9BVOi`g_GGS&aLB6*1n8CHYfHLs&)2`gz>2XSiNj}D)9%#45?3II_yQf7u_dQ z)2Zd`fzGu?bPlQcR*CQGl1>wp?1mXcV`mObf9gDh-oJoFzIsItX~AWcW#JZ)r!_In z)D&`Z0;MQ%1}Q=O2amYzAtNJMef@?vF!WT6W5Y)sAfl{WA^tRSf2AMgOa1jChZ<|Q zW?sm`-<88&@J3A5S4*y=J%)Qjx%8AExjTb1g7ME+)Yk3<Diet02EeQOx34JBw$l<t z;egGBl20L<CO^YlI%_jf1VytI>>6gmWOeEGwis)zQ44vxe1g3F%f@%Y2oYg;sD2Vv zCMcuo9l&s^K}(kf=Q<w4n|`fH6pI$<E{JBIDK@dy!=wWBAN1*w2VJW0RZrtuji`Lm z#I=o@V)jkkYpev!J?$^QMAD`==#7Z#o%uKSUm$gGS-vKb_to8{SA3ZI{0qfVT||qM z1IAq2!0EXE5SzN1I9gf!pYhhrU-4ED8{1kK)S}3pN_Ipl*LPLn<gDNQ#sUtOXxGM> ziRk3=c7EuE9$IJvf)7q7rQ%=mPAg9poCFV2^?k2eS3e<nDaYKs9vB%+QWORYO&gvr z{I1&j0*tUQc7IlDv2?a{++6(PlUX(XYO9G)+ZKf=0a{?6EFHb%;+4(vd*C9zFJDvF zPfl%#xQ*6@QG6jvmWJWPT)NdjKA_;jwpLK1-9dx;CsPqpQJd~+!=XC3Pj5)CTT*GU zGqh&JZC@y3$%0dbr7_0Fw?<!w9$mey;IkKJ&Z(`aZl-6cws?jT&leTj*7BSaCRe`U z;Ke_`JRbrdln|MoLN08VrPLjGO7KOi)+6X6_Y6GUuv*7IIgqPD9|=ljwcTM4X*2h7 z)|yZdJ(Z%@(2I|y1E|vA?bpW}O;`bs?co}RT&aa11<KoeBH_oQt-EI!$=GIUXQ-<x zw6<oZl^SB}gsWNL@g_en2VvvaR}jGU9B_`oY+DmA`xi-1F*O$;wP;Sc__9TbB%hmM z#fa)U?K|CzS0z~*U7Q@cdY7&3nd=<}v|~={;t(<q2*P%#3#PfdEgHo=LouQ#V<O@T z&OJ2L%vRP*$B$UZ8hdwiFbOBcppQESu@o?WyHdS*`M>L2(M%N%BUF(gaHl@EHq>R2 z*!itJ!o!^*W2)Jaso9t;g}JGumA-kgHA!o3oD%#LMSKsaF_gIVYLK)BGn=H>GVJ_h zZ8~Hlq6FX2T{2HX!KE@#98*e&%XOi_C?Ej^(D%axx2L|KQB;1fJ2?Y^W6ormY#YtQ z?1x!RA9jrmNG0{2{3e_BmPEm-L~WkAQ~d;?O?p8xAZs*`rR4h1tmon}%?ukb??kG8 z*F$^b1Gf`k>Ce}>(xN>HOU6DV0~<MV?9wb+3L!!1vS^If4~=jT3$lBP5BoLM)WehJ z^kf#~Sk>j_>Bfl}@V>9L?Mwo@BLM!Q931Pr!cIRVt-v5Q+Wc%D1i&T&C(1kZt`SQS zQWc1w$WPi4Q(6uCRpGQFO-0nMZ$1m^8ImizW0UoUP9@PSf)#h~(s|4jov-)!MQ}b@ z%s{7pc-bi^-<!Z`bOn3{J>mTiaxb5d_<{P9P{0COf|gFG93Y{v-RRY=qg42~^^Ql+ z@PH^Iv-A4{waVEX3#%>qgk6e0++7F8ks5~3Ou@B|jOb@n)<{rm$Ht-8%Z4Da*3%W| zHqVYXO*QxUP4td8ZH(C=Yf#|awfx}d$DfYCxw7VWw&R3jFG^+N2g0M%JBBTnOrR1r z>!OwS`vrbJp`0({v6;+n{Y-5~HRo76fjVF3-2it7`6jvG4~iezL<ZMvtb(BnX?RGb zCZnRAlH2FbKM3jk_X~Y_!)7v1SBv`X*~-so6Y=+A!(k*$psLmowtYc`kh$d-j<6XL zu1ovl7jH0^@=Uh5!4pP;9$)U*pMnAZk^vGF7oLd(dM<1Dzl}yfq;1vQbuD5+`J7Wb zC$=gPM`>x(@(=G4_WFWCB34G~lC13Ec)8_7u8m6D8jr|l`nbV7b=hA1`+T=|Dir$1 zF(1ljS(9-P#9US{^6owL3M9Iph}7q(tG1oS0CO6<?7&)&@hAXoS1^OT`z+hXu)+W? z%ElE3u9dQ_rkW$TxAH)8eQl@yc#!mrP}b&A*IHvL*IbS!FW4(q(|MwTD!h!>YEh~7 ztGZ5gRe|E=GOBi4Glj-@35O%J$kD<u0HR4GlDPZ(fr!3bSwbYceAR6L`lc<7JriOx zRR~QmPw)%LsGwL}CQqz(>(_N~_4_njmR3t+c}J1vXfkwjeXG_2JeGFpBE%UtCg3oG z{-^eiD?$80M~vwi=afBIhbF$-qP|19XZ8F#&eJtYFq10Z2+M{Rj#+m4CDqrV*-axK zfG?)vPr7QvKR?vg6HvZmKDRO4lmC%$74TKCyV{MjzO31V_BZ1>EhsJ<6~p?19yI*f zeUe?D;yOjpS8z7+s1}<{h)EJPG`53p&Z8Nu+S3t%Ckp^wkPX~8ynHksd`9S6CT!VO zt&%R6tTz>xD7WU$#-+|ka@HGn?ytQWN~|4yuETdkEI3u$o5g-^3s~P0g4iEIA!vBf zYVuMR^pUSl<C&d$q8=VHq_R5D>XhX6Njh|Jyz$@j+8pJl8;lvg=#G`vqk}t^*M!WQ zdxl+g+pvP~J|doWKc4>z)yX(O)F@EAr+2_fk?#^<E$vS16T9cczti24K`7_NbD)Gf zJlu;Wszx=Q4WFd{sLnhB`lAo2ng}!{oDp5y(UTgu{BiO4QF8S+#hW&d4m|7ievX^C znhRI_a)jmPWu7xp-q^oHf+_FhzTiMxW`O*UGm@^rZYxLNaws4fR&#J#VnOLOw~^w) ziH%!Dj6!}3jz}iCz!#f$RL4VGtm>6{<MN4LvXs9t<}bbueKvbfbWs{t6;1n@w9o(6 zF*dhFIsa9wy?w`1YG|ohNc-E4ToJku6i5PGo$O#%n4)n03my4#Zg;6EUPUgn)<MK@ zb1)qy$$f<EObHy+#1~K14&$fUfu8ABECNr&DayiCGg?=o7xfac!7<BDBD#4me`xSW zMyuS}t!rjGHcB%n;%pu1k9x)2Z`IPFeI*3CrVF;uO0$^qxGM~|X;f_E4J9hMCFcP= zsyL{IuuAt~*Vhsf3>=DyWEwa2ztxi?)M^xHvd}t86vD;gv4e-2@}xA@M`9(CPWRB( zjg(6@ThDtWH6AIaa29r4RI=&@^^yYL02F%YA?6Jxnc4*VwC>rG?(phc6?3ZQp|DZI zPr7T#^^H?^Hi*9g@T#dUSgB-R_c=0#h;c(}cWwGMdQLo`LSy!u-QFPy8tfYwSrQQK zKuS+>(6tEWoNad97w&!~6cC&lgRNpgryuov9b($)yY3(ALELcGeYPD~Y>WbZss@24 z!mup#m<supj+)@wwh*LGz#Bg3l{UB{7))5~@1>)}b#!meRL%WkmFCul(lt$2NBd7Q zxAYtDEH-489SF0@T*yaRXTWQK`!Z9`QLE7$wJ)^Iz4Pb4Omd{AX;9AtndbzMd6NG7 zT*7}_5D*B%l~rtqSP(wuXeIhoBNd^F5ukmsM>KOArrDaBFh?(i>hWtrV|B4)((mu{ zYYUiY2XSkTOMXzGc{>#lu^T8%oY<`o?9cmic-D7N?UzlSTG~qh2*TSjVvo~CLg32a zs8Ze6?DPy-l0y}LJ~ot!(fgDdM;EQ-?(IJFr?H07mw!|10e^?L3S%qelX*w~jcpPG zxB90pT`#!{<EpSL%Lwq!tf(gGf)eJI#d@s=&j+ufp%ab!0!Ao9(0I{Ry}s1gE8sD| z(F?Wx+4_S1&qUlE(u`XKNL8^2|6?}J&BDq7IE83oZtCIg?&SE_lXamb@3y3gA%r$N z1e=fwQiuWLpk_U!jgMu3$?qbNnw4n2*MhEzOKQMxi!srYEY`j6)Ns}-988&SvVx1{ z{tEpJnnz3DcE4FYzR1~|eBP2p5z3bAVYuzH<yQwr?))?ajbrd^vp=@tp?p+m{Kp-- zOki=7GXBf-VoLv$0W`?$i(|7*N+hd}?Rkc7r;V->x?Dt8wNFU#N72=3T)@n=z>IUA zpjd#I;6>p+>UOmhg7PYtN%Xp~OQkH0?gmr%n;=QPC_&M>?*^iOTyohV->;_MRH>OU zn~sX@1j14uq~8Lz$}f>l?PkHnG-9a{;79T5P`!u4<OMXh)@)R{ofTxe1!ZHd-8^pX zL<mBMk(gQ3FZVzarHy%&2nJpnWGvrA%r?onSQ{9X*GS%k6j*p|I1-`ZPj{DpXcEk! zdFVYjY`K3QMctYScK*7h{nDv?!~)~6fOI0&CAo9{N6x{{q0n$!SAQ$ajzKBGkKRFV z#sS|6KvG^BGWo-vSE3xb!cmuEy{EDDmv3uZ6DW6hgYL9$bsJ)i0NH1o-Qe@&AI%3B zj}9oWS02aHWpa#+sEz1G&W=5_!k<Ks80b+CF$^0l9aDnzV|)Cdli(K_LUzXlLk}*n zsd(uQ-{3hI=&T}UW4LUdOR>~W;zC!LuXo-E^veFI>L;C98;^Wa(|C<GQX_KFTFdO@ zf=EJYfI?nF&x(MG>;{paV`4xO2NjuP=$O$J!#&ezj*@nd@|MD;N<=_>Rd7ZL@5nsg zixU|Qe}&}9k!SygR6<$XkloO4`|L|}1@Dr1h|SL4o=DRdaCgM`_F?6jz7!-7^r?q& zgb@@t`W?HYnq5_E2~OX1$GdvdCU|<v+h|uwI_n5QpRxbg#wQIB_|b`eWLP7iU>G1% zIC(`zS4_0jO$13uIpN#zUdLL?%wwi-?JO8mB@j=Wz8?p+Y3|fapm4#dyz?_8xZ@)^ zieFe*J`&xN?0(FXUe*Q2|7JWC`>PBTfMv^3H2walS-tCxEeLl6ZE!-ThQiW`k}W2! zX&TV!RS&lNOTm&QV~nTMHx50<+IinRKg$H%Km5o@dPyR)+~82??f#HIi-9{V7mZ}{ zYkBu_At}hwn(vzwTZB5p#l@vf$$NY(|M({tpUj#!BL3o)y&Qd50dMz>tX++DYI9>+ zi>gdTY=jhb?Jb<nEt;pQfLF;f>n45^TWQ8M3bCSeMaqILrk-G4`MSZ6lwPBV5FW^x z&pQ5!6+SstXb<e#?LNd?UIF0W!(X;Z#V8`fq6(M8I#OroE<{S@fJ0j@2S4O#<$DSt zyWHwtPMk>>dxw7W#fem#KYs!3eebdcznB!q`Q8F9$$|Gr1eMgh3HZ;1`p!FrZ7u_r z7M0+{q~!>QbW~9VN>$4L?7IgRgzg7~8U^@~j|&kJn7$;mtY0(#GY(C|;dX@q9s4uf z{|bkI_*|>uknk5#?f#5@F)fNP72T?NcDU-!IB25k`i%@iE0bPY*1u)Q^t4?s4!Qsd zVW!vMZprt>DnEV+HnDpE{%%`4l?9t<iDFlUmX?!hDTD}HcX*=3eHE*|fO_*uJiUHk z8+2T%+sn1VfIHG3-qM(%X|*bqSO14XA|Y}|0|}}p2C+RU_gsm9Vu|u;E)4zM%FcEH zKE>327e~4kznI(kRyDIXUI%ZO!dJ!TctJL+Y}Op$77NkhPTrq#w7)F7Xq(kUQ6wq< zs6`EJ2~QS5|H%xu|3<ss^i=XS&nI8My&v-(<;o!gKm?kQiQq*b|K+NnQe2tw?A4V) zO98P$=@5b#d~|i^1WhQFPT8FJ`Au19!l!1C#I%j1w_!`fmsoUgV0Upf2a3&ofSGI1 zAr(_+aTn*LLCHOVEOe1Hw$=2GzGsu$FN?9ndVxf|`B1#p-X)?AGpk=DkJ7OWMPt=@ z2w8sWj<Q8PUdw|Pz9^Hjk+M=G1V@CEAc8>7j}N#j`)+h{8f`*w57GqYCcnH89%(A! zkEtw;C-X{bnw(#ow|UQ|*W%{R*y|J)QIKPMPB~W3tcMJ8Rz@N?S^Xg+lyF=lmkExg zAQ+`E0zw8YHC5)8(<17kj->6a{Cv1SYIjeSRaCOjm2S+5MrO3%Z$qXHvt*#^Q&<1D z<13@StyGkC%(H%&2`F<(VkzVDahUU#p+5Zt2tpGrG`H1h9L`C3hdMfpF2-EEL5@AP zNfqTRoV4-7l)9uYk-RTw<rl9n>6`0?5j5j&fs@I+)uSNG`q;XuiSKJ$ZpxxdXm3ar zLRgt8H8etAT{9m^PelnrbNv(F<q<j~AB6wemK`q=edU3r3Mt_E56P|n8kVy#XLNH1 z3J*CuT7gQzbUghJqx~d6nnLo|Xg?@KfSf7to4>O&8T#a}IeqV6rtbiNFgTm>FTELP z%lF<?#B>u-H>Q$zt9O@}-K)G;fC6wiL4*;)bdf896&Ir!2n>l70=vlYgN6zq#8NUu z@=^W9@YQ4dRv0*Mu}C8Rkoo)!V1EaICkMfyh>&0+khmE?kA+eKl3qv%SL&G=ZBf$~ zET5ljalzS#gd>F8>prcL<t)9u{h7eY$01OZxj8?XY3IiKhX+Qluf~`o!0l%3A>rOw z26CV7h>^i#76L)3YV$T{7^!1h1WkKH_dr0yc9Grt!=^!BFBnne$zvKx+|G;K!f<$p zzXyxMTMl;c&H?}dey@P5Asqm2Rxh~tBk9mK_68ux&*cxGS9btl%>CZ84FFsfw<0Lm zqr?HSByoNRVwxs8=T5;qmG#u`23Zn$vb<d(Yes~gA+wWpiGnFK!GW~`p!S?9dY@n3 zg7$x|9H+C`)a;oo>dyhSvl{D}9KH{@0&ht>7_>3e9==FTv>K$Z`5=q3{^8S>4j{;& z8k{mzcx^eDWesw+_In~Yern?F1$y=LC%}KUA4ZOA+8<#q|I_qGPtc=8!KQw}>lDia z3o}967spnhxEd%=4;xD}3kw^#!5qYJY=1wP<WpZC0s!y{xhTSgE<7|fmVo0(piLi3 z1oh>-`=SK*v)9Vl6dH<!o?Tg(e613p55V^RHZ*>H%gH`8qgMV9Y|Cs$0ZEehGBN)2 zJ@f(|oE%@7ou3|@d_EB%G6TR3VrOY`2IVAv2V06wS_>u#1JBII)gHky>_azSYd=^E z@3}*k&fR#*3<*KUKs`rT%zhQnMki-6T)!3MG1vcv#RuMD6!MIS(g$v8T%Zq5m1-v@ z(nbPJPyUp!4ZsXG3<6n%MiGIy11A-sA<cs}b&I5D0p)qUp`a*q^1=#6Td>lPf(gsI zUi-{_SOtfAOI0E=-ec=8jfBi0Q4Zy1F=_k&fK5XI0$Ikhq;sWb4|xzlY}KJvC+Lu9 zOA&;>i;};<hZd!y$sn1_5YKPNEP&tiB?n-IX0{Q7Q};m(0hrryKZ6876ncdd)j`oQ zzrlf%*Tb?1%CL6#G=JZns0>HAy3ET2a|Ok|+b-W;6TUKke%mDkC#U%UzXK&_5f0`M zo5V4edxzzC-as_&XJv<RonqJT^x9*a=j<Q>@7)$^Qi%<xJW0#^Dli1#7RmVZMZ6~% zC$Yu>e2iTKh|$4|gQ39D6R3tlcsaj>WIxO=h2%E%?uy&MN*TWb;D`GOCcs#C0N;al z-uwH<$DEz-NR|I!M3jObSo^y_?Y(rw66lM>O(#wdkAjU%8-s5LzE6QH#nR(lgoFSq zM46fWP$32&bl}0Q(ZOL9pGDu}VzdqcecLD|R7?>71+jj6geoqbfp9o>@-;{(9)o^n zDo}S2mUdToR(&4l<lT=H=qQn01x9Htc2?E`QNV!B1XLum@zksWvezFrg0+UrvGup0 zT>A8&J}?ZZmEvmLUq4yvnfFc?+8PugBTC5|Vza)g(utdiiRONXRX<(_Yh*$R6_`dG z1`}aG9+nb0SKb>^0lQ^nKnH_3>CrXKjx0LKJG~bV35<03MaG57Kpgkon1ssMl+0FU zUczE`u$7ge%EV%CbXWpgA`afuaV;B%Vtmj@W_~#Fne;1+rkZFW4Iq7Qc{cW`*9TlO za-J#o{*jYCkN0Wo>5|uq%kFpvDLWp0UxkT#i7WA^vp5#?<Ij;ra>fg?%hxYot_%m> zoQ{&iGN%+_0?WG#O9S3!K_I>wRtUJ9Lgk-5GsBW7KV6PGuN{wZDoBayMSoqj3+Yj; zJ-*R3YMV=G0+H(YS{OQ`HFbNzW?gxTIl8#WzT??d__*21_fE`P0;iuW(UvWSs5vA3 zxPe+R?FMOAFy9AF5E5XV)EIE!BDJ__gO>n03SvsM7=avkyfSEN53`33-oWw+bu{|B z)cdMumVi|@9IYVB<6C??7Y4C4l!Fi2KEJDZ>YVa|_`GHVPJV+Si6%rko+0}*rb-It zOE*MEH-xmXLhn^bg5c`g&0ga)oHD;4eZ8>G1-!{rndJjSWFQQK;wM{tl7z1`c*SJ3 z21-(u0*q<Xev#>!9$Y5834zRnv4x21K*Ah2%jO0yX<h&N*iVL#g@{e4CrtuJy1Q5X zf|&#o?PLv{2^7(aWu9m<E!o$_`-CdCyHZ+?qH;9*3R2R{yd;zBi4Pp;c>5Kt#NJ0j zTY*2U@GfCVI+BoOo@DY78l%oZ7|}?xXdw8v)}-C%zTG0FqbJ*uk)JCO<mP+HQ*^dT zX_e%l>`5sSbvkH#esww&g2{n-A6$AQr82Md3s5_Hhar5&ZDdsrqe%Pw`S*s2-kJAq z5pE`!Dg&3}(9JW3;a1VEvIV2NH+m49BLbk84E{j_hircHB~T`;yAiuuYAnxt_|tQH zK4(Zrwwwzg8v{l7H!af?$#znn5@9J7Ua!}MT*wt=V37fYp-~IS4IED?VaHgbZu@;| zNs*vvZM^zcF;mqf%6JeeO(9FfVW*AE?zMLEN9lb+m_k4F=WW{I-pE-GcY6#w?i|#! zcB!;xBU^rh)$BTSdK8?7avpH=>fzOtd%h@GVQ9o~wo=kW@$6ONSM6>`<@M(M=qLV+ z`372H8H<Y_%2+<0k|afqDgT39)``ra`o8t^8C-EqWIDR<^*@Ng3=?60umgDmKk)n~ zLgENi3$%7}XZ*jX_x}ea#C9I$#sVJlK8bb)_SW40FC9eh;e*$|p@Zo5Pj3w5^!ta4 z^t18|G_&K(|F?q1;oe~t<iBLLVUdrB%78&bA@DE(Kij|QZFF<~OXBe#Ras^;;BIbU zBI6%)s}RiaZz(B3naWE`fB^pbD(ERs0lv|H%O}C3gMh%JgMwt|;sAdL?Jlb*3H=+C z7zGle%7t$hC~wI053QuB)|4*0R8fqPATP__bITOOObL9+g{{cQNKH^;NkfL81AQX) z5O)0XG4JqS<7zeFD32(~;6zFDtkKBFv&p2))@FoyvpTT0vvEe`x>*o%JDxWEki2$? z#XldfO%2|@x)O>1hFPhmK49$M%w{u87KXLdN{eb@0f^SOuXmKUOwD>jP*#-^qBFce zgUdc$?Cv-D1shue8&_fP&f?1HHqfQ-(hbQ=;40}V=|p#Pp3X~rd{2pq7$+7(V6lGY zBn$`U38;-1R(V4v>}lM%e6K)Ft8FvuM<TM5u5z@LY>bGB+R8m|Oqb{fhhoXz(j)=F z8pjtckz`yZGNi|pR<w|jQMj`-1)Hf@78{N>hD7*^Dhk2y6}=D@Bc@;xFUzNB4<r{+ zTqz91z6I<j1RNDT44h$_rLrw68b&T?T*x5rB$7z+#{mOQ2#iFyuku%^R0Oq|5*QQ> z<;E6W`|Nd%Qli_Z0aJ+vDd%KL{)w^%^JIPL2zKL=YCgks2X+-KI!Ygnr;!l}4EQYQ zce&+(l28*;ET;w5oDR;z+qX^ap{H|PYm4tE)KTax+Wsfs@%Sm1KrDC7+OnCyw10o1 zjH_u_66BX7GiEK(tyozaN+G9C;lI1$*ck3WRE)N<^I_5A@4`pR9_abZ$0~z}-fHsz zjS5F`@Zff5)RenDe-hr${$Bj_&6T^ig!j%ew6sfWnAwST1C)ty;)+tpP~}tp9mL7# zx`&%GtORIG|3=n{t~wY89%$`Qz{3apt-odQ&OU1Y&l8~emrT!J!3GrA%ipnn(3$^= zBhpf4YzIY9#;hcDMH64cD=;7hy){J<FliU=6<^7S?nz%^q9ZlU64EL#uZW@<b)#Wy zuix~#x)PJMYcKj6rY!GrUgm&7M#uZX-HSF)!$%-;=)g|%if!Y7@inFr4jopE7zLUM zlCXWd9!|m-%lEmBEypJ;XrDK35e!Kdytw&MuAG@mMyx4+9)iFhTbEBxAai$O9C#m~ zBxq$zwBhz#_<xu(;C*|3qugDBh4jNiV!(wLgTOW!)>nR^LTAZRa5rGUGA&=)eGd#G zJiPM>+5b@t!V6Q5#FvNk`XOY^ftMV$X3xc&I(4XINm36TWzT|R+@Y^(Q@sL*7dJ{i zY1u3tLnHb7!qfc=pD9<)DK02l{fe!?q&XYdRMYfs!tfy%UL1&*s7twS?JZ5768x_7 zvli^I3}TIDwU}m);js!`+ADf+%aUU|y}1hPgt;nAxR@2Fcg=uhGwp0en72UwKyx5@ z(nQsYZ9R$@T_x55!4pxpVLg~~rMmaQjW^RxIDDF%B=gyWZ>kIh9?~~)RHa(YrOzou zVF@C_vS=%?5z|KG@+BK#>S}em4+s{7(Cb{`oqVGy3)yP_gze!wY$j`N=siz(uYYf1 z!Jul7e`R8VfafoV@i$D&*~HD=;(xNSAh6)SV`E@a|7Bz0$%@wKDnJ{1B+n^}b|@_W zrAmvb*C^<{SS=St;*HY1R$^<5{44b9H;+naSp3pT&JxW%(P7PH%~Vqo=t5XSh#N9p z6g3pzNED1^WtR1=Cx54<c6-HsorovT?P(`~lO@V$BlpYdQ1UOX&%?WKW5=eA?bpOZ zX<bSA1re(>AzUJ`pJ7Ny4*nSgY47$Iu$bEuGQrBapN*Bn()9u~+#rUtl8y*Oe1hST zJ1D`oM@oq+B-T}6q%`6pp21C4ha*cb)i>cWh{4CF6+ZXVgn3QaVv)xLG_uKO{=z|S zt^+?>acn>s%IC7jq^vyTDsxVFkk;BRh;GeIjADqn`S`lFp*es8tBh%Kz<X|r;G7R? zi3frQe-MNf{oJ8Up^ga`?x-)9kVBqS0=?s?g9QNw${h)w1Ny_NdEHPyKgT%O#sC5~ zxT-2249VrHO9NXc9nu(?iB*Ir`yONy62w3J0o)(%^;*YwP(X;Q7+jgTL9^Nc+_?e- z2FA#(L!Vek)_`TmOxD1Y-cV}?8b-r#!yiO*IMAPikn_v1Dqj<=daCb6)k>9Cs3pjy zJ+z(OcPJJ&LHqn{|BAcQePT>WOSmdW>@cv#pXde%Il5qHXCtK33UT_Ee+Yl{_+6QB z-Hp@LfLYkSeoL?if1YWJ^4szc^dQE|P`Z59{46D3yC5^x^0Tt@_hcojBZ+lljA>70 ziPTV}Kr?_*JP$lF9NYN>uVkF?cjXP|Lo&HcOi$mr(y)v$>3)U3n3L;Pizr<9_r@I# zXFL`Hto#H5&wr3!{686kvyB;0rsglm{C^LRkZ@r`<0qbT^7UcMG*bF>b+Nod4?y~5 ze1VE~#`2cH0{74dHyMR}NplPSdQO?&TX+7Xz5Zfx_@&#+Zx|TiU7YUWkh$=B4NCQi z!;(23y8+l?eeiL5eIFEN;zQOG6T&a*&hwaK(UKdDFs{^DsFkb*Xaf7i#PploZ_vJ- zyz15GIC36cvGoyme0iBD)$;d(w=^_)SG#wy3V3J<vao%3#P6%?^U%*~t$OLK8AL>? z1p)6dcoV|!4e%m;9B+LF6aug;8M!>IwfSZJe=3%yJss<N<vit{F82xiY(@@bWHVF0 zhfhx7pRJxg=%^~wU{HU^RJmvSes6PC?g+=sV65Y+;i+Y;RBPNH&BGql`u_5J?0&nQ zUtvCX5i`RjE~aw8p#z{4j<1%Miewo7k=y6dbl(hhoFZ>-E=i`=fngaWOZ#T=1JHAJ z>oLi@)Pa6wu=kytIaJYd&(FYEhSj_CwWG#O&iY?fuq(r~SkQnVg$O*ne-o%|9RDYn zLIk`0J1_;h{NJu{zRwQN1PA*1YNAxi)Ky}_MFtFskS|ice-X)GFV+5oxCx6L$GUL2 zgzFb&i+G_r3O2Vm35lr)42KMfFdg-%%w;N4$m61XtCbS(Sx-O)6J`18)x8k%+}o~? z5tLU6EevVq5t`tqvx4H`d+pCJ+F>v4q<#XjtAm5DB_u3@vR{AN2U-c{m%df$;=_*% z5O;F3yB!$lm{5U%x_fyQ0=sFiJcXeZ?<TxOQ1ZXHZvJ#<f%$nH$`oz=J-?{drp(WA z_C-V`Fae_E<waw2)8F;w!<i=!N8hM8z$09*;3G0|{RW?bY4&k$b{01Rm4E?$h~+x& zkvCpm;N0DC?RD6f1_LKI*Pj3=EFgm4xkViK;?JDH%oNcU-1p+@ub|7%-&j6z03|hy zR-sNOF@0!iBwsoMI>olNi?VUpWP^_)nUwnUXqu&Pbdf~SVLg=#<%?&$2JFScqrJFt z642B0la}|zjsQQI$9!!I_U%!M9@(>`K=b(`|MTqO_oKDD0k;EaoKz?US`_y^?1sSH zS#;6;RdzE3g)G^Pw|})V&G68!vvAH#G62k6hw8=u)1y^4AWg0`awV5CQK?)@Lqjl9 zsyG8DNjPL;3RSi6+mC+_8b(lQo6W#!1xjGOnC<Tw+W!F{|EQH}Z@8gr-~f`#9DEB? z+ctHVt7zb;K;esEC>-!;G8dCuAR!nwW@MWhw&J>S40pnXK_jr2p}p^scMzeR{THyu z7H&e4a8b;c2T(u3-)GlnerHd$k=%-~P4I39X51MB9`kp>KP39yLg2lQjYUYQ?rgwZ z2%wH6>MFxzsN98FgUpw?sFA_a-r7gH7SgBY!7IAFSLTvomnuYNNa}=abqf$`#;871 za1U7=4|Z2Y_~>MlMoVFE3QWQ#V=*tBEgjsEC3%|~hInoiz4D2sMTV`)K;bogrP*7{ zOnWJcPI>JX5ckNWZb~MVgJf3Em!V*Ay>nH8r>CGESLK<QK@T^F%FJJ4UON;OuBE-D zRn^?OoUch-xNTSp9WYUvfKAq=qSeDLbg+4mMjm4O6D4)jf-*x`Q&f`wWqIHaZEWRg zaujT`xur{K^`LdWHJwCthBt9amFE6@5rPQ3M{&Oe+t*a^AX6OQ%yxu0g!1@BZrdgX zTQQT6C%6pMXgd3+#Hk-O##pKqB-)M$OmOS6qGY*E8BB8L^VS54C3{ieW(}2{9bxLZ zZ7qf#JbDH4;rn;pG7(Yf8SE$mENr;KXkVy|#c`V<l~kg>2B*QNPgrIXCC`vy6!b+f zD@;Z^C?~<63S=Z%F}j@*5dHBS0ykB`&0$8d#>bbVL`y0DIK4mUA2+ei5n&8D9wyy9 zt1$R}P!<XEpksp6?vc|QAg3p@t;EL?N54C%f`lfSDcV4a#c-8f0ZB+a?X8*Kl2|np zQ=&Qai+rP6u98EeS%Lc;|Ln_U%up4n4yqD)9|lIJa&Efu2o7YG63znCJ}&0unRzv+ zg+XA)={5tZt55AuPrZ{J(lRR_92^{3B(X$?fL)Ht@NSMt?a7)D=c2@vGSsp8;6sc5 zi?w$St~A>AMOV<Vla6iMcG9tJ+v?c1ZKq?~cG9uku{%!Q+WVaQs`kF;oOkQi`{S!w zt7`qR*8FOYG3FRQFv^krjiq=~t{Xv)vh5X0BAkY*^e+%%$$~1(pB53(8#4(9r?WY~ zvndloD!@Ydp|(g<a?AxTd*X0y_D=5ATK6^0nHx$@T~RmWlJZQ{DR`dz%kr*?sL?4v zCLE?2Q`lyl{)t=0q@B<dsh~;zY}bYk>YWNs(FDy}iYtWX@Ebn6+Uy?>>eKd@y^28F znHJec)xmEUK4KSpCK4vNhBe}H6DVazTvRA&ETn<xH=HO-7ui0Q)ZQl8Sz@9@l{zXO zh2kb;>f)S6Jg%3{XF1zc&xM8iSJ1nWt9JVuozMYO!i|m=XpxyrvoNAV`;A;-p@f{F zi@w~}ia&LvhxF)?p=R=Zh16Iriscj>*l@ggQ{!!2pe$yxaHJ)QdVW$RZjHKJcAxjT zmARr&b2=#@)KC0{=AqTxq~<w#L@%C=LB%tmdw$=20{M6?KoHD>_=D!n|9&pgfbR$I zo99@8Z{>UD!V+UKf+%FsFve}+rU$hfg6;_&^F(x{Mf0lBis|F=@CTav)9v%!l$)Qv zdMOfSQVNFO!gvv|=u>B_9X-(@A@cNd0zfO#?lw95y);jDzB5!Z%pE2_DYXJtYN@FG zK`4svcAB-~25e^QNB7R!nsiR5*A=exad&L2URdMQvy{JTd0Qq`gXyw{Tvqdy2HeqF z@M&a}xrsbt!U#)HY>jTE_55{jejY<XCw6T9z^LBW37PVD34y2jIOHq}7@O6bH;W}N z+>M$6i&VoLz0kguIY2GpM`c6<HyE3INLrafi^Rz5ytU2xpZK$CvEf*aWJJ9%4$vF& zoN5MJm^5LZhg$8{s|A@4E)Mt9Sb>(-r@-zp1k+9*mCuiflq{9!&k)$O)90<>s5D)m z?MJkP`&Av|)a?RUD@DrS^V?tB(ubQfRrHxl<59WyUc-0i5AORzJ?f*s#Zs6nHB2R8 ze0<$5@8etK)qgdfE;fo9zj>D6k{iXQbSduImCfsqEXK*<?SO4XdouDPZ~EP|390Ua zbcKj-n~7sTXxT#b@u>1_e)RNU(m;DIc0OP16&zLgopJD9??-Q4*$nNFf4GG?UGKG9 zUgI>8^o)Lr(EsMH+s7KjS2z!<tHzU{d^=X-=>#>HJgsJ^2VpPjO9gc4PYCK$foVIg zf^X~wm6-HnRjg!pacb7>0j8dP{B|#gVZ#G!N`?to9zPFakI<@?>!~vxB8T&tO@Dye zNRSXf?2`E7alWk*0rhpMuZs`pQNcSW*@N<-!M-?h4Gn6upJeMPF*)%=XR^7ZNA+XE zh|eJwAl&2$Z!Or&HiQ|7nyP@z+)EdJj*N!xT(?(q1Sg8-vA3o)!dg*P)?1XrD|1Bw zQKC|Tm;orI57zL2Z|;p8Qd(QvRQHw~cB>5cN>g_uFPgiixDfC((~=Z(bgRb3SFS8! zHd8)!$G$lCs2nVouY5Lj7DBe}g53B1{qHcU;_>*++fTS~f)f(5B?bFY?UD9Ssqbnd zg|w9G-j702$VZr_v1yr`;DV>{r3485hUac>2n@7qSvW23qEWucXACE6$b&2buEU2u zR?siI<!pQ-#pe$|%oRKOqO!Ux(L-?NM$}gg>u_N1;zRW<@McA)am~i;<C)!#Y;a%p zD@}~9TJO8^BNoj7sjQl81**7|`hh@LFO>vE3pR}X1s}H=?@viyzC$yNCif|bci4X& z>4wzfFc|_dhf6?2|Nlh^0BmU<Y1rEDb0U4l4*6lax@u{VY37$m2e~M<mQZuI@VP2p zA7%Z3yIopMFoxN(`g)789SCim%dJ`XkydVrB0s`%&&z_3Dw^ypApM=pF;$_GXwGD) zqV{l;!}vz08i4=lu@@)#z^Ld%ZX}SXQ;F0>Oe`HyDC}O9a=j$ge0K}B3ACdE(sRV@ z8T}Cns#5avcc|e<qn)wCu#Q+4SpQ0yj4)@Kekria9FnLW(RX!rbnss5xWF<i4Xad- zjAwAQj-JpiLkG`6t)CV${yG(Y8_A#J=hjX~<7{mR(nT%3?%b?9?&<3XV!B<qDa>O& z$k!yuMXyZU%h<`8D_I_9gCKHcEe?_FGt?O=$Q-AJNSk(cv6}w4*xN|pmeE9A+-jM$ z>Nam{^l0H@G<)3#TXryON{_QiKZ(jEq)$iJ9^JPSIXjS34sbCM5WiSo6Jz7$8I*4) z{MB^X{N+W~U>s>4-0;8}D}a}5o7Ws|!*iAGau!x+<yn12&l+g#HAl6bn|YAby>;6H zn?67>SMNve<811}D^4DUM3Z3#9dXnJ!L69Q&#D>PukR0O#Z25BYCgN$6l>2tmX{9_ zDt27kla$7VdWYh)^wsSSz0!R@xxJ-cXSS(aqAB{!ri7UEYK|F?eAJ&#XQ7jc7^}(E z$@_M(n%BD)+nL&Ts^R5-aFMV)#SyFKTXl=t(frX9aUC@iQ!?jUn#U<d%_7Sg<pfz< zVzlGH>3%GHx2BRWEi!2ObSNG;#{V4QrRB8M<Ha-EEVDD_DEjyHZ_U@q<unpT_<fdi z+w~Uw8^-f)U1)8$(6!NOZ#PwcSJ!)Y->G{3*7m8h*VciLYNKUkX;>P1?({U$G*uR9 zx;)AF!GOj{&pgud<gxTJ8p+%3p!hP!een$H+7AcRk(6wjrE2lk^h>A>Q5hy~B2kYL zD}n*xN~%2wLqO1NF7NcpAxEEF24_tl3+(I3qV(wGcej@f*@jQ^d>*v>{dI^MTOq&C zt;oAj%$VY3r`NA<<3}T&AKIy1Z=WllC!hHO?}M(B)`0Kci0K|CSR!4!SQmH)G6Es- zb)2Pzojv<+vW>}|$D`~L2`W%ZR85g1RiPC(@a*yx_An-U#x?+@qz?&wn_Emw(i<zr z7q=$$i0R+Vbe}?Ov68iOhXhKGO0&z~nUIZBSV-$1FJDT|cWOVP^kw9Y3*<B({4ww0 z;nO)S2MUqQB3ELw72+eu6}w?gpO5ISd(7SeQ8~t9S(`w_cbf}sXP+=CCs8A<v8YE) z-l#Y0I2J2kR`FxADp_U)9Gz@<I4sjkj4<u67rZkuYYRa<nNw^xnJa!jqP#5L4}<76 zwxM5LM#-Z~Fw|g4#V2hv(9z6Qp_;NJTARfK`i(NiKRxs3v<bh18uxL{l1@=UMe@+_ zaN%s&$AE<5{tX?GIcNeGm%)jnkC%Lko~a*!n1om5UhHp3%-7w>A|4C4X>Ab;b6+;S zFTlKA77d+r5R4a-a%x<Lwc_^~x>cdp)q-@hKYyDXi_Qf+nc_n{`-E2YhK4H>8?ZJq z<w-xrYX<8W17He%HOnoC;Ypg2R(>CCn;LQbwkfXQ?peoDY9WKaWVR8yr1hR@0YKMf z{qYB74!d>`7K~l=X)`zv+LMQElf+vtmsxU*r1{F+Boad>F}?zs9ED9LJCTA$u{wV~ zTY%_<++YHRQIXX6ve<ag>baL6gF2~PBbL%?D7nCDhPeazpt^3?3WJ}1gX0DvlDw)E ztYsqamNNJlku#7Ws&e2<RK^2YuJL)m3{#y<ljg<X!S>T&7eY+{vuV@B5A0t9HWK73 z5)81(lMZYSkp2&MHWxz|SLgpU{z{3H1!}pX1&<O@HH8d-+WBkvXOlD$vey+B64tw- zQm_fIuga-5?05ZY6LLfm))rK)J2Ib6I>|Bz|1*7Jk+Zd}qoW&yTVzbzm{DL{3gTkP zTr^7?8zLh_@`#ox6Z&K`k*JA@1x!71?JYW4H%i!c(?7TTIl2bzPFHvfQ0W&UhQ~ce zBoDoXRv9*p(fNwCOqtzY;-rdt@tI77*X>94!h210#HD}h{ZPF<$GF~=h@|`q=<oG? zlRyv@lvLa`1PkF0yk-~LMW*mkUoZ12SF36VWydqAviXZK-D2$~<)j$c@0Hujb$k9< zj%&wGplh(P=4Q1qVbka2tK1w|K3Hi!oy?Q>uX`!$DJx+N+`~xV^MACLz;tICC5<4+ zh$Oh;8Oi03JWwge(o{)QEkiRO-WertW3y8Rm9URpM-r-Q!fDeMue6K>J>AgEV8pju zUX4{0-0|)q@nN!BD`$9ZK8tc(#Uw)&#&bi>cjl*o;R1&;flKWe{%=5LnIWAHVjxEr z^?z16bODM^19_U}PNvSz|7*;-qzXhbGa~7A{vbG|p`%Jxr&6Gdt4DO$1&5Xeb0PPU z(T4CeLX&Wm#iNmw+PFdGbUKeA=p)$UaM&A5@KYciuFv@`i)v;N$=BlE{Mw^?Sz{tO z@Nr;_>HX>Xw)9GFfoPCP(qjIbvYyIpYSsM)1Yi<9QJ^TioGbfdiv|bX5jw;iy(071 zRmSx^e<f}vx^bykmyZlr>C~oR?C3q6k0GpIx$*2kKNP91$^d<|v{Ni%yP~6xel=1Y z&eTizo~1hlgXHh9-!0(O4+ZvJw#>vU_1)BeIpMVS>12wW+CnExM;rV9T$v3Ur#HsC z4Y^|4n^9CdiCADQD&GwRi`aCO3!QBiueybsqbq_b>*y)9{guhlaKiPCQf>${-lI|# zzH-1AG>M-AyIAeSZTKj?j~NKLh$wm7XO?Mh{Q<3r8DE<bD_&53@f(Zx)KKiFFrN&^ zw?61@S+T@(XELtu?~J9y<uKP{Ba8*Cs%WrL<XTr%Y*Ddc$UanfyB6eO>@Zm`1MBR( z7jo)1XG=(ID=lN0E~dvgsZr`oJ7lJqdfI+zJL4Fzb(kXBBFTo-XVO+grlmeVA!?RA z26w8^QL-l3q+DkrAW^45884m+^)$Y}aeT{!xLY;^96oA{LEn<P%32ISjbAXB1}yd% zWeQ4I6a(mlf`r7Xt1|MyU*Zqn6Xa&4V`uF9xM<@^0?kRE#t43ZL{IFF07gO_g~iep zl+m@6i<gZotlDL|E`OC%kSO|L>@;C!S&@kao%VU5%(Q(T;r^lBUIX-k&_Ba7k{?EU zn4vf*9!c7-GlW!Rs4A0no59vMVm9(SR=UIQHW0R>1oIJw#50GpmG<a12|$AB@R{EZ zq3;8mHqW%b?^8v38*AQjN<<i0S8x}Oe9t=#dEV&o9(R1v4v!CPZ&q3xAvn;E9JG~= z<*nLt7Fpr#2CBg~Qx^iaE6sSi$|Q+*H>DVMFItO=7?^f*^!f@;_~r6=eB;KFTCPK% z^<&Nas@=1!mwF-v4vY@J)_)Ga!!`<hBzPfl6?fW)=QiED@8+})!ukGNY^9ZKGSdgf zR%r15QB?GQJ8HnN5Tkr;2XsRC;>|78PyJ&At?j}Rf1wM5+g#sts8wdS)_ILYwLcVd zSabCGbycHy5wdXyQ7!5a>qoiD^7nf^q#m9JePp$0Ckq+Fua@+N5AmO4h1ZlFN6$04 z;YM^$b41}`K_@8-+@>hQOgvFE*1Ya#s7imkVw3b}n-WVQ4wTi9ATPehP)eJUYEn23 zXlc2g<SkL2)H-U?f_TZ`hd9OvN~Oty5@3Y{>-~gBa}#WWB;!!=wsZYi)u2NdrS0Yh zQ>T|Dg04#;p;(zCt+`OuF~Bf{idDX8v~kjg$LO(qNM-^{5-!I_BbZkzxg+4Yko8Sa zIulJB6~`sXhhVFjnJ|8`MeQ|D)#BW3E)MTL)hO3)tG>-ek1@GDJ;9r4ZqnO?B@fdK zFkN8xek=ZTwb#?AOe8`CH+=Fk<7FNCjNr);%p6sdC-L4A$ep!We~V2Q#`fAw^OU*= z`LA)CkLr-B0hs^((YyQy{Nulw<hhu7xR_a*+L$mHy1Li{0TMv>pMQu||C7P4e6F-8 zh{jK4YuQe+n?ei|S(G&O3_7R9{ZAPUabGSXu7Y_}4m<X5_#u8h5ucCn-f%krcaD+` z2P$R}Zp)b?o}KnfVUX0B*#eD?jgPiwux0IZC)9qMI6N`%Z|lfWiBNzE(&&&agj>wg z%iSS<hi?0@Y_i{J8UviPlSmYD<@Zaro&6C9!}SMD>*DnBqcbfyN{YR67+KGJLT836 zpjGaXJ5W>|-Z7oN;e2kGn|2q!ak4sZY6NtH$R)_FYQQ4-ivNgGrzi_NLiq~M8}TQz zxAy#gI>&+6=m=$Z`Wd}x34@L$bz-(leOE`vlcvn_+<<MxJ-((=9LQo6mP~w|!9Jyv z=__fB#`Npq+FiHkb$X`<738o*U@)HgTM&Q`q*?p8T9N#V+FY^m==EY%VaBW_{*IeK za==}lBzQr~wsuXY)^<RW=aASj0uRXzE(ssH2+D_#sh#VGO1O4-p|c4eDR`)ANy7OX z5npiq1$Y4(NkYY3m=O{RaqssK$!ek^lu29aUXc4ljSg5ka%s5@cRtN(|8W{*MqK2T zL3ENH>WDT-NduLB@LVWu)5MiZfEt1mdbvIV1VD+YR`ez1nt)0Q4b53<X-<d^VWO8= zhqq*->8xj-_7rzwur5)Y-lGu&J=zVoGLz}(^RZ`T3pK5z2fKCCm1cvpFF05>(-+@@ zskTnw%dJkC8^yEvSFQS_f?!_$uUQMgVxoz7658Sm@6;fPG~J(2^P{J=HN-h-YW1CW zd6bxJ4yvQ$s1<wu?*urv5y*Miw;B9oTQIGpvo>z%OA-7fCf-Yy${Hn&rCwBwkj^)o zXqpKS(*lTmqw5P4MZ~j%AI0ADvOfvD!4j`u$@TPXjf7_Db{I|zk@Zi%BNR8mF5J8> zz+=yD6TW=@Td1lS$*?H_hN^vFsQSM-0>F^ft-NKoL5SA#q@0~4^}__0;=CzB$}8y6 zOx}NQRh;LDu+Os6@|wS{l~sGO8Dpz1dU}t?kAPrfx-<~p`v+q1Ttzs<YQH)AAC)3w z@M(9vsMxrH#ysAkz$yBTN~_<=8Ycb}GSALmsH`T&D3DQ4H`Rf>qJC&O3;JPwNi1st zoMS)B;2IEAkwg?m3Z<)t<{YKG)$<5VG2#CDSD{!VC`4_ARXs|lyI(H7f^&&5Af<sO z)y)`k(%c*?%`c0|C<d+utj^xogtojl&GCC0>=enN$QTevm_GY{3(7QVnh=6F{PVlA z`lM{Fw$Ze8)-V%Yst%if;I;Ji6UOL%-#{c2Eh5)L&$?l|C}Tq@V^Ja6QB;OPJx0{r zd_RS086Ks^`Oey-x2b-sk1nV%xW6Kpaow=^y%dga^fMXv1vKZYg=kHin3b8>^sLdB zAwrHm^qcY8Q8l5?=igstw69U-Jy4JG_l+N2t|BA^jK9AqRv7M5i)R%ymZi?Ue|(9r zpyuk+0pz6)#!OPJez<zjuLO^hN_F2oMfqyFO>WJ$`~4d(Ouq48fB^W$TY+l3|F9eW z{|tP_uFfv@w*PM+{O8E#KUH_nR~-}CWphfC<51v&(bq4O65IOI$agc9*enZ+Q`W(R zv$pEHU096GmKE0p0#MK3NlERpCj|iNvACRS!retq`&!#mHQfZCV;!L)B{fG|PhR)i z*B^f`XBvqh({lNOZsqNEUcId$n_v~{v<8gdIwTPIx{r}oAp9-6-B$m$(NDSNi%{)# z4C{;-s(Iqbb?@zSgtOAN*oULD^)Mq&trr+V8?wsMLvhrgT;aw?%2YFY3bsjbW~bny z7vY=R3HF$4J)LDYm&3nYp2?MX-lJznq)Aa)JGJaw+=cQ6Y}4>HY1)zvtg_>sxhB(H zB-UyNYmxr;bS-~}4?{`PKPbJ74=12UFsoQt_Qm8S0EdoJ2#gtm5kKlVN|fDaONU40 zXzls6S#6`T=lwNu?fDB!Dff(bk}p)&Xj9zW><uAXj&-^q&;xWC;=H@25TaR@ATnP% z)W$%%&nj^EI^25OoNjiv_=?d=1#=X`0unVl-aeCAmy>;-sxiXf_$-9UcB8;`OogLh zH!-se{Si!p(~CYpvu3*?-Cik#O;*ZaLSN0TXT;$P3Fmm=qliPMfJQ)O+^RH0i!VK) z#R>AdsADnHyOik(j$bb+OM`Vab~Hs~$NDFJQGBg)<C+6)p1cP6NJQuwDc_S`@q8Y0 zC@<@UOpRFw=(Wr(WvD$z+9X+#j-HkdwLZI=G(jf;R@KpW-JC5|V`%l?YpOL1g<6z$ zqz(9J9P0FRIMOAPe>4+l_~Qt!&U8h6LzEmz68-|5;6ts5b`C|y*uiiiWx-y?`!Izu zHv)N0*v5nr3~)bQqC>Bu$#qdJ<UTt<KbfEzzk}nSV|kFl4KXv~f#?4e&iE-?-CPta zeC{q%+z*#MB`l=XXuItptTRtlVnNh_J07I~+274JgBP-VBFx$(-fMkbyvPaSfDNVx zo#iQ>v9<>;p%`s+d2OM=4SqwN*tI;*yUgxA@fe{|wNRLln1o`)k%!Ia$1M7k22opd zjjgvM$@&(z(J6oJbBmR&`e$5T-tSpc06CxE8v2++!Zg%3^JI}x<l<A=awh*cq20KW z<x~7m(-5S6#dxV@xAgG%fxS|1^Oe#)KjkN4iIMAeENC{`8V+ai=n=06Mj4Y}O*ht? zZc!0u6~wqOqu1d}H-_zvDXQ{$+D=c>=u=O5lf_|wn#wJ(i6T^zOeucLdqB_a+sH6# zPXJ9}oM1UGISvhN>pJ+s9T!jgl|SBVDS@}A!b1U>VW0aIXQrisfR25xJI1l2&ZheP z8RE&Cv#~gKb3G{x(NA>F^%AZfk#SELonBb!`qf6po*KL^d@Ubwt~y}8+8fJJ=|w+| z;EO8dQ;!m@XeIUzgp6NCy^!yg;M?!GM6zA|f337c*UdOQft8jKkiGVQ6>xxgW?FUH zZi5l7=Zz{H0c^cb33t@)41CqJ&&@Ib?=NU1-ROYIczibdpE`E}vXfr9GdnCshz8We zSN=$%ioIPUls>@bYgbc@@B57UG)BK^y_&vEsF0wuyb$&wVF^h<9!P$?Q?sHJ*VYG` zl%t3fU2}#l9!-5YX-$lKe~ice%1pBL5+>cs+cE7|J)>tuWc<+lXcm3=_OIsoxW@oL zhV5IB>zRcCc_EnL3?kS;n0{5~EsOMXh$OVD1Fz+Fae%D?9w-)(9TZ+m)?6bO*9iSB z6w(q+Z~R#Ig6H?Y+|cnhgB}xQZ~4NS+pAQfMA6)MIv&z4m|;k*2>rE$m<Tgzljkax zCCMiw=|qgnd)Av33qz5Cs3ov=Pa0NgXu@<340v99=|Y*?&DX|DQxe-C3_sUAZ0<;Z zrAvQ8qEYn6FdRPRyN7IZ-1U}tNyL_`FUh#F^sQDa2e=3S(B9JaF9W4zJL7Z{PIG)p zQJF%y?v!xiZOo26;&MB}5jkx~ffwKqY}vY+%57;5h73)z^=Zq2UUCU~*KZ6KWgT(c zKPHqFRtLAAN<o^V<K~#g8BDIuxb=fZ7u*$}8#eJ8m6{@U9{zKsi8;VwcFBTZ_w4R| z73#z%to<#6;WkyV?2S;1V|i^W&)-PwcgonT+%cl&K7Z%KMmAAlwZ?Rr0<-0llsArq z@Ztws&>o<tW-U0xCIti?FV`_@eP5R^x-r>I6L(~dE~nVtNt8lU_+44fA{zZGSuZ7Y z8}KC2skciMF~TZmub9Ls9ktjYeFsx+D!KP*u`#I{ry@u5F(i8(?3A1T&|eMT%GvBm zl6D03E#cogXW}7SjI_W;iUHjJ=yB&_Z*Fd5>g;amVr=n`e7U7IZnr3i`FTlxDqb)b z(~L%mrnQzvT!3#8xX?uCs=O}s5KKNpisiuDpBo&yvI~ybXRP7_3$9M@Af&_TNcpw; z!-hh3-9eBJb(rPr?~A@fDCHC$zVOBP%-_WrR?0?3QV)K6rRkr8!HNL?s!Yn{D6Hx+ z8Wj?B8kGLF5@@wzM)RA(t7N(lvWoc4TszKKJBKP^TOnJC9V2_o2D!kF7hK}ND`?CG zCoip7ZDD5xFno7$P4QufiKgOA2W4yg!l7lSDOST`A+vB1wxF!d&~hBeXerH5%-TD4 z2JN*>hx$gutl)1stA(|bznMYhXkATvCupTEzGs<W!QT|Pv!uwCF1N->+e}bn_*9K& zCK@Y5osqpz^J%ilbcl-um>1al9Edq_v}XopkQhi0xs_MjL+jlUJ^qc9{%!U>8n^NI z91>-QsdICN*ja-)!&I?zhU@w`*SxCvR~*|?peDk1gdrY@uc@Uo75Hize{>EL-3bI< zE8*Ka>qKe>*sao^xL|zaw$ThR5L2T#$sS~h)66v2&E!m)+tfzYMC9jLQeIdhdEm^= zw9ZoDun9}Q@7Uoyz$9#>2(|j^8w++8Q@Na-|2S<Ohw_JI{zgJOk7gt_-XC}MPYdrC z{Vvgli1zJJJ_JAB8gv%<UE;g{Cpeh>FaYiQZ~sd73)gBS&|UI7Wcb$-pmyZ61HeE5 zG}ju8@i#zWXHR>E<UEji&$HNNmG7^VXnAeasA7a}p3*K#w5Wkf?uZU!^O|75ZKmKW z7tt^zV$i<7E@sD)T|H51*W}eb%yv?__jKG@hgWnkZiK5y2qAVw>^~Ni0*;($(6#`= zB>He#eR;kgvU>0?Vjtc0Hhm6yJt1iFq98KkiCds;bWc3CnQrU$>&U#hEuzmN#krS6 zpy4Ba7uN)Y^9?Hp@Nj9K+@V$NmS}Ao-YbSFXl)cCxt2>kI}0X`$?pPUA1gDH^sk)! z{2`+6=kMOaS34N!o84-x7y^ezS#z;r++gr)PEq|Zi8-~i`aB!Gz1~s;KYiFuklxc3 zc0oMyP#Yg-Bc4y5oP6Tx`w9LvdDQ*#F&YBiQEq_@&;P+x@?Q?zKk|jLuKhYA8c<&S z%b~<dNr(yDLOp?B?ZR?>aD>1iQM&GIb<E8IYu#@rMj585;8djeQatkA@rtWQ|G=;p z9fC2KzuHjetT6uh{70M37NT+9F_u@eBW84VT!tpWLoVqUP(ImoLaJMAB!#jaRf~y2 zO2z<t^vUps0&e?tU~I232yFN)qq@myDstzLt^e-RLlJCEN-_htm8x}&nXb8AQeWUK zS>R|5=zUdkH^Kx$h2}H}Gw2*Jq00kb;U<@cd}uL*UK{6`3Ds0^0JX~c$^6HE3W_-# z`&L@b3#Mcace7)!V#dAJuoav<S<D<YoFrY8(H3%PPYpaX+Gv6$I*hQL3aLd$4JtV} zQGj@LV$O_?7L%3>S%h3h4H@lBj`POOBNtXR{_xM$-(NO5k-{m-E8zI(0;y4X6z*6{ znRXiV7vguipgR~lsRU|?jzL}BnYFjs<6l8egG*;EpB>hV_*M<2$jl5N*Yb@=JNgWK z1MYr2L1GaZgIzq<U!!m?llsG_-nr8x=|6|lE_ao=u58K~SM_a7GvhKiw0d}Mjh!Kr zYNu;+!&{sb{O(nZd`pWscv0=t&o^0P{$1+PhKH|u9>^J<0zUtPRJW_$|IQqqf@1mq zjX4Zu_a89F|HT{*WU|}oX@(bN2~^o^clKKA_4}&5zjIm(RIRJ?exYJuAm?@52bcB- z7!6sC98cr;y1BZF1*}f(^!Rj|7#s75XliPf*VbOsYfMIA$ZPv2`jL_r;{ZUzK}h|h z^Y}VlAv0#-R5a;mY3riG!dM=Mqtxx-;B0CId|r`8M@AOhZ+83D+9pb*PjJ0nA1vwS zX0(uUa&o%AT?nVMn9p4Jf)qaoq)!43<Q+CzLS}`4q}=}`3}<jU?rRgKiYo?O?034` zU;TW2m~k{=Dt);>`TV#&*eFx4&BZe|J$k>rCfL|OB-qyb`Es|GHZn5uHRu1+<8Zzx z?d|#b**8e$<LNqY_5S3EHz&tOrOz%tKE4$hY4?qWjBFS%kexlXBbewQK~6y-?aw<n z^{(w7amv6k_uG#$77h_H4+|T+19R*M!f5-?pFa$Q(}Z09fB~qm3gt3lXCXyLuy9pF z&^{!yJ}kJgw$@hlqqRmJ^Xsk7c7n0bAZff%SS@XBA!sTAe*U}B>z%LOcSr~{78bDc zAV@@+I9#qCC`yjjj*eGm8NO9Oe&6231?e(@z^9*qk<rWGzyK&5k{JX!IXQ&5xOkmx zU%u({+Y`fJo`4@_0LZZ8!N~XKAV~SsqPG0Hx|<(HM$egkU!2>wcXyvBhleHrEQsGj zHy>~Agr5U$m+L>%4n`SDAD^D|M<i(kg);I4dMWR39GF1i4Uo{#Ops7f!4?Vm85k(u zdVDBc3^Mz<;MV+s8yNrkn*9_VEif#XyJ_BFHtoiq?-2Iu*U;3!z;9W<ug~Y=0-`5; zO~g%D!QO_9^mLOPF6U#E__y!jJAhjr!q0C*yn?jgLxF+}j$qv`IOW$Mk_3W)k;>BM z2tqjf%!?VfwBIg4Vz))&-+*K|T^LxR!o&Rnm<16_di-yQdXa~jjbS7HDnw<0#1Dk{ zACSVy*!@8T%Og!lCCvnhrEAkN?mlL+bws4DyQb#mZreTrxhEOMFAkefZ~$Zivh=ms zLJZL$|K!<|=9n0U@4V+9J-5%x46G0Dkj5fA=4N(jM3SgqVlOlPzhtLpw&@fnHm)yD zJs)%hAa%vSqiY@9$We|zBoB>{cMrgykoT1_F!UY8CP11QI&e)IH90b5>NIH0tTUIJ zejTfI_w>fnL7b~tg(KYtS5ljUg8T^bh?<-vD3L08r4^)7rL3-1vP!XT&O?8NyL&$n z);7YGLUeC!^}FUqxDOlbpPQJdj0`96q%vX7NUBiT7vZ(@-dbCu(N68Ipo}DpEIa`S zAZt~pLTPsVqFiWyc_~BweQKi)FIapZ>i8H_qwhsCDWt8c8i2Haxz<9*iVc70%&0}# z)dfi(?A75v{AhIR{6o=%c(S1n@10CxE(;M6b!UB@<Kxd>E<5M}M|^AC$*d*qk3@5C zgdB&WdFft=eSrE5C&1-T$JBKPyJRDQ*)L?LZ1g=N;>be)4DWmztg&&C0%_?4GhfOi zU%PVk@^Rg}f#++gpVNZJEaoH01nDyWqeFm1W7C5-Y~q$o0htHEp1P*?gaqMvNJz+N z)~U;@>q<Kb0)4)QvWH&SuwmIom`I&tI!LEw<}pdG?a3wqh*fQBE_os2M9!%(KsqS0 zL<!s2|4*R*Ff}O}if}Y+5OQnqSYU{aLBBBiFO51wLyfvU$TmV!Ny6Pg2|*-DC^Rq- zA~IqHY)c{hlEu;A_suLCaH$f+<ENJ{Z97lX-8+0IGCKUgBi<H{5NSGpDR6D3tGhKE zjB;H*D&pn!wlO}=<ml<S8FqbLgL9%44HfIDukrjGvu2}Hz`3zea}g1d@fjK#dR8^k z;RIr9YwJ@|BBoY8?L<iUV$mT!2;RDp#K!x+Hov-R@y772sih@Rm`+WF_r#?mImSQ% zg)9Oy3Y;oHy((k(9uKFp^X-Q}J}Vm=o^FMIYAQOn!8gI4=)eb;Aa<5TG-k{N5%D6X zJ`D>+G_d$^a1VGls{oB;wupBHsJto1%*`CUvh`D!yNwMwUuS0;(!B1q)%x~!uAv(t z`DJxIJuRzdt-lGoX_T*sec@rE!BBCc*`nw{O!RQ2(5UhfwQCt>BNQ>T>jo$>xQ<+X zL5VJb`SaGSXUQ)wA;0_kiFn9)d2~T&vGB?Y5>c$R^z=Rvok-FN`izOVB(P7uMd5;s z=0Bn8M5W`bfjZ>D%z;J-GF!Yu9Frvw2oq5XDg_~ggna9?ba9D1Uac$PIr$6747a(l z(9}ep93Rhp^g!qd6V6sIQIgJoVzdMgfJ#Fm89<JA6Wu$hH;t&M;BFkO|FkeL2*#fa zCD-dzL0w*1N$QDJSMPl#g?gpCIENn7P{P!s5_a^Ha)QDDaU2#^<Yjen^DQqf3GK~m zZ=#9UhfzbiIlsEP(!I!vL{TzA;aZ?^iY?A8R%Kma`;dFO{fa*J=$2?jHa^!MKR_px zc64<6%Xgv5*^o0)Nfi^)ttuw8bILI+CW@{$F~;cWk$d!ed3n1lxjE{is-ohj5#y$C z5m|VEAX4FkHP*fLToUN$OA<Q9ij1+bGFMv}HPz3K#I&?dWP~uF#4jo)qQFn9kw78I z!`#7ovCMg|3ee;tRaI3}mW+ki-&Ry~xCq5^a=zo4S=v3<Zr5?~y`Z5fT+-52k&H{{ zj~y83lY_2V)35MhK`dE|-BndM!{HlmCv78^!s6x#wMr=|DSWF>@7>+qac-U6qeo8d zrb#p-gqU3K^Q}}Mgg9bdg(0Jh+O(-@nEE86a_Z_B-#t8z@#y71Odzht`hA#_gO#Q* z7cmli_YaL!oQNWT`f6Vk4ma)~y&x4IYpj2!k^e#9{cl*0RP<^tlfb$D$bUWCH?cId zu{UQhbaJwHrvpy*fsQXumgW}!LGm4e=eqkZG*y6|VF1!UG*tiu_g{v<<-elz!pK{S zh$tukDbe;oUbF+@4-pYUAb7yc(#8}3@L11LHdj$TMdy3keh`)p_fM9#SNaY`s3aWa zkCs4AO$3c36;4#J1|*^*i;02bjOB-e#m4$ae^;c1i-cK)JR~ZN4JrzcoOs*wDzaYg zdODu|Y+m6%`E{SuI1AYa1(zzxqR8eCS0Rj#yc;w+G_rR{FBkwr>Hz%RjV46SA0!}v zXJ1}k8sa|49sr2PA}kc3Pd2NM5jX4$@k}^F2gDyJQty($DGlY11`za&6)pt`ii7y) zq?0QH^1%THlg35|00laL0fpc3BEUcAIl~JCpq)(g9V9;iK!|D@E();V0sNX(ixdNB zFaprbq=&cwt8@UyAL?e3fVx&d-wYCL0|1yK85P4rr~u$z0E00S5)VLd1^`X`PM!Cb zrUvN*Sjc*0H1M{Qa)||KL(w@xs;krEQ_lRrph06d1U1YQq#yX1fyErainx0}1pwqH zd<Xv9`wx#9gqoQd_ShB#eY&$=h%aIzqXVGXWtD><0I=ucJO4?`(1`8N1L1G`Sx9yT zZlMR8@A?#F)_^G349GuSSHE}o$KHq)#J8`l9UUI7N(~8X8&0VEe3}pF_o;u_y!i6I zKRxdD?2`sC>jp@GKkp7qJ;;>c&L%<!8*LuPNxZkhe!b%@5)b__YS*AfJ5WS%j1|p{ zzGp5Wju1|y8YWx#GTGmueFNj)VFT1z@q>6J(3R^NgZ-7JK+<sO+kXN8?mF%Je^Ww% z`CA0-&ANYG3w%iAlL7qAek3{q0D7XN^ePjL0;9lUUo<~}x=sk^p&ygB4+6LU+h#xP zy8(N!FzL{MFp@Bgi9fEB0oAWSVam|yIy`CvhTnpCtbK|Wp-B!1^aHAG2z(BRuZB>$ z{ghn+(BML2P^gAP>){|qks2hiP#75@&qV!_;3!d~gyZ38ip0_hY?4e$kt&3$l6ZG~ zPM}<2I^rD(JYxXn!1vHD38v(L21UN#aLpp^<s8_-;)SqtCN4~wap?J3b52dze9`O$ zCv#O6i0g6uBBP9be=s3ghHMz=M+SxKIccGjj3?`ff5BCaVArYr0_%);G@h+@2S*7I z>w{(ocNZo!#21p(kkOD^l`JR3C1pikhvt9=3sxMUAWkZmZX)kMei_0vVrB}{kfbG9 zMu|gZK=KL~8R7uad_<Tj+T%fg)EBEPpe%?l*eQ{m(pF@#N@9~Fjjx+nH$ZYF(-P8* zg&gJ_4j!@`;v5p)X~X0g2|5-(EALY(O;|}`9U&dD9zmF<GYhE}Wh!lz7pNe!#c2sw z7qlqVDu$J#vbtt+O$VX>kS?h%Oj*RXz_56-to`HCfxMN1FPAo_zA$+z@h9yM*n>M9 zeCYR}(QtE0tSn4OOmi%E%-VFBQmn-&tWgz44yN<;lMKWRdsPkU7HaSB2@^0WQYqvq zIMfU(6_urx+m*1Y_o|aBaTR*XJ~iU1EXoHJ(7#iwR4a27&XsYL%`14y!z#_o?NtPd zeKkKKAT$SM2IWPH74z%$54uJOVU4jGJ!pxn;j2Pj1K5Vh>!;Ve-Kaa$Kkz!E_$n(3 zxI|c_SkxPp?vu>~AP>?VpR-+n#_*J7Y4^U7+i2HR`&2lktTOFPraIP@scESiRgzVT zRTAgj>@}BVIi=lVotkd}2tuP$6gm_V=5aIMa!!=jl())Y%Ft!`xF2iiE3Hd#3OYsI zd+o}u(sO(C{BvdO%eH@ZpS<GwFnp+d*uIuMO2BDAG{TWWY{1Q6@(!~(+VkQujBea2 zis%jsij)|p7^dw7C$!J=7A=X#h$BW@j_4ea9@vi9jueqYkQ0$h%bv+zWh%+Gmr|AT z$neOFPESo2PA_M$W$`hsFrQ?dWUXZFv>Ir6XwkNmx3ro5XgJg=)x2uyvJ27T(k#(X z)zWPgug<9^TkfpxEJH49mrIhX%3U@eth;R)Z>ea-sykYR*r;i-ZSgTQH^MM)9j+O? zO6pGX>F|m9;Ddw@TSKVA)57z0ZgN87R^#5zoXNft@ELwcJ!LT0m_?dhWjSa;ounGF z%u&u-lrYCIZ+8y5508qF4xFS<<EPKU8QB`^K9q8KbkyDRTzJgMYRnqAEZ?ZTV!yJy z3fs(^V$Gw<)nsv=8ypkaRXmy(fXz!`wBGsUD=#7+VBUN}!eGphpkBRF*IMFU`DA#F z!T*=vDer*)fR|&Nd0SI|ileV}taVa;&^}i`WJko0<jdsC^J^YZ=1&G<4i*t06rc_I z_U!3R)Eg_ny<z&dVeL{VI=@}$yHH$Ub>LBdHIc>GMSL~U(@FYF!i*(Ch=T8*<vB>h zW5cLHUpR`8un_f7fmnxd4eWWQG&cA7O%dlE(O1z_(d{gACV8$}Iw>}4{z`f)-gS-+ z)((LYdNa+bC5;@7A2!msT=dj6>~=OiJMWkGVf#7zum@fk=?r7K4nGTK1|CAn&@1Rs zXt`4bWy0k+lW&BOsLRo#$?j0y$zoxC4&V)#6En=S&xfyy=uqR!-APi*dL~{Zbg}&; z9cC$^J!%i8sEF^9ftT6J;?70SbR)E7=Hu>W3QA0fcNDH9l1*wcKQlizbDR8S8q)AN zY!}tafS&?6ZrvFF>zgJWOp9>o9~CXi6>7)^b5nJ*-sy-5uGFern(51_#)*x1j_m8a zuS=8xl)c23l2B=NIy{Zz?q6114ZMy&H((CFf1?RigZRbU7TH2=yCh$Ash(Ej+fD8% zYaO81KM~m93}Sr_s|s@z;&Z;aa;Yn?!JxU*Z1@_QgTwzlBC-Z;10(Ib-zw#%#}Q7L z{X}oZW^z+S)lj?1tl5Iu>G3vQt~NqyW!iBXf*t(YdK3JPTGQp@U$G5_v}wwX&Y%{N z_M%?iwl34M@tJ8J0hMBv2bEV9_N#@hX2X?dyZI{|udctW7fT!3T~8nU<2@UyAgZ!U zW=p1TKi(Rj1ZpBGPoGoYY;~*UY#lF0!4|+iAW0BfR@#3r;Vtl~D8(()oJ$~#67+oL zT)Wf3v%{;#WRL8VIEel{Jbi-RdBTV1UU!T3`n3nSNZ^KNj>ljnoOzcio~4}mrfsC% zAwR`GzkIgs`7W_RfSAq7tNByvUS-^J{WNef$^33MIwvK^$Cv(P(_o{p#p}d)X2%NA z{<;InWp6?3E9!)&i)TjXuFd7HVdDr@y-hu{mRsNU%;k*tGigzNv@^Riv!-3gy8X(t zyV=X^=@ciIV`l52`{ynC*YZ*>7vEO*y{G-t@YCZC`j)Q~#mCHK=bAgkRdttqm;Qs` zrO=wlR@jn&_UGp6^`@UypL_oO{HDYcL`cx=XToC~qR6+njJU~A_|WrQPJS+~eF3MB z)AurwS(91vT#V1c&&e7LbOzt&rSp}U`SkgMw7ayVUR&>ykF&mWtlEu{ff4+kaSs+I zy$7|o%YOGwcf9MO9Ypy<Z$dxHFN>G@N9DP)w<N5jq%Ux=^!s;X7P<{!y$NnEBr5~} z)W>?iDJB6w6B<h@$pQeLWB`DF5CHJ<1zb-709Qr;;LHFh_K^+%VAv<>4~qk3W%mA~ zK^L7gX|3}OZN$(0Dn~}ftTZEXByr?-W;*`@j8+L-M?xhybTd?BeidzC*0H=rBa%83 zAqa*X3W_kw5KKXQ0#Xs-rEt(PD=TB13DkJsCXc&aX-2#AiEA8e7LgC_`z|d)_O<)W zzIQlO7_35QSXlG)^z=chsZUdD>(ko$x)#SS7;E4C*!zKhObmRlWhMsRD3-gfI#3+o z;`(|P*w4#`%miE;j-hVIE?!WlP4;575ZO=bCA%MclIhP#vuAx6T3Ma3_4#4mg=5_e z9o*(BRiNdxanPSZ6~+?g?4^;aPed4Eat!X>gbc=aaAC*rXN{X|PaZkxt5T-~A8DYx zx3nXi;$Nd}EsL!@juL%k+`qgFHfy=!jwT2f5T=^`s8&ld-r>^^dyvUZm0=<YHQdYw z(w6aVX#6R%rh9OJVhXx1F9#zAB1pBPlZyJ`Bt0ZkBgYX(`?!BxCaH)CwhIf>dNp-) zvgaTmAysQvyo5gLn-j`@e2axRyYzAUdB1`v+4Hqh26T`8R$W~!tE&3g*7W?cV|8=T zVW+By)@znoiWW5-?8Vi;^oLDY3rSWHx<UxFGVgQ>)X}{2if`rja86@mabm?rN6n5p zz}3~YxvZ$jIKRF9C9;r`0X<60W`o?}SBQF{`VaL+K=y6U;cQx&=G(#5>cWE35M#9M zcZG%1haeT|M|bX=&tcYSp3BQiib$f?$M?S&#VNQJ)aIGo?LPZn`(L8w;t~=k1A7iO zK0aH#9)$1~;DLhYz`p6&Lr^$UC+QIV5A{3LdaJiY8FD`YZ0s{gInY@U+05|pLP|D4 z0EUB@$^9LR{f*l}l?Pf#p5Ak2rmB<}aYDq)%L`>Zq)q;vC_3Q!?(S|4*q%KP5#Fn@ z-H6!Q+8WNt$Ozcp-gXwGLGpMGfsv1BguID~iE$k=s%Jor7>WVjE@$6fUpokL@c`He z0}s~#n})W|ORox`DD{7LC-my4ngjukDGv~U#BAWV{te^vpLfE4$UPa_nb=s`S^r~5 zd8D=h98x0Tb^cg{rRpwDwr+1uj<SIc9)g_{#)eVK61Pn#4-RhmJHjN}Ww=65r$5SY zL&1BaHxi4t(Z2p&IB>n8`yj{p@5M!QcYFwBSsCN&*~j+AC0;zfu#j;KM7>LiomQCe zysVNrgiK4WRFVc7V1&(VZK#Pd?u`bX8k~vpFy*XXNsK})eTTA3kV2I+^)&-G;jF$A zx`22X`H1~U*e57<xKGEaT357r$6seXuzi&iGS-#_mVC=FQ*=dk5@32mcugy0i%eAQ z?H?E=K)7DepAoc)UB!aH0Ew#Vu#eo{`4A;SM@Q`56SVXo9=fFR>UksQ)fIi7{G>?D zYNgmLCzozqm5oi__*>RVm}^PjtF7&Cjq7R1PBRxzG2fn|kiP6zP5(W3uy!yGW+FbS zcP1!ap&2nX=e(>$Un97v*a(xKJCZ@D&KmY0x=b@An3jfo3UZbPX0UymmIbR$yOd>_ z2K9A+QNIh>q-AjV@G5TRm4el+Xw@Q})k->o@zJIH@W;Lxw3_D}J2Xb}0da$wWW`^1 zow7~d0kZy!NT6>v#1c{2BDLcg`&7r?ZA?CzL_K}Q-Krmd09H_v+4S$^8)XnikVH5V z6iLDZE>JAMI8URY^KV<DS})rCoIz`u0sEOV1`E7{cz-kE;shE=?ucvpu`w{LG#lG- zib;xAKxzD8p#<?B9jr*4CHNG$f4YB*G=KXy#wb!}BK?AC4wcEB2at4$Ug?6F5Qpt5 z0iQH)C)i!)L>)^=-yvJkWhYt~X`39pY}PN*w)F|Y@yClsHxzEY^B#B7Ebx_XGx}6y zj!;eOw*s<$;?1c(x>i?h1Yt}_lc4-3FE{^#clY<$W!B9rr@0(n6ZenxuYk)hBJlH5 zk-B7B>(tKcFVAIKuPrZ25pv^#oTvN}dNwTS%PvSdz3eq`?Z}$er>+?B5sKIFKe;@q zu^*#PfjevuPrb{3c{@i^K(K>)ZCXc!DnGkM-k4%=p2>$(tMfR!{vF5-qrV}M3Y<Ky zLI0ngp?~63HtYs~_F@wI1n<nyNP8_zvSRC##eA0(N=ED9>=lV<tEC@rI-o`0(`2<K zkJYTQR!2`()mSc;tS`|Y^5yQs<+)|sQErHr8t{j>ZKE`*;GrE?gUoIFhM^ER5Q3XD z2lN#Ih>tLaSJnfGh2(};*=p$A51>Tkp55@#39ziXlmN&hz+~`YL@dN-KXVNdet>uK zfl|ROK^P#lu$fobgTl(hrrr?N$xN-s5OC0M5_t-@ULEIlzS7>6=~NjFOQb3qA+G;) zQHOW;!pzJ~;omOT1l@;KV>1Fz?Y=Hg9W?`?0Mt61c!Upr(v;paDs=8LZj0vv*)hw~ z%sGNGI_sdqD3MyJy-;UB4^v3MLI1AuLwD2?itR}9ZFdkxdvw9@XMn;H49^m;PaDCO zOSf{XUiW4(>&5r}Y3g=ssffOBv#9Rv?mT6>GL0Wq$7h2ggA;ztoqiR)^;p~IPmS;P zj~r|-68zts*?YXhv!Bl!siOa6>IG~b;&S<Q;VI(i24T5!M;&G3q0i>UxFDy=|LaH@ zf|&fLFd_iJ2Ymhu!N30uj{mXH8Qa^LSvuMNQxuF3ap2~^=#~MC5CG#pyJhO2FJS-x zBKSWm5WOX>pUK~kQodBXJ*}^KGfO+yiVHOHOqh_S0Vtr*e~=92K+~B#0x2QI5Gdw% z12b3xGB9IE%ZIS`hd9BrjX4cgqYWU?zOMmiFVrsF?A>)PPhKC(o~mrU+GQPbN3zzf z-1nn8GuPhNd_6~>S9ePvJyydFwBCA(lmL~16G4)9xhfQNLnQ75X9Fa1!-!p$$k(6A z<ldr4f=r4+a5?O@>&b7|y?&n~F*w)TEw&pXwLPzA2MoRMcZhjjSM5vZ%hjDerwb*G z($dlrAefR5L<5J{6#Pl_`vJ37m;OZ_4?S;JS*+$W*|jnFe6OLEm6byNwrUtNoUPL) z%oWZjGdbLj`$N|9{4a++z+t2}cz%o|3dCso7X>&j%}d0-AfdvKDqpX^7i&9_;zb{D zgZ_Q2vH|KpEp<UFD<{l5A78wg#cQjoc<zQ!<=<T<Q|U$lIz&nc$mf1^!K69>G?X9? zn^gyMAD@pau_*LvdV2b+G`X^bI2G!nz@2;TCl=`E({={i?XI8a=e50`tRfD~{ym}! z1>SO?cE6&QCdp+pS#y`yJDiRtTz%gD;>DNUl!dz6(5EeOer0cUy7zWjE|wkvD#In^ z+Y9~@Z-0pHkV&UbZ8lr4Ebk45$s52;4iH4yu+yZb%-st6qKft3>e;u&?@;aWT(un} zbbCF0Ds;)Bd80r#V@#w8{9QGU%JV#{n2vsw(i{S-{YFIWsJmlk@U_P2`?5^-{+uGt z`|)Ph<?>Fw&7CKjxy34*gd48|6w=mW@^@O4<)GvCd3`v}%*;flkB~nFAy6ElbEJ3A zc$8TWd>;lkQdK<eM#uYVD#LQ-_=J{jWi_}@;Ed(al%zstb$PwrVEOTWa3wC|cfs28 zcrUR3GB`aa%abt7Ll4bhWo_Nt2Hb)?E^RxFf(OyQtU9rOyuc>2=}dxKFTsHUX~CXJ z@5f7stB+Z6Z$Amt_dU?}L0PuvD>{<f9EKHxZ48Km5vG*q3D+eJURzAH8LSA%<GA7E z`6bQ=AyEC7dByjA1you}T^^-Y(sT?&us=JxM%DzV+ywz(kjuRHQ!D~Bw6wIYXl_J% z#IXDyo;YsVcB9GbPBJ+9k^cHYFe#~Q@iIsG=iF}-%T|3743@Y>mcA;<X$ESV$RqF( z`>kaR`@^l+xAyLOQAG2=DKuNxtHDS#7Hr1qHG_W7`w4&^xjoJYfs;q>==0;vZ-7%L z-X2+TyD$iUdnxd5bmV!3Hz`VJWjSdn3I4gLId7=Zw6LRwSkqjbLtj|xU$h!>C)}d^ z{5qsP1%Lv8FH6K{@q0GsN^~=<mE*w;$`jW>ofsn~+St?Y9Yq9uUJr1=z#Z8%!R?^R zKgU`2xvwbS1pBgdj1*JUx=u>Wp5KY0u@*1_@^4fPu*n-D+@fjJ8SgtlC>dh%d0ze~ z!OdO^guS)}?iUi@!u|LYKFo7FaqIc+aZ5==l#ApO>>qV78h342(Eut)0{v&}$X{HP z;OAk2DqI4fnog=S-sB?<Og*6m6qCCSmrEZ|ksTOpSHNORoFZd9|DdJ*a>bb6g^5Vl zfp7d~Y0-@>L0dv%tDyi!B=i3;_f|oXwN18g;qLD4?(XhR<4)u5E{(gpyEhJvyIbS# z+R(V`U+*_F7c(*6Ip^{x;<+fQ*btl8nYl98T1lu83+1mL{z`XNcj&%?sZS}N!F=Aj zVV`~ICs^UtK=eJw&v<_*a=|>%gBi-`n?5QP)1UV5!iJ}F35!89HId?Ba|-Mu&d&u6 z2;GUD$1$O)3Pogz5;+ISIZ|YidrN-x7i$a53=#boEuF4~met>W_8<x4>`gue5(ow; zk+^6;y7kvNtp=RmAi`J1tfyIUlNr-Ftl6<z^j||bwbx;g=2p@_5_AXd;PZx8H=y5A zpwBT^u?9bi<2q6LmM0XTfbKyDPsLC7Iv|4@pn|TYQpV%3eFp>vivGSGC>N)dRau40 zJlu&NDS#Ygem9;wXZ~w4or1)?rV|DuhOqBJM1G?<D6_~>YD6pO1Ete@r?mR8>#8mp zy_=d9MS4+dBieTlqIffU37t3;fd2}YCXWZ+Tjl8%lt1w2sTvri_@IbOy#}bpbo^{3 zBqU1J%zh<!Zu(J%&HH1-1Q4MUIMOLv<pOsalh%dLWwaJxhS-&&C#f|;`g>f=K0jVG zTu&T%uFvGxB!SWQaf0I<$|H1??tKf#bv%jbZ%o632{{~q2lNuJvnxG|AJ680X_S+@ z^TD+VwH_vvxw#E24y*2p&aY22^(qX#=wmoQlhBgNWSBai%g@OkPId-d7I0yh(SxNO z$aEfgPG60FsxfFi9+B9u{Vv6ujCSHjPX&Tl!wb>^<U-(cf^;%4KOTy_>e0He&AG5| zO%ON#Xi|rDpA%GLPdb?f%N>dr+b5o@S!sM&VEO4Dr5|AVgGm*(p6J9e)+BzGhI?Uk z9G?yOk?#5r(4UV~eyNbYf9L5qu(zUunwFpo`4M&2sv12EF$y_lVxGj>NA}gbdk>k- z`Lw+B=3<Mhk8b|t(qdaY93>=+^#}`w!w3F?#}b@?JtC_3gpb)xywXnk%Ge4>gIOwS zS^>j_NjXmMBPGyYGxlwaGj*CQu2B9XDV{Emig#Hdv9r(Ib$bdYb!~{{O5G2d;RucP zH3%IQH8LqfO*XkJP$nxxs82!3u_V?v+EL!#*<{N<n3i|iolub1KZPswT>%^V=Y`h^ zzrS+<jBEu!8N;`R`)g@24U@pu^Wo1zxzexG8t?G>W9R}rV{Ct3l%J<oHHO@f29Xr3 zS`Y7?F>j=}Ll!nKk?`mRY`J1R(2>XxCf__{`eM}PV$q?-2sN)BxDeE_w6NEE!41~x z574ukM5uLy^)?2{LE$jW`!6T_^hzUU43G|`3kJ`O1}Tu60fW!z$8E}J4`haMIq@P7 zQ074fGo~iO?E7J{Sm{iL_9(gCgmW?l3adPhTN(xxPK<n8-hYFl=8<oYE=uXg0D<#O zw`JoaeGyfpS4%O`z!|&b?=?AMyy#(_93Q-=OG!vY0!?xmE2Z^hXa|~KhLzEKayE~< zVON)ZSdn<Wy?B2c?Ox433Awdk+li~9-m$ecPAPw$k|FcBUucQ-KqZwc=JL`LbR`5e zSq}#0kw)6K`IPNbU#iJu5oy&CqtOq9+OjZWQ?wUg?G4J4yzfD?Bh0PNQi(@ijz>Vj z%M<8dZh7f}GB7Y8@UQBD8(9*9T5SvB?>>wVUZ9(O9B2lI%J279&RyF}iK5O`bN552 zpJ;wVPYS>cn5L<qM=;q7p*;(#y=pFC0qLxo#!)pvzDQ192A^U?Evm@`bJnKM;~lf{ z!?Kvo^FtHfq%cy!X61F*&=GpS9u$Jd<FrjeCf=ml6;LbIdNrYw56Cd4C&#b0fn~5J zDVV<%oCL}jDC-#1Zhp#9w!d`PN+P7$3r3+$L&~R;yAtPez!0(0CX8#<4;p;_UI^eT zLZZ}DBZWi<ebkUoSA3%epuTh_hzwy%LX{+AvGzyw;FiJPlBGw;B}E-oawFe@NsvH< z8k1HK%i9aG{cwnhcc-~Z(&w%WHke0&kq#h=BBPZh#U&NN@K^Aq@~ReNQ}evXEAA@& zfn47YT9@jfE+z7bDKWj_#dp>Hv<>7<*wvEnBBCZnE>F=*MFIzmYgWnEzi*v6k&?xg zO|n@^q9Clc6PGB)(i6c-92bV=+;@zGB_bxm?LcYK!{U+@OxC7slsAM-(8k(6fr-17 z8>^28lo7-jj94yAfzRV|^MW}oBxRXW8ME>Fd8K++&W$)-c2$?I<oh^Vi|8#Ap*PV> z<KJB#YW+^+990ROY*$Q8&QNXBSEK2!y}AdQI>c{vdM^=BnTDVdDBnGvL@7~B%MI_= zeT}`mUX)MJ4;8r^^#+lS?+1&!LgfYn%g}{E$ibi28ilIm?{lv>O^x!On6E~3A})Ln z@LTh3gLJS%Mdk+ts_~>Jy*k)_$Xig=5#bN0?cki$h8<Z;K(DSgn2u6z<8VY4GDMvR z@iUo4eBb^Mnu*~uD*)q4DMLUoUf_Z%5O$CnJ*u{hFGW$pmM%GRtRpUmOn{ZR`62L- zaohbj1Gq!O=x^PfG^FfBvL>r(0bA+;H-Viq+wbMDpN3e&%RZFz&}C20r>MJ-F2PW* z>3Zh@^Kgj2WWnbGfOYoMj`w*j-5BqeEDCveH4WVPlfh8-1I_aQ3V5)Hj^Pj5U&2L6 z36h+4>7%d#;iAqRFanca^Eqsp;@W+E6Ki7E)8nbvd5}1)m&2HJA!QJ7nDqOD=Ou?U zZkLIHexhWM-8Un6O1D`@HspJ#$jX~-^j91f*9$9IPPfJ6@`i!n?AaxtGNLE%^x=eL zQlL0V^D3C^4UWzM^!YsCg2VS=vDN$}J7~@C^H>I+#zKLde{6jBw<=D4C4kJ0>2`29 z^nSPp<OPoSzzOKDY<U34-d=7l_WL7B5iWd~;#Ow#BwgsETgBsg&!FeXhD9(aLIw5s z3b5}eHI3d2L{D5#cz$cA;c<e>rj3qBRlbV=2tw92Jj}MMM??t=e(p`i24E^h?C*nI zm0}GeRCk%o>7sYo35t7JY`DW*e=o_snkFQ6=fmpgkT_!q@<l}{isETVdaCwt5iv}^ zRXq0=gZA7@w3mt4H#qvI6?yWlR;MLt<&P9d^9kLK8uZbLXx~}-p<K6NtyV)(W-?QC zT^*q`YGb=xpNuFMN+;SCo-D8chCcIE{@Z(A*U4$n;d<tGVthpAdMKkLbK#Q2eM)>- z5J*i%OXPdqzvgQ&wbxX%sIo0LU}JvO#R$R#6E)10Qod5B-}(1&JlPGP6Um)OJ}*8Z z5=B0}-DNV5|9n?~s=a^v`f&afhs|O_u%W-X{fEa%F|KmYv3<ozdvoTSwA9ITcH3T> zuDw^*M7|q37mVTdI&R@3FI0}t0x`<?op|3tE@)8(_0ik@>EE^;LHpPHvz9IvY6{ql z_r1o(M&uo)LoLHnuNZ|!^~k1uyZwBU9B$v|YluiEC>YWs;`0XIU};{jxk1LoJ3Q|J z3N-hzXMvIdM4DbIkCZN<N92--l7+I!nr~iM0=>0YnZis-dVtZRs=hnz8)RmE?ht$} z0h%?kps(56o%1uu9XewrN+3A?H^h~`P*)5{pe6_ec>ej=|K6nhPaJLz<gfh49v~3d z&xij96b>`?A1HiF+s8IV15+qh3d$PjTyp82U7DhL>P~a^9YbtMBWc8XAB;?NGXi&g zpKV>ESY;X7>E<DPQA)!S?}xbf0g<2yx)t=A5b>G>b$i;pPDQ=Bm5s<L`udE##q8A~ z-`V&mmzmCx*%M{&Cf`%1%jMPPUAx7xT;%A%eeWjdIKAxNh<*Y}(&v0Dv?;b9f8>G& z9670AXeYlUCs{Phk3`w@)>!6OY$}|O82e-H1V;`bS22d<SuGuX{cdAmVBkZ<=XP{7 zGTL>0N9DQ*>aM4HgoFy0>x-_|>C5xR^(X~0`~udyyzcU`7<AOjW=$G0j9gt8Y2TV+ z{RD{=^7wHQSk^DMI(0Q`v>HmAn(nT|?-_myoV%0A5mJ4P0wMdKj*brVv$HcCPeE2z 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�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 literal 0 HcmV?d00001 diff --git a/libs/fontawesomefx-commons-8.13.jar b/libs/fontawesomefx-commons-8.13.jar new file mode 100644 index 0000000000000000000000000000000000000000..5acff3236bf2ef0707d80cb8708215d7275d7151 GIT binary patch literal 20607 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 literal 0 HcmV?d00001 diff --git a/libs/fontawesomefx-fontawesome-4.7.0-1.jar b/libs/fontawesomefx-fontawesome-4.7.0-1.jar new file mode 100644 index 0000000000000000000000000000000000000000..8360e5db9fe5ae6f92f04868632fc8d3b056a10b GIT binary patch literal 135304 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 y}WV`LP&IYLwMM%|NWp^puI4JT%U&y@N3!I2< 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 literal 0 HcmV?d00001 diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index 8b34b862039a..66f512c191f9 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -4,6 +4,7 @@ import seedu.address.logic.commands.CommandResult; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.model.event.Event; import seedu.address.model.person.Person; /** @@ -22,6 +23,9 @@ public interface Logic { /** Returns an unmodifiable view of the filtered list of persons */ ObservableList<Person> getFilteredPersonList(); + /** Returns an unmodifiable view of the filtered list of events */ + ObservableList<Event> getFilteredEventList(); + /** Returns the list of input entered by the user, encapsulated in a {@code ListElementPointer} object */ ListElementPointer getHistorySnapshot(); } diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index 9f6846bdfc74..94ce53a409d7 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -11,6 +11,7 @@ import seedu.address.logic.parser.AddressBookParser; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.Model; +import seedu.address.model.event.Event; import seedu.address.model.person.Person; /** @@ -50,6 +51,11 @@ public ObservableList<Person> getFilteredPersonList() { return model.getFilteredPersonList(); } + @Override + public ObservableList<Event> getFilteredEventList() { + return model.getFilteredEventList(); + } + @Override public ListElementPointer getHistorySnapshot() { return new ListElementPointer(history.getHistory()); diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 4ce88257c0d6..457566528426 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -42,6 +42,9 @@ void updatePerson(Person target, Person editedPerson) /** Returns an unmodifiable view of the filtered person list */ ObservableList<Person> getFilteredPersonList(); + /** Returns an unmodifiable view of the filtered event list */ + ObservableList<Event> getFilteredEventList(); + /** * Updates the filter of the filtered person list to filter by the given {@code predicate}. * @throws NullPointerException if {@code predicate} is null. diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index e87b8bd6db83..b9987e8fbf00 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -28,6 +28,7 @@ public class ModelManager extends ComponentManager implements Model { private final AddressBook addressBook; private final FilteredList<Person> filteredPersons; + private final FilteredList<Event> filteredEvents; /** * Initializes a ModelManager with the given addressBook and userPrefs. @@ -40,6 +41,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, UserPrefs userPrefs) { this.addressBook = new AddressBook(addressBook); filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); + filteredEvents = new FilteredList<>(this.addressBook.getEventList()); } public ModelManager() { @@ -117,6 +119,15 @@ public ObservableList<Person> getFilteredPersonList() { return FXCollections.unmodifiableObservableList(filteredPersons); } + /** + * Returns an unmodifiable view of the list of {@code Event} backed by the internal list of + * {@code addressBook} + */ + @Override + public ObservableList<Event> getFilteredEventList() { + return FXCollections.unmodifiableObservableList(filteredEvents); + } + @Override public void updateFilteredPersonList(Predicate<Person> predicate) { requireNonNull(predicate); diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java new file mode 100644 index 000000000000..6ee2353ec369 --- /dev/null +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -0,0 +1,122 @@ +package seedu.address.ui; + +import java.time.Duration; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.ZoneId; +import java.util.ArrayList; + +import com.calendarfx.model.Calendar; +import com.calendarfx.model.CalendarSource; +import com.calendarfx.model.Entry; +import com.calendarfx.model.Interval; +import com.calendarfx.view.CalendarView; +import com.google.common.eventbus.Subscribe; + +import javafx.application.Platform; +import javafx.collections.ObservableList; +import javafx.fxml.FXML; + +import javafx.scene.layout.Region; +import seedu.address.commons.events.model.AddressBookChangedEvent; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.Event; + + +/** + * The Calendar Panel of the App. + */ +public class CalendarPanel extends UiPart<Region> { + private static final String FXML = "CalendarPanel.fxml"; + + @FXML + private CalendarView calendarView; + + private ObservableList<Event> eventList; + + public CalendarPanel(ObservableList<Event> eventObservableList) { + super(FXML); + + this.eventList = eventObservableList; + + calendarView = new CalendarView(); + calendarView.setRequestedTime(LocalTime.now()); + calendarView.setToday(LocalDate.now()); + calendarView.setTime(LocalTime.now()); + + updateCalendar(); + disableViews(); + registerAsAnEventHandler(this); + } + + /** + * Creates a new a calendar with the update information + */ + private void updateCalendar() { + setTime(); + CalendarSource calendarSource = new CalendarSource("My Calendar"); + int styleNum = 1; + Calendar calendar = new Calendar("Appointments"); + calendar.setStyle(Calendar.Style.getStyle(styleNum)); + calendar.setLookAheadDuration(Duration.ofDays(365)); + + calendarSource.getCalendars().add(calendar); + + ArrayList<Entry> entries = getEntries(eventList); + + for (Entry entry : entries) { + calendar.addEntry(entry); + } + calendarView.getCalendarSources().add(calendarSource); + } + + private ArrayList<Entry> getEntries(ObservableList<Event> eventList) { + ArrayList<Entry> entries = new ArrayList<>(); + for (Event event : eventList) { + if (event instanceof Appointment) { + entries.add(getEntry(event)); + } + } + return entries; + } + + private void setTime() { + calendarView.setToday(LocalDate.now()); + calendarView.setTime(LocalTime.now()); + calendarView.getCalendarSources().clear(); + } + + private Entry getEntry(Event event) { + Appointment appointment = (Appointment) event; + LocalDateTime ldtstart = LocalDateTime.ofInstant( + appointment.getTime().value.getTime().toInstant(), ZoneId.systemDefault()); + LocalDateTime ldtend = LocalDateTime.ofInstant( + appointment.getEndTime().value.getTime().toInstant(), ZoneId.systemDefault()); + String description = appointment.getTitle().value; + return new Entry(description, new Interval(ldtstart, ldtend)); + } + + @Subscribe + private void handleNewAppointmentEvent(AddressBookChangedEvent event) { + eventList = event.data.getEventList(); + Platform.runLater( + this::updateCalendar + ); + } + + public CalendarView getRoot() { + return this.calendarView; + } + + /** + * Remove clutter from interface + */ + private void disableViews() { + calendarView.setShowAddCalendarButton(false); + calendarView.setShowSearchField(false); + calendarView.setShowSearchResultsTray(false); + calendarView.setShowPrintButton(false); + calendarView.showDayPage(); + } +} diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 20ad5fee906a..97603ec9f052 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -34,13 +34,11 @@ public class MainWindow extends UiPart<Stage> { private Logic logic; // Independent Ui parts residing in this Ui container - private BrowserPanel browserPanel; private PersonListPanel personListPanel; private Config config; private UserPrefs prefs; + private CalendarPanel calendarPanel; - @FXML - private StackPane browserPlaceholder; @FXML private StackPane commandBoxPlaceholder; @@ -57,6 +55,9 @@ public class MainWindow extends UiPart<Stage> { @FXML private StackPane statusbarPlaceholder; + @FXML + private StackPane calendarPlaceholder; + public MainWindow(Stage primaryStage, Config config, UserPrefs prefs, Logic logic) { super(FXML, primaryStage); @@ -116,9 +117,6 @@ private void setAccelerator(MenuItem menuItem, KeyCombination keyCombination) { * Fills up all the placeholders of this window. */ void fillInnerParts() { - browserPanel = new BrowserPanel(); - browserPlaceholder.getChildren().add(browserPanel.getRoot()); - personListPanel = new PersonListPanel(logic.getFilteredPersonList()); personListPanelPlaceholder.getChildren().add(personListPanel.getRoot()); @@ -130,6 +128,9 @@ void fillInnerParts() { CommandBox commandBox = new CommandBox(logic); commandBoxPlaceholder.getChildren().add(commandBox.getRoot()); + + calendarPanel = new CalendarPanel(logic.getFilteredEventList()); + calendarPlaceholder.getChildren().add(calendarPanel.getRoot()); } void hide() { @@ -185,10 +186,6 @@ public PersonListPanel getPersonListPanel() { return this.personListPanel; } - void releaseResources() { - browserPanel.freeResources(); - } - @Subscribe private void handleShowHelpEvent(ShowHelpRequestEvent event) { logger.info(LogsCenter.getEventHandlingLogMessage(event)); diff --git a/src/main/java/seedu/address/ui/UiManager.java b/src/main/java/seedu/address/ui/UiManager.java index 3fd3c17be156..fa00b25e179b 100644 --- a/src/main/java/seedu/address/ui/UiManager.java +++ b/src/main/java/seedu/address/ui/UiManager.java @@ -66,7 +66,6 @@ public void start(Stage primaryStage) { public void stop() { prefs.updateLastUsedGuiSetting(mainWindow.getCurrentGuiSetting()); mainWindow.hide(); - mainWindow.releaseResources(); } private void showFileOperationAlertAndWait(String description, String details, Throwable cause) { diff --git a/src/main/resources/view/CalendarPanel.fxml b/src/main/resources/view/CalendarPanel.fxml new file mode 100644 index 000000000000..e361e0a1f8c6 --- /dev/null +++ b/src/main/resources/view/CalendarPanel.fxml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.layout.BorderPane?> +<?import javafx.scene.layout.StackPane?> + +<StackPane xmlns="http://javafx.com/javafx/8.0.111"> + <children> + <BorderPane prefHeight="200.0" prefWidth="200.0" /> + </children> +</StackPane> \ No newline at end of file diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index 1dadb95b6ffe..3b038d0e314a 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -54,7 +54,7 @@ <StackPane fx:id="personListPanelPlaceholder" VBox.vgrow="ALWAYS"/> </VBox> - <StackPane fx:id="browserPlaceholder" prefWidth="340" > + <StackPane fx:id="calendarPlaceholder" prefWidth="200" > <padding> <Insets top="10" right="10" bottom="10" left="10" /> </padding> From 5f652a5e1b8c230250b4fbdbed8cc3f7a6ca7656 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 02:40:44 +0800 Subject: [PATCH 142/288] Fix Checkstyle --- .../SetAppointmentCommandParserTest.java | 47 ++++--------------- 1 file changed, 8 insertions(+), 39 deletions(-) diff --git a/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java b/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java index 57cc5557ebe7..8a598a3611ee 100644 --- a/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java @@ -1,62 +1,27 @@ package seedu.address.logic.parser; import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.logic.commands.CommandTestUtil.ADDRESS_DESC_AMY; -import static seedu.address.logic.commands.CommandTestUtil.ADDRESS_DESC_BOB; -import static seedu.address.logic.commands.CommandTestUtil.EMAIL_DESC_AMY; -import static seedu.address.logic.commands.CommandTestUtil.EMAIL_DESC_BOB; import static seedu.address.logic.commands.CommandTestUtil.END_TIME_DESC; -import static seedu.address.logic.commands.CommandTestUtil.INVALID_ADDRESS_DESC; -import static seedu.address.logic.commands.CommandTestUtil.INVALID_EMAIL_DESC; import static seedu.address.logic.commands.CommandTestUtil.INVALID_END_TIME_DESC; -import static seedu.address.logic.commands.CommandTestUtil.INVALID_NAME_DESC; -import static seedu.address.logic.commands.CommandTestUtil.INVALID_PHONE_DESC; import static seedu.address.logic.commands.CommandTestUtil.INVALID_START_TIME_DESC; -import static seedu.address.logic.commands.CommandTestUtil.INVALID_TAG_DESC; import static seedu.address.logic.commands.CommandTestUtil.INVALID_TITLE_DESC; -import static seedu.address.logic.commands.CommandTestUtil.INVALID_TITLE_DESC; -import static seedu.address.logic.commands.CommandTestUtil.NAME_DESC_AMY; -import static seedu.address.logic.commands.CommandTestUtil.NAME_DESC_BOB; -import static seedu.address.logic.commands.CommandTestUtil.PHONE_DESC_AMY; -import static seedu.address.logic.commands.CommandTestUtil.PHONE_DESC_BOB; -import static seedu.address.logic.commands.CommandTestUtil.PREAMBLE_NON_EMPTY; import static seedu.address.logic.commands.CommandTestUtil.PREAMBLE_WHITESPACE; import static seedu.address.logic.commands.CommandTestUtil.START_TIME_DESC; -import static seedu.address.logic.commands.CommandTestUtil.TAG_DESC_FRIEND; -import static seedu.address.logic.commands.CommandTestUtil.TAG_DESC_HUSBAND; import static seedu.address.logic.commands.CommandTestUtil.TITLE_DESC; -import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_AMY; -import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_BOB; -import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_AMY; -import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_BOB; import static seedu.address.logic.commands.CommandTestUtil.VALID_END_TIME; -import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_AMY; -import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_BOB; -import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_AMY; -import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_BOB; import static seedu.address.logic.commands.CommandTestUtil.VALID_START_TIME; -import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; -import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; import org.junit.Test; -import seedu.address.logic.commands.AddCommand; import seedu.address.logic.commands.SetAppointmentCommand; import seedu.address.model.event.Appointment; import seedu.address.model.event.Event; import seedu.address.model.event.EventTime; import seedu.address.model.event.Title; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; -import seedu.address.model.tag.Tag; import seedu.address.testutil.EventBuilder; -import seedu.address.testutil.PersonBuilder; public class SetAppointmentCommandParserTest { private SetAppointmentCommandParser parser = new SetAppointmentCommandParser(); @@ -66,7 +31,8 @@ public void parse_allFieldsPresent_success() { Event expectedAppointment = new EventBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); // whitespace only preamble - assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + START_TIME_DESC + END_TIME_DESC, new SetAppointmentCommand((Appointment) expectedAppointment)); + assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + new SetAppointmentCommand((Appointment) expectedAppointment)); } @Test @@ -101,12 +67,15 @@ public void parse_compulsoryFieldMissing_failure() { @Test public void parse_invalidValue_failure() { // invalid title - assertParseFailure(parser, INVALID_TITLE_DESC + START_TIME_DESC + END_TIME_DESC, Title.MESSAGE_TITLE_CONSTRAINTS); + assertParseFailure(parser, INVALID_TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + Title.MESSAGE_TITLE_CONSTRAINTS); // invalid start time - assertParseFailure(parser, TITLE_DESC + INVALID_START_TIME_DESC + END_TIME_DESC, EventTime.MESSAGE_TIME_CONSTRAINTS); + assertParseFailure(parser, TITLE_DESC + INVALID_START_TIME_DESC + END_TIME_DESC, + EventTime.MESSAGE_TIME_CONSTRAINTS); // invalid end time - assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + INVALID_END_TIME_DESC, EventTime.MESSAGE_TIME_CONSTRAINTS); + assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + INVALID_END_TIME_DESC, + EventTime.MESSAGE_TIME_CONSTRAINTS); } } From ebd2d12147a65508c38608bf5a40fe4e5016f267 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 04:39:04 +0800 Subject: [PATCH 143/288] Include CalendarFx Libraries in build --- build.gradle | 1 + src/main/java/seedu/address/ui/CalendarPanel.java | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 50cd2ae52efc..a03270bf7ad9 100644 --- a/build.gradle +++ b/build.gradle @@ -40,6 +40,7 @@ jacocoTestReport { dependencies { String testFxVersion = '4.0.7-alpha' + compile fileTree(dir: 'libs', include: '*.jar') compile group: 'org.fxmisc.easybind', name: 'easybind', version: '1.0.3' compile group: 'org.controlsfx', name: 'controlsfx', version: '8.40.11' diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java index 6ee2353ec369..ca6f751ea30a 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -56,9 +56,8 @@ public CalendarPanel(ObservableList<Event> eventObservableList) { private void updateCalendar() { setTime(); CalendarSource calendarSource = new CalendarSource("My Calendar"); - int styleNum = 1; Calendar calendar = new Calendar("Appointments"); - calendar.setStyle(Calendar.Style.getStyle(styleNum)); + calendar.setStyle(Calendar.Style.getStyle(0)); calendar.setLookAheadDuration(Duration.ofDays(365)); calendarSource.getCalendars().add(calendar); @@ -117,6 +116,6 @@ private void disableViews() { calendarView.setShowSearchField(false); calendarView.setShowSearchResultsTray(false); calendarView.setShowPrintButton(false); - calendarView.showDayPage(); + calendarView.showMonthPage(); } } From 3ab940bc1a8dfddf7819c9761497eb8ea44895b1 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 04:53:33 +0800 Subject: [PATCH 144/288] Checkstyle fix --- src/main/resources/view/CalendarPanel.fxml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/view/CalendarPanel.fxml b/src/main/resources/view/CalendarPanel.fxml index e361e0a1f8c6..9c41a71b5378 100644 --- a/src/main/resources/view/CalendarPanel.fxml +++ b/src/main/resources/view/CalendarPanel.fxml @@ -7,4 +7,4 @@ <children> <BorderPane prefHeight="200.0" prefWidth="200.0" /> </children> -</StackPane> \ No newline at end of file +</StackPane> From 2e4731109780f2ae480c956df052226d56d85e55 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 05:01:13 +0800 Subject: [PATCH 145/288] Checkstyle and Test fix --- docs/team/johndoe.adoc | 4 ---- .../java/seedu/address/testutil/modelstub/ModelStub.java | 6 ++++++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/team/johndoe.adoc b/docs/team/johndoe.adoc index 0dfa757e454b..7158c0e70222 100644 --- a/docs/team/johndoe.adoc +++ b/docs/team/johndoe.adoc @@ -51,8 +51,6 @@ _{you can add/remove categories in the list above}_ include::../UserGuide.adoc[tag=undoredo] -include::../UserGuide.adoc[tag=dataencryption] - == Contributions to the Developer Guide |=== @@ -61,8 +59,6 @@ include::../UserGuide.adoc[tag=dataencryption] include::../DeveloperGuide.adoc[tag=undoredo] -include::../DeveloperGuide.adoc[tag=dataencryption] - == PROJECT: PowerPointLabs diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index 7f92e42d75d7..2fc2726a9bea 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -51,6 +51,12 @@ public ObservableList<Person> getFilteredPersonList() { return null; } + @Override + public ObservableList<Event> getFilteredEventList() { + fail("This method should not be called."); + return null; + } + @Override public void updateFilteredPersonList(Predicate<Person> predicate) { fail("This method should not be called."); From 40ce9545944ef5607a41dc09de94073a4db12f08 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 02:40:44 +0800 Subject: [PATCH 146/288] Fix Checkstyle (cherry picked from commit 5f652a5) --- .../SetAppointmentCommandParserTest.java | 47 ++++--------------- 1 file changed, 8 insertions(+), 39 deletions(-) diff --git a/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java b/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java index 57cc5557ebe7..8a598a3611ee 100644 --- a/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java @@ -1,62 +1,27 @@ package seedu.address.logic.parser; import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.logic.commands.CommandTestUtil.ADDRESS_DESC_AMY; -import static seedu.address.logic.commands.CommandTestUtil.ADDRESS_DESC_BOB; -import static seedu.address.logic.commands.CommandTestUtil.EMAIL_DESC_AMY; -import static seedu.address.logic.commands.CommandTestUtil.EMAIL_DESC_BOB; import static seedu.address.logic.commands.CommandTestUtil.END_TIME_DESC; -import static seedu.address.logic.commands.CommandTestUtil.INVALID_ADDRESS_DESC; -import static seedu.address.logic.commands.CommandTestUtil.INVALID_EMAIL_DESC; import static seedu.address.logic.commands.CommandTestUtil.INVALID_END_TIME_DESC; -import static seedu.address.logic.commands.CommandTestUtil.INVALID_NAME_DESC; -import static seedu.address.logic.commands.CommandTestUtil.INVALID_PHONE_DESC; import static seedu.address.logic.commands.CommandTestUtil.INVALID_START_TIME_DESC; -import static seedu.address.logic.commands.CommandTestUtil.INVALID_TAG_DESC; import static seedu.address.logic.commands.CommandTestUtil.INVALID_TITLE_DESC; -import static seedu.address.logic.commands.CommandTestUtil.INVALID_TITLE_DESC; -import static seedu.address.logic.commands.CommandTestUtil.NAME_DESC_AMY; -import static seedu.address.logic.commands.CommandTestUtil.NAME_DESC_BOB; -import static seedu.address.logic.commands.CommandTestUtil.PHONE_DESC_AMY; -import static seedu.address.logic.commands.CommandTestUtil.PHONE_DESC_BOB; -import static seedu.address.logic.commands.CommandTestUtil.PREAMBLE_NON_EMPTY; import static seedu.address.logic.commands.CommandTestUtil.PREAMBLE_WHITESPACE; import static seedu.address.logic.commands.CommandTestUtil.START_TIME_DESC; -import static seedu.address.logic.commands.CommandTestUtil.TAG_DESC_FRIEND; -import static seedu.address.logic.commands.CommandTestUtil.TAG_DESC_HUSBAND; import static seedu.address.logic.commands.CommandTestUtil.TITLE_DESC; -import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_AMY; -import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_BOB; -import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_AMY; -import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_BOB; import static seedu.address.logic.commands.CommandTestUtil.VALID_END_TIME; -import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_AMY; -import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_BOB; -import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_AMY; -import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_BOB; import static seedu.address.logic.commands.CommandTestUtil.VALID_START_TIME; -import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; -import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; import org.junit.Test; -import seedu.address.logic.commands.AddCommand; import seedu.address.logic.commands.SetAppointmentCommand; import seedu.address.model.event.Appointment; import seedu.address.model.event.Event; import seedu.address.model.event.EventTime; import seedu.address.model.event.Title; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Person; -import seedu.address.model.person.Phone; -import seedu.address.model.tag.Tag; import seedu.address.testutil.EventBuilder; -import seedu.address.testutil.PersonBuilder; public class SetAppointmentCommandParserTest { private SetAppointmentCommandParser parser = new SetAppointmentCommandParser(); @@ -66,7 +31,8 @@ public void parse_allFieldsPresent_success() { Event expectedAppointment = new EventBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); // whitespace only preamble - assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + START_TIME_DESC + END_TIME_DESC, new SetAppointmentCommand((Appointment) expectedAppointment)); + assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + new SetAppointmentCommand((Appointment) expectedAppointment)); } @Test @@ -101,12 +67,15 @@ public void parse_compulsoryFieldMissing_failure() { @Test public void parse_invalidValue_failure() { // invalid title - assertParseFailure(parser, INVALID_TITLE_DESC + START_TIME_DESC + END_TIME_DESC, Title.MESSAGE_TITLE_CONSTRAINTS); + assertParseFailure(parser, INVALID_TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + Title.MESSAGE_TITLE_CONSTRAINTS); // invalid start time - assertParseFailure(parser, TITLE_DESC + INVALID_START_TIME_DESC + END_TIME_DESC, EventTime.MESSAGE_TIME_CONSTRAINTS); + assertParseFailure(parser, TITLE_DESC + INVALID_START_TIME_DESC + END_TIME_DESC, + EventTime.MESSAGE_TIME_CONSTRAINTS); // invalid end time - assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + INVALID_END_TIME_DESC, EventTime.MESSAGE_TIME_CONSTRAINTS); + assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + INVALID_END_TIME_DESC, + EventTime.MESSAGE_TIME_CONSTRAINTS); } } From 112d22202f65c6313d9f2d2dbf6fdd6c6ef6f331 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 06:07:40 +0800 Subject: [PATCH 147/288] Modify UI system test andremove BrowserPanel --- .../events/model/AddressBookChangedEvent.java | 3 +- .../parser/SetAppointmentCommandParser.java | 2 +- .../java/seedu/address/ui/BrowserPanel.java | 72 ------------------- .../guihandles/BrowserPanelHandle.java | 64 ----------------- .../guihandles/CalendarPanelHandle.java | 15 ++++ .../guitests/guihandles/MainWindowHandle.java | 8 +-- .../java/guitests/guihandles/WebViewUtil.java | 7 -- .../seedu/address/ui/BrowserPanelTest.java | 48 ------------- .../systemtests/AddressBookSystemTest.java | 31 ++------ .../systemtests/HelpCommandSystemTest.java | 6 +- 10 files changed, 28 insertions(+), 228 deletions(-) delete mode 100644 src/main/java/seedu/address/ui/BrowserPanel.java delete mode 100644 src/test/java/guitests/guihandles/BrowserPanelHandle.java create mode 100644 src/test/java/guitests/guihandles/CalendarPanelHandle.java delete mode 100644 src/test/java/seedu/address/ui/BrowserPanelTest.java diff --git a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java b/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java index dc9e878ebf5c..4d540cd3391e 100644 --- a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java +++ b/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java @@ -14,6 +14,7 @@ public AddressBookChangedEvent(ReadOnlyAddressBook data) { @Override public String toString() { - return "number of persons " + data.getPersonList().size() + ", number of tags " + data.getTagList().size() + ", number of events " + data.getEventList().size(); + return "number of persons " + data.getPersonList().size() + ", number of tags " + + data.getTagList().size() + ", number of events " + data.getEventList().size(); } } diff --git a/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java b/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java index bf95ac1d4ea6..843f7980c1ab 100644 --- a/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java @@ -50,7 +50,7 @@ public SetAppointmentCommand parse(String args) throws ParseException { Appointment appointment = new Appointment(title, startTime, endTime); return new SetAppointmentCommand(appointment, index); - } catch (IllegalValueException | IllegalArgumentException ive ) { + } catch (IllegalValueException | IllegalArgumentException ive) { throw new ParseException(ive.getMessage(), ive); } } diff --git a/src/main/java/seedu/address/ui/BrowserPanel.java b/src/main/java/seedu/address/ui/BrowserPanel.java deleted file mode 100644 index bb0d61380d5a..000000000000 --- a/src/main/java/seedu/address/ui/BrowserPanel.java +++ /dev/null @@ -1,72 +0,0 @@ -package seedu.address.ui; - -import java.net.URL; -import java.util.logging.Logger; - -import com.google.common.eventbus.Subscribe; - -import javafx.application.Platform; -import javafx.event.Event; -import javafx.fxml.FXML; -import javafx.scene.layout.Region; -import javafx.scene.web.WebView; -import seedu.address.MainApp; -import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.events.ui.PersonPanelSelectionChangedEvent; -import seedu.address.model.person.Person; - -/** - * The Browser Panel of the App. - */ -public class BrowserPanel extends UiPart<Region> { - - public static final String DEFAULT_PAGE = "default.html"; - public static final String SEARCH_PAGE_URL = - "https://se-edu.github.io/addressbook-level4/DummySearchPage.html?name="; - - private static final String FXML = "BrowserPanel.fxml"; - - private final Logger logger = LogsCenter.getLogger(this.getClass()); - - @FXML - private WebView browser; - - public BrowserPanel() { - super(FXML); - - // To prevent triggering events for typing inside the loaded Web page. - getRoot().setOnKeyPressed(Event::consume); - - loadDefaultPage(); - registerAsAnEventHandler(this); - } - - private void loadPersonPage(Person person) { - loadPage(SEARCH_PAGE_URL + person.getName().fullName); - } - - public void loadPage(String url) { - Platform.runLater(() -> browser.getEngine().load(url)); - } - - /** - * Loads a default HTML file with a background that matches the general theme. - */ - private void loadDefaultPage() { - URL defaultPage = MainApp.class.getResource(FXML_FILE_FOLDER + DEFAULT_PAGE); - loadPage(defaultPage.toExternalForm()); - } - - /** - * Frees resources allocated to the browser. - */ - public void freeResources() { - browser = null; - } - - @Subscribe - private void handlePersonPanelSelectionChangedEvent(PersonPanelSelectionChangedEvent event) { - logger.info(LogsCenter.getEventHandlingLogMessage(event)); - loadPersonPage(event.getNewSelection().person); - } -} diff --git a/src/test/java/guitests/guihandles/BrowserPanelHandle.java b/src/test/java/guitests/guihandles/BrowserPanelHandle.java deleted file mode 100644 index bd3633af78f3..000000000000 --- a/src/test/java/guitests/guihandles/BrowserPanelHandle.java +++ /dev/null @@ -1,64 +0,0 @@ -package guitests.guihandles; - -import java.net.URL; - -import guitests.GuiRobot; -import javafx.concurrent.Worker; -import javafx.scene.Node; -import javafx.scene.web.WebEngine; -import javafx.scene.web.WebView; - -/** - * A handler for the {@code BrowserPanel} of the UI. - */ -public class BrowserPanelHandle extends NodeHandle<Node> { - - public static final String BROWSER_ID = "#browser"; - - private boolean isWebViewLoaded = true; - - private URL lastRememberedUrl; - - public BrowserPanelHandle(Node browserPanelNode) { - super(browserPanelNode); - - WebView webView = getChildNode(BROWSER_ID); - WebEngine engine = webView.getEngine(); - new GuiRobot().interact(() -> engine.getLoadWorker().stateProperty().addListener((obs, oldState, newState) -> { - if (newState == Worker.State.RUNNING) { - isWebViewLoaded = false; - } else if (newState == Worker.State.SUCCEEDED) { - isWebViewLoaded = true; - } - })); - } - - /** - * Returns the {@code URL} of the currently loaded page. - */ - public URL getLoadedUrl() { - return WebViewUtil.getLoadedUrl(getChildNode(BROWSER_ID)); - } - - /** - * Remembers the {@code URL} of the currently loaded page. - */ - public void rememberUrl() { - lastRememberedUrl = getLoadedUrl(); - } - - /** - * Returns true if the current {@code URL} is different from the value remembered by the most recent - * {@code rememberUrl()} call. - */ - public boolean isUrlChanged() { - return !lastRememberedUrl.equals(getLoadedUrl()); - } - - /** - * Returns true if the browser is done loading a page, or if this browser has yet to load any page. - */ - public boolean isLoaded() { - return isWebViewLoaded; - } -} diff --git a/src/test/java/guitests/guihandles/CalendarPanelHandle.java b/src/test/java/guitests/guihandles/CalendarPanelHandle.java new file mode 100644 index 000000000000..2daaf8476448 --- /dev/null +++ b/src/test/java/guitests/guihandles/CalendarPanelHandle.java @@ -0,0 +1,15 @@ +package guitests.guihandles; + +import javafx.scene.Node; + +/** + * Provides a handle for CalendarPanel + */ +public class CalendarPanelHandle extends NodeHandle<Node> { + + public static final String CALENDAR_VIEW_ID = "#calendarPlaceholder"; + + protected CalendarPanelHandle(Node rootNode) { + super(rootNode); + } +} diff --git a/src/test/java/guitests/guihandles/MainWindowHandle.java b/src/test/java/guitests/guihandles/MainWindowHandle.java index 34e36054f4fd..df196a92f971 100644 --- a/src/test/java/guitests/guihandles/MainWindowHandle.java +++ b/src/test/java/guitests/guihandles/MainWindowHandle.java @@ -12,7 +12,7 @@ public class MainWindowHandle extends StageHandle { private final CommandBoxHandle commandBox; private final StatusBarFooterHandle statusBarFooter; private final MainMenuHandle mainMenu; - private final BrowserPanelHandle browserPanel; + private final CalendarPanelHandle calendarPanel; public MainWindowHandle(Stage stage) { super(stage); @@ -22,7 +22,7 @@ public MainWindowHandle(Stage stage) { commandBox = new CommandBoxHandle(getChildNode(CommandBoxHandle.COMMAND_INPUT_FIELD_ID)); statusBarFooter = new StatusBarFooterHandle(getChildNode(StatusBarFooterHandle.STATUS_BAR_PLACEHOLDER)); mainMenu = new MainMenuHandle(getChildNode(MainMenuHandle.MENU_BAR_ID)); - browserPanel = new BrowserPanelHandle(getChildNode(BrowserPanelHandle.BROWSER_ID)); + calendarPanel = new CalendarPanelHandle(getChildNode(CalendarPanelHandle.CALENDAR_VIEW_ID)); } public PersonListPanelHandle getPersonListPanel() { @@ -45,7 +45,7 @@ public MainMenuHandle getMainMenu() { return mainMenu; } - public BrowserPanelHandle getBrowserPanel() { - return browserPanel; + public CalendarPanelHandle getCalendarPanel() { + return calendarPanel; } } diff --git a/src/test/java/guitests/guihandles/WebViewUtil.java b/src/test/java/guitests/guihandles/WebViewUtil.java index 99f7db998747..b833b492661f 100644 --- a/src/test/java/guitests/guihandles/WebViewUtil.java +++ b/src/test/java/guitests/guihandles/WebViewUtil.java @@ -3,7 +3,6 @@ import java.net.MalformedURLException; import java.net.URL; -import guitests.GuiRobot; import javafx.scene.web.WebView; /** @@ -22,10 +21,4 @@ public static URL getLoadedUrl(WebView webView) { } } - /** - * If the {@code browserPanelHandle}'s {@code WebView} is loading, sleeps the thread till it is successfully loaded. - */ - public static void waitUntilBrowserLoaded(BrowserPanelHandle browserPanelHandle) { - new GuiRobot().waitForEvent(browserPanelHandle::isLoaded); - } } diff --git a/src/test/java/seedu/address/ui/BrowserPanelTest.java b/src/test/java/seedu/address/ui/BrowserPanelTest.java deleted file mode 100644 index 48aab940f8a8..000000000000 --- a/src/test/java/seedu/address/ui/BrowserPanelTest.java +++ /dev/null @@ -1,48 +0,0 @@ -package seedu.address.ui; - -import static guitests.guihandles.WebViewUtil.waitUntilBrowserLoaded; -import static org.junit.Assert.assertEquals; -import static seedu.address.testutil.EventsUtil.postNow; -import static seedu.address.testutil.TypicalPersons.ALICE; -import static seedu.address.ui.BrowserPanel.DEFAULT_PAGE; -import static seedu.address.ui.UiPart.FXML_FILE_FOLDER; - -import java.net.URL; - -import org.junit.Before; -import org.junit.Test; - -import guitests.guihandles.BrowserPanelHandle; -import seedu.address.MainApp; -import seedu.address.commons.events.ui.PersonPanelSelectionChangedEvent; - -public class BrowserPanelTest extends GuiUnitTest { - private PersonPanelSelectionChangedEvent selectionChangedEventStub; - - private BrowserPanel browserPanel; - private BrowserPanelHandle browserPanelHandle; - - @Before - public void setUp() { - selectionChangedEventStub = new PersonPanelSelectionChangedEvent(new PersonCard(ALICE, 0)); - - guiRobot.interact(() -> browserPanel = new BrowserPanel()); - uiPartRule.setUiPart(browserPanel); - - browserPanelHandle = new BrowserPanelHandle(browserPanel.getRoot()); - } - - @Test - public void display() throws Exception { - // default web page - URL expectedDefaultPageUrl = MainApp.class.getResource(FXML_FILE_FOLDER + DEFAULT_PAGE); - assertEquals(expectedDefaultPageUrl, browserPanelHandle.getLoadedUrl()); - - // associated web page of a person - postNow(selectionChangedEventStub); - URL expectedPersonUrl = new URL(BrowserPanel.SEARCH_PAGE_URL + ALICE.getName().fullName.replaceAll(" ", "%20")); - - waitUntilBrowserLoaded(browserPanelHandle); - assertEquals(expectedPersonUrl, browserPanelHandle.getLoadedUrl()); - } -} diff --git a/src/test/java/systemtests/AddressBookSystemTest.java b/src/test/java/systemtests/AddressBookSystemTest.java index 97cdf96d65b8..69430da20b3d 100644 --- a/src/test/java/systemtests/AddressBookSystemTest.java +++ b/src/test/java/systemtests/AddressBookSystemTest.java @@ -1,18 +1,14 @@ package systemtests; -import static guitests.guihandles.WebViewUtil.waitUntilBrowserLoaded; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import static seedu.address.ui.BrowserPanel.DEFAULT_PAGE; import static seedu.address.ui.StatusBarFooter.SYNC_STATUS_INITIAL; import static seedu.address.ui.StatusBarFooter.SYNC_STATUS_UPDATED; -import static seedu.address.ui.UiPart.FXML_FILE_FOLDER; import static seedu.address.ui.testutil.GuiTestAssert.assertListMatching; -import java.net.MalformedURLException; -import java.net.URL; import java.util.Arrays; + import java.util.Date; import java.util.List; @@ -21,14 +17,13 @@ import org.junit.BeforeClass; import org.junit.ClassRule; -import guitests.guihandles.BrowserPanelHandle; +import guitests.guihandles.CalendarPanelHandle; import guitests.guihandles.CommandBoxHandle; import guitests.guihandles.MainMenuHandle; import guitests.guihandles.MainWindowHandle; import guitests.guihandles.PersonListPanelHandle; import guitests.guihandles.ResultDisplayHandle; import guitests.guihandles.StatusBarFooterHandle; -import seedu.address.MainApp; import seedu.address.TestApp; import seedu.address.commons.core.EventsCenter; import seedu.address.commons.core.index.Index; @@ -39,7 +34,6 @@ import seedu.address.model.AddressBook; import seedu.address.model.Model; import seedu.address.testutil.TypicalPersons; -import seedu.address.ui.BrowserPanel; import seedu.address.ui.CommandBox; /** @@ -69,7 +63,6 @@ public void setUp() { testApp = setupHelper.setupApplication(this::getInitialData, getDataFileLocation()); mainWindowHandle = setupHelper.setupMainWindowHandle(); - waitUntilBrowserLoaded(getBrowserPanel()); assertApplicationStartingStateIsCorrect(); } @@ -109,8 +102,8 @@ public MainMenuHandle getMainMenu() { return mainWindowHandle.getMainMenu(); } - public BrowserPanelHandle getBrowserPanel() { - return mainWindowHandle.getBrowserPanel(); + public CalendarPanelHandle getCalendarPanel() { + return mainWindowHandle.getCalendarPanel(); } public StatusBarFooterHandle getStatusBarFooter() { @@ -132,8 +125,6 @@ protected void executeCommand(String command) { clockRule.setInjectedClockToCurrentTime(); mainWindowHandle.getCommandBox().run(command); - - waitUntilBrowserLoaded(getBrowserPanel()); } /** @@ -188,7 +179,6 @@ protected void assertApplicationDisplaysExpected(String expectedCommandInput, St */ private void rememberStates() { StatusBarFooterHandle statusBarFooterHandle = getStatusBarFooter(); - getBrowserPanel().rememberUrl(); statusBarFooterHandle.rememberSaveLocation(); statusBarFooterHandle.rememberSyncStatus(); getPersonListPanel().rememberSelectedPersonCard(); @@ -197,39 +187,27 @@ private void rememberStates() { /** * Asserts that the previously selected card is now deselected and the browser's url remains displaying the details * of the previously selected person. - * @see BrowserPanelHandle#isUrlChanged() */ protected void assertSelectedCardDeselected() { - assertFalse(getBrowserPanel().isUrlChanged()); assertFalse(getPersonListPanel().isAnyCardSelected()); } /** * Asserts that the browser's url is changed to display the details of the person in the person list panel at * {@code expectedSelectedCardIndex}, and only the card at {@code expectedSelectedCardIndex} is selected. - * @see BrowserPanelHandle#isUrlChanged() * @see PersonListPanelHandle#isSelectedPersonCardChanged() */ protected void assertSelectedCardChanged(Index expectedSelectedCardIndex) { String selectedCardName = getPersonListPanel().getHandleToSelectedCard().getName(); - URL expectedUrl; - try { - expectedUrl = new URL(BrowserPanel.SEARCH_PAGE_URL + selectedCardName.replaceAll(" ", "%20")); - } catch (MalformedURLException mue) { - throw new AssertionError("URL expected to be valid."); - } - assertEquals(expectedUrl, getBrowserPanel().getLoadedUrl()); assertEquals(expectedSelectedCardIndex.getZeroBased(), getPersonListPanel().getSelectedCardIndex()); } /** * Asserts that the browser's url and the selected card in the person list panel remain unchanged. - * @see BrowserPanelHandle#isUrlChanged() * @see PersonListPanelHandle#isSelectedPersonCardChanged() */ protected void assertSelectedCardUnchanged() { - assertFalse(getBrowserPanel().isUrlChanged()); assertFalse(getPersonListPanel().isSelectedPersonCardChanged()); } @@ -276,7 +254,6 @@ private void assertApplicationStartingStateIsCorrect() { assertEquals("", getCommandBox().getInput()); assertEquals("", getResultDisplay().getText()); assertListMatching(getPersonListPanel(), getModel().getFilteredPersonList()); - assertEquals(MainApp.class.getResource(FXML_FILE_FOLDER + DEFAULT_PAGE), getBrowserPanel().getLoadedUrl()); assertEquals("./" + testApp.getStorageSaveLocation(), getStatusBarFooter().getSaveLocation()); assertEquals(SYNC_STATUS_INITIAL, getStatusBarFooter().getSyncStatus()); } catch (Exception e) { diff --git a/src/test/java/systemtests/HelpCommandSystemTest.java b/src/test/java/systemtests/HelpCommandSystemTest.java index 1aa4a5f294f4..e41dbe57841b 100644 --- a/src/test/java/systemtests/HelpCommandSystemTest.java +++ b/src/test/java/systemtests/HelpCommandSystemTest.java @@ -14,7 +14,6 @@ import seedu.address.logic.commands.DeleteCommand; import seedu.address.logic.commands.HelpCommand; import seedu.address.logic.commands.SelectCommand; -import seedu.address.ui.BrowserPanel; import seedu.address.ui.StatusBarFooter; /** @@ -43,9 +42,9 @@ public void openHelpWindow() { getMainMenu().openHelpWindowUsingAccelerator(); assertHelpWindowOpen(); - getBrowserPanel().click(); + getCalendarPanel().click(); getMainMenu().openHelpWindowUsingAccelerator(); - assertHelpWindowNotOpen(); + assertHelpWindowOpen(); //use menu button getMainMenu().openHelpWindowUsingMenu(); @@ -64,7 +63,6 @@ public void openHelpWindow() { assertEquals("", getCommandBox().getInput()); assertCommandBoxShowsDefaultStyle(); assertNotEquals(HelpCommand.SHOWING_HELP_MESSAGE, getResultDisplay().getText()); - assertNotEquals(BrowserPanel.DEFAULT_PAGE, getBrowserPanel().getLoadedUrl()); assertListMatching(getPersonListPanel(), getModel().getFilteredPersonList()); // assert that the status bar too is updated correctly while the help window is open From 015fe46731e4d7a40cc30b566e1750f2c0609f62 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi <e0072523@u.nus.edu> Date: Wed, 28 Mar 2018 10:20:48 +0800 Subject: [PATCH 148/288] Update XmlSerializableAddressBook.java --- .../seedu/address/storage/XmlSerializableAddressBook.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index 079090153ee6..269c9ad56340 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -81,7 +81,7 @@ public AddressBook toModelType() throws IllegalValueException { } for (XmlAdaptedTask t: tasks) { addressBook.addEvent(t.toModelType()); - + } for (XmlAdaptedShortcutDouble s : commandsList) { addressBook.addShortcutDoubles(s.toModelType()); } @@ -96,7 +96,7 @@ public boolean equals(Object other) { if (!(other instanceof XmlSerializableAddressBook)) { return false; - } + } XmlSerializableAddressBook otherAb = (XmlSerializableAddressBook) other; return persons.equals(otherAb.persons) From d30fb4cdbf7cf6ae9b8f1d78164bdc1087fccfe6 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi <e0072523@u.nus.edu> Date: Wed, 28 Mar 2018 10:23:57 +0800 Subject: [PATCH 149/288] Checkstyle fix --- .../java/seedu/address/storage/XmlSerializableAddressBook.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index 269c9ad56340..2f46a2dd6324 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -96,7 +96,7 @@ public boolean equals(Object other) { if (!(other instanceof XmlSerializableAddressBook)) { return false; - } + } XmlSerializableAddressBook otherAb = (XmlSerializableAddressBook) other; return persons.equals(otherAb.persons) From 8b33868bd5d220de7c5b4c67072b05c5abd42403 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi <e0072523@u.nus.edu> Date: Wed, 28 Mar 2018 10:26:39 +0800 Subject: [PATCH 150/288] Checkstyle fix#2 --- .../java/seedu/address/storage/XmlSerializableAddressBook.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index 2f46a2dd6324..d5fb1441a3a2 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -97,7 +97,7 @@ public boolean equals(Object other) { if (!(other instanceof XmlSerializableAddressBook)) { return false; } - + XmlSerializableAddressBook otherAb = (XmlSerializableAddressBook) other; return persons.equals(otherAb.persons) && tags.equals(otherAb.tags) From aa5bdcaf249e73fa3a0832373557287a915b0665 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 10:28:52 +0800 Subject: [PATCH 151/288] - Fix bracket closing --- .../java/seedu/address/storage/XmlSerializableAddressBook.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index 079090153ee6..d3d4f5de5422 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -81,6 +81,7 @@ public AddressBook toModelType() throws IllegalValueException { } for (XmlAdaptedTask t: tasks) { addressBook.addEvent(t.toModelType()); + } for (XmlAdaptedShortcutDouble s : commandsList) { addressBook.addShortcutDoubles(s.toModelType()); From 932b644b1140b5166bc8a2ceb1207d7f9fe000aa Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi <e0072523@u.nus.edu> Date: Wed, 28 Mar 2018 10:29:29 +0800 Subject: [PATCH 152/288] Checkstyle fixed --- .../java/seedu/address/storage/XmlSerializableAddressBook.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index d5fb1441a3a2..350d97279556 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -97,7 +97,6 @@ public boolean equals(Object other) { if (!(other instanceof XmlSerializableAddressBook)) { return false; } - XmlSerializableAddressBook otherAb = (XmlSerializableAddressBook) other; return persons.equals(otherAb.persons) && tags.equals(otherAb.tags) From 15a23b3cec60ebef30f06a2de459975846bbc030 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi <e0072523@u.nus.edu> Date: Wed, 28 Mar 2018 10:42:13 +0800 Subject: [PATCH 153/288] Update MainWindow.fxml --- src/main/resources/view/MainWindow.fxml | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index e3931955079a..90670982735b 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -42,25 +42,13 @@ </padding> <StackPane fx:id="personListPanelPlaceholder" VBox.vgrow="ALWAYS"/> </VBox> - - - - - + <VBox> - <StackPane fx:id="browserPlaceholder" prefWidth="340" > - <padding> - <Insets top="10" right="10" bottom="10" left="10" /> - </padding> - </StackPane> - <StackPane fx:id="calendarPlaceholder" prefWidth="200" > <padding> <Insets top="10" right="10" bottom="10" left="10" /> </padding> - </StackPane> - - + </StackPane> <StackPane VBox.vgrow="NEVER" fx:id="resultDisplayPlaceholder" styleClass="pane-with-border" minHeight="100" prefHeight="100" maxHeight="100" alignment="BOTTOM_RIGHT" > <padding> @@ -74,7 +62,6 @@ </padding> </StackPane> </VBox> - </SplitPane> From 04ba566643cc69b55b6c1b9907298180159770e8 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi <e0072523@u.nus.edu> Date: Wed, 28 Mar 2018 10:45:27 +0800 Subject: [PATCH 154/288] Update MainWindow.fxml --- src/main/resources/view/MainWindow.fxml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index 90670982735b..f3ca14653c91 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -41,8 +41,7 @@ <Insets top="10" right="10" bottom="10" left="10" /> </padding> <StackPane fx:id="personListPanelPlaceholder" VBox.vgrow="ALWAYS"/> - </VBox> - + </VBox> <VBox> <StackPane fx:id="calendarPlaceholder" prefWidth="200" > <padding> From 12e91ebf1f2a98b1ecd08fa964a203320232f7d7 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 11:00:43 +0800 Subject: [PATCH 155/288] Change default button colour for calendar --- src/main/resources/view/BrowserPanel.fxml | 8 -------- src/main/resources/view/DarkTheme.css | 4 ++++ src/main/resources/view/MainWindow.fxml | 7 +------ 3 files changed, 5 insertions(+), 14 deletions(-) delete mode 100644 src/main/resources/view/BrowserPanel.fxml diff --git a/src/main/resources/view/BrowserPanel.fxml b/src/main/resources/view/BrowserPanel.fxml deleted file mode 100644 index 31670827e3da..000000000000 --- a/src/main/resources/view/BrowserPanel.fxml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<?import javafx.scene.layout.StackPane?> -<?import javafx.scene.web.WebView?> - -<StackPane xmlns:fx="http://javafx.com/fxml/1"> - <WebView fx:id="browser"/> -</StackPane> diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index 3bee548d4fd0..791f98d4f36b 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -189,6 +189,10 @@ -fx-background-color: derive(#1d1d1d, 30%); } +.calendar-panel .button{ + -fx-text-fill: #000000; +} + .context-menu { -fx-background-color: derive(#1d1d1d, 50%); } diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index e3931955079a..b39c5f7312b9 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -48,13 +48,8 @@ <VBox> - <StackPane fx:id="browserPlaceholder" prefWidth="340" > - <padding> - <Insets top="10" right="10" bottom="10" left="10" /> - </padding> - </StackPane> - <StackPane fx:id="calendarPlaceholder" prefWidth="200" > + <StackPane fx:id="calendarPlaceholder" prefWidth="200" styleClass="calendar-panel" > <padding> <Insets top="10" right="10" bottom="10" left="10" /> </padding> From 58963fc4a1c26da761a0fe5b7d9bc7f750cc510b Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 11:29:21 +0800 Subject: [PATCH 156/288] Resolve conflict for modelstub --- .../storage/XmlSerializableAddressBook.java | 1 + .../logic/commands/AddCommandTest.java | 69 ------------------- .../address/testutil/modelstub/ModelStub.java | 19 +++++ 3 files changed, 20 insertions(+), 69 deletions(-) diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index 350d97279556..14be3ded17ef 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -104,3 +104,4 @@ public boolean equals(Object other) { && tasks.equals(otherAb.tasks); } } + diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 00d2a24cdce3..36361ccf7e22 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -20,10 +20,6 @@ import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; -import seedu.address.model.person.exceptions.PersonNotFoundException; -import seedu.address.model.shortcuts.ShortcutDoubles; -import seedu.address.model.shortcuts.UniqueShortcutDoublesList; -import seedu.address.model.tag.Tag; import seedu.address.testutil.PersonBuilder; import seedu.address.testutil.modelstub.ModelStub; @@ -93,71 +89,6 @@ private AddCommand getAddCommandForPerson(Person person, Model model) { return command; } - /** - * A default model stub that have all of the methods failing. - */ - private class ModelStub implements Model { - @Override - public void addPerson(Person person) throws DuplicatePersonException { - fail("This method should not be called."); - } - - @Override - public void addCommandShortcut(ShortcutDoubles shortcutDoubles) - throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { - fail("This method should not be called"); - } - - @Override - public void resetData(ReadOnlyAddressBook newData) { - fail("This method should not be called."); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - fail("This method should not be called."); - return null; - } - - @Override - public void deletePerson(Person target) throws PersonNotFoundException { - fail("This method should not be called."); - } - - @Override - public void updatePerson(Person target, Person editedPerson) - throws DuplicatePersonException { - fail("This method should not be called."); - } - - @Override - public ObservableList<Person> getFilteredPersonList() { - fail("This method should not be called."); - return null; - } - - @Override - public void updateFilteredPersonList(Predicate<Person> predicate) { - fail("This method should not be called."); - } - - @Override - public ObservableList<ShortcutDoubles> getFilteredCommandsList() { - fail("This method should not be called"); - return null; - } - - @Override - public void updateFilteredCommandList(Predicate<ShortcutDoubles> predicate) { - fail("This method should not be called"); - } - - @Override - public void deleteTag(Tag tag) { - fail("This method should not be called."); - } - } - /** * A Model stub that always throw a DuplicatePersonException when trying to add a person. */ diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index 7f92e42d75d7..9ddfe2c678f7 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -12,6 +12,8 @@ import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; import seedu.address.model.tag.Tag; /** @@ -34,6 +36,12 @@ public ReadOnlyAddressBook getAddressBook() { return null; } + @Override + public ObservableList<ShortcutDoubles> getFilteredCommandsList() { + fail("This method should not be called."); + return null; + }; + @Override public void deletePerson(Person target) throws PersonNotFoundException { fail("This method should not be called."); @@ -45,12 +53,23 @@ public void updatePerson(Person target, Person editedPerson) fail("This method should not be called."); } + @Override + public void addCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + fail("This method should not be called."); + } + @Override public ObservableList<Person> getFilteredPersonList() { fail("This method should not be called."); return null; } + @Override + public void updateFilteredCommandList(Predicate<ShortcutDoubles> predicate) { + fail("This method should not be called."); + }; + @Override public void updateFilteredPersonList(Predicate<Person> predicate) { fail("This method should not be called."); From c17b39904eb60b687458385281ef08a22a7bc7e7 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 11:50:30 +0800 Subject: [PATCH 157/288] Add eof --- src/main/resources/view/MainWindow.fxml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index b39c5f7312b9..3fd1e341f1b7 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -32,9 +32,6 @@ <MenuItem fx:id="helpMenuItem" mnemonicParsing="false" onAction="#handleHelp" text="Help" /> </Menu> </MenuBar> - - - <SplitPane id="splitPane" fx:id="splitPane" dividerPositions="0.4" VBox.vgrow="ALWAYS" > <VBox fx:id="personList" minWidth="340" prefWidth="340" SplitPane.resizableWithParent="false"> <padding> @@ -43,10 +40,6 @@ <StackPane fx:id="personListPanelPlaceholder" VBox.vgrow="ALWAYS"/> </VBox> - - - - <VBox> <StackPane fx:id="calendarPlaceholder" prefWidth="200" styleClass="calendar-panel" > @@ -72,9 +65,9 @@ </SplitPane> - <StackPane fx:id="statusbarPlaceholder" VBox.vgrow="NEVER" /> </VBox> </Scene> </scene> </fx:root> + From 7d213f620e1ee80093718df6fc56c10f19c060e3 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 11:57:45 +0800 Subject: [PATCH 158/288] fix checkstyle --- src/main/resources/view/MainWindow.fxml | 2 -- src/test/java/seedu/address/testutil/modelstub/ModelStub.java | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index 3fd1e341f1b7..2bb91236285d 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -47,8 +47,6 @@ <Insets top="10" right="10" bottom="10" left="10" /> </padding> </StackPane> - - <StackPane VBox.vgrow="NEVER" fx:id="resultDisplayPlaceholder" styleClass="pane-with-border" minHeight="100" prefHeight="100" maxHeight="100" alignment="BOTTOM_RIGHT" > <padding> diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index 8d1404883fd9..76e478b0b982 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -70,7 +70,7 @@ public ObservableList<Event> getFilteredEventList() { fail("This method should not be called."); return null; } - + @Override public void updateFilteredCommandList(Predicate<ShortcutDoubles> predicate) { fail("This method should not be called."); From cbac39ea56e3b014cc7a38661fd0283ee7877a17 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 12:08:04 +0800 Subject: [PATCH 159/288] fix checkstyle --- src/main/resources/view/MainWindow.fxml | 9 ++++----- .../java/seedu/address/testutil/modelstub/ModelStub.java | 1 - 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index 2bb91236285d..f6684e439e90 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -41,12 +41,11 @@ </VBox> <VBox> - <StackPane fx:id="calendarPlaceholder" prefWidth="200" styleClass="calendar-panel" > - <padding> - <Insets top="10" right="10" bottom="10" left="10" /> - </padding> - </StackPane> + <padding> + <Insets top="10" right="10" bottom="10" left="10" /> + </padding> + </StackPane> <StackPane VBox.vgrow="NEVER" fx:id="resultDisplayPlaceholder" styleClass="pane-with-border" minHeight="100" prefHeight="100" maxHeight="100" alignment="BOTTOM_RIGHT" > <padding> diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index 76e478b0b982..5b0ba2999d96 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -70,7 +70,6 @@ public ObservableList<Event> getFilteredEventList() { fail("This method should not be called."); return null; } - @Override public void updateFilteredCommandList(Predicate<ShortcutDoubles> predicate) { fail("This method should not be called."); From f21e3834c4621fdf6118ee224b46d1f0575f2015 Mon Sep 17 00:00:00 2001 From: Noobscrub95 <smjlim2@msn.com> Date: Wed, 28 Mar 2018 12:35:41 +0800 Subject: [PATCH 160/288] Implemented Auto-Sort --- .../model/person/UniquePersonList.java | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/seedu/address/model/person/UniquePersonList.java index 66b1f8c97afe..0ddf2cd25005 100644 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ b/src/main/java/seedu/address/model/person/UniquePersonList.java @@ -3,11 +3,13 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; +import java.util.Comparator; import java.util.Iterator; import java.util.List; import javafx.collections.FXCollections; import javafx.collections.ObservableList; +import javafx.collections.transformation.SortedList; import seedu.address.commons.util.CollectionUtil; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -98,7 +100,7 @@ public void setPersons(List<Person> persons) throws DuplicatePersonException { * Returns the backing list as an unmodifiable {@code ObservableList}. */ public ObservableList<Person> asObservableList() { - //sort(); + sort(); return FXCollections.unmodifiableObservableList(internalList); } @@ -119,16 +121,16 @@ public int hashCode() { return internalList.hashCode(); } - //@@author shanmu9898 - //* Sorts the unique person list. - // - // public void sort() { - // SortedList<Person> sortedInternalList = internalList.sorted(); - // ObservableList<Person> sortedReturningInternalList = ; - // for(Person p : sortedInternalList) { - // sortedReturningInternalList.add(p); - // } - // - // - // } + public void sort() { + internalList.sort(new Comparator<Person>() { + @Override + public int compare(Person otherMember1, Person otherMember2) { + return otherMember1.getName().toString().compareTo(otherMember2.getName().toString()); + } + + + }); + + + } } From 16d36a4f0625683ff21f66c7267ed722f584734f Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 15:24:13 +0800 Subject: [PATCH 161/288] add toggle calendar command --- .../events/ui/ToggleCalendarViewEvent.java | 20 +++++++++ .../commands/ToggleCalendarViewCommand.java | 32 ++++++++++++++ .../parser/ToggleCalendarViewParser.java | 43 +++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100644 src/main/java/seedu/address/commons/events/ui/ToggleCalendarViewEvent.java create mode 100644 src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java create mode 100644 src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java diff --git a/src/main/java/seedu/address/commons/events/ui/ToggleCalendarViewEvent.java b/src/main/java/seedu/address/commons/events/ui/ToggleCalendarViewEvent.java new file mode 100644 index 000000000000..a7eadddc1700 --- /dev/null +++ b/src/main/java/seedu/address/commons/events/ui/ToggleCalendarViewEvent.java @@ -0,0 +1,20 @@ +package seedu.address.commons.events.ui; + +import seedu.address.commons.events.BaseEvent; + +/** + * Indicates a request to toggle Calendar view mode + */ +//@@author Sisyphus25 +public class ToggleCalendarViewEvent extends BaseEvent { + public final Character viewMode; + + public ToggleCalendarViewEvent(Character viewMode) { + this.viewMode = viewMode; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} diff --git a/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java b/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java new file mode 100644 index 000000000000..bffe8f5b7edc --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java @@ -0,0 +1,32 @@ +package seedu.address.logic.commands; + +import seedu.address.commons.core.EventsCenter; +import seedu.address.commons.events.ui.ToggleCalendarViewEvent; +import seedu.address.logic.commands.exceptions.CommandException; + +//@@author Sisyphus25 +/** + * Command to change calendar view + */ +public class ToggleCalendarViewCommand extends Command { + + public static final String COMMAND_WORD = "calendar"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Toggles calendar view. \n" + + "Parameter: VIEW_MODE\n" + + "View mode: Day view: d, Week view: w, Month view: m, Year view: y\n" + + "Example: " + COMMAND_WORD + " d"; + + public static final String MESSAGE_VIEW_TOGGLE_SUCCESS = "View changed."; + + private Character viewMode; + + public ToggleCalendarViewCommand(Character viewMode) { + this.viewMode = viewMode; + } + @Override + public CommandResult execute() throws CommandException { + EventsCenter.getInstance().post(new ToggleCalendarViewEvent(viewMode)); + return new CommandResult(MESSAGE_VIEW_TOGGLE_SUCCESS); + } +} diff --git a/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java b/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java new file mode 100644 index 000000000000..5eef8d672a17 --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java @@ -0,0 +1,43 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + +import seedu.address.logic.commands.ToggleCalendarViewCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +/** + * Parser for ToggleCalendarViewCommand + */ +public class ToggleCalendarViewParser implements Parser<ToggleCalendarViewCommand> { + /** + * Parses the given {@code viewMode} of arguments in the context of the ToggleCalendarViewParser + * and returns an ToggleCalendarViewCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ToggleCalendarViewCommand parse(String args) throws ParseException { + String viewMode = args.trim(); + if (viewMode.isEmpty() || !isValidViewMode(viewMode)) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ToggleCalendarViewCommand.MESSAGE_USAGE)); + } + return new ToggleCalendarViewCommand(viewMode.charAt(0)); + } + + /** + * + * @param str + * @return whether if the string is a valid view mode or not + */ + private boolean isValidViewMode(String str) { + assert(str.length() == 1); + switch (str.charAt(0)) { + case('w'): + case('d'): + case('y'): + case('m'): + return true; + default: + return false; + } + } +} From 84ecc3963f71f99b64c57c649e6ec895464bcf3c Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 15:26:30 +0800 Subject: [PATCH 162/288] add toggle calendar command --- .../logic/parser/AddressBookParser.java | 4 ++ .../java/seedu/address/ui/CalendarPanel.java | 47 ++++++++++++++++--- src/main/resources/view/DarkTheme.css | 4 ++ 3 files changed, 48 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index 8f30b6cd1736..75481618c449 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -24,6 +24,7 @@ import seedu.address.logic.commands.SetAppointmentCommand; import seedu.address.logic.commands.SetTaskCommand; import seedu.address.logic.commands.ShortcutCommand; +import seedu.address.logic.commands.ToggleCalendarViewCommand; import seedu.address.logic.commands.UndoCommand; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.shortcuts.ShortcutDoubles; @@ -123,6 +124,9 @@ public Command parseCommand(String userInput) throws ParseException { case ShortcutCommand.COMMAND_WORD: return new ShortcutCommandParser().parse(arguments); + case ToggleCalendarViewCommand.COMMAND_WORD: + return new ToggleCalendarViewParser().parse(arguments); + default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java index ca6f751ea30a..64fddc4e1994 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -20,6 +20,7 @@ import javafx.scene.layout.Region; import seedu.address.commons.events.model.AddressBookChangedEvent; +import seedu.address.commons.events.ui.ToggleCalendarViewEvent; import seedu.address.model.event.Appointment; import seedu.address.model.event.Event; @@ -27,6 +28,7 @@ /** * The Calendar Panel of the App. */ +//@@author Sisyphus25 public class CalendarPanel extends UiPart<Region> { private static final String FXML = "CalendarPanel.fxml"; @@ -37,7 +39,6 @@ public class CalendarPanel extends UiPart<Region> { public CalendarPanel(ObservableList<Event> eventObservableList) { super(FXML); - this.eventList = eventObservableList; calendarView = new CalendarView(); @@ -80,12 +81,6 @@ private ArrayList<Entry> getEntries(ObservableList<Event> eventList) { return entries; } - private void setTime() { - calendarView.setToday(LocalDate.now()); - calendarView.setTime(LocalTime.now()); - calendarView.getCalendarSources().clear(); - } - private Entry getEntry(Event event) { Appointment appointment = (Appointment) event; LocalDateTime ldtstart = LocalDateTime.ofInstant( @@ -96,6 +91,14 @@ private Entry getEntry(Event event) { return new Entry(description, new Interval(ldtstart, ldtend)); } + //@@author Sisyphus25-reused + //Reused from https://github.com/CS2103AUG2017-T17-B2/main + private void setTime() { + calendarView.setToday(LocalDate.now()); + calendarView.setTime(LocalTime.now()); + calendarView.getCalendarSources().clear(); + } + @Subscribe private void handleNewAppointmentEvent(AddressBookChangedEvent event) { eventList = event.data.getEventList(); @@ -104,6 +107,12 @@ private void handleNewAppointmentEvent(AddressBookChangedEvent event) { ); } + @Subscribe + private void handleToggleCalendarViewEvent(ToggleCalendarViewEvent event) { + Character c = event.viewMode; + Platform.runLater(() -> toggleView(c)); + } + public CalendarView getRoot() { return this.calendarView; } @@ -118,4 +127,28 @@ private void disableViews() { calendarView.setShowPrintButton(false); calendarView.showMonthPage(); } + + /** + * Changes calendar view accordingly + */ + private void toggleView(Character c) { + switch(c) { + case ('d'): + calendarView.showDayPage(); + return; + case ('w'): + calendarView.showWeekPage(); + return; + case ('m'): + calendarView.showMonthPage(); + return; + case ('y'): + calendarView.showYearPage(); + return; + default: + //should not reach here + assert (false); + } + } + //@@author } diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index 791f98d4f36b..9f3ef94cacb8 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -193,6 +193,10 @@ -fx-text-fill: #000000; } +.calendar-panel { + -fx-background-color: derive(#1d1d1d, 30%); +} + .context-menu { -fx-background-color: derive(#1d1d1d, 50%); } From e974cb969602c7ce7bbb7500c262edd47c0ef095 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 17:23:28 +0800 Subject: [PATCH 163/288] add test --- .../commands/ToggleCalendarViewCommand.java | 3 +++ .../logic/parser/ShortcutCommandParser.java | 2 +- .../parser/ToggleCalendarViewParser.java | 4 ++- .../ToggleCalendarViewCommandTest.java | 27 +++++++++++++++++++ .../logic/parser/ExportCommandParserTest.java | 1 - .../parser/ToggleCalendarViewParserTest.java | 20 ++++++++++++++ 6 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 src/test/java/seedu/address/logic/commands/ToggleCalendarViewCommandTest.java create mode 100644 src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java diff --git a/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java b/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java index bffe8f5b7edc..5027c90a9ba3 100644 --- a/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java +++ b/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java @@ -1,5 +1,7 @@ package seedu.address.logic.commands; +import static java.util.Objects.requireNonNull; + import seedu.address.commons.core.EventsCenter; import seedu.address.commons.events.ui.ToggleCalendarViewEvent; import seedu.address.logic.commands.exceptions.CommandException; @@ -22,6 +24,7 @@ public class ToggleCalendarViewCommand extends Command { private Character viewMode; public ToggleCalendarViewCommand(Character viewMode) { + requireNonNull(viewMode); this.viewMode = viewMode; } @Override diff --git a/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java b/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java index a252f1ee9e97..c7d5800cb0a9 100644 --- a/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java @@ -7,7 +7,7 @@ import seedu.address.logic.parser.exceptions.ParseException; /** - * Parsar + * Parser */ public class ShortcutCommandParser implements Parser<ShortcutCommand> { /** diff --git a/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java b/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java index 5eef8d672a17..8a3c61d651dd 100644 --- a/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java +++ b/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java @@ -29,7 +29,9 @@ public ToggleCalendarViewCommand parse(String args) throws ParseException { * @return whether if the string is a valid view mode or not */ private boolean isValidViewMode(String str) { - assert(str.length() == 1); + if (str.length() != 1) { + return false; + } switch (str.charAt(0)) { case('w'): case('d'): diff --git a/src/test/java/seedu/address/logic/commands/ToggleCalendarViewCommandTest.java b/src/test/java/seedu/address/logic/commands/ToggleCalendarViewCommandTest.java new file mode 100644 index 000000000000..ee7e0a76e825 --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/ToggleCalendarViewCommandTest.java @@ -0,0 +1,27 @@ +package seedu.address.logic.commands; + +import static junit.framework.TestCase.assertEquals; +import static junit.framework.TestCase.assertTrue; +import static seedu.address.logic.commands.ToggleCalendarViewCommand.MESSAGE_VIEW_TOGGLE_SUCCESS; + +import org.junit.Rule; +import org.junit.Test; + +import seedu.address.commons.events.ui.ToggleCalendarViewEvent; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.ui.testutil.EventsCollectorRule; + +//@@author Sisyphus25 +public class ToggleCalendarViewCommandTest { + @Rule + public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); + + @Test + public void execute_help_success() throws CommandException { + Character viewMode = 'd'; + CommandResult result = new ToggleCalendarViewCommand(viewMode).execute(); + assertEquals(MESSAGE_VIEW_TOGGLE_SUCCESS, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleCalendarViewEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); + } +} diff --git a/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java index 41e7ba0fe94e..e8b427569d59 100644 --- a/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java @@ -21,7 +21,6 @@ public class ExportCommandParserTest { public void parse_nullString_throwsNullPointerException() throws ParseException { thrown.expect(NullPointerException.class); exportCommandParser.parse(null); - } @Test diff --git a/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java b/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java new file mode 100644 index 000000000000..ea6b85e775f7 --- /dev/null +++ b/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java @@ -0,0 +1,20 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; + +import org.junit.Test; + +import seedu.address.logic.commands.ToggleCalendarViewCommand; + +public class ToggleCalendarViewParserTest { + private ToggleCalendarViewParser parser = new ToggleCalendarViewParser(); + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "day", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ToggleCalendarViewCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "x", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ToggleCalendarViewCommand.MESSAGE_USAGE)); + } +} From 9f4e130541f9c85cd387553a92ce8225fc49db8c Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 17:25:50 +0800 Subject: [PATCH 164/288] add collate --- .../seedu/address/logic/parser/ToggleCalendarViewParser.java | 1 + .../address/logic/parser/ToggleCalendarViewParserTest.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java b/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java index 8a3c61d651dd..ab2a3f44a338 100644 --- a/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java +++ b/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java @@ -5,6 +5,7 @@ import seedu.address.logic.commands.ToggleCalendarViewCommand; import seedu.address.logic.parser.exceptions.ParseException; +//@@author Sisyphus25 /** * Parser for ToggleCalendarViewCommand */ diff --git a/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java b/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java index ea6b85e775f7..2d490d242be8 100644 --- a/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java @@ -7,6 +7,8 @@ import seedu.address.logic.commands.ToggleCalendarViewCommand; +//@@author Sisyphus25 + public class ToggleCalendarViewParserTest { private ToggleCalendarViewParser parser = new ToggleCalendarViewParser(); From c88c14fe4ea34299117af7ece01201d31329fa4b Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 18:28:29 +0800 Subject: [PATCH 165/288] Create ThemeChangeEvent and have mainwindow subscribed to it --- .../commons/events/ui/ThemeChangeEvent.java | 19 ++++++++++++ .../java/seedu/address/ui/MainWindow.java | 30 +++++++++++++++++++ src/main/resources/view/MainWindow.fxml | 5 ---- 3 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 src/main/java/seedu/address/commons/events/ui/ThemeChangeEvent.java diff --git a/src/main/java/seedu/address/commons/events/ui/ThemeChangeEvent.java b/src/main/java/seedu/address/commons/events/ui/ThemeChangeEvent.java new file mode 100644 index 000000000000..e0e579dc5d27 --- /dev/null +++ b/src/main/java/seedu/address/commons/events/ui/ThemeChangeEvent.java @@ -0,0 +1,19 @@ +package seedu.address.commons.events.ui; + +import seedu.address.commons.events.BaseEvent; + +/** + * Indicates a request to change them + */ +public class ThemeChangeEvent extends BaseEvent { + public final String theme; + + public ThemeChangeEvent(String theme) { + this.theme = theme; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 97603ec9f052..ca50ba0d7ff5 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -4,6 +4,7 @@ import com.google.common.eventbus.Subscribe; +import javafx.application.Platform; import javafx.event.ActionEvent; import javafx.fxml.FXML; import javafx.scene.control.MenuItem; @@ -17,6 +18,7 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.ui.ExitAppRequestEvent; import seedu.address.commons.events.ui.ShowHelpRequestEvent; +import seedu.address.commons.events.ui.ThemeChangeEvent; import seedu.address.logic.Logic; import seedu.address.model.UserPrefs; @@ -28,6 +30,8 @@ public class MainWindow extends UiPart<Stage> { private static final String FXML = "MainWindow.fxml"; + private static final String EXTENSIONS_STYLESHEET = "view/Extensions.css"; + private final Logger logger = LogsCenter.getLogger(this.getClass()); private Stage primaryStage; @@ -39,6 +43,7 @@ public class MainWindow extends UiPart<Stage> { private UserPrefs prefs; private CalendarPanel calendarPanel; + private String theme; @FXML private StackPane commandBoxPlaceholder; @@ -68,6 +73,7 @@ public MainWindow(Stage primaryStage, Config config, UserPrefs prefs, Logic logi this.prefs = prefs; // Configure the UI + setTheme("dark theme"); setTitle(config.getAppTitle()); setWindowDefaultSize(prefs); @@ -79,6 +85,30 @@ public Stage getPrimaryStage() { return primaryStage; } + //@@author Sisyphus25 + private void setTheme(String theme) { + primaryStage.getScene().getStylesheets().add(EXTENSIONS_STYLESHEET); + if (theme.equals("lighttheme")) { + primaryStage.getScene().getStylesheets().add("view/LightTheme.css"); + } else { + primaryStage.getScene().getStylesheets().add("view/DarkTheme.css"); + } + } + + @Subscribe + private void handleThemeChangeEvent(ThemeChangeEvent event) { + theme = event.theme; + Platform.runLater( + this::changeTheme + ); + } + + private void changeTheme() { + primaryStage.getScene().getStylesheets().clear(); + setTheme("lighttheme"); + } + //@@author + private void setAccelerators() { setAccelerator(helpMenuItem, KeyCombination.valueOf("F1")); } diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index f6684e439e90..f39d7c15a0ed 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -18,11 +18,6 @@ </icons> <scene> <Scene> - <stylesheets> - <URL value="@DarkTheme.css" /> - <URL value="@Extensions.css" /> - </stylesheets> - <VBox> <MenuBar fx:id="menuBar" VBox.vgrow="NEVER"> <Menu mnemonicParsing="false" text="File"> From ea32cfffc593671e541dd5c9008a38375d4c5755 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 19:42:50 +0800 Subject: [PATCH 166/288] Add Junit test --- .../address/logic/commands/ToggleCalendarViewCommand.java | 7 +++++++ .../address/logic/parser/ToggleCalendarViewParserTest.java | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java b/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java index 5027c90a9ba3..6079687f0059 100644 --- a/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java +++ b/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java @@ -32,4 +32,11 @@ public CommandResult execute() throws CommandException { EventsCenter.getInstance().post(new ToggleCalendarViewEvent(viewMode)); return new CommandResult(MESSAGE_VIEW_TOGGLE_SUCCESS); } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ToggleCalendarViewCommand // instanceof handles nulls + && this.viewMode == ((ToggleCalendarViewCommand) other).viewMode); // state check + } } diff --git a/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java b/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java index 2d490d242be8..e9769621d390 100644 --- a/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java @@ -2,6 +2,7 @@ import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; import org.junit.Test; @@ -12,6 +13,11 @@ public class ToggleCalendarViewParserTest { private ToggleCalendarViewParser parser = new ToggleCalendarViewParser(); + @Test + public void parse_validArgs_returnsToggleCalendarViewCommand() { + assertParseSuccess(parser, "d", new ToggleCalendarViewCommand('d')); + } + @Test public void parse_invalidArgs_throwsParseException() { assertParseFailure(parser, "day", From b5b4db87e06559541d29924c0cfc758b5cb71ef6 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 28 Mar 2018 20:35:30 +0800 Subject: [PATCH 167/288] Add Change Theme Command --- .../logic/commands/ChangeThemeCommand.java | 44 +++++++++++++++++++ .../logic/parser/AddressBookParser.java | 4 ++ .../parser/ChangeThemeCommandParser.java | 37 ++++++++++++++++ .../address/logic/parser/ParserUtil.java | 1 + .../java/seedu/address/ui/MainWindow.java | 18 +++++--- src/main/java/seedu/address/ui/ThemeList.java | 22 ++++++++++ 6 files changed, 119 insertions(+), 7 deletions(-) create mode 100644 src/main/java/seedu/address/logic/commands/ChangeThemeCommand.java create mode 100644 src/main/java/seedu/address/logic/parser/ChangeThemeCommandParser.java create mode 100644 src/main/java/seedu/address/ui/ThemeList.java diff --git a/src/main/java/seedu/address/logic/commands/ChangeThemeCommand.java b/src/main/java/seedu/address/logic/commands/ChangeThemeCommand.java new file mode 100644 index 000000000000..633b21d919b0 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/ChangeThemeCommand.java @@ -0,0 +1,44 @@ +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; + +import seedu.address.commons.core.EventsCenter; +import seedu.address.commons.events.ui.ThemeChangeEvent; +import seedu.address.logic.commands.exceptions.CommandException; + +//@@author Sisyphus25 +/** + * Change theme of the GUI. + */ +public class ChangeThemeCommand extends Command { + public static final String COMMAND_WORD = "theme"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Change the theme of TeachConnect.\n" + + "Parameters: THEME\n" + + "Example: " + COMMAND_WORD + " dark"; + + public static final String MESSAGE_CHANGE_THEME_SUCCESS = "Theme changed"; + + public static final String MESSAGE_INVALID_THEME = "Not a valid theme"; + + private final String theme; + + public ChangeThemeCommand(String theme) { + requireNonNull(theme); + this.theme = theme; + } + + @Override + public CommandResult execute() throws CommandException { + EventsCenter.getInstance().post(new ThemeChangeEvent(theme)); + return new CommandResult(MESSAGE_CHANGE_THEME_SUCCESS); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ChangeThemeCommand // instanceof handles nulls + && this.theme.equals(((ChangeThemeCommand) other).theme)); // state check + } +} diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index 8f30b6cd1736..75cbfb7f6380 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -8,6 +8,7 @@ import java.util.regex.Pattern; import seedu.address.logic.commands.AddCommand; +import seedu.address.logic.commands.ChangeThemeCommand; import seedu.address.logic.commands.ClearCommand; import seedu.address.logic.commands.Command; import seedu.address.logic.commands.DeleteCommand; @@ -123,6 +124,9 @@ public Command parseCommand(String userInput) throws ParseException { case ShortcutCommand.COMMAND_WORD: return new ShortcutCommandParser().parse(arguments); + case ChangeThemeCommand.COMMAND_WORD: + return new ChangeThemeCommandParser().parse(arguments); + default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } diff --git a/src/main/java/seedu/address/logic/parser/ChangeThemeCommandParser.java b/src/main/java/seedu/address/logic/parser/ChangeThemeCommandParser.java new file mode 100644 index 000000000000..52977ab62f08 --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/ChangeThemeCommandParser.java @@ -0,0 +1,37 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.ParserUtil.THEME_LIST; + +import java.util.Arrays; + +import seedu.address.logic.commands.ChangeThemeCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +/** + * Parses input arguments and creates a new ChangeThemeCommand object + */ +public class ChangeThemeCommandParser implements Parser<ChangeThemeCommand> { + /** + * Parses the given {@code viewMode} of arguments in the context of the ChangeThemeCommandParser + * and returns an ChangeThemeCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ChangeThemeCommand parse(String args) throws ParseException { + String theme = args.trim(); + if (!isValidTheme(theme)) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ChangeThemeCommand.MESSAGE_INVALID_THEME)); + } + return new ChangeThemeCommand(theme); + } + + /** + * + * @param theme + * @return whether if {@code theme} is a valid theme name + */ + private boolean isValidTheme(String theme) { + return !theme.isEmpty() && Arrays.asList(THEME_LIST).contains(theme); + } +} diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index 1dce721818f6..e58562e7db8e 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -31,6 +31,7 @@ public class ParserUtil { public static final String MESSAGE_INVALID_INDEX = "Index is not a non-zero unsigned integer."; public static final String MESSAGE_INSUFFICIENT_PARTS = "Number of parts must be more than 1."; + public static final String[] THEME_LIST = {"dark"}; /** * Parses {@code oneBasedIndex} into an {@code Index} and returns it. Leading and trailing whitespaces will be diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index ca50ba0d7ff5..b73486e3a00e 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -32,6 +32,10 @@ public class MainWindow extends UiPart<Stage> { private static final String EXTENSIONS_STYLESHEET = "view/Extensions.css"; + private static final ThemeList THEME_LIST = new ThemeList(); + + private static final String DEFAULT_THEME = "dark"; + private final Logger logger = LogsCenter.getLogger(this.getClass()); private Stage primaryStage; @@ -73,7 +77,7 @@ public MainWindow(Stage primaryStage, Config config, UserPrefs prefs, Logic logi this.prefs = prefs; // Configure the UI - setTheme("dark theme"); + setTheme(); setTitle(config.getAppTitle()); setWindowDefaultSize(prefs); @@ -86,13 +90,13 @@ public Stage getPrimaryStage() { } //@@author Sisyphus25 + private void setTheme() { + setTheme(DEFAULT_THEME); + } + private void setTheme(String theme) { primaryStage.getScene().getStylesheets().add(EXTENSIONS_STYLESHEET); - if (theme.equals("lighttheme")) { - primaryStage.getScene().getStylesheets().add("view/LightTheme.css"); - } else { - primaryStage.getScene().getStylesheets().add("view/DarkTheme.css"); - } + primaryStage.getScene().getStylesheets().add(THEME_LIST.getThemeStyleSheet(theme)); } @Subscribe @@ -105,7 +109,7 @@ private void handleThemeChangeEvent(ThemeChangeEvent event) { private void changeTheme() { primaryStage.getScene().getStylesheets().clear(); - setTheme("lighttheme"); + setTheme(theme); } //@@author diff --git a/src/main/java/seedu/address/ui/ThemeList.java b/src/main/java/seedu/address/ui/ThemeList.java new file mode 100644 index 000000000000..7901c97a416c --- /dev/null +++ b/src/main/java/seedu/address/ui/ThemeList.java @@ -0,0 +1,22 @@ +package seedu.address.ui; + +import java.util.HashMap; + +/** + * Provide list of themes and respective URL to their CSS stylesheet + */ +public class ThemeList { + private HashMap<String, String> themeList; + + public ThemeList() { + themeList = new HashMap<>(); + themeList.put("dark", "view/DarkTheme.css"); + } + + public String getThemeStyleSheet(String theme) { + if (!themeList.containsKey(theme)) { + return themeList.get("dark"); + } + return themeList.get(theme); + } +} From 99fe90aa7815477534212210157136ac4aa47aea Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 05:55:47 +0800 Subject: [PATCH 168/288] Add JUnit test for ChangeThemeCommand and Parser --- src/main/resources/view/CalendarPanel.fxml | 2 +- .../commands/ChangeThemeCommandTest.java | 27 +++++++++++++++++ .../parser/ChangeThemeCommandParserTest.java | 30 +++++++++++++++++++ 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 src/test/java/seedu/address/logic/commands/ChangeThemeCommandTest.java create mode 100644 src/test/java/seedu/address/logic/parser/ChangeThemeCommandParserTest.java diff --git a/src/main/resources/view/CalendarPanel.fxml b/src/main/resources/view/CalendarPanel.fxml index 9c41a71b5378..c040ccf54ad7 100644 --- a/src/main/resources/view/CalendarPanel.fxml +++ b/src/main/resources/view/CalendarPanel.fxml @@ -3,7 +3,7 @@ <?import javafx.scene.layout.BorderPane?> <?import javafx.scene.layout.StackPane?> -<StackPane xmlns="http://javafx.com/javafx/8.0.111"> +<StackPane xmlns="http://javafx.com/javafx/8.0.101"> <children> <BorderPane prefHeight="200.0" prefWidth="200.0" /> </children> diff --git a/src/test/java/seedu/address/logic/commands/ChangeThemeCommandTest.java b/src/test/java/seedu/address/logic/commands/ChangeThemeCommandTest.java new file mode 100644 index 000000000000..0759841e9847 --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/ChangeThemeCommandTest.java @@ -0,0 +1,27 @@ +package seedu.address.logic.commands; + +import static junit.framework.TestCase.assertEquals; +import static junit.framework.TestCase.assertTrue; +import static seedu.address.logic.commands.ChangeThemeCommand.MESSAGE_CHANGE_THEME_SUCCESS; + +import org.junit.Rule; +import org.junit.Test; + +import seedu.address.commons.events.ui.ThemeChangeEvent; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.ui.testutil.EventsCollectorRule; + +//@@author Sisyphus25 +public class ChangeThemeCommandTest { + @Rule + public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); + + @Test + public void execute_help_success() throws CommandException { + String theme = "dark"; + CommandResult result = new ChangeThemeCommand(theme).execute(); + assertEquals(MESSAGE_CHANGE_THEME_SUCCESS, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ThemeChangeEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); + } +} diff --git a/src/test/java/seedu/address/logic/parser/ChangeThemeCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ChangeThemeCommandParserTest.java new file mode 100644 index 000000000000..029f3bf5004f --- /dev/null +++ b/src/test/java/seedu/address/logic/parser/ChangeThemeCommandParserTest.java @@ -0,0 +1,30 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; + +import org.junit.Test; + +import seedu.address.logic.commands.ChangeThemeCommand; + +//@@author Sisyphus25 +/** + * Test scope: similar to ToggleCalendarViewCommandParser Test + */ +public class ChangeThemeCommandParserTest { + private ChangeThemeCommandParser parser = new ChangeThemeCommandParser(); + + @Test + public void parse_validArgs_returnsToggleCalendarViewCommand() { + assertParseSuccess(parser, "dark ", new ChangeThemeCommand("dark")); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "not a theme", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ChangeThemeCommand.MESSAGE_INVALID_THEME)); + assertParseFailure(parser, "x", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ChangeThemeCommand.MESSAGE_INVALID_THEME)); + } +} From d14b76bc6de132f1137f543957c4b956d461cd30 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 10:14:41 +0800 Subject: [PATCH 169/288] Add Test --- .../seedu/address/logic/parser/AddressBookParserTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 58ecea75a6ac..c9c0803da214 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -30,6 +30,7 @@ import org.junit.rules.ExpectedException; import seedu.address.logic.commands.AddCommand; +import seedu.address.logic.commands.ChangeThemeCommand; import seedu.address.logic.commands.ClearCommand; import seedu.address.logic.commands.DeleteCommand; import seedu.address.logic.commands.EditCommand; @@ -202,5 +203,12 @@ public void parseCommand_setTask() throws Exception { Event appointment = new EventBuilder(VALID_TITLE, VALID_END_TIME).build(); assertEquals(new SetTaskCommand((Task) appointment), command); } + + @Test + public void parseCommand_changeTheme() throws Exception { + ChangeThemeCommand command = + (ChangeThemeCommand) parser.parseCommand(ChangeThemeCommand.COMMAND_WORD + " " + "dark"); + assertEquals(new ChangeThemeCommand("dark"), command); + } //@@author } From e54020d886c7a51c4985af841def04a40a300e06 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 10:15:48 +0800 Subject: [PATCH 170/288] Add new themes --- .../address/logic/parser/ParserUtil.java | 2 +- src/main/java/seedu/address/ui/ThemeList.java | 2 + src/main/resources/view/DogeTheme.css | 451 ++++++++++++++++++ src/main/resources/view/LightTheme.css | 440 +++++++++++++++++ 4 files changed, 894 insertions(+), 1 deletion(-) create mode 100644 src/main/resources/view/DogeTheme.css create mode 100644 src/main/resources/view/LightTheme.css diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index e58562e7db8e..b8208376b900 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -31,7 +31,7 @@ public class ParserUtil { public static final String MESSAGE_INVALID_INDEX = "Index is not a non-zero unsigned integer."; public static final String MESSAGE_INSUFFICIENT_PARTS = "Number of parts must be more than 1."; - public static final String[] THEME_LIST = {"dark"}; + public static final String[] THEME_LIST = {"dark", "light", "doge"}; /** * Parses {@code oneBasedIndex} into an {@code Index} and returns it. Leading and trailing whitespaces will be diff --git a/src/main/java/seedu/address/ui/ThemeList.java b/src/main/java/seedu/address/ui/ThemeList.java index 7901c97a416c..d66fd0b9b39a 100644 --- a/src/main/java/seedu/address/ui/ThemeList.java +++ b/src/main/java/seedu/address/ui/ThemeList.java @@ -11,6 +11,8 @@ public class ThemeList { public ThemeList() { themeList = new HashMap<>(); themeList.put("dark", "view/DarkTheme.css"); + themeList.put("light", "view/LightTheme.css"); + themeList.put("doge", "view/DogeTheme.css"); } public String getThemeStyleSheet(String theme) { diff --git a/src/main/resources/view/DogeTheme.css b/src/main/resources/view/DogeTheme.css new file mode 100644 index 000000000000..779b9a88bf2e --- /dev/null +++ b/src/main/resources/view/DogeTheme.css @@ -0,0 +1,451 @@ +/*@@author Sisyphus25 + */ + +.root { + -fx-background-image: url("../images/doge.jpg"); + -fx-background-repeat: repeat; + -fx-background-position: center center; + -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: transparent; + -fx-background-color: transparent; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: black; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: transparent; + -fx-border-color: transparent transparent transparent #635615; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: transparent; +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: transparent; + +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent +} + +.list-cell:filled:even { + -fx-background-color: #efdc7f; +} + +.list-cell:filled:odd { + -fx-background-color: #efdc7f; +} + +.list-cell:filled:selected { + -fx-background-color: #efdc7f; +} + +.list-cell:filled:selected #cardPane { + -fx-border-color: #c1b05b; + -fx-border-width: 1; + +} + +.list-cell .label { + -fx-text-fill: black; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 16px; + -fx-text-fill: #efdc7f; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #efdc7f; +} + +.anchor-pane { + -fx-background-color: transparent; +} + +.pane-with-border { + -fx-background-color: transparent; + -fx-border-color: derive(#efdc7f, 10%); + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: transparent; + -fx-text-fill: white; +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +.result-display .label { + -fx-text-fill: transparent !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI"; + -fx-text-fill: black; +} + +.status-bar-with-border { + -fx-background-color: transparent; + -fx-border-color: derive(#efdc7f, 25%); + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: black; +} + +.grid-pane { + -fx-background-color: transparent; + -fx-border-color: derive(#efdc7f, 30%); + -fx-border-width: 1px; +} + +.grid-pane .anchor-pane { + -fx-background-color: transparent; +} + +.calendar-panel .button { + -fx-text-fill: #000000; +} + +.calendar-panel { + -fx-background-color: transparent; + background-color: transparent; +} + +.context-menu { + -fx-background-color: derive(#efdc7f, 50%); +} + +.context-menu .label { + -fx-text-fill: black; +} + +.menu-bar { + -fx-background-color: transparent; +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI"; + -fx-text-fill: black; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: transparent; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: black; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#efdc7f, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: black; + -fx-text-fill: black; +} + +.scroll-bar { + -fx-background-color: derive(#efdc7f, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + +} + +.scroll-bar .thumb { + -fx-background-color: derive(#635615, 20%); + +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-rotate: 0; + +} + +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 10pt; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: #efdc7f; + -fx-background-insets: 0; + -fx-border-color: #efdc7f #efdc7f black #efdc7f ; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); +} + +#resultDisplay { + -fx-background-color: transparent; +} + +#resultDisplay .scroll-pane .viewport{ + -fx-background-color: transparent; +} + +#resultDisplay .content { + -fx-background-color: transparent; + -fx-background-radius: 0; +} + +#tags { + -fx-hgap: 7; + -fx-vgap: 3; +} + +#tags .label { + -fx-text-fill: white; + -fx-background-color: #3e7b91; + -fx-padding: 1 3 1 3; + -fx-border-radius: 2; + -fx-background-radius: 2; + -fx-font-size: 11; +} + +/*@@author +/* +@@author Sisyphus25-reused +Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + */ +#tags .teal { + -fx-text-fill: white; + -fx-background-color: #3e7b91; +} + +#tags .red { + -fx-text-fill: black; + -fx-background-color: red; +} + +#tags .yellow { + -fx-background-color: yellow; + -fx-text-fill: black; +} + +#tags .blue { + -fx-text-fill: white; + -fx-background-color: blue; +} + +#tags .orange { + -fx-text-fill: black; + -fx-background-color: orange; +} + +#tags .black { + -fx-text-fill: white; + -fx-background-color: black; +} + +#tags .green { + -fx-text-fill: black; + -fx-background-color: green; +} + +#tags .pink { + -fx-text-fill: black; + -fx-background-color: pink; +} + +#tags .black { + -fx-text-fill: white; + -fx-background-color: black; +} + +#tags .grey { + -fx-text-fill: black; + -fx-background-color: grey; +} diff --git a/src/main/resources/view/LightTheme.css b/src/main/resources/view/LightTheme.css new file mode 100644 index 000000000000..3c22565275f4 --- /dev/null +++ b/src/main/resources/view/LightTheme.css @@ -0,0 +1,440 @@ +/*@@author Sisyphus25 + */ +.background { + -fx-background-color: #ffffff; + background-color: #ffffff; /* Used in the default.html file */ +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: #ffffff; + -fx-background-color: #ffffff; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: black; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: derive(#ffffff, 20%); + -fx-border-color: transparent transparent transparent tomato; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: derive(#ffffff, 20%); +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: derive(#ffffff, 20%); + +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent +} + +.list-cell:filled:even { + -fx-background-color: #ffd0d0; +} + +.list-cell:filled:odd { + -fx-background-color: #ffd0d0; +} + +.list-cell:filled:selected { + -fx-background-color: #ffc2c2; +} + +.list-cell:filled:selected #cardPane { + -fx-border-color: #ffc2c2; + -fx-border-width: 1; + +} + +.list-cell .label { + -fx-text-fill: brown; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 16px; + -fx-text-fill: #ffd0d0; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #ffd0d0; +} + +.anchor-pane { + -fx-background-color: derive(#ffffff, 20%); +} + +.pane-with-border { + -fx-background-color: derive(#ffffff, 20%); + -fx-border-color: derive(#ffd0d0, 10%); + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: derive(#ffd0d0, 20%); + -fx-text-fill: white; +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: brown; +} + +.result-display .label { + -fx-text-fill: white !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: brown; +} + +.status-bar-with-border { + -fx-background-color: derive(#ffd0d0, 30%); + -fx-border-color: derive(#ffd0d0, 25%); + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: brown; +} + +.grid-pane { + -fx-background-color: derive(#ffd0d0, 30%); + -fx-border-color: derive(#ffd0d0, 30%); + -fx-border-width: 1px; +} + +.grid-pane .anchor-pane { + -fx-background-color: derive(#ffd0d0, 30%); +} + +.calendar-panel .button { + -fx-text-fill: #000000; +} + +.calendar-panel { + -fx-background-color: #ffffff; + background-color: #ffffff; +} + +.context-menu { + -fx-background-color: derive(#ffd0d0, 50%); +} + +.context-menu .label { + -fx-text-fill: brown; +} + +.menu-bar { + -fx-background-color: derive(#ffd0d0, 20%); +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: brown; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: brown; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#ffd0d0, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: brown; + -fx-text-fill: brown; +} + +.scroll-bar { + -fx-background-color: derive(#ffd0d0, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + +} + +.scroll-bar .thumb { + -fx-background-color: derive(tomato, 20%); + +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-rotate: 0; + +} + +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 10pt; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: transparent #ffd0d0 transparent #ffd0d0; + -fx-background-insets: 0; + -fx-border-color: #ffd0d0 #ffd0d0 brown #ffd0d0 ; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: brown; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, brown, 10, 0, 0, 0); +} + +#resultDisplay .content { + -fx-background-color: transparent, #ffffff, transparent, #ffffff; + -fx-background-radius: 0; +} + +#tags { + -fx-hgap: 7; + -fx-vgap: 3; +} + +#tags .label { + -fx-text-fill: white; + -fx-background-color: #3e7b91; + -fx-padding: 1 3 1 3; + -fx-border-radius: 2; + -fx-background-radius: 2; + -fx-font-size: 11; +} + +/*@@author +/* +@@author Sisyphus25-reused +Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + */ +#tags .teal { + -fx-text-fill: white; + -fx-background-color: #3e7b91; +} + +#tags .red { + -fx-text-fill: black; + -fx-background-color: red; +} + +#tags .yellow { + -fx-background-color: yellow; + -fx-text-fill: black; +} + +#tags .blue { + -fx-text-fill: white; + -fx-background-color: blue; +} + +#tags .orange { + -fx-text-fill: black; + -fx-background-color: orange; +} + +#tags .brown { + -fx-text-fill: white; + -fx-background-color: brown; +} + +#tags .green { + -fx-text-fill: black; + -fx-background-color: green; +} + +#tags .pink { + -fx-text-fill: black; + -fx-background-color: pink; +} + +#tags .black { + -fx-text-fill: white; + -fx-background-color: black; +} + +#tags .grey { + -fx-text-fill: black; + -fx-background-color: grey; +} From ac59025caaa0870cae3b13403ab2e5be8aef2560 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 10:19:37 +0800 Subject: [PATCH 171/288] add test --- .../seedu/address/logic/parser/AddressBookParserTest.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 58ecea75a6ac..ee9cfe8c5f8f 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -45,6 +45,7 @@ import seedu.address.logic.commands.SelectCommand; import seedu.address.logic.commands.SetAppointmentCommand; import seedu.address.logic.commands.SetTaskCommand; +import seedu.address.logic.commands.ToggleCalendarViewCommand; import seedu.address.logic.commands.UndoCommand; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.event.Appointment; @@ -186,6 +187,13 @@ public void parseCommand_import() throws Exception { } //@@author Sisyphus25 + @Test + public void parseCommand_toggleCalendarView() throws Exception { + ToggleCalendarViewCommand command = + (ToggleCalendarViewCommand) parser.parseCommand(ToggleCalendarViewCommand.COMMAND_WORD + " " + "m"); + assertEquals(new ToggleCalendarViewCommand('m'), command); + } + @Test public void parseCommand_setAppointment() throws Exception { SetAppointmentCommand command = From 453a12df9b60c27ff0077ebc7c624220b7b15fbd Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 10:48:17 +0800 Subject: [PATCH 172/288] collate --- .../java/seedu/address/commons/events/ui/ThemeChangeEvent.java | 1 + .../java/seedu/address/logic/commands/SetAppointmentCommand.java | 1 + src/main/java/seedu/address/logic/commands/SetTaskCommand.java | 1 + .../seedu/address/logic/parser/ChangeThemeCommandParser.java | 1 + src/main/java/seedu/address/ui/ThemeList.java | 1 + 5 files changed, 5 insertions(+) diff --git a/src/main/java/seedu/address/commons/events/ui/ThemeChangeEvent.java b/src/main/java/seedu/address/commons/events/ui/ThemeChangeEvent.java index e0e579dc5d27..8ceea22be32f 100644 --- a/src/main/java/seedu/address/commons/events/ui/ThemeChangeEvent.java +++ b/src/main/java/seedu/address/commons/events/ui/ThemeChangeEvent.java @@ -2,6 +2,7 @@ import seedu.address.commons.events.BaseEvent; +//@@author Sisyphus25 /** * Indicates a request to change them */ diff --git a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java index ba97d5992e3c..ce592a2f4fc7 100644 --- a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java @@ -16,6 +16,7 @@ import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; +//@@author Sisyphus25 /** * Adds an appointment to the address book. */ diff --git a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java index 28c7b6e02343..74a3b4b224ad 100644 --- a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java @@ -8,6 +8,7 @@ import seedu.address.model.event.Task; import seedu.address.model.event.UniqueEventList; +//@@author Sisyphus25 /** * Adds a task to the address book. */ diff --git a/src/main/java/seedu/address/logic/parser/ChangeThemeCommandParser.java b/src/main/java/seedu/address/logic/parser/ChangeThemeCommandParser.java index 52977ab62f08..89e2bbe2971e 100644 --- a/src/main/java/seedu/address/logic/parser/ChangeThemeCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ChangeThemeCommandParser.java @@ -8,6 +8,7 @@ import seedu.address.logic.commands.ChangeThemeCommand; import seedu.address.logic.parser.exceptions.ParseException; +//@@author Sisyphus25 /** * Parses input arguments and creates a new ChangeThemeCommand object */ diff --git a/src/main/java/seedu/address/ui/ThemeList.java b/src/main/java/seedu/address/ui/ThemeList.java index 7901c97a416c..7fb6c2261a3c 100644 --- a/src/main/java/seedu/address/ui/ThemeList.java +++ b/src/main/java/seedu/address/ui/ThemeList.java @@ -2,6 +2,7 @@ import java.util.HashMap; +//@@author Sisyphus25 /** * Provide list of themes and respective URL to their CSS stylesheet */ From aa2910036b8eeb2c3aa70bab06436b2215dab7b7 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 10:50:44 +0800 Subject: [PATCH 173/288] collate --- .../address/commons/events/ui/ToggleCalendarViewEvent.java | 2 +- .../address/logic/parser/SetAppointmentCommandParserTest.java | 1 + .../seedu/address/logic/parser/SetTaskCommandParserTest.java | 1 + .../address/logic/parser/ToggleCalendarViewParserTest.java | 1 - 4 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/address/commons/events/ui/ToggleCalendarViewEvent.java b/src/main/java/seedu/address/commons/events/ui/ToggleCalendarViewEvent.java index a7eadddc1700..7b6697dde1ed 100644 --- a/src/main/java/seedu/address/commons/events/ui/ToggleCalendarViewEvent.java +++ b/src/main/java/seedu/address/commons/events/ui/ToggleCalendarViewEvent.java @@ -2,10 +2,10 @@ import seedu.address.commons.events.BaseEvent; +//@@author Sisyphus25 /** * Indicates a request to toggle Calendar view mode */ -//@@author Sisyphus25 public class ToggleCalendarViewEvent extends BaseEvent { public final Character viewMode; diff --git a/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java b/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java index 8a598a3611ee..42204245811b 100644 --- a/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java @@ -23,6 +23,7 @@ import seedu.address.model.event.Title; import seedu.address.testutil.EventBuilder; +//@@author Sisyphus25 public class SetAppointmentCommandParserTest { private SetAppointmentCommandParser parser = new SetAppointmentCommandParser(); diff --git a/src/test/java/seedu/address/logic/parser/SetTaskCommandParserTest.java b/src/test/java/seedu/address/logic/parser/SetTaskCommandParserTest.java index f7d76360ddc4..e4eab9c4cc54 100644 --- a/src/test/java/seedu/address/logic/parser/SetTaskCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/SetTaskCommandParserTest.java @@ -20,6 +20,7 @@ import seedu.address.model.event.Title; import seedu.address.testutil.EventBuilder; +//@@author Sisyphus25 public class SetTaskCommandParserTest { private SetTaskCommandParser parser = new SetTaskCommandParser(); diff --git a/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java b/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java index e9769621d390..0b6019e3f15a 100644 --- a/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java @@ -9,7 +9,6 @@ import seedu.address.logic.commands.ToggleCalendarViewCommand; //@@author Sisyphus25 - public class ToggleCalendarViewParserTest { private ToggleCalendarViewParser parser = new ToggleCalendarViewParser(); From 7a4e88137d8420f3e195cabb0fd4df6c76308f7c Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 10:51:26 +0800 Subject: [PATCH 174/288] add background image --- src/main/resources/images/doge.jpg | Bin 0 -> 244732 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/images/doge.jpg diff --git a/src/main/resources/images/doge.jpg b/src/main/resources/images/doge.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba9defb7a16583711253b095a0dfc5352228c334 GIT binary patch literal 244732 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�LfUzb+a=93pvMBIh^<#B2`TLrI(h~! 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ν5vrBmyf6L$O10w5_$E28ppG0)oU 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 z%0D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 @aTb*+;)2GX#Gw$NP7OKBt+|nJz(ebo>Pd|ll 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%0AyWdNz|A<LqXqLeJz?C=M3-74 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'dwX5%ofIAHa$?eUs&I96 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 literal 0 HcmV?d00001 From a9b9106bcce832e7f3e405338af7b1506928d871 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 12:18:43 +0800 Subject: [PATCH 175/288] disable unnecessary buttons --- src/main/java/seedu/address/ui/CalendarPanel.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java index 64fddc4e1994..69838b84207f 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -125,6 +125,9 @@ private void disableViews() { calendarView.setShowSearchField(false); calendarView.setShowSearchResultsTray(false); calendarView.setShowPrintButton(false); + calendarView.setShowPageSwitcher(false); + calendarView.setShowSourceTrayButton(false); + calendarView.showMonthPage(); } From 1529d6f5eefcc19e57d958d8c7f01f531e768fab Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 14:17:02 +0800 Subject: [PATCH 176/288] disable year view mode --- .../logic/commands/ToggleCalendarViewCommand.java | 2 +- .../logic/parser/ToggleCalendarViewParser.java | 1 - src/main/java/seedu/address/ui/CalendarPanel.java | 13 ++++++------- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java b/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java index 6079687f0059..f3e74936f536 100644 --- a/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java +++ b/src/main/java/seedu/address/logic/commands/ToggleCalendarViewCommand.java @@ -16,7 +16,7 @@ public class ToggleCalendarViewCommand extends Command { public static final String MESSAGE_USAGE = COMMAND_WORD + ": Toggles calendar view. \n" + "Parameter: VIEW_MODE\n" - + "View mode: Day view: d, Week view: w, Month view: m, Year view: y\n" + + "View mode: Day view: d, Week view: w, Month view: m\n" + "Example: " + COMMAND_WORD + " d"; public static final String MESSAGE_VIEW_TOGGLE_SUCCESS = "View changed."; diff --git a/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java b/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java index ab2a3f44a338..170aab936022 100644 --- a/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java +++ b/src/main/java/seedu/address/logic/parser/ToggleCalendarViewParser.java @@ -36,7 +36,6 @@ private boolean isValidViewMode(String str) { switch (str.charAt(0)) { case('w'): case('d'): - case('y'): case('m'): return true; default: diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java index 69838b84207f..9eb2435087cc 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -24,11 +24,10 @@ import seedu.address.model.event.Appointment; import seedu.address.model.event.Event; - +//@@author Sisyphus25 /** * The Calendar Panel of the App. */ -//@@author Sisyphus25 public class CalendarPanel extends UiPart<Region> { private static final String FXML = "CalendarPanel.fxml"; @@ -92,7 +91,7 @@ private Entry getEntry(Event event) { } //@@author Sisyphus25-reused - //Reused from https://github.com/CS2103AUG2017-T17-B2/main + //Reused from https://github.com/CS2103AUG2017-T17-B2/main with modifications private void setTime() { calendarView.setToday(LocalDate.now()); calendarView.setTime(LocalTime.now()); @@ -127,8 +126,11 @@ private void disableViews() { calendarView.setShowPrintButton(false); calendarView.setShowPageSwitcher(false); calendarView.setShowSourceTrayButton(false); + calendarView.setShowPageToolBarControls(false); + calendarView.setShowToolBar(false); + calendarView.setShowSourceTray(false); - calendarView.showMonthPage(); + calendarView.showDayPage(); } /** @@ -145,9 +147,6 @@ private void toggleView(Character c) { case ('m'): calendarView.showMonthPage(); return; - case ('y'): - calendarView.showYearPage(); - return; default: //should not reach here assert (false); From acec7c92aacf59652efbf029c1fa17e86cfdffd1 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 17:11:40 +0800 Subject: [PATCH 177/288] fix some theme colour issues --- src/main/resources/view/DarkTheme.css | 4 ++++ src/main/resources/view/LightTheme.css | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index 791f98d4f36b..a7d12fb7fa4e 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -193,6 +193,10 @@ -fx-text-fill: #000000; } +.calendar-panel .list-cell:filled { + -fx-background-color: #808080; +} + .context-menu { -fx-background-color: derive(#1d1d1d, 50%); } diff --git a/src/main/resources/view/LightTheme.css b/src/main/resources/view/LightTheme.css index 3c22565275f4..f29661c4571b 100644 --- a/src/main/resources/view/LightTheme.css +++ b/src/main/resources/view/LightTheme.css @@ -146,7 +146,7 @@ .pane-with-border { -fx-background-color: derive(#ffffff, 20%); - -fx-border-color: derive(#ffd0d0, 10%); + -fx-border-color: transparent; -fx-border-top-width: 1px; } @@ -200,6 +200,10 @@ background-color: #ffffff; } +.calendar-panel .content { + -fx-border-color: tomato transparent tomato transparent; +} + .context-menu { -fx-background-color: derive(#ffd0d0, 50%); } @@ -368,6 +372,7 @@ #resultDisplay .content { -fx-background-color: transparent, #ffffff, transparent, #ffffff; -fx-background-radius: 0; + -fx-border-color: #ffd0d0; } #tags { From 1e4ebb3fd52a54c84888563ada02c4cef998e469 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 18:15:34 +0800 Subject: [PATCH 178/288] add logo to app --- src/main/resources/view/DarkTheme.css | 10 ++++++++++ src/main/resources/view/MainWindow.fxml | 12 ++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index 9f3ef94cacb8..e05bae1bce46 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -197,6 +197,16 @@ -fx-background-color: derive(#1d1d1d, 30%); } +.calendar-panel .content .header-panel{ + -fx-background-color: derive(#1d1d1d, 30%); +} + +.app-title { + -fx-text-fill: white; + -fx-font-family: "Franklin Gothic Medium"; + -fx-font-size: 36px +} + .context-menu { -fx-background-color: derive(#1d1d1d, 50%); } diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index f6684e439e90..909659871947 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -11,6 +11,9 @@ <?import javafx.scene.layout.StackPane?> <?import javafx.scene.layout.VBox?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.layout.Region?> <fx:root type="javafx.stage.Stage" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" minWidth="450" minHeight="600"> <icons> @@ -41,6 +44,15 @@ </VBox> <VBox> + <StackPane fx:id="appNamePlaceholder" minHeight="70"> + <padding> + <Insets top="10" right="10" bottom="3" left="10" /> + </padding> + <HBox spacing="5" alignment="CENTER_LEFT"> + <Label fx:id="id" text="TeachConnect" styleClass="app-title"> + </Label> + </HBox> + </StackPane> <StackPane fx:id="calendarPlaceholder" prefWidth="200" styleClass="calendar-panel" > <padding> <Insets top="10" right="10" bottom="10" left="10" /> From f907ff5644f8ee09a27990869312a3f1af558b89 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 18:36:42 +0800 Subject: [PATCH 179/288] add style for app logo to new themes --- src/main/resources/view/DogeTheme.css | 6 ++++++ src/main/resources/view/LightTheme.css | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/src/main/resources/view/DogeTheme.css b/src/main/resources/view/DogeTheme.css index 779b9a88bf2e..971ce5d8cc5f 100644 --- a/src/main/resources/view/DogeTheme.css +++ b/src/main/resources/view/DogeTheme.css @@ -15,6 +15,12 @@ -fx-opacity: 0.9; } +.app-title { + -fx-text-fill: black; + -fx-font-family: "Franklin Gothic Medium"; + -fx-font-size: 36px +} + .label-bright { -fx-font-size: 11pt; -fx-font-family: "Segoe UI Semibold"; diff --git a/src/main/resources/view/LightTheme.css b/src/main/resources/view/LightTheme.css index f29661c4571b..1783c834cd18 100644 --- a/src/main/resources/view/LightTheme.css +++ b/src/main/resources/view/LightTheme.css @@ -11,6 +11,11 @@ -fx-text-fill: #555555; -fx-opacity: 0.9; } +.app-title { + -fx-text-fill: brown; + -fx-font-family: "Franklin Gothic Medium"; + -fx-font-size: 36px +} .label-bright { -fx-font-size: 11pt; From 3cce295240612ec45fcf89bd7c39ad8bee2761c7 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 18:41:54 +0800 Subject: [PATCH 180/288] change default theme --- src/main/java/seedu/address/ui/MainWindow.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index b73486e3a00e..65b560e544ba 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -34,7 +34,7 @@ public class MainWindow extends UiPart<Stage> { private static final ThemeList THEME_LIST = new ThemeList(); - private static final String DEFAULT_THEME = "dark"; + private static final String DEFAULT_THEME = "light"; private final Logger logger = LogsCenter.getLogger(this.getClass()); From d2a8e57c2028b59f71d6ef647c884e2f419eddd5 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 18:50:05 +0800 Subject: [PATCH 181/288] Refactor TagColour --- .../java/seedu/address/ui/MainWindow.java | 3 + src/main/resources/view/DarkTheme.css | 68 ------------------ src/main/resources/view/DogeTheme.css | 69 ------------------- src/main/resources/view/LightTheme.css | 69 ------------------- src/main/resources/view/TagColour.css | 66 ++++++++++++++++++ 5 files changed, 69 insertions(+), 206 deletions(-) create mode 100644 src/main/resources/view/TagColour.css diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 65b560e544ba..c7960b9b97dd 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -32,6 +32,8 @@ public class MainWindow extends UiPart<Stage> { private static final String EXTENSIONS_STYLESHEET = "view/Extensions.css"; + private static final String TAG_COLOUR_STYLESHEET = "view/TagColour.css"; + private static final ThemeList THEME_LIST = new ThemeList(); private static final String DEFAULT_THEME = "light"; @@ -96,6 +98,7 @@ private void setTheme() { private void setTheme(String theme) { primaryStage.getScene().getStylesheets().add(EXTENSIONS_STYLESHEET); + primaryStage.getScene().getStylesheets().add(TAG_COLOUR_STYLESHEET); primaryStage.getScene().getStylesheets().add(THEME_LIST.getThemeStyleSheet(theme)); } diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index a7d12fb7fa4e..86f0de5be81a 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -366,71 +366,3 @@ -fx-background-color: transparent, #383838, transparent, #383838; -fx-background-radius: 0; } - -#tags { - -fx-hgap: 7; - -fx-vgap: 3; -} - -#tags .label { - -fx-text-fill: white; - -fx-background-color: #3e7b91; - -fx-padding: 1 3 1 3; - -fx-border-radius: 2; - -fx-background-radius: 2; - -fx-font-size: 11; -} - -/* -@@author Sisyphus25-reused -Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - */ -#tags .teal { - -fx-text-fill: white; - -fx-background-color: #3e7b91; -} - -#tags .red { - -fx-text-fill: black; - -fx-background-color: red; -} - -#tags .yellow { - -fx-background-color: yellow; - -fx-text-fill: black; -} - -#tags .blue { - -fx-text-fill: white; - -fx-background-color: blue; -} - -#tags .orange { - -fx-text-fill: black; - -fx-background-color: orange; -} - -#tags .brown { - -fx-text-fill: white; - -fx-background-color: brown; -} - -#tags .green { - -fx-text-fill: black; - -fx-background-color: green; -} - -#tags .pink { - -fx-text-fill: black; - -fx-background-color: pink; -} - -#tags .black { - -fx-text-fill: white; - -fx-background-color: black; -} - -#tags .grey { - -fx-text-fill: black; - -fx-background-color: grey; -} diff --git a/src/main/resources/view/DogeTheme.css b/src/main/resources/view/DogeTheme.css index 971ce5d8cc5f..66eb1be210b1 100644 --- a/src/main/resources/view/DogeTheme.css +++ b/src/main/resources/view/DogeTheme.css @@ -386,72 +386,3 @@ -fx-background-color: transparent; -fx-background-radius: 0; } - -#tags { - -fx-hgap: 7; - -fx-vgap: 3; -} - -#tags .label { - -fx-text-fill: white; - -fx-background-color: #3e7b91; - -fx-padding: 1 3 1 3; - -fx-border-radius: 2; - -fx-background-radius: 2; - -fx-font-size: 11; -} - -/*@@author -/* -@@author Sisyphus25-reused -Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - */ -#tags .teal { - -fx-text-fill: white; - -fx-background-color: #3e7b91; -} - -#tags .red { - -fx-text-fill: black; - -fx-background-color: red; -} - -#tags .yellow { - -fx-background-color: yellow; - -fx-text-fill: black; -} - -#tags .blue { - -fx-text-fill: white; - -fx-background-color: blue; -} - -#tags .orange { - -fx-text-fill: black; - -fx-background-color: orange; -} - -#tags .black { - -fx-text-fill: white; - -fx-background-color: black; -} - -#tags .green { - -fx-text-fill: black; - -fx-background-color: green; -} - -#tags .pink { - -fx-text-fill: black; - -fx-background-color: pink; -} - -#tags .black { - -fx-text-fill: white; - -fx-background-color: black; -} - -#tags .grey { - -fx-text-fill: black; - -fx-background-color: grey; -} diff --git a/src/main/resources/view/LightTheme.css b/src/main/resources/view/LightTheme.css index 1783c834cd18..5d88b74a8973 100644 --- a/src/main/resources/view/LightTheme.css +++ b/src/main/resources/view/LightTheme.css @@ -379,72 +379,3 @@ -fx-background-radius: 0; -fx-border-color: #ffd0d0; } - -#tags { - -fx-hgap: 7; - -fx-vgap: 3; -} - -#tags .label { - -fx-text-fill: white; - -fx-background-color: #3e7b91; - -fx-padding: 1 3 1 3; - -fx-border-radius: 2; - -fx-background-radius: 2; - -fx-font-size: 11; -} - -/*@@author -/* -@@author Sisyphus25-reused -Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - */ -#tags .teal { - -fx-text-fill: white; - -fx-background-color: #3e7b91; -} - -#tags .red { - -fx-text-fill: black; - -fx-background-color: red; -} - -#tags .yellow { - -fx-background-color: yellow; - -fx-text-fill: black; -} - -#tags .blue { - -fx-text-fill: white; - -fx-background-color: blue; -} - -#tags .orange { - -fx-text-fill: black; - -fx-background-color: orange; -} - -#tags .brown { - -fx-text-fill: white; - -fx-background-color: brown; -} - -#tags .green { - -fx-text-fill: black; - -fx-background-color: green; -} - -#tags .pink { - -fx-text-fill: black; - -fx-background-color: pink; -} - -#tags .black { - -fx-text-fill: white; - -fx-background-color: black; -} - -#tags .grey { - -fx-text-fill: black; - -fx-background-color: grey; -} diff --git a/src/main/resources/view/TagColour.css b/src/main/resources/view/TagColour.css new file mode 100644 index 000000000000..8bdd5ec65b00 --- /dev/null +++ b/src/main/resources/view/TagColour.css @@ -0,0 +1,66 @@ +#tags { + -fx-hgap: 7; + -fx-vgap: 3; +} + +#tags .label { + -fx-text-fill: white; + -fx-background-color: #3e7b91; + -fx-padding: 1 3 1 3; + -fx-border-radius: 2; + -fx-background-radius: 2; + -fx-font-size: 11; +} +/* +@@author Sisyphus25-reused +Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + */ +#tags .teal { + -fx-text-fill: white; + -fx-background-color: #3e7b91; +} + +#tags .red { + -fx-text-fill: black; + -fx-background-color: red; +} + +#tags .yellow { + -fx-background-color: yellow; + -fx-text-fill: black; +} + +#tags .blue { + -fx-text-fill: white; + -fx-background-color: blue; +} + +#tags .orange { + -fx-text-fill: black; + -fx-background-color: orange; +} + +#tags .brown { + -fx-text-fill: white; + -fx-background-color: brown; +} + +#tags .green { + -fx-text-fill: black; + -fx-background-color: green; +} + +#tags .pink { + -fx-text-fill: black; + -fx-background-color: pink; +} + +#tags .black { + -fx-text-fill: white; + -fx-background-color: black; +} + +#tags .grey { + -fx-text-fill: black; + -fx-background-color: grey; +} From 4fc3af585609ce9840c8c795339a9cdff48de15e Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 19:03:43 +0800 Subject: [PATCH 182/288] Fix checkstyle --- src/main/resources/view/DarkTheme.css | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index e96620c7f0ad..8d70cb31f988 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -199,7 +199,6 @@ .calendar-panel { -fx-background-color: derive(#1d1d1d, 30%); } - .calendar-panel .content .header-panel { -fx-background-color: derive(#1d1d1d, 30%); } From d7809613a48652dae0de1f998843da4bdf8e7114 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 20:02:39 +0800 Subject: [PATCH 183/288] Fix css theme files --- src/main/resources/view/DarkTheme.css | 4 +++- src/main/resources/view/DogeTheme.css | 1 + src/main/resources/view/LightTheme.css | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index 8d70cb31f988..2a90ba55a825 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -195,7 +195,7 @@ .calendar-panel .list-cell:filled { -fx-background-color: #808080; - +} .calendar-panel { -fx-background-color: derive(#1d1d1d, 30%); } @@ -206,7 +206,9 @@ .app-title { -fx-text-fill: white; -fx-font-family: "Franklin Gothic Medium"; + -fx-font-weight: bold; -fx-font-size: 36px +} .context-menu { -fx-background-color: derive(#1d1d1d, 50%); diff --git a/src/main/resources/view/DogeTheme.css b/src/main/resources/view/DogeTheme.css index 66eb1be210b1..194460a15465 100644 --- a/src/main/resources/view/DogeTheme.css +++ b/src/main/resources/view/DogeTheme.css @@ -18,6 +18,7 @@ .app-title { -fx-text-fill: black; -fx-font-family: "Franklin Gothic Medium"; + -fx-font-weight: bold; -fx-font-size: 36px } diff --git a/src/main/resources/view/LightTheme.css b/src/main/resources/view/LightTheme.css index 5d88b74a8973..b4cc5eec273b 100644 --- a/src/main/resources/view/LightTheme.css +++ b/src/main/resources/view/LightTheme.css @@ -14,6 +14,7 @@ .app-title { -fx-text-fill: brown; -fx-font-family: "Franklin Gothic Medium"; + -fx-font-weight: bold; -fx-font-size: 36px } From f0cb7684b0d005dc2b00cf4778a9afc77e78b1db Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 20:27:09 +0800 Subject: [PATCH 184/288] modify theme --- src/main/resources/view/DarkTheme.css | 3 --- src/main/resources/view/LightTheme.css | 6 +++++- src/main/resources/view/MainWindow.fxml | 10 ++++------ 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index 2a90ba55a825..f4c2a125c565 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -199,9 +199,6 @@ .calendar-panel { -fx-background-color: derive(#1d1d1d, 30%); } -.calendar-panel .content .header-panel { - -fx-background-color: derive(#1d1d1d, 30%); -} .app-title { -fx-text-fill: white; diff --git a/src/main/resources/view/LightTheme.css b/src/main/resources/view/LightTheme.css index b4cc5eec273b..bf146396570b 100644 --- a/src/main/resources/view/LightTheme.css +++ b/src/main/resources/view/LightTheme.css @@ -207,7 +207,11 @@ } .calendar-panel .content { - -fx-border-color: tomato transparent tomato transparent; + -fx-border-color: transparent transparent tomato transparent; +} + +.calendar-panel .header { + -fx-border-color: tomato transparent transparent transparent; } .context-menu { diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index 828485b382d4..3d9563bdffaa 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -1,6 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<?import java.net.URL?> <?import javafx.geometry.Insets?> <?import javafx.scene.Scene?> <?import javafx.scene.control.Menu?> @@ -13,7 +12,6 @@ <?import javafx.scene.layout.HBox?> <?import javafx.scene.control.Label?> -<?import javafx.scene.layout.Region?> <fx:root type="javafx.stage.Stage" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" minWidth="450" minHeight="600"> <icons> @@ -39,11 +37,11 @@ </VBox> <VBox> - <StackPane fx:id="appNamePlaceholder" minHeight="70"> - <padding> - <Insets top="10" right="10" bottom="3" left="10" /> - </padding> + <StackPane fx:id="appTitle" minHeight="70"> <HBox spacing="5" alignment="CENTER_LEFT"> + <padding> + <Insets top="10" right="15" bottom="0" left="10" /> + </padding> <Label fx:id="id" text="TeachConnect" styleClass="app-title"> </Label> </HBox> From 44f1bfe9ffd1b0b27dd5da950a154456db936a97 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 21:25:02 +0800 Subject: [PATCH 185/288] - delete event interface - separate Task and Appointment --- .../events/model/AddressBookChangedEvent.java | 2 +- src/main/java/seedu/address/logic/Logic.java | 6 +- .../seedu/address/logic/LogicManager.java | 6 +- .../logic/commands/SetAppointmentCommand.java | 6 +- .../logic/commands/SetTaskCommand.java | 6 +- .../java/seedu/address/model/AddressBook.java | 55 +++----- src/main/java/seedu/address/model/Model.java | 26 ++-- .../seedu/address/model/ModelManager.java | 31 ++-- .../address/model/ReadOnlyAddressBook.java | 8 +- .../address/model/event/Appointment.java | 2 +- .../seedu/address/model/event/EventTime.java | 2 +- .../java/seedu/address/model/event/Task.java | 2 +- .../java/seedu/address/model/event/Title.java | 2 +- .../model/event/UniqueAppointmentList.java | 111 +++++++++++++++ .../address/model/event/UniqueEventList.java | 132 ------------------ .../storage/XmlSerializableAddressBook.java | 17 +-- .../java/seedu/address/ui/CalendarPanel.java | 22 ++- .../java/seedu/address/ui/MainWindow.java | 2 +- .../commands/SetAppointmentCommandTest.java | 21 ++- .../logic/commands/SetTaskCommandTest.java | 21 ++- .../logic/parser/AddressBookParserTest.java | 13 +- .../SetAppointmentCommandParserTest.java | 11 +- .../parser/SetTaskCommandParserTest.java | 6 +- .../seedu/address/model/AddressBookTest.java | 24 ++-- ...st.java => UniqueAppointmentListTest.java} | 6 +- .../address/testutil/AddressBookBuilder.java | 14 +- .../address/testutil/AppointmentBuilder.java | 45 ++++++ .../seedu/address/testutil/EventBuilder.java | 63 --------- .../seedu/address/testutil/TypicalEvents.java | 23 +-- .../address/testutil/modelstub/ModelStub.java | 24 ++-- .../ModelStubAcceptingAppointmentAdded.java | 29 ++++ .../ModelStubAcceptingEventAdded.java | 29 ---- ...ThrowingDuplicateAppointmentException.java | 22 +++ ...elStubThrowingDuplicateEventException.java | 22 --- 34 files changed, 359 insertions(+), 452 deletions(-) create mode 100644 src/main/java/seedu/address/model/event/UniqueAppointmentList.java delete mode 100644 src/main/java/seedu/address/model/event/UniqueEventList.java rename src/test/java/seedu/address/model/{UniqueEventListTest.java => UniqueAppointmentListTest.java} (70%) create mode 100644 src/test/java/seedu/address/testutil/AppointmentBuilder.java delete mode 100644 src/test/java/seedu/address/testutil/EventBuilder.java create mode 100644 src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingAppointmentAdded.java delete mode 100644 src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingEventAdded.java create mode 100644 src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateAppointmentException.java delete mode 100644 src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java diff --git a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java b/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java index 4d540cd3391e..4ef468ca6b02 100644 --- a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java +++ b/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java @@ -15,6 +15,6 @@ public AddressBookChangedEvent(ReadOnlyAddressBook data) { @Override public String toString() { return "number of persons " + data.getPersonList().size() + ", number of tags " - + data.getTagList().size() + ", number of events " + data.getEventList().size(); + + data.getTagList().size() + ", number of events " + data.getAppointmentList().size(); } } diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index 66f512c191f9..ee600fef244b 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -4,7 +4,7 @@ import seedu.address.logic.commands.CommandResult; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; -import seedu.address.model.event.Event; +import seedu.address.model.event.Appointment; import seedu.address.model.person.Person; /** @@ -23,8 +23,8 @@ public interface Logic { /** Returns an unmodifiable view of the filtered list of persons */ ObservableList<Person> getFilteredPersonList(); - /** Returns an unmodifiable view of the filtered list of events */ - ObservableList<Event> getFilteredEventList(); + /** Returns an unmodifiable view of the filtered list of appointments */ + ObservableList<Appointment> getFilteredAppointmentList(); /** Returns the list of input entered by the user, encapsulated in a {@code ListElementPointer} object */ ListElementPointer getHistorySnapshot(); diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index 18e4054fde61..2ca8b4874468 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -11,7 +11,7 @@ import seedu.address.logic.parser.AddressBookParser; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.Model; -import seedu.address.model.event.Event; +import seedu.address.model.event.Appointment; import seedu.address.model.person.Person; /** @@ -52,8 +52,8 @@ public ObservableList<Person> getFilteredPersonList() { } @Override - public ObservableList<Event> getFilteredEventList() { - return model.getFilteredEventList(); + public ObservableList<Appointment> getFilteredAppointmentList() { + return model.getFilteredAppointmentList(); } @Override diff --git a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java index ce592a2f4fc7..9a8c176f483f 100644 --- a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java @@ -13,7 +13,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.event.Appointment; import seedu.address.model.event.PersonToMeet; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.UniqueAppointmentList; import seedu.address.model.person.Person; //@@author Sisyphus25 @@ -68,9 +68,9 @@ public CommandResult executeUndoableCommand() throws CommandException { } else { toAdd = appointment; } - model.addEvent(toAdd); + model.addAppointment(toAdd); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (UniqueEventList.DuplicateEventException e) { + } catch (UniqueAppointmentList.DuplicateAppointmentException e) { throw new CommandException(MESSAGE_DUPLICATE_APPOINTMENT); } diff --git a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java index 74a3b4b224ad..52e530e209da 100644 --- a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java @@ -6,7 +6,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.event.Task; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.UniqueAppointmentList; //@@author Sisyphus25 /** @@ -41,9 +41,9 @@ public SetTaskCommand(Task task) { public CommandResult executeUndoableCommand() throws CommandException { requireNonNull(model); try { - model.addEvent(toAdd); + model.addTask(toAdd); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (UniqueEventList.DuplicateEventException e) { + } catch (UniqueAppointmentList.DuplicateTaskException e) { throw new CommandException(MESSAGE_DUPLICATE_TASK); } diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 1026ed45b66d..77b550114e31 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -11,8 +11,8 @@ import java.util.stream.Collectors; import javafx.collections.ObservableList; -import seedu.address.model.event.Event; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.UniqueAppointmentList; import seedu.address.model.person.Person; import seedu.address.model.person.UniquePersonList; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -30,7 +30,7 @@ public class AddressBook implements ReadOnlyAddressBook { private final UniquePersonList persons; private final UniqueTagList tags; - private final UniqueEventList events; + private final UniqueAppointmentList appointments; private final UniqueShortcutDoublesList shorcutCommands; /* * The 'unusual' code block below is an non-static initialization block, sometimes used to avoid duplication @@ -42,7 +42,7 @@ public class AddressBook implements ReadOnlyAddressBook { { persons = new UniquePersonList(); tags = new UniqueTagList(); - events = new UniqueEventList(); + appointments = new UniqueAppointmentList(); shorcutCommands = new UniqueShortcutDoublesList(); } @@ -66,11 +66,11 @@ public void setTags(Set<Tag> tags) { this.tags.setTags(tags); } - public void setEvents(List<Event> events) throws UniqueEventList.DuplicateEventException { - this.events.setEvents(events); + public void setAppointments(List<Appointment> appointments) + throws UniqueAppointmentList.DuplicateAppointmentException { + this.appointments.setAppointments(appointments); } - /** * Resets the existing data of this {@code AddressBook} with {@code newData}. */ @@ -80,14 +80,14 @@ public void resetData(ReadOnlyAddressBook newData) { List<Person> syncedPersonList = newData.getPersonList().stream() .map(this::syncWithMasterTagList) .collect(Collectors.toList()); - List<Event> eventList = newData.getEventList(); + List<Appointment> appointmentList = newData.getAppointmentList(); try { setPersons(syncedPersonList); - setEvents(eventList); + setAppointments(appointmentList); } catch (DuplicatePersonException e) { throw new AssertionError("AddressBooks should not have duplicate persons"); - } catch (UniqueEventList.DuplicateEventException e) { + } catch (UniqueAppointmentList.DuplicateAppointmentException e) { throw new AssertionError("AddressBooks should not have duplicate events"); } } @@ -209,8 +209,8 @@ public ObservableList<ShortcutDoubles> getCommandsList() { } @Override - public ObservableList<Event> getEventList() { - return events.asObservableList(); + public ObservableList<Appointment> getAppointmentList() { + return appointments.asObservableList(); } @Override @@ -257,39 +257,26 @@ private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundEx } //@@author Sisyphus25 - //// event operations - - /** - * Adds an event to the address book. - * - * @throws UniqueEventList.DuplicateEventException if an equivalent person already exists. - */ - public void addEvent(Event e) throws UniqueEventList.DuplicateEventException { - events.add(e); - } + //appointment operations /** - * Replaces the given event {@code target} in the list with {@code editedEvent}. + * Adds an appointment to the address book. * - * @throws UniqueEventList.DuplicateEventException if updating the event's details causes the event - * to be equivalent to another existing person in the list. - * @throws UniqueEventList.EventNotFoundException if {@code target} could not be found in the list. + * @throws UniqueAppointmentList.DuplicateAppointmentException if an equivalent appointment already exists. */ - public void updateEvent(Event target, Event editedEvent) - throws UniqueEventList.DuplicateEventException, UniqueEventList.EventNotFoundException { - requireNonNull(editedEvent); - events.setEvent(target, editedEvent); + public void addAppointment(Appointment e) throws UniqueAppointmentList.DuplicateAppointmentException { + appointments.add(e); } /** * Removes {@code key} from this {@code AddressBook}. - * @throws UniqueEventList.EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + * @throws UniqueAppointmentList.AppointmentNotFoundException if the {@code key} is not in this {@code AddressBook}. */ - public boolean removeEvent(Event key) throws UniqueEventList.EventNotFoundException { - if (events.remove(key)) { + public boolean removeAppointment(Appointment key) throws UniqueAppointmentList.AppointmentNotFoundException { + if (appointments.remove(key)) { return true; } else { - throw new UniqueEventList.EventNotFoundException(); + throw new UniqueAppointmentList.AppointmentNotFoundException(); } } } diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index d6e41896dc4d..dd3292e426ec 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -3,8 +3,8 @@ import java.util.function.Predicate; import javafx.collections.ObservableList; -import seedu.address.model.event.Event; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.UniqueAppointmentList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -47,8 +47,8 @@ void updatePerson(Person target, Person editedPerson) /** Returns an unmodifiable view of the filtered person list */ ObservableList<Person> getFilteredPersonList(); - /** Returns an unmodifiable view of the filtered event list */ - ObservableList<Event> getFilteredEventList(); + /** Returns an unmodifiable view of the filtered appointment list */ + ObservableList<Appointment> getFilteredAppointmentList(); /** * Updates the filter of the filtered person list to filter by the given {@code predicate}. @@ -62,20 +62,10 @@ void updatePerson(Person target, Person editedPerson) void deleteTag(Tag tag) throws PersonNotFoundException, DuplicatePersonException; - /** Adds the given event */ - void addEvent(Event event) throws UniqueEventList.DuplicateEventException; + /** Adds the given appointment */ + void addAppointment(Appointment appointment) throws UniqueAppointmentList.DuplicateAppointmentException; - /** Deletes the given event. */ - void deleteEvent(Event event) throws UniqueEventList.EventNotFoundException; - - /** - * Replaces the given event {@code target} with {@code editedEvent}. - * - * @throws UniqueEventList.DuplicateEventException if updating the event causes it to be equivalent to - * another existing person in the list. - * @throws UniqueEventList.EventNotFoundException if {@code target} could not be found in the list. - */ - void updateEvent(Event target, Event editedEvent) - throws UniqueEventList.DuplicateEventException, UniqueEventList.EventNotFoundException; + /** Deletes the given appointment. */ + void deleteAppointment(Appointment appointment) throws UniqueAppointmentList.AppointmentNotFoundException; } diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 28b4a734c9c3..62d6bcbf218b 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -12,8 +12,8 @@ import seedu.address.commons.core.ComponentManager; import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.model.AddressBookChangedEvent; -import seedu.address.model.event.Event; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.UniqueAppointmentList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -30,7 +30,7 @@ public class ModelManager extends ComponentManager implements Model { private final AddressBook addressBook; private final FilteredList<Person> filteredPersons; - private final FilteredList<Event> filteredEvents; + private final FilteredList<Appointment> filteredAppointments; private final FilteredList<ShortcutDoubles> filteredShortcutCommands; /** @@ -44,7 +44,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, UserPrefs userPrefs) { this.addressBook = new AddressBook(addressBook); filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); - filteredEvents = new FilteredList<>(this.addressBook.getEventList()); + filteredAppointments = new FilteredList<>(this.addressBook.getAppointmentList()); filteredShortcutCommands = new FilteredList<>(this.addressBook.getCommandsList()); } @@ -98,24 +98,15 @@ public void updatePerson(Person target, Person editedPerson) } @Override - public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { - addressBook.addEvent(event); + public void addAppointment(Appointment appointment) throws UniqueAppointmentList.DuplicateAppointmentException { + addressBook.addAppointment(appointment); updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); indicateAddressBookChanged(); } @Override - public void deleteEvent(Event target) throws UniqueEventList.EventNotFoundException { - addressBook.removeEvent(target); - indicateAddressBookChanged(); - } - - @Override - public void updateEvent(Event target, Event editedEvent) - throws UniqueEventList.DuplicateEventException, UniqueEventList.EventNotFoundException { - requireAllNonNull(target, editedEvent); - - addressBook.updateEvent(target, editedEvent); + public void deleteAppointment(Appointment target) throws UniqueAppointmentList.AppointmentNotFoundException { + addressBook.removeAppointment(target); indicateAddressBookChanged(); } @@ -131,12 +122,12 @@ public ObservableList<Person> getFilteredPersonList() { } /** - * Returns an unmodifiable view of the list of {@code Event} backed by the internal list of + * Returns an unmodifiable view of the list of {@code Appointment} backed by the internal list of * {@code addressBook} */ @Override - public ObservableList<Event> getFilteredEventList() { - return FXCollections.unmodifiableObservableList(filteredEvents); + public ObservableList<Appointment> getFilteredAppointmentList() { + return FXCollections.unmodifiableObservableList(filteredAppointments); } @Override diff --git a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java index 6ca043f72f3e..49f7f41ce346 100644 --- a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java +++ b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java @@ -1,7 +1,7 @@ package seedu.address.model; import javafx.collections.ObservableList; -import seedu.address.model.event.Event; +import seedu.address.model.event.Appointment; import seedu.address.model.person.Person; import seedu.address.model.shortcuts.ShortcutDoubles; import seedu.address.model.tag.Tag; @@ -24,10 +24,10 @@ public interface ReadOnlyAddressBook { ObservableList<Tag> getTagList(); /** - * Returns an unmodifiable view of the events list. - * This list will not contain any duplicate event. + * Returns an unmodifiable view of the appointments list. + * This list will not contain any duplicate appointment. */ - ObservableList<Event> getEventList(); + ObservableList<Appointment> getAppointmentList(); ObservableList<ShortcutDoubles> getCommandsList(); diff --git a/src/main/java/seedu/address/model/event/Appointment.java b/src/main/java/seedu/address/model/event/Appointment.java index 7fa6ce5c17b7..4a2545853571 100644 --- a/src/main/java/seedu/address/model/event/Appointment.java +++ b/src/main/java/seedu/address/model/event/Appointment.java @@ -7,7 +7,7 @@ /** * Represent an appointment in the schedule, contains time of the appointment as well as details and personMeet. */ -public class Appointment implements Event { +public class Appointment { public static final String MESSAGE_TIME_PERIOD_CONSTRAINTS = "The end time should be after the start time"; private Title title; diff --git a/src/main/java/seedu/address/model/event/EventTime.java b/src/main/java/seedu/address/model/event/EventTime.java index a5b0538c7610..9a379761e985 100644 --- a/src/main/java/seedu/address/model/event/EventTime.java +++ b/src/main/java/seedu/address/model/event/EventTime.java @@ -9,7 +9,7 @@ import java.util.Date; /** - * Represents an Event's time stamp in the address book. + * Represents an event's time stamp in the address book. * Guarantees: immutable */ public class EventTime { diff --git a/src/main/java/seedu/address/model/event/Task.java b/src/main/java/seedu/address/model/event/Task.java index aa3ae8508cdd..56e30c76f274 100644 --- a/src/main/java/seedu/address/model/event/Task.java +++ b/src/main/java/seedu/address/model/event/Task.java @@ -6,7 +6,7 @@ /** * Represent a Task in the schedule, contains deadline as well as the title */ -public class Task implements Event { +public class Task { private Title title; private EventTime time; diff --git a/src/main/java/seedu/address/model/event/Title.java b/src/main/java/seedu/address/model/event/Title.java index 25a0d1d249a8..7367f04cef4c 100644 --- a/src/main/java/seedu/address/model/event/Title.java +++ b/src/main/java/seedu/address/model/event/Title.java @@ -4,7 +4,7 @@ import static seedu.address.commons.util.AppUtil.checkArgument; /** - * Represents an Event's title in the address book. + * Represents an event's title in the address book. * Guarantees: immutable; is valid as declared in {@link #isValidTitle(String)} */ public class Title { diff --git a/src/main/java/seedu/address/model/event/UniqueAppointmentList.java b/src/main/java/seedu/address/model/event/UniqueAppointmentList.java new file mode 100644 index 000000000000..dfb1ae9e4ac9 --- /dev/null +++ b/src/main/java/seedu/address/model/event/UniqueAppointmentList.java @@ -0,0 +1,111 @@ +package seedu.address.model.event; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + +import java.util.Iterator; +import java.util.List; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import seedu.address.commons.exceptions.DuplicateDataException; + +/** + * A list of appointments that enforces uniqueness between its elements and does not allow nulls. + * + * Supports a minimal set of list operations. + */ +public class UniqueAppointmentList implements Iterable<Appointment> { + + private final ObservableList<Appointment> internalList = FXCollections.observableArrayList(); + + /** + * Returns true if the list contains an equivalent Appointment as the given argument. + */ + public boolean contains(Appointment toCheck) { + requireNonNull(toCheck); + return internalList.contains(toCheck); + } + + /** + * Adds an Appointment to the list. + * + * @throws DuplicateAppointmentException if the Appointment to add + * is a duplicate of an existing Appointment in the list. + */ + public void add(Appointment toAdd) throws DuplicateAppointmentException { + requireNonNull(toAdd); + if (contains(toAdd)) { + throw new DuplicateAppointmentException(); + } + internalList.add(toAdd); + } + + /** + * Removes the equivalent Appointment from the list. + * + * @throws AppointmentNotFoundException if no such Appointment could be found in the list. + */ + public boolean remove(Appointment toRemove) throws AppointmentNotFoundException { + requireNonNull(toRemove); + final boolean appointmentFoundAndDeleted = internalList.remove(toRemove); + if (!appointmentFoundAndDeleted) { + throw new AppointmentNotFoundException(); + } + return appointmentFoundAndDeleted; + } + + public void setAppointments(UniqueAppointmentList replacement) { + this.internalList.setAll(replacement.internalList); + } + + public void setAppointments(List<Appointment> appointments) throws DuplicateAppointmentException { + requireAllNonNull(appointments); + final UniqueAppointmentList replacement = new UniqueAppointmentList(); + for (final Appointment appointment : appointments) { + replacement.add(appointment); + } + setAppointments(replacement); + } + + /** + * Returns the backing list as an unmodifiable {@code ObservableList}. + */ + public ObservableList<Appointment> asObservableList() { + return FXCollections.unmodifiableObservableList(internalList); + } + + @Override + public Iterator<Appointment> iterator() { + return internalList.iterator(); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof UniqueAppointmentList // instanceof handles nulls + && this.internalList.equals(((UniqueAppointmentList) other).internalList)); + } + + @Override + public int hashCode() { + return internalList.hashCode(); + } + + /** + * Signals that an operation would have violated the 'no duplicates' property of the list. + */ + public static class DuplicateAppointmentException extends DuplicateDataException { + public DuplicateAppointmentException() { + super("Operation would result in duplicate appointments"); + } + } + /** + * Signals that an operation is looking for an appointment doesn't exist. + */ + public static class AppointmentNotFoundException extends Exception { + public AppointmentNotFoundException() { + super("Appointment not found"); + } + } +} diff --git a/src/main/java/seedu/address/model/event/UniqueEventList.java b/src/main/java/seedu/address/model/event/UniqueEventList.java deleted file mode 100644 index 505260cd87a7..000000000000 --- a/src/main/java/seedu/address/model/event/UniqueEventList.java +++ /dev/null @@ -1,132 +0,0 @@ -package seedu.address.model.event; - -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; - -import java.util.Iterator; -import java.util.List; - -import javafx.collections.FXCollections; -import javafx.collections.ObservableList; -import seedu.address.commons.exceptions.DuplicateDataException; - -/** - * A list of events that enforces uniqueness between its elements and does not allow nulls. - * - * Supports a minimal set of list operations. - */ -public class UniqueEventList implements Iterable<Event> { - - private final ObservableList<Event> internalList = FXCollections.observableArrayList(); - - /** - * Returns true if the list contains an equivalent Event as the given argument. - */ - public boolean contains(Event toCheck) { - requireNonNull(toCheck); - return internalList.contains(toCheck); - } - - /** - * Adds an Event to the list. - * - * @throws DuplicateEventException if the Event to add is a duplicate of an existing Event in the list. - */ - public void add(Event toAdd) throws DuplicateEventException { - requireNonNull(toAdd); - if (contains(toAdd)) { - throw new DuplicateEventException(); - } - internalList.add(toAdd); - } - - /** - * Removes the equivalent Event from the list. - * - * @throws EventNotFoundException if no such Event could be found in the list. - */ - public boolean remove(Event toRemove) throws EventNotFoundException { - requireNonNull(toRemove); - final boolean eventFoundAndDeleted = internalList.remove(toRemove); - if (!eventFoundAndDeleted) { - throw new EventNotFoundException(); - } - return eventFoundAndDeleted; - } - - /** - * Replaces the person {@code target} in the list with {@code editedEvent}. - * - * @throws DuplicateEventException if the replacement is equivalent to another existing event in the list. - * @throws EventNotFoundException if {@code target} could not be found in the list. - */ - public void setEvent(Event target, Event editedEvent) - throws DuplicateEventException, EventNotFoundException { - requireNonNull(editedEvent); - - int index = internalList.indexOf(target); - if (index == -1) { - throw new EventNotFoundException(); - } - - if (!target.equals(editedEvent) && internalList.contains(editedEvent)) { - throw new DuplicateEventException(); - } - - internalList.set(index, editedEvent); - } - - public void setEvents(UniqueEventList replacement) { - this.internalList.setAll(replacement.internalList); - } - - public void setEvents(List<Event> events) throws DuplicateEventException { - requireAllNonNull(events); - final UniqueEventList replacement = new UniqueEventList(); - for (final Event event : events) { - replacement.add(event); - } - setEvents(replacement); - } - - /** - * Returns the backing list as an unmodifiable {@code ObservableList}. - */ - public ObservableList<Event> asObservableList() { - return FXCollections.unmodifiableObservableList(internalList); - } - - @Override - public Iterator<Event> iterator() { - return internalList.iterator(); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof UniqueEventList // instanceof handles nulls - && this.internalList.equals(((UniqueEventList) other).internalList)); - } - - @Override - public int hashCode() { - return internalList.hashCode(); - } - - /** - * Signals that an operation would have violated the 'no duplicates' property of the list. - */ - public static class DuplicateEventException extends DuplicateDataException { - public DuplicateEventException() { - super("Operation would result in duplicate events"); - } - } - /** - * Signals that an operation is looking for an event doesn't exist. - */ - public static class EventNotFoundException extends Exception { - public EventNotFoundException() { - super("Event not found"); - } - } -} diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index 14be3ded17ef..e661f0e127a4 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -10,9 +10,6 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.event.Appointment; -import seedu.address.model.event.Event; -import seedu.address.model.event.Task; /** * An Immutable AddressBook that is serializable to XML format @@ -50,13 +47,8 @@ public XmlSerializableAddressBook(ReadOnlyAddressBook src) { this(); persons.addAll(src.getPersonList().stream().map(XmlAdaptedPerson::new).collect(Collectors.toList())); tags.addAll(src.getTagList().stream().map(XmlAdaptedTag::new).collect(Collectors.toList())); - for (Event e : src.getEventList()) { - if (e instanceof Appointment) { - appointments.add(new XmlAdaptedAppointment((Appointment) e)); - } else if (e instanceof Task) { - tasks.add(new XmlAdaptedTask((Task) e)); - } - } + appointments.addAll(src.getAppointmentList().stream().map( + XmlAdaptedAppointment::new).collect(Collectors.toList())); commandsList.addAll(src.getCommandsList().stream().map(XmlAdaptedShortcutDouble::new) .collect(Collectors.toList())); @@ -77,10 +69,7 @@ public AddressBook toModelType() throws IllegalValueException { addressBook.addPerson(p.toModelType()); } for (XmlAdaptedAppointment a: appointments) { - addressBook.addEvent(a.toModelType()); - } - for (XmlAdaptedTask t: tasks) { - addressBook.addEvent(t.toModelType()); + addressBook.addAppointment(a.toModelType()); } for (XmlAdaptedShortcutDouble s : commandsList) { addressBook.addShortcutDoubles(s.toModelType()); diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java index 9eb2435087cc..34c349a4217d 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -22,7 +22,6 @@ import seedu.address.commons.events.model.AddressBookChangedEvent; import seedu.address.commons.events.ui.ToggleCalendarViewEvent; import seedu.address.model.event.Appointment; -import seedu.address.model.event.Event; //@@author Sisyphus25 /** @@ -34,11 +33,11 @@ public class CalendarPanel extends UiPart<Region> { @FXML private CalendarView calendarView; - private ObservableList<Event> eventList; + private ObservableList<Appointment> appointmentList; - public CalendarPanel(ObservableList<Event> eventObservableList) { + public CalendarPanel(ObservableList<Appointment> appointmentObservableList) { super(FXML); - this.eventList = eventObservableList; + this.appointmentList = appointmentObservableList; calendarView = new CalendarView(); calendarView.setRequestedTime(LocalTime.now()); @@ -62,7 +61,7 @@ private void updateCalendar() { calendarSource.getCalendars().add(calendar); - ArrayList<Entry> entries = getEntries(eventList); + ArrayList<Entry> entries = getEntries(); for (Entry entry : entries) { calendar.addEntry(entry); @@ -70,18 +69,15 @@ private void updateCalendar() { calendarView.getCalendarSources().add(calendarSource); } - private ArrayList<Entry> getEntries(ObservableList<Event> eventList) { + private ArrayList<Entry> getEntries() { ArrayList<Entry> entries = new ArrayList<>(); - for (Event event : eventList) { - if (event instanceof Appointment) { - entries.add(getEntry(event)); - } + for (Appointment appointment : appointmentList) { + entries.add(getEntry(appointment)); } return entries; } - private Entry getEntry(Event event) { - Appointment appointment = (Appointment) event; + private Entry getEntry(Appointment appointment) { LocalDateTime ldtstart = LocalDateTime.ofInstant( appointment.getTime().value.getTime().toInstant(), ZoneId.systemDefault()); LocalDateTime ldtend = LocalDateTime.ofInstant( @@ -100,7 +96,7 @@ private void setTime() { @Subscribe private void handleNewAppointmentEvent(AddressBookChangedEvent event) { - eventList = event.data.getEventList(); + appointmentList = event.data.getAppointmentList(); Platform.runLater( this::updateCalendar ); diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index c7960b9b97dd..d00fde603a4c 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -166,7 +166,7 @@ void fillInnerParts() { CommandBox commandBox = new CommandBox(logic); commandBoxPlaceholder.getChildren().add(commandBox.getRoot()); - calendarPanel = new CalendarPanel(logic.getFilteredEventList()); + calendarPanel = new CalendarPanel(logic.getFilteredAppointmentList()); calendarPlaceholder.getChildren().add(calendarPanel.getRoot()); } diff --git a/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java b/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java index 1fd28272c9ec..b4512148f6bd 100644 --- a/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java @@ -18,8 +18,8 @@ import seedu.address.model.Model; import seedu.address.model.event.Appointment; import seedu.address.testutil.modelstub.ModelStub; -import seedu.address.testutil.modelstub.ModelStubAcceptingEventAdded; -import seedu.address.testutil.modelstub.ModelStubThrowingDuplicateEventException; +import seedu.address.testutil.modelstub.ModelStubAcceptingAppointmentAdded; +import seedu.address.testutil.modelstub.ModelStubThrowingDuplicateAppointmentException; //@@author Sisyphus25 public class SetAppointmentCommandTest { @@ -35,39 +35,38 @@ public void constructor_nullAppointment_throwsNullPointerException() { @Test public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception { - ModelStubAcceptingEventAdded modelStub = new ModelStubAcceptingEventAdded(); + ModelStubAcceptingAppointmentAdded modelStub = new ModelStubAcceptingAppointmentAdded(); - CommandResult commandResult = getSetAppointmentCommand( - (Appointment) TYPICAL_APPOINTMENT_1, modelStub).execute(); + CommandResult commandResult = getSetAppointmentCommand(TYPICAL_APPOINTMENT_1, modelStub).execute(); assertEquals(String.format( SetAppointmentCommand.MESSAGE_SUCCESS, TYPICAL_APPOINTMENT_1), commandResult.feedbackToUser); - assertEquals(Arrays.asList(TYPICAL_APPOINTMENT_1), modelStub.eventsAdded); + assertEquals(Arrays.asList(TYPICAL_APPOINTMENT_1), modelStub.appointmentsAdded); } @Test public void execute_duplicateEvent_throwsCommandException() throws Exception { - ModelStub modelStub = new ModelStubThrowingDuplicateEventException(); + ModelStub modelStub = new ModelStubThrowingDuplicateAppointmentException(); thrown.expect(CommandException.class); thrown.expectMessage(SetAppointmentCommand.MESSAGE_DUPLICATE_APPOINTMENT); - getSetAppointmentCommand((Appointment) TYPICAL_APPOINTMENT_1, modelStub).execute(); + getSetAppointmentCommand(TYPICAL_APPOINTMENT_1, modelStub).execute(); } @Test public void equals() { SetAppointmentCommand addAppointment1 = - new SetAppointmentCommand((Appointment) TYPICAL_APPOINTMENT_1); + new SetAppointmentCommand(TYPICAL_APPOINTMENT_1); SetAppointmentCommand addAppointment2 = - new SetAppointmentCommand((Appointment) TYPICAL_APPOINTMENT_2); + new SetAppointmentCommand(TYPICAL_APPOINTMENT_2); // same object -> returns true assertTrue(addAppointment1.equals(addAppointment1)); // same values -> returns true SetAppointmentCommand addAppointment1Copy = - new SetAppointmentCommand((Appointment) TYPICAL_APPOINTMENT_1); + new SetAppointmentCommand(TYPICAL_APPOINTMENT_1); assertTrue(addAppointment1.equals(addAppointment1Copy)); // different types -> returns false diff --git a/src/test/java/seedu/address/logic/commands/SetTaskCommandTest.java b/src/test/java/seedu/address/logic/commands/SetTaskCommandTest.java index b18057ed2ec4..306ba50ad539 100644 --- a/src/test/java/seedu/address/logic/commands/SetTaskCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/SetTaskCommandTest.java @@ -18,8 +18,8 @@ import seedu.address.model.Model; import seedu.address.model.event.Task; import seedu.address.testutil.modelstub.ModelStub; -import seedu.address.testutil.modelstub.ModelStubAcceptingEventAdded; -import seedu.address.testutil.modelstub.ModelStubThrowingDuplicateEventException; +import seedu.address.testutil.modelstub.ModelStubAcceptingAppointmentAdded; +import seedu.address.testutil.modelstub.ModelStubThrowingDuplicateAppointmentException; //@@author Sisyphus25 public class SetTaskCommandTest { @@ -35,38 +35,37 @@ public void constructor_nullAppointment_throwsNullPointerException() { @Test public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception { - ModelStubAcceptingEventAdded modelStub = new ModelStubAcceptingEventAdded(); + ModelStubAcceptingAppointmentAdded modelStub = new ModelStubAcceptingAppointmentAdded(); - CommandResult commandResult = getSetTaskCommand( - (Task) TYPICAL_TASK_1, modelStub).execute(); + CommandResult commandResult = getSetTaskCommand(TYPICAL_TASK_1, modelStub).execute(); assertEquals(String.format(SetTaskCommand.MESSAGE_SUCCESS, TYPICAL_TASK_1), commandResult.feedbackToUser); - assertEquals(Arrays.asList(TYPICAL_TASK_1), modelStub.eventsAdded); + assertEquals(Arrays.asList(TYPICAL_TASK_1), modelStub.appointmentsAdded); } @Test public void execute_duplicateEvent_throwsCommandException() throws Exception { - ModelStub modelStub = new ModelStubThrowingDuplicateEventException(); + ModelStub modelStub = new ModelStubThrowingDuplicateAppointmentException(); thrown.expect(CommandException.class); thrown.expectMessage(SetTaskCommand.MESSAGE_DUPLICATE_TASK); - getSetTaskCommand((Task) TYPICAL_TASK_1, modelStub).execute(); + getSetTaskCommand(TYPICAL_TASK_1, modelStub).execute(); } @Test public void equals() { SetTaskCommand addTask1 = - new SetTaskCommand((Task) TYPICAL_TASK_1); + new SetTaskCommand(TYPICAL_TASK_1); SetTaskCommand addTask2 = - new SetTaskCommand((Task) TYPICAL_TASK_2); + new SetTaskCommand(TYPICAL_TASK_2); // same object -> returns true assertTrue(addTask1.equals(addTask1)); // same values -> returns true SetTaskCommand addAppointment1Copy = - new SetTaskCommand((Task) TYPICAL_TASK_1); + new SetTaskCommand(TYPICAL_TASK_1); assertTrue(addTask1.equals(addAppointment1Copy)); // different types -> returns false diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 7d89efb015f3..cf8f41081163 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -50,13 +50,14 @@ import seedu.address.logic.commands.UndoCommand; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.event.Appointment; -import seedu.address.model.event.Event; +import seedu.address.model.event.EventTime; import seedu.address.model.event.Task; +import seedu.address.model.event.Title; import seedu.address.model.person.NameContainsKeywordsPredicate; import seedu.address.model.person.Person; import seedu.address.model.tag.Tag; +import seedu.address.testutil.AppointmentBuilder; import seedu.address.testutil.EditPersonDescriptorBuilder; -import seedu.address.testutil.EventBuilder; import seedu.address.testutil.PersonBuilder; import seedu.address.testutil.PersonUtil; @@ -200,16 +201,16 @@ public void parseCommand_setAppointment() throws Exception { SetAppointmentCommand command = (SetAppointmentCommand) parser.parseCommand(SetAppointmentCommand.COMMAND_WORD + TITLE_DESC + START_TIME_DESC + END_TIME_DESC); - Event appointment = new EventBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); - assertEquals(new SetAppointmentCommand((Appointment) appointment), command); + Appointment appointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + assertEquals(new SetAppointmentCommand(appointment), command); } @Test public void parseCommand_setTask() throws Exception { SetTaskCommand command = (SetTaskCommand) parser.parseCommand(SetTaskCommand.COMMAND_WORD + TITLE_DESC + END_TIME_DESC); - Event appointment = new EventBuilder(VALID_TITLE, VALID_END_TIME).build(); - assertEquals(new SetTaskCommand((Task) appointment), command); + Task task = new Task(new Title(VALID_TITLE), new EventTime(VALID_END_TIME)); + assertEquals(new SetTaskCommand(task), command); } @Test diff --git a/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java b/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java index 42204245811b..d7806b4ab241 100644 --- a/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java @@ -18,10 +18,9 @@ import seedu.address.logic.commands.SetAppointmentCommand; import seedu.address.model.event.Appointment; -import seedu.address.model.event.Event; import seedu.address.model.event.EventTime; import seedu.address.model.event.Title; -import seedu.address.testutil.EventBuilder; +import seedu.address.testutil.AppointmentBuilder; //@@author Sisyphus25 public class SetAppointmentCommandParserTest { @@ -29,19 +28,19 @@ public class SetAppointmentCommandParserTest { @Test public void parse_allFieldsPresent_success() { - Event expectedAppointment = new EventBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + Appointment expectedAppointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); // whitespace only preamble assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + START_TIME_DESC + END_TIME_DESC, - new SetAppointmentCommand((Appointment) expectedAppointment)); + new SetAppointmentCommand(expectedAppointment)); } @Test public void parse_optionalFieldsMissing_success() { // no personToMeet - Event expectedAppointment = new EventBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + Appointment expectedAppointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); assertParseSuccess(parser, TITLE_DESC + START_TIME_DESC + END_TIME_DESC, - new SetAppointmentCommand(((Appointment) expectedAppointment))); + new SetAppointmentCommand((expectedAppointment))); } @Test diff --git a/src/test/java/seedu/address/logic/parser/SetTaskCommandParserTest.java b/src/test/java/seedu/address/logic/parser/SetTaskCommandParserTest.java index e4eab9c4cc54..50e69d63fde1 100644 --- a/src/test/java/seedu/address/logic/parser/SetTaskCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/SetTaskCommandParserTest.java @@ -14,11 +14,9 @@ import org.junit.Test; import seedu.address.logic.commands.SetTaskCommand; -import seedu.address.model.event.Event; import seedu.address.model.event.EventTime; import seedu.address.model.event.Task; import seedu.address.model.event.Title; -import seedu.address.testutil.EventBuilder; //@@author Sisyphus25 public class SetTaskCommandParserTest { @@ -26,11 +24,11 @@ public class SetTaskCommandParserTest { @Test public void parse_allFieldsPresent_success() { - Event expectedTask = new EventBuilder(VALID_TITLE, VALID_END_TIME).build(); + Task expectedTask = new Task(new Title(VALID_TITLE), new EventTime(VALID_END_TIME)); // whitespace only preamble assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + END_TIME_DESC, - new SetTaskCommand((Task) expectedTask)); + new SetTaskCommand(expectedTask)); } @Test diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 0f888c4a58d4..13012001cca4 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -5,7 +5,7 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_NOTUSED; import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_1; -import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_1; +import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_2; import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.AMY; import static seedu.address.testutil.TypicalPersons.BOB; @@ -23,7 +23,7 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; -import seedu.address.model.event.Event; +import seedu.address.model.event.Appointment; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -42,7 +42,7 @@ public class AddressBookTest { public void constructor() { assertEquals(Collections.emptyList(), addressBook.getPersonList()); assertEquals(Collections.emptyList(), addressBook.getTagList()); - assertEquals(Collections.emptyList(), addressBook.getEventList()); + assertEquals(Collections.emptyList(), addressBook.getAppointmentList()); } @@ -64,9 +64,9 @@ public void resetData_withDuplicatePersons_throwsAssertionError() { // Repeat ALICE twice List<Person> newPersons = Arrays.asList(ALICE, ALICE); List<Tag> newTags = new ArrayList<>(ALICE.getTags()); - List<Event> newEvents = Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_TASK_1); + List<Appointment> newAppointments = Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2); List<ShortcutDoubles> newCommands = Arrays.asList(new ShortcutDoubles("a", "add")); - AddressBookStub newData = new AddressBookStub(newPersons, newTags, newEvents, newCommands); + AddressBookStub newData = new AddressBookStub(newPersons, newTags, newAppointments, newCommands); thrown.expect(AssertionError.class); addressBook.resetData(newData); @@ -85,9 +85,9 @@ public void getTagList_modifyList_throwsUnsupportedOperationException() { } @Test - public void getEventList_modifyList_throwsUnsupportedOperationException() { + public void getAppointmentList_modifyList_throwsUnsupportedOperationException() { thrown.expect(UnsupportedOperationException.class); - addressBook.getEventList().remove(0); + addressBook.getAppointmentList().remove(0); } /** @@ -96,14 +96,14 @@ public void getEventList_modifyList_throwsUnsupportedOperationException() { private static class AddressBookStub implements ReadOnlyAddressBook { private final ObservableList<Person> persons = FXCollections.observableArrayList(); private final ObservableList<Tag> tags = FXCollections.observableArrayList(); - private final ObservableList<Event> events = FXCollections.observableArrayList(); + private final ObservableList<Appointment> appointments = FXCollections.observableArrayList(); private final ObservableList<ShortcutDoubles> commandslist = FXCollections.observableArrayList(); AddressBookStub(Collection<Person> persons, Collection<? extends Tag> tags, - Collection<Event> events, Collection<ShortcutDoubles> commands) { + Collection<Appointment> appointments, Collection<ShortcutDoubles> commands) { this.persons.setAll(persons); this.tags.setAll(tags); - this.events.setAll(events); + this.appointments.setAll(appointments); this.commandslist.setAll(commands); } @@ -118,8 +118,8 @@ public ObservableList<Tag> getTagList() { } @Override - public ObservableList<Event> getEventList() { - return events; + public ObservableList<Appointment> getAppointmentList() { + return appointments; } @Override diff --git a/src/test/java/seedu/address/model/UniqueEventListTest.java b/src/test/java/seedu/address/model/UniqueAppointmentListTest.java similarity index 70% rename from src/test/java/seedu/address/model/UniqueEventListTest.java rename to src/test/java/seedu/address/model/UniqueAppointmentListTest.java index 817757c032b4..06bf883076ac 100644 --- a/src/test/java/seedu/address/model/UniqueEventListTest.java +++ b/src/test/java/seedu/address/model/UniqueAppointmentListTest.java @@ -4,15 +4,15 @@ import org.junit.Test; import org.junit.rules.ExpectedException; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.UniqueAppointmentList; -public class UniqueEventListTest { +public class UniqueAppointmentListTest { @Rule public ExpectedException thrown = ExpectedException.none(); @Test public void asObservableList_modifyList_throwsUnsupportedOperationException() { - UniqueEventList uniquePersonList = new UniqueEventList(); + UniqueAppointmentList uniquePersonList = new UniqueAppointmentList(); thrown.expect(UnsupportedOperationException.class); uniquePersonList.asObservableList().remove(0); } diff --git a/src/test/java/seedu/address/testutil/AddressBookBuilder.java b/src/test/java/seedu/address/testutil/AddressBookBuilder.java index 750e34da46d3..21e297df48d2 100644 --- a/src/test/java/seedu/address/testutil/AddressBookBuilder.java +++ b/src/test/java/seedu/address/testutil/AddressBookBuilder.java @@ -2,8 +2,8 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.AddressBook; -import seedu.address.model.event.Event; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.UniqueAppointmentList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.tag.Tag; @@ -50,13 +50,13 @@ public AddressBookBuilder withTag(String tagName) { } /** - * Parses {@code appointment} into a {@code Event} and adds it to the {@code AddressBook} that we are building. + * Add a new {@code Appointment} to the {@code AddressBook} that we are building. */ - public AddressBookBuilder withEvent(Event event) { + public AddressBookBuilder withAppointment(Appointment appointment) { try { - addressBook.addEvent(event); - } catch (UniqueEventList.DuplicateEventException ive) { - throw new IllegalArgumentException("event is expected to be unique"); + addressBook.addAppointment(appointment); + } catch (UniqueAppointmentList.DuplicateAppointmentException ive) { + throw new IllegalArgumentException("appointment is expected to be unique"); } return this; } diff --git a/src/test/java/seedu/address/testutil/AppointmentBuilder.java b/src/test/java/seedu/address/testutil/AppointmentBuilder.java new file mode 100644 index 000000000000..2bf5e0db671d --- /dev/null +++ b/src/test/java/seedu/address/testutil/AppointmentBuilder.java @@ -0,0 +1,45 @@ +package seedu.address.testutil; + +import static seedu.address.model.event.PersonToMeet.EMAIL_SPLITTER; + +import seedu.address.model.event.Appointment; + +import seedu.address.model.event.EventTime; +import seedu.address.model.event.PersonToMeet; +import seedu.address.model.event.Title; +import seedu.address.model.person.Person; + +/** + * A utility class to help with building Appointment objects. + */ +public class AppointmentBuilder { + private Title title; + private EventTime time; + private EventTime endTime; + private PersonToMeet personToMeet; + + public AppointmentBuilder(String title, String time, String endTime) { + this(title, time, endTime, (String) null); + } + + public AppointmentBuilder(String title, String time, String endTime, Person personToMeet) { + this(title, time, endTime, personToMeet.getName() + EMAIL_SPLITTER + personToMeet.getEmail()); + } + + public AppointmentBuilder(String title, String time, String endTime, String personToMeet) { + this.title = new Title(title); + this.time = new EventTime(time); + this.endTime = new EventTime(endTime); + if (personToMeet != null) { + String[] components = personToMeet.split(EMAIL_SPLITTER); + this.personToMeet = new PersonToMeet(components[0], components[1]); + } + } + + /** + * @return an {@code Appointment} from the data feed to constructor + */ + public Appointment build() { + return new Appointment(title, time, endTime, personToMeet); + } +} diff --git a/src/test/java/seedu/address/testutil/EventBuilder.java b/src/test/java/seedu/address/testutil/EventBuilder.java deleted file mode 100644 index 12d76c2c8e25..000000000000 --- a/src/test/java/seedu/address/testutil/EventBuilder.java +++ /dev/null @@ -1,63 +0,0 @@ -package seedu.address.testutil; - -import static seedu.address.model.event.PersonToMeet.EMAIL_SPLITTER; - -import seedu.address.model.event.Appointment; - -import seedu.address.model.event.Event; -import seedu.address.model.event.EventTime; -import seedu.address.model.event.PersonToMeet; -import seedu.address.model.event.Task; -import seedu.address.model.event.Title; -import seedu.address.model.person.Person; - -/** - * A utility class to help with building Event objects. - */ -public class EventBuilder { - private Title title; - private EventTime time; - private EventTime endTime; - private PersonToMeet personToMeet; - private String eventType; - - public EventBuilder(String title, String time, String endTime) { - this(title, time, endTime, (String) null); - } - - public EventBuilder(String title, String time, String endTime, Person personToMeet) { - this(title, time, endTime, personToMeet.getName() + EMAIL_SPLITTER + personToMeet.getEmail()); - } - - public EventBuilder(String title, String time, String endTime, String personToMeet) { - this.title = new Title(title); - this.time = new EventTime(time); - this.endTime = new EventTime(endTime); - if (personToMeet != null) { - String[] components = personToMeet.split(EMAIL_SPLITTER); - this.personToMeet = new PersonToMeet(components[0], components[1]); - } - this.eventType = "Appointment"; - } - - public EventBuilder(String title, String time) { - this.title = new Title(title); - this.time = new EventTime(time); - this.endTime = null; - this.personToMeet = null; - this.eventType = "Task"; - } - - /** - * @return an {@code Event} from the data feed to constructor - */ - public Event build() { - if (eventType.equals("Appointment")) { - return new Appointment(title, time, endTime, personToMeet); - } else if (eventType.equals("Task")) { - return new Task(title, time); - } else { - return null; - } - } -} diff --git a/src/test/java/seedu/address/testutil/TypicalEvents.java b/src/test/java/seedu/address/testutil/TypicalEvents.java index 24509bfc129c..16cda9c64f9f 100644 --- a/src/test/java/seedu/address/testutil/TypicalEvents.java +++ b/src/test/java/seedu/address/testutil/TypicalEvents.java @@ -3,19 +3,22 @@ import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.BOB; -import seedu.address.model.event.Event; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.EventTime; +import seedu.address.model.event.Task; +import seedu.address.model.event.Title; /** - * A utility class containing a list of {@code Event} objects to be used in tests. + * A utility class containing a list of event objects to be used in tests. */ //@@author Sisyphus25 public class TypicalEvents { - public static final Event TYPICAL_APPOINTMENT_1 = - new EventBuilder("Meet student", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build(); - public static final Event TYPICAL_APPOINTMENT_2 = - new EventBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); - public static final Event TYPICAL_TASK_1 = - new EventBuilder("To do", "10/10/2018 10:00").build(); - public static final Event TYPICAL_TASK_2 = - new EventBuilder("Mark papers", "10/06/2018 20:00").build(); + public static final Appointment TYPICAL_APPOINTMENT_1 = + new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build(); + public static final Appointment TYPICAL_APPOINTMENT_2 = + new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); + public static final Task TYPICAL_TASK_1 = + new Task(new Title("To do"), new EventTime("10/10/2018 10:00")); + public static final Task TYPICAL_TASK_2 = + new Task(new Title("Mark papers"), new EventTime("15/04/2018 23:00")); } diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index 5b0ba2999d96..f64dc8949997 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -7,8 +7,8 @@ import javafx.collections.ObservableList; import seedu.address.model.Model; import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.event.Event; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.UniqueAppointmentList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -40,7 +40,7 @@ public ReadOnlyAddressBook getAddressBook() { public ObservableList<ShortcutDoubles> getFilteredCommandsList() { fail("This method should not be called."); return null; - }; + } @Override public void deletePerson(Person target) throws PersonNotFoundException { @@ -66,14 +66,14 @@ public ObservableList<Person> getFilteredPersonList() { } @Override - public ObservableList<Event> getFilteredEventList() { + public ObservableList<Appointment> getFilteredAppointmentList() { fail("This method should not be called."); return null; } @Override public void updateFilteredCommandList(Predicate<ShortcutDoubles> predicate) { fail("This method should not be called."); - }; + } @Override public void updateFilteredPersonList(Predicate<Person> predicate) { @@ -86,18 +86,12 @@ public void deleteTag(Tag tag) { } @Override - public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { + public void addAppointment(Appointment appointment) throws UniqueAppointmentList.DuplicateAppointmentException { fail("This method should not be called."); - }; - - @Override - public void deleteEvent(Event event) throws UniqueEventList.EventNotFoundException { - fail("This method should not be called."); - }; + } @Override - public void updateEvent(Event target, Event editedEvent) - throws UniqueEventList.DuplicateEventException, UniqueEventList.EventNotFoundException { + public void deleteAppointment(Appointment appointment) throws UniqueAppointmentList.AppointmentNotFoundException { fail("This method should not be called."); - }; + } } diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingAppointmentAdded.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingAppointmentAdded.java new file mode 100644 index 000000000000..8ebcf59d643f --- /dev/null +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingAppointmentAdded.java @@ -0,0 +1,29 @@ +package seedu.address.testutil.modelstub; + +import static java.util.Objects.requireNonNull; + +import java.util.ArrayList; + +import seedu.address.model.AddressBook; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.UniqueAppointmentList; + +//@@author Sisyphus25 +/** + * A Model stub that always accept the appointment being added. + */ +public class ModelStubAcceptingAppointmentAdded extends ModelStub { + public final ArrayList<Appointment> appointmentsAdded = new ArrayList<>(); + + @Override + public void addAppointment(Appointment event) throws UniqueAppointmentList.DuplicateAppointmentException { + requireNonNull(event); + appointmentsAdded.add(event); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } +} diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingEventAdded.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingEventAdded.java deleted file mode 100644 index 23c37d5be8c1..000000000000 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingEventAdded.java +++ /dev/null @@ -1,29 +0,0 @@ -package seedu.address.testutil.modelstub; - -import static java.util.Objects.requireNonNull; - -import java.util.ArrayList; - -import seedu.address.model.AddressBook; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.event.Event; -import seedu.address.model.event.UniqueEventList; - -//@@author Sisyphus25 -/** - * A Model stub that always accept the event being added. - */ -public class ModelStubAcceptingEventAdded extends ModelStub { - public final ArrayList<Event> eventsAdded = new ArrayList<>(); - - @Override - public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { - requireNonNull(event); - eventsAdded.add(event); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - return new AddressBook(); - } -} diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateAppointmentException.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateAppointmentException.java new file mode 100644 index 000000000000..d18d1a75f01d --- /dev/null +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateAppointmentException.java @@ -0,0 +1,22 @@ +package seedu.address.testutil.modelstub; + +import seedu.address.model.AddressBook; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.UniqueAppointmentList; + +//@@author Sisyphus25 +/** + * A Model stub that always throw a DuplicateAppointmentException when trying to add an appointment. + */ +public class ModelStubThrowingDuplicateAppointmentException extends ModelStub { + @Override + public void addAppointment (Appointment appointment) throws UniqueAppointmentList.DuplicateAppointmentException { + throw new UniqueAppointmentList.DuplicateAppointmentException(); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } +} diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java deleted file mode 100644 index d8683d327f95..000000000000 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java +++ /dev/null @@ -1,22 +0,0 @@ -package seedu.address.testutil.modelstub; - -import seedu.address.model.AddressBook; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.event.Event; -import seedu.address.model.event.UniqueEventList; - -//@@author Sisyphus25 -/** - * A Model stub that always throw a DuplicateEventException when trying to add an appointment. - */ -public class ModelStubThrowingDuplicateEventException extends ModelStub { - @Override - public void addEvent(Event event) throws UniqueEventList.DuplicateEventException { - throw new UniqueEventList.DuplicateEventException(); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - return new AddressBook(); - } -} From e63ad156c28ac17110a3831b496df4bc8d8df448 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 22:54:16 +0800 Subject: [PATCH 186/288] - modify code to accommodate new TaskList in AddressBook --- .../logic/commands/SetAppointmentCommand.java | 4 +- .../logic/commands/SetTaskCommand.java | 4 +- .../java/seedu/address/model/AddressBook.java | 60 ++++++++-- src/main/java/seedu/address/model/Model.java | 15 ++- .../seedu/address/model/ModelManager.java | 32 +++-- .../address/model/ReadOnlyAddressBook.java | 7 ++ .../model/event/UniqueAppointmentList.java | 111 ------------------ .../address/model/event/UniqueEventList.java | 111 ++++++++++++++++++ .../storage/XmlSerializableAddressBook.java | 9 +- .../commands/SetAppointmentCommandTest.java | 4 +- .../logic/commands/SetTaskCommandTest.java | 14 +-- .../seedu/address/model/AddressBookTest.java | 21 +++- .../seedu/address/model/ModelManagerTest.java | 14 +++ ...ListTest.java => UniqueEventListTest.java} | 9 +- .../storage/XmlAddressBookStorageTest.java | 4 +- .../address/testutil/AddressBookBuilder.java | 4 +- .../address/testutil/AppointmentBuilder.java | 1 + .../seedu/address/testutil/TypicalEvents.java | 2 +- .../address/testutil/modelstub/ModelStub.java | 24 +++- .../ModelStubAcceptingAppointmentAdded.java | 4 +- .../ModelStubAcceptingTaskAdded.java | 29 +++++ ...ThrowingDuplicateAppointmentException.java | 22 ---- ...elStubThrowingDuplicateEventException.java | 28 +++++ 23 files changed, 345 insertions(+), 188 deletions(-) delete mode 100644 src/main/java/seedu/address/model/event/UniqueAppointmentList.java create mode 100644 src/main/java/seedu/address/model/event/UniqueEventList.java rename src/test/java/seedu/address/model/{UniqueAppointmentListTest.java => UniqueEventListTest.java} (55%) create mode 100644 src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java delete mode 100644 src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateAppointmentException.java create mode 100644 src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java diff --git a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java index 9a8c176f483f..91ed52406944 100644 --- a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java @@ -13,7 +13,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.event.Appointment; import seedu.address.model.event.PersonToMeet; -import seedu.address.model.event.UniqueAppointmentList; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; //@@author Sisyphus25 @@ -70,7 +70,7 @@ public CommandResult executeUndoableCommand() throws CommandException { } model.addAppointment(toAdd); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (UniqueAppointmentList.DuplicateAppointmentException e) { + } catch (UniqueEventList.DuplicateEventException e) { throw new CommandException(MESSAGE_DUPLICATE_APPOINTMENT); } diff --git a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java index 52e530e209da..c77829e10df9 100644 --- a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java @@ -6,7 +6,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.event.Task; -import seedu.address.model.event.UniqueAppointmentList; +import seedu.address.model.event.UniqueEventList; //@@author Sisyphus25 /** @@ -43,7 +43,7 @@ public CommandResult executeUndoableCommand() throws CommandException { try { model.addTask(toAdd); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (UniqueAppointmentList.DuplicateTaskException e) { + } catch (UniqueEventList.DuplicateEventException e) { throw new CommandException(MESSAGE_DUPLICATE_TASK); } diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 77b550114e31..dfe391d8c868 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -12,7 +12,8 @@ import javafx.collections.ObservableList; import seedu.address.model.event.Appointment; -import seedu.address.model.event.UniqueAppointmentList; +import seedu.address.model.event.Task; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.UniquePersonList; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -30,7 +31,8 @@ public class AddressBook implements ReadOnlyAddressBook { private final UniquePersonList persons; private final UniqueTagList tags; - private final UniqueAppointmentList appointments; + private final UniqueEventList<Appointment> appointments; + private final UniqueEventList<Task> tasks; private final UniqueShortcutDoublesList shorcutCommands; /* * The 'unusual' code block below is an non-static initialization block, sometimes used to avoid duplication @@ -42,7 +44,8 @@ public class AddressBook implements ReadOnlyAddressBook { { persons = new UniquePersonList(); tags = new UniqueTagList(); - appointments = new UniqueAppointmentList(); + appointments = new UniqueEventList<Appointment>(); + tasks = new UniqueEventList<Task>(); shorcutCommands = new UniqueShortcutDoublesList(); } @@ -67,8 +70,13 @@ public void setTags(Set<Tag> tags) { } public void setAppointments(List<Appointment> appointments) - throws UniqueAppointmentList.DuplicateAppointmentException { - this.appointments.setAppointments(appointments); + throws UniqueEventList.DuplicateEventException { + this.appointments.setEvents(appointments); + } + + public void setTasks(List<Task> tasks) + throws UniqueEventList.DuplicateEventException { + this.tasks.setEvents(tasks); } /** @@ -81,13 +89,15 @@ public void resetData(ReadOnlyAddressBook newData) { .map(this::syncWithMasterTagList) .collect(Collectors.toList()); List<Appointment> appointmentList = newData.getAppointmentList(); + List<Task> taskList = newData.getTaskList(); try { setPersons(syncedPersonList); setAppointments(appointmentList); + setTasks(taskList); } catch (DuplicatePersonException e) { throw new AssertionError("AddressBooks should not have duplicate persons"); - } catch (UniqueAppointmentList.DuplicateAppointmentException e) { + } catch (UniqueEventList.DuplicateEventException e) { throw new AssertionError("AddressBooks should not have duplicate events"); } } @@ -213,6 +223,11 @@ public ObservableList<Appointment> getAppointmentList() { return appointments.asObservableList(); } + @Override + public ObservableList<Task> getTaskList() { + return tasks.asObservableList(); + } + @Override public boolean equals(Object other) { return other == this // short circuit if same object @@ -257,26 +272,47 @@ private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundEx } //@@author Sisyphus25 - //appointment operations + //event operations /** * Adds an appointment to the address book. * - * @throws UniqueAppointmentList.DuplicateAppointmentException if an equivalent appointment already exists. + * @throws UniqueEventList.DuplicateEventException if an equivalent appointment already exists. */ - public void addAppointment(Appointment e) throws UniqueAppointmentList.DuplicateAppointmentException { + public void addAppointment(Appointment e) throws UniqueEventList.DuplicateEventException { appointments.add(e); } /** * Removes {@code key} from this {@code AddressBook}. - * @throws UniqueAppointmentList.AppointmentNotFoundException if the {@code key} is not in this {@code AddressBook}. + * @throws UniqueEventList.EventNotFoundException if the {@code key} is not in this {@code AddressBook}. */ - public boolean removeAppointment(Appointment key) throws UniqueAppointmentList.AppointmentNotFoundException { + public boolean removeAppointment(Appointment key) throws UniqueEventList.EventNotFoundException { if (appointments.remove(key)) { return true; } else { - throw new UniqueAppointmentList.AppointmentNotFoundException(); + throw new UniqueEventList.EventNotFoundException(); + } + } + + /** + * Adds a task to the address book. + * + * @throws UniqueEventList.DuplicateEventException if an equivalent appointment already exists. + */ + public void addTask(Task e) throws UniqueEventList.DuplicateEventException { + tasks.add(e); + } + + /** + * Removes {@code key} from this {@code AddressBook}. + * @throws UniqueEventList.EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + */ + public boolean removeTask(Task key) throws UniqueEventList.EventNotFoundException { + if (tasks.remove(key)) { + return true; + } else { + throw new UniqueEventList.EventNotFoundException(); } } } diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index dd3292e426ec..fbbc587fbba7 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -4,7 +4,8 @@ import javafx.collections.ObservableList; import seedu.address.model.event.Appointment; -import seedu.address.model.event.UniqueAppointmentList; +import seedu.address.model.event.Task; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -50,6 +51,9 @@ void updatePerson(Person target, Person editedPerson) /** Returns an unmodifiable view of the filtered appointment list */ ObservableList<Appointment> getFilteredAppointmentList(); + /** Returns an unmodifiable view of the filtered appointment list */ + ObservableList<Task> getFilteredTaskList(); + /** * Updates the filter of the filtered person list to filter by the given {@code predicate}. * @throws NullPointerException if {@code predicate} is null. @@ -63,9 +67,14 @@ void updatePerson(Person target, Person editedPerson) void deleteTag(Tag tag) throws PersonNotFoundException, DuplicatePersonException; /** Adds the given appointment */ - void addAppointment(Appointment appointment) throws UniqueAppointmentList.DuplicateAppointmentException; + void addAppointment(Appointment appointment) throws UniqueEventList.DuplicateEventException; /** Deletes the given appointment. */ - void deleteAppointment(Appointment appointment) throws UniqueAppointmentList.AppointmentNotFoundException; + void deleteAppointment(Appointment appointment) throws UniqueEventList.EventNotFoundException; + + /** Adds the given task */ + void addTask(Task task) throws UniqueEventList.DuplicateEventException; + /** Deletes the given task */ + void deleteTask(Task task) throws UniqueEventList.EventNotFoundException; } diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 62d6bcbf218b..f7a77a7c5fd2 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -13,7 +13,8 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.model.AddressBookChangedEvent; import seedu.address.model.event.Appointment; -import seedu.address.model.event.UniqueAppointmentList; +import seedu.address.model.event.Task; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -31,6 +32,7 @@ public class ModelManager extends ComponentManager implements Model { private final AddressBook addressBook; private final FilteredList<Person> filteredPersons; private final FilteredList<Appointment> filteredAppointments; + private final FilteredList<Task> filteredTasks; private final FilteredList<ShortcutDoubles> filteredShortcutCommands; /** @@ -46,6 +48,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, UserPrefs userPrefs) { filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); filteredAppointments = new FilteredList<>(this.addressBook.getAppointmentList()); filteredShortcutCommands = new FilteredList<>(this.addressBook.getCommandsList()); + filteredTasks = new FilteredList<>(this.addressBook.getTaskList()); } public ModelManager() { @@ -98,18 +101,30 @@ public void updatePerson(Person target, Person editedPerson) } @Override - public void addAppointment(Appointment appointment) throws UniqueAppointmentList.DuplicateAppointmentException { + public void addAppointment(Appointment appointment) throws UniqueEventList.DuplicateEventException { addressBook.addAppointment(appointment); - updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); indicateAddressBookChanged(); } @Override - public void deleteAppointment(Appointment target) throws UniqueAppointmentList.AppointmentNotFoundException { + public void deleteAppointment(Appointment target) throws UniqueEventList.EventNotFoundException { addressBook.removeAppointment(target); indicateAddressBookChanged(); } + @Override + public void addTask(Task task) throws UniqueEventList.DuplicateEventException { + addressBook.addTask(task); + indicateAddressBookChanged(); + } + + @Override + public void deleteTask(Task target) throws UniqueEventList.EventNotFoundException { + addressBook.removeTask(target); + indicateAddressBookChanged(); + } + + //=========== Filtered Person List Accessors ============================================================= /** @@ -121,15 +136,16 @@ public ObservableList<Person> getFilteredPersonList() { return FXCollections.unmodifiableObservableList(filteredPersons); } - /** - * Returns an unmodifiable view of the list of {@code Appointment} backed by the internal list of - * {@code addressBook} - */ @Override public ObservableList<Appointment> getFilteredAppointmentList() { return FXCollections.unmodifiableObservableList(filteredAppointments); } + @Override + public ObservableList<Task> getFilteredTaskList() { + return FXCollections.unmodifiableObservableList(filteredTasks); + } + @Override public ObservableList<ShortcutDoubles> getFilteredCommandsList() { return FXCollections.unmodifiableObservableList(filteredShortcutCommands); diff --git a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java index 49f7f41ce346..5e92c482ea43 100644 --- a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java +++ b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java @@ -2,6 +2,7 @@ import javafx.collections.ObservableList; import seedu.address.model.event.Appointment; +import seedu.address.model.event.Task; import seedu.address.model.person.Person; import seedu.address.model.shortcuts.ShortcutDoubles; import seedu.address.model.tag.Tag; @@ -29,6 +30,12 @@ public interface ReadOnlyAddressBook { */ ObservableList<Appointment> getAppointmentList(); + /** + * Returns an unmodifiable view of the tasks list. + * This list will not contain any duplicate tasks. + */ + ObservableList<Task> getTaskList(); + ObservableList<ShortcutDoubles> getCommandsList(); diff --git a/src/main/java/seedu/address/model/event/UniqueAppointmentList.java b/src/main/java/seedu/address/model/event/UniqueAppointmentList.java deleted file mode 100644 index dfb1ae9e4ac9..000000000000 --- a/src/main/java/seedu/address/model/event/UniqueAppointmentList.java +++ /dev/null @@ -1,111 +0,0 @@ -package seedu.address.model.event; - -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; - -import java.util.Iterator; -import java.util.List; - -import javafx.collections.FXCollections; -import javafx.collections.ObservableList; -import seedu.address.commons.exceptions.DuplicateDataException; - -/** - * A list of appointments that enforces uniqueness between its elements and does not allow nulls. - * - * Supports a minimal set of list operations. - */ -public class UniqueAppointmentList implements Iterable<Appointment> { - - private final ObservableList<Appointment> internalList = FXCollections.observableArrayList(); - - /** - * Returns true if the list contains an equivalent Appointment as the given argument. - */ - public boolean contains(Appointment toCheck) { - requireNonNull(toCheck); - return internalList.contains(toCheck); - } - - /** - * Adds an Appointment to the list. - * - * @throws DuplicateAppointmentException if the Appointment to add - * is a duplicate of an existing Appointment in the list. - */ - public void add(Appointment toAdd) throws DuplicateAppointmentException { - requireNonNull(toAdd); - if (contains(toAdd)) { - throw new DuplicateAppointmentException(); - } - internalList.add(toAdd); - } - - /** - * Removes the equivalent Appointment from the list. - * - * @throws AppointmentNotFoundException if no such Appointment could be found in the list. - */ - public boolean remove(Appointment toRemove) throws AppointmentNotFoundException { - requireNonNull(toRemove); - final boolean appointmentFoundAndDeleted = internalList.remove(toRemove); - if (!appointmentFoundAndDeleted) { - throw new AppointmentNotFoundException(); - } - return appointmentFoundAndDeleted; - } - - public void setAppointments(UniqueAppointmentList replacement) { - this.internalList.setAll(replacement.internalList); - } - - public void setAppointments(List<Appointment> appointments) throws DuplicateAppointmentException { - requireAllNonNull(appointments); - final UniqueAppointmentList replacement = new UniqueAppointmentList(); - for (final Appointment appointment : appointments) { - replacement.add(appointment); - } - setAppointments(replacement); - } - - /** - * Returns the backing list as an unmodifiable {@code ObservableList}. - */ - public ObservableList<Appointment> asObservableList() { - return FXCollections.unmodifiableObservableList(internalList); - } - - @Override - public Iterator<Appointment> iterator() { - return internalList.iterator(); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof UniqueAppointmentList // instanceof handles nulls - && this.internalList.equals(((UniqueAppointmentList) other).internalList)); - } - - @Override - public int hashCode() { - return internalList.hashCode(); - } - - /** - * Signals that an operation would have violated the 'no duplicates' property of the list. - */ - public static class DuplicateAppointmentException extends DuplicateDataException { - public DuplicateAppointmentException() { - super("Operation would result in duplicate appointments"); - } - } - /** - * Signals that an operation is looking for an appointment doesn't exist. - */ - public static class AppointmentNotFoundException extends Exception { - public AppointmentNotFoundException() { - super("Appointment not found"); - } - } -} diff --git a/src/main/java/seedu/address/model/event/UniqueEventList.java b/src/main/java/seedu/address/model/event/UniqueEventList.java new file mode 100644 index 000000000000..bd7eb76150e3 --- /dev/null +++ b/src/main/java/seedu/address/model/event/UniqueEventList.java @@ -0,0 +1,111 @@ +package seedu.address.model.event; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; + +import java.util.Iterator; +import java.util.List; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import seedu.address.commons.exceptions.DuplicateDataException; + +/** + * A list of events that enforces uniqueness between its elements and does not allow nulls. + * + * Supports a minimal set of list operations. + */ +public class UniqueEventList<A> implements Iterable<A> { + + private final ObservableList<A> internalList = FXCollections.observableArrayList(); + + /** + * Returns true if the list contains an equivalent Event as the given argument. + */ + public boolean contains(A toCheck) { + requireNonNull(toCheck); + return internalList.contains(toCheck); + } + + /** + * Adds an Event to the list. + * + * @throws DuplicateEventException if the event to add + * is a duplicate of an existing Event in the list. + */ + public void add(A toAdd) throws DuplicateEventException { + requireNonNull(toAdd); + if (contains(toAdd)) { + throw new DuplicateEventException(); + } + internalList.add(toAdd); + } + + /** + * Removes the equivalent Event from the list. + * + * @throws EventNotFoundException if no such event could be found in the list. + */ + public boolean remove(A toRemove) throws EventNotFoundException { + requireNonNull(toRemove); + final boolean eventFoundAndDeleted = internalList.remove(toRemove); + if (!eventFoundAndDeleted) { + throw new EventNotFoundException(); + } + return eventFoundAndDeleted; + } + + public void setEvents(UniqueEventList<A> replacement) { + this.internalList.setAll(replacement.internalList); + } + + public void setEvents(List<A> events) throws DuplicateEventException { + requireAllNonNull(events); + final UniqueEventList<A> replacement = new UniqueEventList<A>(); + for (final A event : events) { + replacement.add(event); + } + setEvents(replacement); + } + + /** + * Returns the backing list as an unmodifiable {@code ObservableList}. + */ + public ObservableList<A> asObservableList() { + return FXCollections.unmodifiableObservableList(internalList); + } + + @Override + public Iterator<A> iterator() { + return internalList.iterator(); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof UniqueEventList // instanceof handles nulls + && this.internalList.equals(((UniqueEventList<A>) other).internalList)); + } + + @Override + public int hashCode() { + return internalList.hashCode(); + } + + /** + * Signals that an operation would have violated the 'no duplicates' property of the list. + */ + public static class DuplicateEventException extends DuplicateDataException { + public DuplicateEventException() { + super("Operation would result in duplicate events"); + } + } + /** + * Signals that an operation is looking for an appointment doesn't exist. + */ + public static class EventNotFoundException extends Exception { + public EventNotFoundException() { + super("Event not found"); + } + } +} diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index e661f0e127a4..f8f146026438 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -49,7 +49,8 @@ public XmlSerializableAddressBook(ReadOnlyAddressBook src) { tags.addAll(src.getTagList().stream().map(XmlAdaptedTag::new).collect(Collectors.toList())); appointments.addAll(src.getAppointmentList().stream().map( XmlAdaptedAppointment::new).collect(Collectors.toList())); - + tasks.addAll(src.getTaskList().stream().map( + XmlAdaptedTask::new).collect(Collectors.toList())); commandsList.addAll(src.getCommandsList().stream().map(XmlAdaptedShortcutDouble::new) .collect(Collectors.toList())); } @@ -71,6 +72,9 @@ public AddressBook toModelType() throws IllegalValueException { for (XmlAdaptedAppointment a: appointments) { addressBook.addAppointment(a.toModelType()); } + for (XmlAdaptedTask t: tasks) { + addressBook.addTask(t.toModelType()); + } for (XmlAdaptedShortcutDouble s : commandsList) { addressBook.addShortcutDoubles(s.toModelType()); } @@ -90,7 +94,8 @@ public boolean equals(Object other) { return persons.equals(otherAb.persons) && tags.equals(otherAb.tags) && appointments.equals(otherAb.appointments) - && tasks.equals(otherAb.tasks); + && tasks.equals(otherAb.tasks) + && commandsList.equals(otherAb.commandsList); } } diff --git a/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java b/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java index b4512148f6bd..541ca13f1dee 100644 --- a/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java @@ -19,7 +19,7 @@ import seedu.address.model.event.Appointment; import seedu.address.testutil.modelstub.ModelStub; import seedu.address.testutil.modelstub.ModelStubAcceptingAppointmentAdded; -import seedu.address.testutil.modelstub.ModelStubThrowingDuplicateAppointmentException; +import seedu.address.testutil.modelstub.ModelStubThrowingDuplicateEventException; //@@author Sisyphus25 public class SetAppointmentCommandTest { @@ -46,7 +46,7 @@ public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception @Test public void execute_duplicateEvent_throwsCommandException() throws Exception { - ModelStub modelStub = new ModelStubThrowingDuplicateAppointmentException(); + ModelStub modelStub = new ModelStubThrowingDuplicateEventException(); thrown.expect(CommandException.class); thrown.expectMessage(SetAppointmentCommand.MESSAGE_DUPLICATE_APPOINTMENT); diff --git a/src/test/java/seedu/address/logic/commands/SetTaskCommandTest.java b/src/test/java/seedu/address/logic/commands/SetTaskCommandTest.java index 306ba50ad539..9abcf588ac83 100644 --- a/src/test/java/seedu/address/logic/commands/SetTaskCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/SetTaskCommandTest.java @@ -18,8 +18,8 @@ import seedu.address.model.Model; import seedu.address.model.event.Task; import seedu.address.testutil.modelstub.ModelStub; -import seedu.address.testutil.modelstub.ModelStubAcceptingAppointmentAdded; -import seedu.address.testutil.modelstub.ModelStubThrowingDuplicateAppointmentException; +import seedu.address.testutil.modelstub.ModelStubAcceptingTaskAdded; +import seedu.address.testutil.modelstub.ModelStubThrowingDuplicateEventException; //@@author Sisyphus25 public class SetTaskCommandTest { @@ -35,17 +35,17 @@ public void constructor_nullAppointment_throwsNullPointerException() { @Test public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception { - ModelStubAcceptingAppointmentAdded modelStub = new ModelStubAcceptingAppointmentAdded(); + ModelStubAcceptingTaskAdded modelStub = new ModelStubAcceptingTaskAdded(); - CommandResult commandResult = getSetTaskCommand(TYPICAL_TASK_1, modelStub).execute(); + CommandResult commandResult = getSetTaskCommand(TYPICAL_TASK_2, modelStub).execute(); - assertEquals(String.format(SetTaskCommand.MESSAGE_SUCCESS, TYPICAL_TASK_1), commandResult.feedbackToUser); - assertEquals(Arrays.asList(TYPICAL_TASK_1), modelStub.appointmentsAdded); + assertEquals(String.format(SetTaskCommand.MESSAGE_SUCCESS, TYPICAL_TASK_2), commandResult.feedbackToUser); + assertEquals(Arrays.asList(TYPICAL_TASK_2), modelStub.tasksAdded); } @Test public void execute_duplicateEvent_throwsCommandException() throws Exception { - ModelStub modelStub = new ModelStubThrowingDuplicateAppointmentException(); + ModelStub modelStub = new ModelStubThrowingDuplicateEventException(); thrown.expect(CommandException.class); thrown.expectMessage(SetTaskCommand.MESSAGE_DUPLICATE_TASK); diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 13012001cca4..8e36f685c92d 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -6,6 +6,8 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_NOTUSED; import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_1; import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_2; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_1; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_2; import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.AMY; import static seedu.address.testutil.TypicalPersons.BOB; @@ -24,6 +26,7 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; import seedu.address.model.event.Appointment; +import seedu.address.model.event.Task; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -65,8 +68,9 @@ public void resetData_withDuplicatePersons_throwsAssertionError() { List<Person> newPersons = Arrays.asList(ALICE, ALICE); List<Tag> newTags = new ArrayList<>(ALICE.getTags()); List<Appointment> newAppointments = Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2); + List<Task> newTasks = Arrays.asList(TYPICAL_TASK_1, TYPICAL_TASK_2); List<ShortcutDoubles> newCommands = Arrays.asList(new ShortcutDoubles("a", "add")); - AddressBookStub newData = new AddressBookStub(newPersons, newTags, newAppointments, newCommands); + AddressBookStub newData = new AddressBookStub(newPersons, newTags, newAppointments, newTasks, newCommands); thrown.expect(AssertionError.class); addressBook.resetData(newData); @@ -97,12 +101,18 @@ private static class AddressBookStub implements ReadOnlyAddressBook { private final ObservableList<Person> persons = FXCollections.observableArrayList(); private final ObservableList<Tag> tags = FXCollections.observableArrayList(); private final ObservableList<Appointment> appointments = FXCollections.observableArrayList(); + private final ObservableList<Task> tasks = FXCollections.observableArrayList(); private final ObservableList<ShortcutDoubles> commandslist = FXCollections.observableArrayList(); - AddressBookStub(Collection<Person> persons, Collection<? extends Tag> tags, - Collection<Appointment> appointments, Collection<ShortcutDoubles> commands) { + AddressBookStub(Collection<Person> persons, + Collection<? extends Tag> tags, + Collection<Appointment> appointments, + Collection<Task> tasks, + Collection<ShortcutDoubles> commands) { + this.persons.setAll(persons); this.tags.setAll(tags); + this.tasks.setAll(tasks); this.appointments.setAll(appointments); this.commandslist.setAll(commands); } @@ -122,6 +132,11 @@ public ObservableList<Appointment> getAppointmentList() { return appointments; } + @Override + public ObservableList<Task> getTaskList() { + return tasks; + } + @Override public ObservableList<ShortcutDoubles> getCommandsList() { return commandslist; diff --git a/src/test/java/seedu/address/model/ModelManagerTest.java b/src/test/java/seedu/address/model/ModelManagerTest.java index aba939ed547a..df6ef9f1bb1d 100644 --- a/src/test/java/seedu/address/model/ModelManagerTest.java +++ b/src/test/java/seedu/address/model/ModelManagerTest.java @@ -37,6 +37,20 @@ public void getFilteredPersonList_modifyList_throwsUnsupportedOperationException modelManager.getFilteredPersonList().remove(0); } + @Test + public void getFilteredAppointmentList_modifyList_throwsUnsupportedOperationException() { + ModelManager modelManager = new ModelManager(); + thrown.expect(UnsupportedOperationException.class); + modelManager.getFilteredAppointmentList().remove(0); + } + + @Test + public void getFilteredTaskList_modifyList_throwsUnsupportedOperationException() { + ModelManager modelManager = new ModelManager(); + thrown.expect(UnsupportedOperationException.class); + modelManager.getFilteredTaskList().remove(0); + } + @Test public void equals() { AddressBook addressBook = new AddressBookBuilder().withPerson(ALICE).withPerson(BENSON).build(); diff --git a/src/test/java/seedu/address/model/UniqueAppointmentListTest.java b/src/test/java/seedu/address/model/UniqueEventListTest.java similarity index 55% rename from src/test/java/seedu/address/model/UniqueAppointmentListTest.java rename to src/test/java/seedu/address/model/UniqueEventListTest.java index 06bf883076ac..8e9d56e3c3c0 100644 --- a/src/test/java/seedu/address/model/UniqueAppointmentListTest.java +++ b/src/test/java/seedu/address/model/UniqueEventListTest.java @@ -4,16 +4,17 @@ import org.junit.Test; import org.junit.rules.ExpectedException; -import seedu.address.model.event.UniqueAppointmentList; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.UniqueEventList; -public class UniqueAppointmentListTest { +public class UniqueEventListTest { @Rule public ExpectedException thrown = ExpectedException.none(); @Test public void asObservableList_modifyList_throwsUnsupportedOperationException() { - UniqueAppointmentList uniquePersonList = new UniqueAppointmentList(); + UniqueEventList<Appointment> uniqueAppointmentList = new UniqueEventList<Appointment>(); thrown.expect(UnsupportedOperationException.class); - uniquePersonList.asObservableList().remove(0); + uniqueAppointmentList.asObservableList().remove(0); } } diff --git a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java b/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java index 087d9bee90f3..b6eeffdfa6e4 100644 --- a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java +++ b/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java @@ -88,14 +88,14 @@ public void readAndSaveAddressBook_allInOrder_success() throws Exception { //Modify data, overwrite exiting file, and read back original.addPerson(HOON); original.removePerson(ALICE); - original.addEvent(TYPICAL_APPOINTMENT_1); + original.addAppointment(TYPICAL_APPOINTMENT_1); xmlAddressBookStorage.saveAddressBook(original, filePath); readBack = xmlAddressBookStorage.readAddressBook(filePath).get(); assertEquals(original, new AddressBook(readBack)); //Save and read without specifying file path original.addPerson(IDA); - original.addEvent(TYPICAL_TASK_1); + original.addTask(TYPICAL_TASK_1); xmlAddressBookStorage.saveAddressBook(original); //file path not specified readBack = xmlAddressBookStorage.readAddressBook().get(); //file path not specified assertEquals(original, new AddressBook(readBack)); diff --git a/src/test/java/seedu/address/testutil/AddressBookBuilder.java b/src/test/java/seedu/address/testutil/AddressBookBuilder.java index 21e297df48d2..642ae59a304e 100644 --- a/src/test/java/seedu/address/testutil/AddressBookBuilder.java +++ b/src/test/java/seedu/address/testutil/AddressBookBuilder.java @@ -3,7 +3,7 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.AddressBook; import seedu.address.model.event.Appointment; -import seedu.address.model.event.UniqueAppointmentList; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.tag.Tag; @@ -55,7 +55,7 @@ public AddressBookBuilder withTag(String tagName) { public AddressBookBuilder withAppointment(Appointment appointment) { try { addressBook.addAppointment(appointment); - } catch (UniqueAppointmentList.DuplicateAppointmentException ive) { + } catch (UniqueEventList.DuplicateEventException ive) { throw new IllegalArgumentException("appointment is expected to be unique"); } return this; diff --git a/src/test/java/seedu/address/testutil/AppointmentBuilder.java b/src/test/java/seedu/address/testutil/AppointmentBuilder.java index 2bf5e0db671d..3f8eddc2510e 100644 --- a/src/test/java/seedu/address/testutil/AppointmentBuilder.java +++ b/src/test/java/seedu/address/testutil/AppointmentBuilder.java @@ -9,6 +9,7 @@ import seedu.address.model.event.Title; import seedu.address.model.person.Person; +//@@author Sisyphus25 /** * A utility class to help with building Appointment objects. */ diff --git a/src/test/java/seedu/address/testutil/TypicalEvents.java b/src/test/java/seedu/address/testutil/TypicalEvents.java index 16cda9c64f9f..2281c36c2391 100644 --- a/src/test/java/seedu/address/testutil/TypicalEvents.java +++ b/src/test/java/seedu/address/testutil/TypicalEvents.java @@ -8,10 +8,10 @@ import seedu.address.model.event.Task; import seedu.address.model.event.Title; +//@@author Sisyphus25 /** * A utility class containing a list of event objects to be used in tests. */ -//@@author Sisyphus25 public class TypicalEvents { public static final Appointment TYPICAL_APPOINTMENT_1 = new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build(); diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index f64dc8949997..cf196d1f87ce 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -8,7 +8,8 @@ import seedu.address.model.Model; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.event.Appointment; -import seedu.address.model.event.UniqueAppointmentList; +import seedu.address.model.event.Task; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -70,6 +71,13 @@ public ObservableList<Appointment> getFilteredAppointmentList() { fail("This method should not be called."); return null; } + + @Override + public ObservableList<Task> getFilteredTaskList() { + fail("This method should not be called."); + return null; + } + @Override public void updateFilteredCommandList(Predicate<ShortcutDoubles> predicate) { fail("This method should not be called."); @@ -86,12 +94,22 @@ public void deleteTag(Tag tag) { } @Override - public void addAppointment(Appointment appointment) throws UniqueAppointmentList.DuplicateAppointmentException { + public void addAppointment(Appointment appointment) throws UniqueEventList.DuplicateEventException { + fail("This method should not be called."); + } + + @Override + public void deleteAppointment(Appointment appointment) throws UniqueEventList.EventNotFoundException { + fail("This method should not be called."); + } + + @Override + public void addTask(Task task) throws UniqueEventList.DuplicateEventException { fail("This method should not be called."); } @Override - public void deleteAppointment(Appointment appointment) throws UniqueAppointmentList.AppointmentNotFoundException { + public void deleteTask(Task task) throws UniqueEventList.EventNotFoundException { fail("This method should not be called."); } } diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingAppointmentAdded.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingAppointmentAdded.java index 8ebcf59d643f..b739b7dc2dd6 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingAppointmentAdded.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingAppointmentAdded.java @@ -7,7 +7,7 @@ import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.event.Appointment; -import seedu.address.model.event.UniqueAppointmentList; +import seedu.address.model.event.UniqueEventList; //@@author Sisyphus25 /** @@ -17,7 +17,7 @@ public class ModelStubAcceptingAppointmentAdded extends ModelStub { public final ArrayList<Appointment> appointmentsAdded = new ArrayList<>(); @Override - public void addAppointment(Appointment event) throws UniqueAppointmentList.DuplicateAppointmentException { + public void addAppointment(Appointment event) throws UniqueEventList.DuplicateEventException { requireNonNull(event); appointmentsAdded.add(event); } diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java new file mode 100644 index 000000000000..508a58e944a9 --- /dev/null +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java @@ -0,0 +1,29 @@ +package seedu.address.testutil.modelstub; + +import static java.util.Objects.requireNonNull; + +import java.util.ArrayList; + +import seedu.address.model.AddressBook; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.event.Task; +import seedu.address.model.event.UniqueEventList; + +//@@author Sisyphus25 +/** + * A Model stub that always accept the task being added. + */ +public class ModelStubAcceptingTaskAdded extends ModelStub { + public final ArrayList<Task> tasksAdded = new ArrayList<>(); + + @Override + public void addTask(Task event) throws UniqueEventList.DuplicateEventException { + requireNonNull(event); + tasksAdded.add(event); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } +} diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateAppointmentException.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateAppointmentException.java deleted file mode 100644 index d18d1a75f01d..000000000000 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateAppointmentException.java +++ /dev/null @@ -1,22 +0,0 @@ -package seedu.address.testutil.modelstub; - -import seedu.address.model.AddressBook; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.event.Appointment; -import seedu.address.model.event.UniqueAppointmentList; - -//@@author Sisyphus25 -/** - * A Model stub that always throw a DuplicateAppointmentException when trying to add an appointment. - */ -public class ModelStubThrowingDuplicateAppointmentException extends ModelStub { - @Override - public void addAppointment (Appointment appointment) throws UniqueAppointmentList.DuplicateAppointmentException { - throw new UniqueAppointmentList.DuplicateAppointmentException(); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - return new AddressBook(); - } -} diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java new file mode 100644 index 000000000000..47837db2978d --- /dev/null +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java @@ -0,0 +1,28 @@ +package seedu.address.testutil.modelstub; + +import seedu.address.model.AddressBook; +import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.Task; +import seedu.address.model.event.UniqueEventList; + +//@@author Sisyphus25 +/** + * A Model stub that always throw a DuplicateEventException when trying to add an appointment/task. + */ +public class ModelStubThrowingDuplicateEventException extends ModelStub { + @Override + public void addAppointment (Appointment appointment) throws UniqueEventList.DuplicateEventException { + throw new UniqueEventList.DuplicateEventException(); + } + + @Override + public void addTask (Task task) throws UniqueEventList.DuplicateEventException { + throw new UniqueEventList.DuplicateEventException(); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } +} From fefc5a4b80e48acb708fdf45703b2c618c722863 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Thu, 29 Mar 2018 23:10:34 +0800 Subject: [PATCH 187/288] - declare appointment variable final --- src/main/java/seedu/address/model/event/Appointment.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/seedu/address/model/event/Appointment.java b/src/main/java/seedu/address/model/event/Appointment.java index 4a2545853571..fabd0ed67aee 100644 --- a/src/main/java/seedu/address/model/event/Appointment.java +++ b/src/main/java/seedu/address/model/event/Appointment.java @@ -10,10 +10,10 @@ public class Appointment { public static final String MESSAGE_TIME_PERIOD_CONSTRAINTS = "The end time should be after the start time"; - private Title title; - private EventTime time; - private EventTime endTime; - private PersonToMeet personToMeet; + private final Title title; + private final EventTime time; + private final EventTime endTime; + private final PersonToMeet personToMeet; //Every field must be present and not null public Appointment(Title title, EventTime startTime, EventTime endTime) { From 7228e8b543901bb4d114490db27cbf0da72fe6eb Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Fri, 30 Mar 2018 02:11:56 +0800 Subject: [PATCH 188/288] - Add fxml files to support appointment and task List --- .../seedu/address/ui/AppointmentCard.java | 66 +++++++++++++++++++ .../address/ui/AppointmentListPanel.java | 57 ++++++++++++++++ .../java/seedu/address/ui/MainWindow.java | 36 +++++++++- src/main/java/seedu/address/ui/TaskCard.java | 59 +++++++++++++++++ .../java/seedu/address/ui/TaskListPanel.java | 57 ++++++++++++++++ .../resources/view/AppointmentListCard.fxml | 33 ++++++++++ .../resources/view/AppointmentListPanel.fxml | 8 +++ src/main/resources/view/MainWindow.fxml | 2 +- src/main/resources/view/TaskListCard.fxml | 32 +++++++++ src/main/resources/view/TaskListPanel.fxml | 8 +++ 10 files changed, 355 insertions(+), 3 deletions(-) create mode 100644 src/main/java/seedu/address/ui/AppointmentCard.java create mode 100644 src/main/java/seedu/address/ui/AppointmentListPanel.java create mode 100644 src/main/java/seedu/address/ui/TaskCard.java create mode 100644 src/main/java/seedu/address/ui/TaskListPanel.java create mode 100644 src/main/resources/view/AppointmentListCard.fxml create mode 100644 src/main/resources/view/AppointmentListPanel.fxml create mode 100644 src/main/resources/view/TaskListCard.fxml create mode 100644 src/main/resources/view/TaskListPanel.fxml diff --git a/src/main/java/seedu/address/ui/AppointmentCard.java b/src/main/java/seedu/address/ui/AppointmentCard.java new file mode 100644 index 000000000000..a85088043edf --- /dev/null +++ b/src/main/java/seedu/address/ui/AppointmentCard.java @@ -0,0 +1,66 @@ + +package seedu.address.ui; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; + +import javafx.fxml.FXML; +import javafx.scene.control.Label; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Region; +import seedu.address.model.event.Appointment; + +//@@author Sisyphus25 +/** + * An UI component that displays information of a {@code Appointment}. + */ +public class AppointmentCard extends UiPart<Region> { + + private static final String FXML = "AppointmentListCard.fxml"; + private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; + private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + + public final Appointment appointment; + + @FXML + private HBox cardPane; + @FXML + private Label title; + @FXML + private Label id; + @FXML + private Label time; + @FXML + private Label personToMeet; + + public AppointmentCard(Appointment appointment, int displayedIndex) { + super(FXML); + this.appointment = appointment; + id.setText(displayedIndex + ". "); + title.setText(appointment.getTitle().value); + time.setText(DATE_FORMATTER.format(appointment.getTime().value.getTime())); + if (appointment.getPersonToMeet() != null) { + personToMeet.setText("With " + appointment.getPersonToMeet().getName()); + } else { + personToMeet.setText(""); + } + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof AppointmentCard)) { + return false; + } + + // state check + AppointmentCard card = (AppointmentCard) other; + return id.getText().equals(card.id.getText()) + && appointment.equals(card.appointment); + } +} diff --git a/src/main/java/seedu/address/ui/AppointmentListPanel.java b/src/main/java/seedu/address/ui/AppointmentListPanel.java new file mode 100644 index 000000000000..b1e8a7599033 --- /dev/null +++ b/src/main/java/seedu/address/ui/AppointmentListPanel.java @@ -0,0 +1,57 @@ +package seedu.address.ui; + +import java.util.logging.Logger; + +import org.fxmisc.easybind.EasyBind; + +import javafx.collections.ObservableList; + +import javafx.fxml.FXML; +import javafx.scene.control.ListCell; +import javafx.scene.control.ListView; +import javafx.scene.layout.Region; +import seedu.address.commons.core.LogsCenter; +import seedu.address.model.event.Appointment; + +/** + * Panel containing the list of appointments. + */ +public class AppointmentListPanel extends UiPart<Region> { + private static final String FXML = "AppointmentListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(PersonListPanel.class); + + @FXML + private ListView<AppointmentCard> appointmentListView; + + public AppointmentListPanel(ObservableList<Appointment> appointmentList) { + super(FXML); + setConnections(appointmentList); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList<Appointment> appointmentList) { + ObservableList<AppointmentCard> mappedList = EasyBind.map(appointmentList, (appointment) -> + new AppointmentCard(appointment, appointmentList.indexOf(appointment) + 1)); + appointmentListView.setItems(mappedList); + appointmentListView.setCellFactory(listView -> new AppointmentListViewCell()); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code AppointmentCard}. + */ + class AppointmentListViewCell extends ListCell<AppointmentCard> { + + @Override + protected void updateItem(AppointmentCard appointment, boolean empty) { + super.updateItem(appointment, empty); + + if (empty || appointment == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(appointment.getRoot()); + } + } + } + +} diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index d00fde603a4c..4dc5abac431d 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -19,6 +19,7 @@ import seedu.address.commons.events.ui.ExitAppRequestEvent; import seedu.address.commons.events.ui.ShowHelpRequestEvent; import seedu.address.commons.events.ui.ThemeChangeEvent; +import seedu.address.commons.events.ui.ToggleListEvent; import seedu.address.logic.Logic; import seedu.address.model.UserPrefs; @@ -45,6 +46,8 @@ public class MainWindow extends UiPart<Stage> { // Independent Ui parts residing in this Ui container private PersonListPanel personListPanel; + private AppointmentListPanel appointmentListPanel; + private TaskListPanel taskListPanel; private Config config; private UserPrefs prefs; private CalendarPanel calendarPanel; @@ -58,7 +61,7 @@ public class MainWindow extends UiPart<Stage> { private MenuItem helpMenuItem; @FXML - private StackPane personListPanelPlaceholder; + private StackPane listPanelPlaceholder; @FXML private StackPane resultDisplayPlaceholder; @@ -155,7 +158,7 @@ private void setAccelerator(MenuItem menuItem, KeyCombination keyCombination) { */ void fillInnerParts() { personListPanel = new PersonListPanel(logic.getFilteredPersonList()); - personListPanelPlaceholder.getChildren().add(personListPanel.getRoot()); + listPanelPlaceholder.getChildren().add(personListPanel.getRoot()); ResultDisplay resultDisplay = new ResultDisplay(); resultDisplayPlaceholder.getChildren().add(resultDisplay.getRoot()); @@ -168,6 +171,9 @@ void fillInnerParts() { calendarPanel = new CalendarPanel(logic.getFilteredAppointmentList()); calendarPlaceholder.getChildren().add(calendarPanel.getRoot()); + + appointmentListPanel = new AppointmentListPanel(logic.getFilteredAppointmentList()); + taskListPanel = new TaskListPanel(logic.getFilteredTaskList()); } void hide() { @@ -207,6 +213,26 @@ public void handleHelp() { helpWindow.show(); } + /** + * Toggles list + */ + @FXML + public void toggleList(String list) { + listPanelPlaceholder.getChildren().clear(); + switch(list) { + case "appointment": + listPanelPlaceholder.getChildren().add(appointmentListPanel.getRoot()); + break; + case "task": + listPanelPlaceholder.getChildren().add(taskListPanel.getRoot()); + break; + case "person": + default: + listPanelPlaceholder.getChildren().add(personListPanel.getRoot()); + } + + } + void show() { primaryStage.show(); } @@ -228,4 +254,10 @@ private void handleShowHelpEvent(ShowHelpRequestEvent event) { logger.info(LogsCenter.getEventHandlingLogMessage(event)); handleHelp(); } + + @Subscribe + private void handleToggleListEvent(ToggleListEvent event) { + logger.info(LogsCenter.getEventHandlingLogMessage(event)); + toggleList(event.list); + } } diff --git a/src/main/java/seedu/address/ui/TaskCard.java b/src/main/java/seedu/address/ui/TaskCard.java new file mode 100644 index 000000000000..d7fb481030b4 --- /dev/null +++ b/src/main/java/seedu/address/ui/TaskCard.java @@ -0,0 +1,59 @@ + +package seedu.address.ui; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; + +import javafx.fxml.FXML; +import javafx.scene.control.Label; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Region; +import seedu.address.model.event.Task; + +//@@author Sisyphus25 +/** + * An UI component that displays information of a {@code Task}. + */ +public class TaskCard extends UiPart<Region> { + + private static final String FXML = "TaskListCard.fxml"; + private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; + private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + + public final Task task; + + @FXML + private HBox cardPane; + @FXML + private Label title; + @FXML + private Label id; + @FXML + private Label time; + + public TaskCard(Task task, int displayedIndex) { + super(FXML); + this.task = task; + id.setText(displayedIndex + ". "); + title.setText(task.getTitle().value); + time.setText(DATE_FORMATTER.format(task.getTime().value.getTime())); + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof TaskCard)) { + return false; + } + + // state check + TaskCard card = (TaskCard) other; + return id.getText().equals(card.id.getText()) + && task.equals(card.task); + } +} diff --git a/src/main/java/seedu/address/ui/TaskListPanel.java b/src/main/java/seedu/address/ui/TaskListPanel.java new file mode 100644 index 000000000000..f380f93e5dea --- /dev/null +++ b/src/main/java/seedu/address/ui/TaskListPanel.java @@ -0,0 +1,57 @@ +package seedu.address.ui; + +import java.util.logging.Logger; + +import org.fxmisc.easybind.EasyBind; + +import javafx.collections.ObservableList; + +import javafx.fxml.FXML; +import javafx.scene.control.ListCell; +import javafx.scene.control.ListView; +import javafx.scene.layout.Region; +import seedu.address.commons.core.LogsCenter; +import seedu.address.model.event.Task; + +/** + * Panel containing the list of tasks. + */ +public class TaskListPanel extends UiPart<Region> { + private static final String FXML = "TaskListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(PersonListPanel.class); + + @FXML + private ListView<TaskCard> taskListView; + + public TaskListPanel(ObservableList<Task> taskList) { + super(FXML); + setConnections(taskList); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList<Task> taskList) { + ObservableList<TaskCard> mappedList = EasyBind.map(taskList, (task) -> + new TaskCard(task, taskList.indexOf(task) + 1)); + taskListView.setItems(mappedList); + taskListView.setCellFactory(listView -> new TaskListViewCell()); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code TaskCard}. + */ + class TaskListViewCell extends ListCell<TaskCard> { + + @Override + protected void updateItem(TaskCard task, boolean empty) { + super.updateItem(task, empty); + + if (empty || task == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(task.getRoot()); + } + } + } + +} diff --git a/src/main/resources/view/AppointmentListCard.fxml b/src/main/resources/view/AppointmentListCard.fxml new file mode 100644 index 000000000000..5b872cec9670 --- /dev/null +++ b/src/main/resources/view/AppointmentListCard.fxml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.geometry.Insets?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.layout.ColumnConstraints?> +<?import javafx.scene.layout.GridPane?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.Region?> +<?import javafx.scene.layout.VBox?> + +<HBox id="cardPane" fx:id="cardPane" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> + <GridPane HBox.hgrow="ALWAYS"> + <columnConstraints> + <ColumnConstraints hgrow="SOMETIMES" minWidth="10" prefWidth="150" /> + </columnConstraints> + <VBox alignment="CENTER_LEFT" minHeight="80" GridPane.columnIndex="0"> + <padding> + <Insets top="5" right="5" bottom="5" left="15" /> + </padding> + <HBox spacing="5" alignment="CENTER_LEFT"> + <Label fx:id="id" styleClass="cell_big_label"> + <minWidth> + <!-- Ensures that the label text is never truncated --> + <Region fx:constant="USE_PREF_SIZE" /> + </minWidth> + </Label> + <Label fx:id="title" text="\$first" styleClass="cell_big_label" /> + </HBox> + <Label fx:id="time" styleClass="cell_small_label" text="\$time" /> + <Label fx:id="personToMeet" styleClass="cell_small_label" text="\$personToMeet" /> + </VBox> + </GridPane> +</HBox> diff --git a/src/main/resources/view/AppointmentListPanel.fxml b/src/main/resources/view/AppointmentListPanel.fxml new file mode 100644 index 000000000000..812e0a96f47c --- /dev/null +++ b/src/main/resources/view/AppointmentListPanel.fxml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.control.ListView?> +<?import javafx.scene.layout.VBox?> + +<VBox xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> + <ListView fx:id="appointmentListView" VBox.vgrow="ALWAYS" /> +</VBox> diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index 3d9563bdffaa..bf99cf7f14ff 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -33,7 +33,7 @@ <padding> <Insets top="10" right="10" bottom="10" left="10" /> </padding> - <StackPane fx:id="personListPanelPlaceholder" VBox.vgrow="ALWAYS"/> + <StackPane fx:id="listPanelPlaceholder" VBox.vgrow="ALWAYS"/> </VBox> <VBox> diff --git a/src/main/resources/view/TaskListCard.fxml b/src/main/resources/view/TaskListCard.fxml new file mode 100644 index 000000000000..9076e9169193 --- /dev/null +++ b/src/main/resources/view/TaskListCard.fxml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.geometry.Insets?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.layout.ColumnConstraints?> +<?import javafx.scene.layout.GridPane?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.Region?> +<?import javafx.scene.layout.VBox?> + +<HBox id="cardPane" fx:id="cardPane" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> + <GridPane HBox.hgrow="ALWAYS"> + <columnConstraints> + <ColumnConstraints hgrow="SOMETIMES" minWidth="10" prefWidth="150" /> + </columnConstraints> + <VBox alignment="CENTER_LEFT" minHeight="80" GridPane.columnIndex="0"> + <padding> + <Insets top="5" right="5" bottom="5" left="15" /> + </padding> + <HBox spacing="5" alignment="CENTER_LEFT"> + <Label fx:id="id" styleClass="cell_big_label"> + <minWidth> + <!-- Ensures that the label text is never truncated --> + <Region fx:constant="USE_PREF_SIZE" /> + </minWidth> + </Label> + <Label fx:id="title" text="\$first" styleClass="cell_big_label" /> + </HBox> + <Label fx:id="time" styleClass="cell_small_label" text="\$time" /> + </VBox> + </GridPane> +</HBox> diff --git a/src/main/resources/view/TaskListPanel.fxml b/src/main/resources/view/TaskListPanel.fxml new file mode 100644 index 000000000000..a58887c89d18 --- /dev/null +++ b/src/main/resources/view/TaskListPanel.fxml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.control.ListView?> +<?import javafx.scene.layout.VBox?> + +<VBox xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> + <ListView fx:id="taskListView" VBox.vgrow="ALWAYS" /> +</VBox> From 052249ad0535537a3f762d6d738256906ff76e0f Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Fri, 30 Mar 2018 02:13:15 +0800 Subject: [PATCH 189/288] - Modify list command to support list toggling --- .../commons/events/ui/ToggleListEvent.java | 21 ++++++++++ src/main/java/seedu/address/logic/Logic.java | 4 ++ .../seedu/address/logic/LogicManager.java | 6 +++ .../address/logic/commands/ListCommand.java | 33 ++++++++++++++- .../logic/parser/AddressBookParser.java | 2 +- .../logic/parser/ListCommandParser.java | 42 +++++++++++++++++++ 6 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 src/main/java/seedu/address/commons/events/ui/ToggleListEvent.java create mode 100644 src/main/java/seedu/address/logic/parser/ListCommandParser.java diff --git a/src/main/java/seedu/address/commons/events/ui/ToggleListEvent.java b/src/main/java/seedu/address/commons/events/ui/ToggleListEvent.java new file mode 100644 index 000000000000..5f8e4b4b8f6c --- /dev/null +++ b/src/main/java/seedu/address/commons/events/ui/ToggleListEvent.java @@ -0,0 +1,21 @@ +package seedu.address.commons.events.ui; + +//@@author Sisyphus25 + +import seedu.address.commons.events.BaseEvent; + +/** + * Indicates a request to toggle List + */ +public class ToggleListEvent extends BaseEvent { + public final String list; + + public ToggleListEvent(String list) { + this.list = list; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index ee600fef244b..5c1aead0ed93 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -5,6 +5,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.event.Appointment; +import seedu.address.model.event.Task; import seedu.address.model.person.Person; /** @@ -26,6 +27,9 @@ public interface Logic { /** Returns an unmodifiable view of the filtered list of appointments */ ObservableList<Appointment> getFilteredAppointmentList(); + /** Returns an unmodifiable view of the filtered list of tasks */ + ObservableList<Task> getFilteredTaskList(); + /** Returns the list of input entered by the user, encapsulated in a {@code ListElementPointer} object */ ListElementPointer getHistorySnapshot(); } diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index 2ca8b4874468..0be8024c7a2f 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -12,6 +12,7 @@ import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.Model; import seedu.address.model.event.Appointment; +import seedu.address.model.event.Task; import seedu.address.model.person.Person; /** @@ -56,6 +57,11 @@ public ObservableList<Appointment> getFilteredAppointmentList() { return model.getFilteredAppointmentList(); } + @Override + public ObservableList<Task> getFilteredTaskList() { + return model.getFilteredTaskList(); + } + @Override public ListElementPointer getHistorySnapshot() { return new ListElementPointer(history.getHistory()); diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 7b6463780824..9ed3d921aa84 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -2,6 +2,9 @@ import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; +import seedu.address.commons.core.EventsCenter; +import seedu.address.commons.events.ui.ToggleListEvent; + /** * Lists all persons in the address book to the user. */ @@ -9,12 +12,38 @@ public class ListCommand extends Command { public static final String COMMAND_WORD = "list"; - public static final String MESSAGE_SUCCESS = "Listed all persons"; + public static final String MESSAGE_SUCCESS = "Item List Changed"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Show listing of item selected. \n" + + "Parameter: ITEM\n" + + "Item list: person, appointments\n" + + "Example: " + COMMAND_WORD + " appointment"; + private String item; + + public ListCommand(String item) { + this.item = item; + } @Override public CommandResult execute() { - model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + switch(item) { + case("appointment"): + case("task"): + EventsCenter.getInstance().post(new ToggleListEvent(item)); + break; + case("person"): + default: + model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + EventsCenter.getInstance().post(new ToggleListEvent(item)); + } return new CommandResult(MESSAGE_SUCCESS); } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ListCommand // instanceof handles nulls + && this.item == ((ListCommand) other).item); // state check + } } diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index c73f39c4d044..ce9029103773 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -93,7 +93,7 @@ public Command parseCommand(String userInput) throws ParseException { return new FindCommandParser().parse(arguments); case ListCommand.COMMAND_WORD: - return new ListCommand(); + return new ListCommandParser().parse(arguments); case HistoryCommand.COMMAND_WORD: return new HistoryCommand(); diff --git a/src/main/java/seedu/address/logic/parser/ListCommandParser.java b/src/main/java/seedu/address/logic/parser/ListCommandParser.java new file mode 100644 index 000000000000..b898489e87a8 --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/ListCommandParser.java @@ -0,0 +1,42 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + +import seedu.address.logic.commands.ListCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +//@@author Sisyphus25 +/** + * Parser for ListCommand + */ +public class ListCommandParser { + /** + * Parses the given {@code args} of arguments in the context of the ListCommandParser + * and returns an ListCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ListCommand parse(String args) throws ParseException { + String item = args.trim(); + if (!isValidItem(item)) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ListCommand.MESSAGE_USAGE)); + } + return new ListCommand(item); + } + + /** + * @param str + * @return whether if the string is a valid view mode or not + */ + private boolean isValidItem(String str) { + switch (str) { + case("appointment"): + case("task"): + case("person"): + case(""): + return true; + default: + return false; + } + } +} From 718ef5b68d6b1f0a2e05b6cced181841b5f6a0ef Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Fri, 30 Mar 2018 03:09:30 +0800 Subject: [PATCH 190/288] - Add Junit Test --- .../address/logic/commands/ListCommand.java | 3 +- .../logic/parser/ListCommandParser.java | 6 ++- .../seedu/address/ui/AppointmentCard.java | 5 ++- .../resources/view/AppointmentListCard.fxml | 1 + .../logic/commands/ListCommandTest.java | 38 ++++++++++++++--- .../logic/parser/AddressBookParserTest.java | 4 +- .../logic/parser/ListCommandParserTest.java | 30 ++++++++++++++ .../seedu/address/testutil/TypicalEvents.java | 11 +++++ .../seedu/address/ui/AppointmentCardTest.java | 41 +++++++++++++++++++ .../seedu/address/ui/PersonListPanelTest.java | 4 +- .../java/seedu/address/ui/TaskCardTest.java | 41 +++++++++++++++++++ .../seedu/address/ui/TaskListPanelTest.java | 4 ++ .../address/ui/testutil/GuiTestAssert.java | 2 +- 13 files changed, 175 insertions(+), 15 deletions(-) create mode 100644 src/test/java/seedu/address/logic/parser/ListCommandParserTest.java create mode 100644 src/test/java/seedu/address/ui/AppointmentCardTest.java create mode 100644 src/test/java/seedu/address/ui/TaskCardTest.java create mode 100644 src/test/java/seedu/address/ui/TaskListPanelTest.java diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 9ed3d921aa84..efc9780eaaad 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -4,6 +4,7 @@ import seedu.address.commons.core.EventsCenter; import seedu.address.commons.events.ui.ToggleListEvent; +import seedu.address.logic.commands.exceptions.CommandException; /** * Lists all persons in the address book to the user. @@ -26,7 +27,7 @@ public ListCommand(String item) { } @Override - public CommandResult execute() { + public CommandResult execute() throws CommandException { switch(item) { case("appointment"): case("task"): diff --git a/src/main/java/seedu/address/logic/parser/ListCommandParser.java b/src/main/java/seedu/address/logic/parser/ListCommandParser.java index b898489e87a8..1ff5506cc0f0 100644 --- a/src/main/java/seedu/address/logic/parser/ListCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ListCommandParser.java @@ -9,7 +9,7 @@ /** * Parser for ListCommand */ -public class ListCommandParser { +public class ListCommandParser implements Parser<ListCommand> { /** * Parses the given {@code args} of arguments in the context of the ListCommandParser * and returns an ListCommand object for execution. @@ -29,11 +29,13 @@ public ListCommand parse(String args) throws ParseException { * @return whether if the string is a valid view mode or not */ private boolean isValidItem(String str) { + if (str.isEmpty()) { + return true; + } switch (str) { case("appointment"): case("task"): case("person"): - case(""): return true; default: return false; diff --git a/src/main/java/seedu/address/ui/AppointmentCard.java b/src/main/java/seedu/address/ui/AppointmentCard.java index a85088043edf..8866578b2e83 100644 --- a/src/main/java/seedu/address/ui/AppointmentCard.java +++ b/src/main/java/seedu/address/ui/AppointmentCard.java @@ -31,6 +31,8 @@ public class AppointmentCard extends UiPart<Region> { @FXML private Label time; @FXML + private Label endTime; + @FXML private Label personToMeet; public AppointmentCard(Appointment appointment, int displayedIndex) { @@ -38,7 +40,8 @@ public AppointmentCard(Appointment appointment, int displayedIndex) { this.appointment = appointment; id.setText(displayedIndex + ". "); title.setText(appointment.getTitle().value); - time.setText(DATE_FORMATTER.format(appointment.getTime().value.getTime())); + time.setText("From: " + DATE_FORMATTER.format(appointment.getTime().value.getTime())); + endTime.setText("To: " + DATE_FORMATTER.format(appointment.getEndTime().value.getTime())); if (appointment.getPersonToMeet() != null) { personToMeet.setText("With " + appointment.getPersonToMeet().getName()); } else { diff --git a/src/main/resources/view/AppointmentListCard.fxml b/src/main/resources/view/AppointmentListCard.fxml index 5b872cec9670..040a43d1528b 100644 --- a/src/main/resources/view/AppointmentListCard.fxml +++ b/src/main/resources/view/AppointmentListCard.fxml @@ -27,6 +27,7 @@ <Label fx:id="title" text="\$first" styleClass="cell_big_label" /> </HBox> <Label fx:id="time" styleClass="cell_small_label" text="\$time" /> + <Label fx:id="endTime" styleClass="cell_small_label" text="\$endTime" /> <Label fx:id="personToMeet" styleClass="cell_small_label" text="\$personToMeet" /> </VBox> </GridPane> diff --git a/src/test/java/seedu/address/logic/commands/ListCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCommandTest.java index 4ee519e3668e..338f1268d815 100644 --- a/src/test/java/seedu/address/logic/commands/ListCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCommandTest.java @@ -1,23 +1,32 @@ package seedu.address.logic.commands; +import static junit.framework.TestCase.assertEquals; +import static junit.framework.TestCase.assertTrue; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.logic.commands.CommandTestUtil.showPersonAtIndex; +import static seedu.address.logic.commands.ListCommand.MESSAGE_SUCCESS; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; +import seedu.address.commons.events.ui.ToggleListEvent; import seedu.address.logic.CommandHistory; import seedu.address.logic.UndoRedoStack; +import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.Model; import seedu.address.model.ModelManager; import seedu.address.model.UserPrefs; +import seedu.address.ui.testutil.EventsCollectorRule; /** * Contains integration tests (interaction with the Model) and unit tests for ListCommand. */ public class ListCommandTest { + @Rule + public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); private Model model; private Model expectedModel; @@ -27,19 +36,36 @@ public class ListCommandTest { public void setUp() { model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + } + + @Test + public void execute_personListIsNotFiltered_showsSameList() { + listCommand = new ListCommand(""); + listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + assertCommandSuccess(listCommand, model, MESSAGE_SUCCESS, expectedModel); + } - listCommand = new ListCommand(); + @Test + public void execute_personListIsFiltered_showsEverything() { + listCommand = new ListCommand(""); listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + showPersonAtIndex(model, INDEX_FIRST_PERSON); + assertCommandSuccess(listCommand, model, MESSAGE_SUCCESS, expectedModel); } @Test - public void execute_listIsNotFiltered_showsSameList() { - assertCommandSuccess(listCommand, model, ListCommand.MESSAGE_SUCCESS, expectedModel); + public void execute_listAppointment_success() throws CommandException { + CommandResult result = new ListCommand("appointment").execute(); + assertEquals(MESSAGE_SUCCESS, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); } @Test - public void execute_listIsFiltered_showsEverything() { - showPersonAtIndex(model, INDEX_FIRST_PERSON); - assertCommandSuccess(listCommand, model, ListCommand.MESSAGE_SUCCESS, expectedModel); + public void execute_listTask_success() throws CommandException { + CommandResult result = new ListCommand("task").execute(); + assertEquals(MESSAGE_SUCCESS, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); } } diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index cf8f41081163..2c91092c20fd 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -131,8 +131,8 @@ public void parseCommand_history() throws Exception { @Test public void parseCommand_list() throws Exception { - assertTrue(parser.parseCommand(ListCommand.COMMAND_WORD) instanceof ListCommand); - assertTrue(parser.parseCommand(ListCommand.COMMAND_WORD + " 3") instanceof ListCommand); + assertTrue(parser.parseCommand(ListCommand.COMMAND_WORD + " ") instanceof ListCommand); + assertTrue(parser.parseCommand(ListCommand.COMMAND_WORD + " appointment") instanceof ListCommand); } @Test diff --git a/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java new file mode 100644 index 000000000000..eec87f40a958 --- /dev/null +++ b/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java @@ -0,0 +1,30 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; + +import org.junit.Test; + +import seedu.address.logic.commands.ListCommand; + +//@@author Sisyphus25 +public class ListCommandParserTest { + private ListCommandParser parser = new ListCommandParser(); + + @Test + public void parse_validArgs_returnsListCommand() { + assertParseSuccess(parser, "", new ListCommand("")); + assertParseSuccess(parser, "person", new ListCommand("person")); + assertParseSuccess(parser, "task", new ListCommand("task")); + assertParseSuccess(parser, "appointment", new ListCommand("appointment")); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "ffffffd", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ListCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "event", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ListCommand.MESSAGE_USAGE)); + } +} diff --git a/src/test/java/seedu/address/testutil/TypicalEvents.java b/src/test/java/seedu/address/testutil/TypicalEvents.java index 2281c36c2391..a1144e24a120 100644 --- a/src/test/java/seedu/address/testutil/TypicalEvents.java +++ b/src/test/java/seedu/address/testutil/TypicalEvents.java @@ -3,6 +3,10 @@ import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.BOB; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import seedu.address.model.event.Appointment; import seedu.address.model.event.EventTime; import seedu.address.model.event.Task; @@ -17,8 +21,15 @@ public class TypicalEvents { new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build(); public static final Appointment TYPICAL_APPOINTMENT_2 = new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); + public static final Appointment TYPICAL_APPOINTMENT_3 = + new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00").build(); + public static final Task TYPICAL_TASK_1 = new Task(new Title("To do"), new EventTime("10/10/2018 10:00")); public static final Task TYPICAL_TASK_2 = new Task(new Title("Mark papers"), new EventTime("15/04/2018 23:00")); + + public static List<Appointment> getTypicalAppointments() { + return new ArrayList<>(Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2, TYPICAL_APPOINTMENT_3)); + } } diff --git a/src/test/java/seedu/address/ui/AppointmentCardTest.java b/src/test/java/seedu/address/ui/AppointmentCardTest.java new file mode 100644 index 000000000000..2533d1a789b2 --- /dev/null +++ b/src/test/java/seedu/address/ui/AppointmentCardTest.java @@ -0,0 +1,41 @@ +package seedu.address.ui; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_2; +import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_3; + +import org.junit.Test; + +import seedu.address.model.event.Appointment; + +//@@author Sisyphus25 +public class AppointmentCardTest extends GuiUnitTest { + + @Test + public void equals() { + Appointment appointment = TYPICAL_APPOINTMENT_2; + AppointmentCard appointmentCard = new AppointmentCard(appointment, 0); + + // same appointment, same index -> returns true + AppointmentCard copy = new AppointmentCard(appointment, 0); + assertTrue(appointmentCard.equals(copy)); + + // same object -> returns true + assertTrue(appointmentCard.equals(appointmentCard)); + + // null -> returns false + assertFalse(appointmentCard.equals(null)); + + // different types -> returns false + assertFalse(appointmentCard.equals(0)); + + // different appointment, same index -> returns false + Appointment differentAppointment = TYPICAL_APPOINTMENT_3; + assertFalse(appointmentCard.equals(new AppointmentCard(differentAppointment, 0))); + + // same appointment, different index -> returns false + assertFalse(appointmentCard.equals(new AppointmentCard(appointment, 1))); + } + +} diff --git a/src/test/java/seedu/address/ui/PersonListPanelTest.java b/src/test/java/seedu/address/ui/PersonListPanelTest.java index 906ec2bebc03..22566d75525e 100644 --- a/src/test/java/seedu/address/ui/PersonListPanelTest.java +++ b/src/test/java/seedu/address/ui/PersonListPanelTest.java @@ -5,7 +5,7 @@ import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND_PERSON; import static seedu.address.testutil.TypicalPersons.getTypicalPersons; import static seedu.address.ui.testutil.GuiTestAssert.assertCardDisplaysPerson; -import static seedu.address.ui.testutil.GuiTestAssert.assertCardEquals; +import static seedu.address.ui.testutil.GuiTestAssert.assertPersonCardEquals; import org.junit.Before; import org.junit.Test; @@ -53,6 +53,6 @@ public void handleJumpToListRequestEvent() { PersonCardHandle expectedCard = personListPanelHandle.getPersonCardHandle(INDEX_SECOND_PERSON.getZeroBased()); PersonCardHandle selectedCard = personListPanelHandle.getHandleToSelectedCard(); - assertCardEquals(expectedCard, selectedCard); + assertPersonCardEquals(expectedCard, selectedCard); } } diff --git a/src/test/java/seedu/address/ui/TaskCardTest.java b/src/test/java/seedu/address/ui/TaskCardTest.java new file mode 100644 index 000000000000..050f4ffb30a0 --- /dev/null +++ b/src/test/java/seedu/address/ui/TaskCardTest.java @@ -0,0 +1,41 @@ +package seedu.address.ui; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_1; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_2; + +import org.junit.Test; + +import seedu.address.model.event.Task; + +//@@author Sisyphus25 +public class TaskCardTest extends GuiUnitTest { + + @Test + public void equals() { + Task task = TYPICAL_TASK_2; + TaskCard taskCard = new TaskCard(task, 0); + + // same task, same index -> returns true + TaskCard copy = new TaskCard(task, 0); + assertTrue(taskCard.equals(copy)); + + // same object -> returns true + assertTrue(taskCard.equals(taskCard)); + + // null -> returns false + assertFalse(taskCard.equals(null)); + + // different types -> returns false + assertFalse(taskCard.equals(0)); + + // different task, same index -> returns false + Task differentTask = TYPICAL_TASK_1; + assertFalse(taskCard.equals(new TaskCard(differentTask, 0))); + + // same task, different index -> returns false + assertFalse(taskCard.equals(new TaskCard(task, 1))); + } + +} diff --git a/src/test/java/seedu/address/ui/TaskListPanelTest.java b/src/test/java/seedu/address/ui/TaskListPanelTest.java new file mode 100644 index 000000000000..c4ed1c59fa38 --- /dev/null +++ b/src/test/java/seedu/address/ui/TaskListPanelTest.java @@ -0,0 +1,4 @@ +package seedu.address.ui; + +public class TaskListPanelTest { +} diff --git a/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java b/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java index 0f7f2cb77f5e..cb91a818d558 100644 --- a/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java +++ b/src/test/java/seedu/address/ui/testutil/GuiTestAssert.java @@ -20,7 +20,7 @@ public class GuiTestAssert { /** * Asserts that {@code actualCard} displays the same values as {@code expectedCard}. */ - public static void assertCardEquals(PersonCardHandle expectedCard, PersonCardHandle actualCard) { + public static void assertPersonCardEquals(PersonCardHandle expectedCard, PersonCardHandle actualCard) { assertEquals(expectedCard.getId(), actualCard.getId()); assertEquals(expectedCard.getAddress(), actualCard.getAddress()); assertEquals(expectedCard.getEmail(), actualCard.getEmail()); From 5460b32f868358982aeb07842dd0be4f8d8b572c Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Fri, 30 Mar 2018 14:17:53 +0800 Subject: [PATCH 191/288] - Add a new variable CurrentActiveListType in Model to indicate the current activelist being shown in the GUI - Find and Select command will automatically switch to person list view when called --- gradle.properties | 2 + src/main/java/seedu/address/logic/Logic.java | 3 ++ .../seedu/address/logic/LogicManager.java | 5 +++ .../seedu/address/logic/commands/Command.java | 11 ++++++ .../address/logic/commands/FindCommand.java | 3 ++ .../address/logic/commands/ListCommand.java | 6 ++- .../address/logic/commands/SelectCommand.java | 4 +- src/main/java/seedu/address/model/Model.java | 8 ++++ .../seedu/address/model/ModelManager.java | 12 ++++++ .../logic/commands/FindCommandTest.java | 37 +++++++++++++++++-- .../logic/commands/ListCommandTest.java | 8 +++- .../address/testutil/modelstub/ModelStub.java | 11 ++++++ 12 files changed, 102 insertions(+), 8 deletions(-) diff --git a/gradle.properties b/gradle.properties index 728342109ca9..722b312b72b9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,5 @@ org.gradle.daemon=true org.gradle.parallel=false org.gradle.jvmargs=-XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -Dfile.encoding=utf-8 +org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_101 + diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index 5c1aead0ed93..fe6ba51645cb 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -32,4 +32,7 @@ public interface Logic { /** Returns the list of input entered by the user, encapsulated in a {@code ListElementPointer} object */ ListElementPointer getHistorySnapshot(); + + /** Returns the item type of the current active list that is shown in the GUI by the address book*/ + String getCurrentActiveListType(); } diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index 0be8024c7a2f..b8e2fc4bd4a5 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -66,4 +66,9 @@ public ObservableList<Task> getFilteredTaskList() { public ListElementPointer getHistorySnapshot() { return new ListElementPointer(history.getHistory()); } + + @Override + public String getCurrentActiveListType() { + return model.getCurrentActiveListType(); + } } diff --git a/src/main/java/seedu/address/logic/commands/Command.java b/src/main/java/seedu/address/logic/commands/Command.java index 1ad5d93d081d..603d6aee66a0 100644 --- a/src/main/java/seedu/address/logic/commands/Command.java +++ b/src/main/java/seedu/address/logic/commands/Command.java @@ -1,6 +1,8 @@ package seedu.address.logic.commands; +import seedu.address.commons.core.EventsCenter; import seedu.address.commons.core.Messages; +import seedu.address.commons.events.ui.ToggleListEvent; import seedu.address.logic.CommandHistory; import seedu.address.logic.UndoRedoStack; import seedu.address.logic.commands.exceptions.CommandException; @@ -41,4 +43,13 @@ public static String getMessageForPersonListShownSummary(int displaySize) { public void setData(Model model, CommandHistory history, UndoRedoStack undoRedoStack) { this.model = model; } + + /** + * Set the person list to active and switch to person list view for the GUI. + * Method used to support command that needed the person list to be shown: Find, Select + */ + public void setPersonListActive() { + model.changeCurrentActiveListType(model.LIST_TYPE_PERSON); + EventsCenter.getInstance().post(new ToggleListEvent(model.LIST_TYPE_PERSON)); + } } diff --git a/src/main/java/seedu/address/logic/commands/FindCommand.java b/src/main/java/seedu/address/logic/commands/FindCommand.java index b1e671f633d2..976cb4ed9c64 100644 --- a/src/main/java/seedu/address/logic/commands/FindCommand.java +++ b/src/main/java/seedu/address/logic/commands/FindCommand.java @@ -23,6 +23,9 @@ public FindCommand(NameContainsKeywordsPredicate predicate) { @Override public CommandResult execute() { + if (!model.getCurrentActiveListType().equals(model.LIST_TYPE_PERSON)) { + setPersonListActive(); + } model.updateFilteredPersonList(predicate); return new CommandResult(getMessageForPersonListShownSummary(model.getFilteredPersonList().size())); } diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index efc9780eaaad..8eb309e45105 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -31,12 +31,14 @@ public CommandResult execute() throws CommandException { switch(item) { case("appointment"): case("task"): + model.changeCurrentActiveListType(item); EventsCenter.getInstance().post(new ToggleListEvent(item)); break; case("person"): default: + model.changeCurrentActiveListType(item); model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); - EventsCenter.getInstance().post(new ToggleListEvent(item)); + EventsCenter.getInstance().post(new ToggleListEvent(model.LIST_TYPE_PERSON)); } return new CommandResult(MESSAGE_SUCCESS); } @@ -45,6 +47,6 @@ public CommandResult execute() throws CommandException { public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof ListCommand // instanceof handles nulls - && this.item == ((ListCommand) other).item); // state check + && this.item.equals(((ListCommand) other).item)); // state check } } diff --git a/src/main/java/seedu/address/logic/commands/SelectCommand.java b/src/main/java/seedu/address/logic/commands/SelectCommand.java index 9e3840a9dde6..ba40a3cc8a22 100644 --- a/src/main/java/seedu/address/logic/commands/SelectCommand.java +++ b/src/main/java/seedu/address/logic/commands/SelectCommand.java @@ -31,7 +31,9 @@ public SelectCommand(Index targetIndex) { @Override public CommandResult execute() throws CommandException { - + if (!model.getCurrentActiveListType().equals(model.LIST_TYPE_PERSON)) { + setPersonListActive(); + } List<Person> lastShownList = model.getFilteredPersonList(); if (targetIndex.getZeroBased() >= lastShownList.size()) { diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index fbbc587fbba7..eafb25d9377d 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -17,6 +17,8 @@ * The API of the Model component. */ public interface Model { + final String LIST_TYPE_PERSON = "person"; + /** {@code Predicate} that always evaluate to true */ Predicate<Person> PREDICATE_SHOW_ALL_PERSONS = unused -> true; @@ -54,6 +56,9 @@ void updatePerson(Person target, Person editedPerson) /** Returns an unmodifiable view of the filtered appointment list */ ObservableList<Task> getFilteredTaskList(); + /** Returns the item type of the curent active list being shown in the GUI */ + String getCurrentActiveListType(); + /** * Updates the filter of the filtered person list to filter by the given {@code predicate}. * @throws NullPointerException if {@code predicate} is null. @@ -77,4 +82,7 @@ void updatePerson(Person target, Person editedPerson) /** Deletes the given task */ void deleteTask(Task task) throws UniqueEventList.EventNotFoundException; + + /** Change the current active list that is being displayed in the model */ + void changeCurrentActiveListType(String itemType); } diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index f7a77a7c5fd2..2a84cb632320 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -34,6 +34,7 @@ public class ModelManager extends ComponentManager implements Model { private final FilteredList<Appointment> filteredAppointments; private final FilteredList<Task> filteredTasks; private final FilteredList<ShortcutDoubles> filteredShortcutCommands; + private String currentActiveListType; /** * Initializes a ModelManager with the given addressBook and userPrefs. @@ -49,6 +50,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, UserPrefs userPrefs) { filteredAppointments = new FilteredList<>(this.addressBook.getAppointmentList()); filteredShortcutCommands = new FilteredList<>(this.addressBook.getCommandsList()); filteredTasks = new FilteredList<>(this.addressBook.getTaskList()); + currentActiveListType = LIST_TYPE_PERSON; } public ModelManager() { @@ -151,6 +153,16 @@ public ObservableList<ShortcutDoubles> getFilteredCommandsList() { return FXCollections.unmodifiableObservableList(filteredShortcutCommands); } + @Override + public String getCurrentActiveListType() { + return currentActiveListType; + } + + @Override + public void changeCurrentActiveListType(String itemType) { + currentActiveListType = itemType; + } + @Override public void updateFilteredPersonList(Predicate<Person> predicate) { requireNonNull(predicate); diff --git a/src/test/java/seedu/address/logic/commands/FindCommandTest.java b/src/test/java/seedu/address/logic/commands/FindCommandTest.java index dee1f007f751..afcabcacdaef 100644 --- a/src/test/java/seedu/address/logic/commands/FindCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/FindCommandTest.java @@ -13,8 +13,11 @@ import java.util.Collections; import java.util.List; +import org.junit.Rule; import org.junit.Test; +import junit.framework.TestCase; +import seedu.address.commons.events.ui.ToggleListEvent; import seedu.address.logic.CommandHistory; import seedu.address.logic.UndoRedoStack; import seedu.address.model.AddressBook; @@ -23,11 +26,15 @@ import seedu.address.model.UserPrefs; import seedu.address.model.person.NameContainsKeywordsPredicate; import seedu.address.model.person.Person; +import seedu.address.ui.testutil.EventsCollectorRule; /** * Contains integration tests (interaction with the Model) for {@code FindCommand}. */ public class FindCommandTest { + @Rule + public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); + private Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); @Test @@ -61,14 +68,18 @@ public void equals() { public void execute_zeroKeywords_noPersonFound() { String expectedMessage = String.format(MESSAGE_PERSONS_LISTED_OVERVIEW, 0); FindCommand command = prepareCommand(" "); - assertCommandSuccess(command, expectedMessage, Collections.emptyList()); + assertCommandSuccessWithNoToggleListEvent(command, expectedMessage, Collections.emptyList()); + model.changeCurrentActiveListType("appointment"); + assertCommandSuccessWithToggleListEvent(command, expectedMessage, Collections.emptyList()); } @Test public void execute_multipleKeywords_multiplePersonsFound() { String expectedMessage = String.format(MESSAGE_PERSONS_LISTED_OVERVIEW, 3); FindCommand command = prepareCommand("Kurz Elle Kunz"); - assertCommandSuccess(command, expectedMessage, Arrays.asList(CARL, ELLE, FIONA)); + assertCommandSuccessWithNoToggleListEvent(command, expectedMessage, Arrays.asList(CARL, ELLE, FIONA)); + model.changeCurrentActiveListType("appointment"); + assertCommandSuccessWithToggleListEvent(command, expectedMessage, Arrays.asList(CARL, ELLE, FIONA)); } /** @@ -87,12 +98,32 @@ private FindCommand prepareCommand(String userInput) { * - the {@code FilteredList<Person>} is equal to {@code expectedList}<br> * - the {@code AddressBook} in model remains the same after executing the {@code command} */ - private void assertCommandSuccess(FindCommand command, String expectedMessage, List<Person> expectedList) { + private void assertCommandSuccessWithNoToggleListEvent( + FindCommand command, String expectedMessage, List<Person> expectedList) { + AddressBook expectedAddressBook = new AddressBook(model.getAddressBook()); + CommandResult commandResult = command.execute(); + + assertEquals(expectedMessage, commandResult.feedbackToUser); + assertEquals(expectedList, model.getFilteredPersonList()); + assertEquals(expectedAddressBook, model.getAddressBook()); + } + + /** + * Asserts that {@code command} is successfully executed, and<br> + * - the command feedback is equal to {@code expectedMessage}<br> + * - the {@code FilteredList<Person>} is equal to {@code expectedList}<br> + * - the {@code AddressBook} in model remains the same after executing the {@code command} + * - a {@code ToggleListEvent} is called + */ + private void assertCommandSuccessWithToggleListEvent( + FindCommand command, String expectedMessage, List<Person> expectedList) { AddressBook expectedAddressBook = new AddressBook(model.getAddressBook()); CommandResult commandResult = command.execute(); assertEquals(expectedMessage, commandResult.feedbackToUser); assertEquals(expectedList, model.getFilteredPersonList()); assertEquals(expectedAddressBook, model.getAddressBook()); + TestCase.assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); + TestCase.assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); } } diff --git a/src/test/java/seedu/address/logic/commands/ListCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCommandTest.java index 338f1268d815..ba9106f586cc 100644 --- a/src/test/java/seedu/address/logic/commands/ListCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCommandTest.java @@ -55,7 +55,9 @@ public void execute_personListIsFiltered_showsEverything() { @Test public void execute_listAppointment_success() throws CommandException { - CommandResult result = new ListCommand("appointment").execute(); + listCommand = new ListCommand("appointment"); + listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + CommandResult result = listCommand.execute(); assertEquals(MESSAGE_SUCCESS, result.feedbackToUser); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); @@ -63,7 +65,9 @@ public void execute_listAppointment_success() throws CommandException { @Test public void execute_listTask_success() throws CommandException { - CommandResult result = new ListCommand("task").execute(); + listCommand = new ListCommand("task"); + listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + CommandResult result = listCommand.execute(); assertEquals(MESSAGE_SUCCESS, result.feedbackToUser); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index cf196d1f87ce..be91c88bf1d1 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -78,6 +78,17 @@ public ObservableList<Task> getFilteredTaskList() { return null; } + @Override + public String getCurrentActiveListType() { + fail("This method should not be called."); + return null; + } + + @Override + public void changeCurrentActiveListType(String type) { + fail("This method should not be called."); + } + @Override public void updateFilteredCommandList(Predicate<ShortcutDoubles> predicate) { fail("This method should not be called."); From 91b6367add4424aacb395f059a1486796dca3429 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Fri, 30 Mar 2018 14:21:41 +0800 Subject: [PATCH 192/288] Remove local setting for gradle properties file --- gradle.properties | 2 -- 1 file changed, 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 722b312b72b9..728342109ca9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,3 @@ org.gradle.daemon=true org.gradle.parallel=false org.gradle.jvmargs=-XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:+HeapDumpOnOutOfMemoryError -Xmx1024m -Dfile.encoding=utf-8 -org.gradle.java.home=C:\\Program Files\\Java\\jdk1.8.0_101 - From 667af8370b22a2b8660dc8af04d2aaeecf3b079b Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Fri, 30 Mar 2018 14:41:48 +0800 Subject: [PATCH 193/288] Some change to dogetheme --- src/main/resources/view/DogeTheme.css | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/resources/view/DogeTheme.css b/src/main/resources/view/DogeTheme.css index 194460a15465..96e98d034885 100644 --- a/src/main/resources/view/DogeTheme.css +++ b/src/main/resources/view/DogeTheme.css @@ -16,10 +16,14 @@ } .app-title { - -fx-text-fill: black; - -fx-font-family: "Franklin Gothic Medium"; - -fx-font-weight: bold; - -fx-font-size: 36px + -fx-text-fill: white; + -fx-font-family: "Franklin Gothic Heavy"; + -fx-font-size: 40px; +} + +.app-title .text { + -fx-stroke: black; + -fx-stroke-width: 1px; } .label-bright { @@ -65,7 +69,7 @@ } .table-view .column-header, .table-view .filler { - -fx-size: 35; + -fx-size: 35px; -fx-border-width: 0 0 1 0; -fx-background-color: transparent; -fx-border-color: @@ -384,6 +388,6 @@ } #resultDisplay .content { - -fx-background-color: transparent; + -fx-background-color: #efdc7f; -fx-background-radius: 0; } From bce5460cd8e050a6a6925d96f4b55675b21e9559 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Fri, 30 Mar 2018 16:17:14 +0800 Subject: [PATCH 194/288] Add remove command This command removes task and appointment using index from the last shown list. --- .../seedu/address/commons/core/Messages.java | 1 + .../address/logic/commands/RemoveCommand.java | 86 +++++++++++++++++++ .../logic/parser/AddressBookParser.java | 3 + .../logic/parser/RemoveCommandParser.java | 49 +++++++++++ .../java/seedu/address/model/AddressBook.java | 4 +- src/main/java/seedu/address/model/Model.java | 4 +- .../seedu/address/model/ModelManager.java | 4 + src/main/java/seedu/address/ui/TaskCard.java | 2 +- 8 files changed, 150 insertions(+), 3 deletions(-) create mode 100644 src/main/java/seedu/address/logic/commands/RemoveCommand.java create mode 100644 src/main/java/seedu/address/logic/parser/RemoveCommandParser.java diff --git a/src/main/java/seedu/address/commons/core/Messages.java b/src/main/java/seedu/address/commons/core/Messages.java index 0a178d836536..f7913f601272 100644 --- a/src/main/java/seedu/address/commons/core/Messages.java +++ b/src/main/java/seedu/address/commons/core/Messages.java @@ -8,6 +8,7 @@ public class Messages { public static final String MESSAGE_UNKNOWN_COMMAND = "Unknown command"; public static final String MESSAGE_INVALID_COMMAND_FORMAT = "Invalid command format! \n%1$s"; public static final String MESSAGE_INVALID_PERSON_DISPLAYED_INDEX = "The person index provided is invalid"; + public static final String MESSAGE_INVALID_EVENT_DISPLAYED_INDEX = "The event index provided is invalid"; public static final String MESSAGE_PERSONS_LISTED_OVERVIEW = "%1$d persons listed!"; public static final String MESSAGE_SUGGESTION_COMMAND_FORMAT = "Invalid command. " + "Try to add it using shortcut command"; diff --git a/src/main/java/seedu/address/logic/commands/RemoveCommand.java b/src/main/java/seedu/address/logic/commands/RemoveCommand.java new file mode 100644 index 000000000000..8204cb6b0348 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/RemoveCommand.java @@ -0,0 +1,86 @@ +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; +import static seedu.address.model.Model.LIST_TYPE_APPOINTMENT; +import static seedu.address.model.Model.LIST_TYPE_TASK; + +import java.util.List; +import java.util.Objects; + +import seedu.address.commons.core.Messages; +import seedu.address.commons.core.index.Index; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.Task; +import seedu.address.model.event.UniqueEventList; + +//@@author Sisyphus25 +/** + * Remove an appointment or task identified using its last displayed index from the address book. + */ +public class RemoveCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "remove"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Removes the event identified by the index number used in the last event listing.\n" + + "Parameters: " + + " EVENT_TYPE (could be appointment or task)" + + "INDEX (must be a positive integer)\n" + + "Example: " + COMMAND_WORD + " appointment " + " 1"; + + public static final String MESSAGE_DELETE_EVENT_SUCCESS = "Removed %1$s: %2$s"; + + private final Index targetIndex; + + private String eventTypeOfDeletedTarget; + + private Object eventToBeDeleted; + + public RemoveCommand(Index targetIndex, String eventTypeOfDeletedTarget) { + this.eventTypeOfDeletedTarget = eventTypeOfDeletedTarget; + this.targetIndex = targetIndex; + } + + @Override + public CommandResult executeUndoableCommand() { + requireNonNull(eventToBeDeleted); + try { + if (eventTypeOfDeletedTarget.equals(LIST_TYPE_APPOINTMENT)) { + model.deleteAppointment((Appointment) eventToBeDeleted); + } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { + model.deleteTask((Task) eventToBeDeleted); + } + } catch (UniqueEventList.EventNotFoundException ive) { + throw new AssertionError(String.format("The target %s cannot be missing", eventTypeOfDeletedTarget)); + } + return new CommandResult( + String.format(MESSAGE_DELETE_EVENT_SUCCESS, eventTypeOfDeletedTarget, eventToBeDeleted)); + } + + @Override + protected void preprocessUndoableCommand() throws CommandException { + if (eventTypeOfDeletedTarget.equals(LIST_TYPE_APPOINTMENT)) { + List<Appointment> lastShownList = model.getFilteredAppointmentList(); + if (targetIndex.getZeroBased() >= lastShownList.size()) { + throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + } + eventToBeDeleted = lastShownList.get(targetIndex.getZeroBased()); + } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { + List<Task> lastShownList = model.getFilteredTaskList(); + if (targetIndex.getZeroBased() >= lastShownList.size()) { + throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + } + eventToBeDeleted = lastShownList.get(targetIndex.getZeroBased()); + } + + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof RemoveCommand // instanceof handles nulls + && this.targetIndex.equals(((RemoveCommand) other).targetIndex) // state check + && Objects.equals(this.eventToBeDeleted, ((RemoveCommand) other).eventToBeDeleted)); + } +} diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index ce9029103773..533b32bf230e 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -21,6 +21,7 @@ import seedu.address.logic.commands.ImportCommand; import seedu.address.logic.commands.ListCommand; import seedu.address.logic.commands.RedoCommand; +import seedu.address.logic.commands.RemoveCommand; import seedu.address.logic.commands.SelectCommand; import seedu.address.logic.commands.SetAppointmentCommand; import seedu.address.logic.commands.SetTaskCommand; @@ -131,6 +132,8 @@ public Command parseCommand(String userInput) throws ParseException { case ChangeThemeCommand.COMMAND_WORD: return new ChangeThemeCommandParser().parse(arguments); + case RemoveCommand.COMMAND_WORD: + return new RemoveCommandParser().parse(arguments); default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); diff --git a/src/main/java/seedu/address/logic/parser/RemoveCommandParser.java b/src/main/java/seedu/address/logic/parser/RemoveCommandParser.java new file mode 100644 index 000000000000..e37761237074 --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/RemoveCommandParser.java @@ -0,0 +1,49 @@ +package seedu.address.logic.parser; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + +import seedu.address.commons.core.index.Index; +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.logic.commands.RemoveCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +//@@author Sisyphus25 +/** + * Parses input arguments and creates a new RemoveCommand object + */ +public class RemoveCommandParser implements Parser<RemoveCommand> { + + public static final String MESSAGE_INVALID_TYPE = "Type must be student or defualt(empty)."; + + /** + * Parses the given {@code String} of arguments in the context of the RemoveCommand + * and returns an RemoveCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public RemoveCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + String[] parameterGetterArray = trimmedArgs.split(" "); + if (trimmedArgs.isEmpty() || parameterGetterArray.length != 2) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + } + try { + if (!isValidEventType(parameterGetterArray[0])) { + throw new IllegalValueException("Invalid event type"); + } + Index index = ParserUtil.parseIndex(parameterGetterArray[1]); + return new RemoveCommand(index, parameterGetterArray[0]); + } catch (IllegalValueException ive) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + } + } + + private boolean isValidEventType(String type) { + return type.equals("appointment") || type.equals("task"); + } +} + + diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index dfe391d8c868..6179600d3444 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -233,6 +233,8 @@ public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof AddressBook // instanceof handles nulls && this.persons.equals(((AddressBook) other).persons) + && this.appointments.equals(((AddressBook) other).appointments) + && this.tasks.equals(((AddressBook) other).tasks) && this.tags.equalsOrderInsensitive(((AddressBook) other).tags) && this.shorcutCommands.equals(((AddressBook) other).shorcutCommands)); } @@ -240,7 +242,7 @@ public boolean equals(Object other) { @Override public int hashCode() { // use this method for custom fields hashing instead of implementing your own - return Objects.hash(persons, tags); + return Objects.hash(persons, appointments, tasks, tags); } /** diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index eafb25d9377d..3bb52a92afbd 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -17,7 +17,9 @@ * The API of the Model component. */ public interface Model { - final String LIST_TYPE_PERSON = "person"; + String LIST_TYPE_PERSON = "person"; + String LIST_TYPE_APPOINTMENT = "appointment"; + String LIST_TYPE_TASK = "task"; /** {@code Predicate} that always evaluate to true */ Predicate<Person> PREDICATE_SHOW_ALL_PERSONS = unused -> true; diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 2a84cb632320..29d7470e52ac 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -27,6 +27,10 @@ * All changes to any model should be synchronized. */ public class ModelManager extends ComponentManager implements Model { + public static final String LIST_TYPE_PERSON = "person"; + public static final String LIST_TYPE_APPOINTMENT = "appointment"; + public static final String LIST_TYPE_TASK = "task"; + private static final Logger logger = LogsCenter.getLogger(ModelManager.class); private final AddressBook addressBook; diff --git a/src/main/java/seedu/address/ui/TaskCard.java b/src/main/java/seedu/address/ui/TaskCard.java index d7fb481030b4..ee204ca6fb79 100644 --- a/src/main/java/seedu/address/ui/TaskCard.java +++ b/src/main/java/seedu/address/ui/TaskCard.java @@ -36,7 +36,7 @@ public TaskCard(Task task, int displayedIndex) { this.task = task; id.setText(displayedIndex + ". "); title.setText(task.getTitle().value); - time.setText(DATE_FORMATTER.format(task.getTime().value.getTime())); + time.setText("Finish before: " + DATE_FORMATTER.format(task.getTime().value.getTime())); } @Override From d0b369aa0a3cd7718812b3293d073b22bad5b75e Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Fri, 30 Mar 2018 16:53:15 +0800 Subject: [PATCH 195/288] Add JUnit Test --- .../logic/commands/DeleteCommandTest.java | 36 ++++---- .../logic/commands/EditCommandTest.java | 50 +++++------ .../logic/commands/ListCommandTest.java | 4 +- .../logic/commands/RedoCommandTest.java | 8 +- .../logic/commands/RemoveCommandTest.java | 84 +++++++++++++++++++ .../logic/commands/SelectCommandTest.java | 24 +++--- .../logic/commands/UndoCommandTest.java | 6 +- .../logic/commands/UndoableCommandTest.java | 6 +- .../logic/parser/AddressBookParserTest.java | 26 ++++-- .../logic/parser/DeleteCommandParserTest.java | 4 +- .../logic/parser/EditCommandParserTest.java | 18 ++-- .../address/logic/parser/ParserUtilTest.java | 6 +- .../logic/parser/SelectCommandParserTest.java | 4 +- .../seedu/address/testutil/TypicalEvents.java | 3 + .../address/testutil/TypicalIndexes.java | 6 +- .../address/testutil/TypicalPersons.java | 17 ++++ .../seedu/address/ui/PersonListPanelTest.java | 6 +- .../systemtests/DeleteCommandSystemTest.java | 8 +- .../systemtests/EditCommandSystemTest.java | 28 +++---- .../systemtests/HelpCommandSystemTest.java | 6 +- .../systemtests/SelectCommandSystemTest.java | 8 +- 21 files changed, 237 insertions(+), 121 deletions(-) create mode 100644 src/test/java/seedu/address/logic/commands/RemoveCommandTest.java diff --git a/src/test/java/seedu/address/logic/commands/DeleteCommandTest.java b/src/test/java/seedu/address/logic/commands/DeleteCommandTest.java index 866e6a9be32a..7249cdef6cf6 100644 --- a/src/test/java/seedu/address/logic/commands/DeleteCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/DeleteCommandTest.java @@ -8,8 +8,8 @@ import static seedu.address.logic.commands.CommandTestUtil.prepareRedoCommand; import static seedu.address.logic.commands.CommandTestUtil.prepareUndoCommand; import static seedu.address.logic.commands.CommandTestUtil.showPersonAtIndex; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; -import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; +import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import org.junit.Test; @@ -33,8 +33,8 @@ public class DeleteCommandTest { @Test public void execute_validIndexUnfilteredList_success() throws Exception { - Person personToDelete = model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased()); - DeleteCommand deleteCommand = prepareCommand(INDEX_FIRST_PERSON); + Person personToDelete = model.getFilteredPersonList().get(INDEX_FIRST.getZeroBased()); + DeleteCommand deleteCommand = prepareCommand(INDEX_FIRST); String expectedMessage = String.format(DeleteCommand.MESSAGE_DELETE_PERSON_SUCCESS, personToDelete); @@ -54,10 +54,10 @@ public void execute_invalidIndexUnfilteredList_throwsCommandException() throws E @Test public void execute_validIndexFilteredList_success() throws Exception { - showPersonAtIndex(model, INDEX_FIRST_PERSON); + showPersonAtIndex(model, INDEX_FIRST); - Person personToDelete = model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased()); - DeleteCommand deleteCommand = prepareCommand(INDEX_FIRST_PERSON); + Person personToDelete = model.getFilteredPersonList().get(INDEX_FIRST.getZeroBased()); + DeleteCommand deleteCommand = prepareCommand(INDEX_FIRST); String expectedMessage = String.format(DeleteCommand.MESSAGE_DELETE_PERSON_SUCCESS, personToDelete); @@ -70,9 +70,9 @@ public void execute_validIndexFilteredList_success() throws Exception { @Test public void execute_invalidIndexFilteredList_throwsCommandException() { - showPersonAtIndex(model, INDEX_FIRST_PERSON); + showPersonAtIndex(model, INDEX_FIRST); - Index outOfBoundIndex = INDEX_SECOND_PERSON; + Index outOfBoundIndex = INDEX_SECOND; // ensures that outOfBoundIndex is still in bounds of address book list assertTrue(outOfBoundIndex.getZeroBased() < model.getAddressBook().getPersonList().size()); @@ -86,8 +86,8 @@ public void executeUndoRedo_validIndexUnfilteredList_success() throws Exception UndoRedoStack undoRedoStack = new UndoRedoStack(); UndoCommand undoCommand = prepareUndoCommand(model, undoRedoStack); RedoCommand redoCommand = prepareRedoCommand(model, undoRedoStack); - Person personToDelete = model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased()); - DeleteCommand deleteCommand = prepareCommand(INDEX_FIRST_PERSON); + Person personToDelete = model.getFilteredPersonList().get(INDEX_FIRST.getZeroBased()); + DeleteCommand deleteCommand = prepareCommand(INDEX_FIRST); Model expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); // delete -> first person deleted @@ -130,11 +130,11 @@ public void executeUndoRedo_validIndexFilteredList_samePersonDeleted() throws Ex UndoRedoStack undoRedoStack = new UndoRedoStack(); UndoCommand undoCommand = prepareUndoCommand(model, undoRedoStack); RedoCommand redoCommand = prepareRedoCommand(model, undoRedoStack); - DeleteCommand deleteCommand = prepareCommand(INDEX_FIRST_PERSON); + DeleteCommand deleteCommand = prepareCommand(INDEX_FIRST); Model expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); - showPersonAtIndex(model, INDEX_SECOND_PERSON); - Person personToDelete = model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased()); + showPersonAtIndex(model, INDEX_SECOND); + Person personToDelete = model.getFilteredPersonList().get(INDEX_FIRST.getZeroBased()); // delete -> deletes second person in unfiltered person list / first person in filtered person list deleteCommand.execute(); undoRedoStack.push(deleteCommand); @@ -143,21 +143,21 @@ public void executeUndoRedo_validIndexFilteredList_samePersonDeleted() throws Ex assertCommandSuccess(undoCommand, model, UndoCommand.MESSAGE_SUCCESS, expectedModel); expectedModel.deletePerson(personToDelete); - assertNotEquals(personToDelete, model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased())); + assertNotEquals(personToDelete, model.getFilteredPersonList().get(INDEX_FIRST.getZeroBased())); // redo -> deletes same second person in unfiltered person list assertCommandSuccess(redoCommand, model, RedoCommand.MESSAGE_SUCCESS, expectedModel); } @Test public void equals() throws Exception { - DeleteCommand deleteFirstCommand = prepareCommand(INDEX_FIRST_PERSON); - DeleteCommand deleteSecondCommand = prepareCommand(INDEX_SECOND_PERSON); + DeleteCommand deleteFirstCommand = prepareCommand(INDEX_FIRST); + DeleteCommand deleteSecondCommand = prepareCommand(INDEX_SECOND); // same object -> returns true assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); // same values -> returns true - DeleteCommand deleteFirstCommandCopy = prepareCommand(INDEX_FIRST_PERSON); + DeleteCommand deleteFirstCommandCopy = prepareCommand(INDEX_FIRST); assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); // one command preprocessed when previously equal -> returns false diff --git a/src/test/java/seedu/address/logic/commands/EditCommandTest.java b/src/test/java/seedu/address/logic/commands/EditCommandTest.java index a8b104d3a81d..643b34355c69 100644 --- a/src/test/java/seedu/address/logic/commands/EditCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/EditCommandTest.java @@ -13,8 +13,8 @@ import static seedu.address.logic.commands.CommandTestUtil.prepareRedoCommand; import static seedu.address.logic.commands.CommandTestUtil.prepareUndoCommand; import static seedu.address.logic.commands.CommandTestUtil.showPersonAtIndex; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; -import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; +import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import org.junit.Test; @@ -43,7 +43,7 @@ public class EditCommandTest { public void execute_allFieldsSpecifiedUnfilteredList_success() throws Exception { Person editedPerson = new PersonBuilder().build(); EditPersonDescriptor descriptor = new EditPersonDescriptorBuilder(editedPerson).build(); - EditCommand editCommand = prepareCommand(INDEX_FIRST_PERSON, descriptor); + EditCommand editCommand = prepareCommand(INDEX_FIRST, descriptor); String expectedMessage = String.format(EditCommand.MESSAGE_EDIT_PERSON_SUCCESS, editedPerson); @@ -76,8 +76,8 @@ public void execute_someFieldsSpecifiedUnfilteredList_success() throws Exception @Test public void execute_noFieldSpecifiedUnfilteredList_success() { - EditCommand editCommand = prepareCommand(INDEX_FIRST_PERSON, new EditPersonDescriptor()); - Person editedPerson = model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased()); + EditCommand editCommand = prepareCommand(INDEX_FIRST, new EditPersonDescriptor()); + Person editedPerson = model.getFilteredPersonList().get(INDEX_FIRST.getZeroBased()); String expectedMessage = String.format(EditCommand.MESSAGE_EDIT_PERSON_SUCCESS, editedPerson); @@ -88,11 +88,11 @@ public void execute_noFieldSpecifiedUnfilteredList_success() { @Test public void execute_filteredList_success() throws Exception { - showPersonAtIndex(model, INDEX_FIRST_PERSON); + showPersonAtIndex(model, INDEX_FIRST); - Person personInFilteredList = model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased()); + Person personInFilteredList = model.getFilteredPersonList().get(INDEX_FIRST.getZeroBased()); Person editedPerson = new PersonBuilder(personInFilteredList).withName(VALID_NAME_BOB).build(); - EditCommand editCommand = prepareCommand(INDEX_FIRST_PERSON, + EditCommand editCommand = prepareCommand(INDEX_FIRST, new EditPersonDescriptorBuilder().withName(VALID_NAME_BOB).build()); String expectedMessage = String.format(EditCommand.MESSAGE_EDIT_PERSON_SUCCESS, editedPerson); @@ -105,20 +105,20 @@ public void execute_filteredList_success() throws Exception { @Test public void execute_duplicatePersonUnfilteredList_failure() { - Person firstPerson = model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased()); + Person firstPerson = model.getFilteredPersonList().get(INDEX_FIRST.getZeroBased()); EditPersonDescriptor descriptor = new EditPersonDescriptorBuilder(firstPerson).build(); - EditCommand editCommand = prepareCommand(INDEX_SECOND_PERSON, descriptor); + EditCommand editCommand = prepareCommand(INDEX_SECOND, descriptor); assertCommandFailure(editCommand, model, EditCommand.MESSAGE_DUPLICATE_PERSON); } @Test public void execute_duplicatePersonFilteredList_failure() { - showPersonAtIndex(model, INDEX_FIRST_PERSON); + showPersonAtIndex(model, INDEX_FIRST); // edit person in filtered list into a duplicate in address book - Person personInList = model.getAddressBook().getPersonList().get(INDEX_SECOND_PERSON.getZeroBased()); - EditCommand editCommand = prepareCommand(INDEX_FIRST_PERSON, + Person personInList = model.getAddressBook().getPersonList().get(INDEX_SECOND.getZeroBased()); + EditCommand editCommand = prepareCommand(INDEX_FIRST, new EditPersonDescriptorBuilder(personInList).build()); assertCommandFailure(editCommand, model, EditCommand.MESSAGE_DUPLICATE_PERSON); @@ -139,8 +139,8 @@ public void execute_invalidPersonIndexUnfilteredList_failure() { */ @Test public void execute_invalidPersonIndexFilteredList_failure() { - showPersonAtIndex(model, INDEX_FIRST_PERSON); - Index outOfBoundIndex = INDEX_SECOND_PERSON; + showPersonAtIndex(model, INDEX_FIRST); + Index outOfBoundIndex = INDEX_SECOND; // ensures that outOfBoundIndex is still in bounds of address book list assertTrue(outOfBoundIndex.getZeroBased() < model.getAddressBook().getPersonList().size()); @@ -156,9 +156,9 @@ public void executeUndoRedo_validIndexUnfilteredList_success() throws Exception UndoCommand undoCommand = prepareUndoCommand(model, undoRedoStack); RedoCommand redoCommand = prepareRedoCommand(model, undoRedoStack); Person editedPerson = new PersonBuilder().build(); - Person personToEdit = model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased()); + Person personToEdit = model.getFilteredPersonList().get(INDEX_FIRST.getZeroBased()); EditPersonDescriptor descriptor = new EditPersonDescriptorBuilder(editedPerson).build(); - EditCommand editCommand = prepareCommand(INDEX_FIRST_PERSON, descriptor); + EditCommand editCommand = prepareCommand(INDEX_FIRST, descriptor); Model expectedModel = new ModelManager(new AddressBook(model.getAddressBook()), new UserPrefs()); // edit -> first person edited @@ -204,11 +204,11 @@ public void executeUndoRedo_validIndexFilteredList_samePersonEdited() throws Exc RedoCommand redoCommand = prepareRedoCommand(model, undoRedoStack); Person editedPerson = new PersonBuilder().build(); EditPersonDescriptor descriptor = new EditPersonDescriptorBuilder(editedPerson).build(); - EditCommand editCommand = prepareCommand(INDEX_FIRST_PERSON, descriptor); + EditCommand editCommand = prepareCommand(INDEX_FIRST, descriptor); Model expectedModel = new ModelManager(new AddressBook(model.getAddressBook()), new UserPrefs()); - showPersonAtIndex(model, INDEX_SECOND_PERSON); - Person personToEdit = model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased()); + showPersonAtIndex(model, INDEX_SECOND); + Person personToEdit = model.getFilteredPersonList().get(INDEX_FIRST.getZeroBased()); // edit -> edits second person in unfiltered person list / first person in filtered person list editCommand.execute(); undoRedoStack.push(editCommand); @@ -217,18 +217,18 @@ public void executeUndoRedo_validIndexFilteredList_samePersonEdited() throws Exc assertCommandSuccess(undoCommand, model, UndoCommand.MESSAGE_SUCCESS, expectedModel); expectedModel.updatePerson(personToEdit, editedPerson); - assertNotEquals(model.getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased()), personToEdit); + assertNotEquals(model.getFilteredPersonList().get(INDEX_FIRST.getZeroBased()), personToEdit); // redo -> edits same second person in unfiltered person list assertCommandSuccess(redoCommand, model, RedoCommand.MESSAGE_SUCCESS, expectedModel); } @Test public void equals() throws Exception { - final EditCommand standardCommand = prepareCommand(INDEX_FIRST_PERSON, DESC_AMY); + final EditCommand standardCommand = prepareCommand(INDEX_FIRST, DESC_AMY); // same values -> returns true EditPersonDescriptor copyDescriptor = new EditPersonDescriptor(DESC_AMY); - EditCommand commandWithSameValues = prepareCommand(INDEX_FIRST_PERSON, copyDescriptor); + EditCommand commandWithSameValues = prepareCommand(INDEX_FIRST, copyDescriptor); assertTrue(standardCommand.equals(commandWithSameValues)); // same object -> returns true @@ -245,10 +245,10 @@ public void equals() throws Exception { assertFalse(standardCommand.equals(new ClearCommand())); // different index -> returns false - assertFalse(standardCommand.equals(new EditCommand(INDEX_SECOND_PERSON, DESC_AMY))); + assertFalse(standardCommand.equals(new EditCommand(INDEX_SECOND, DESC_AMY))); // different descriptor -> returns false - assertFalse(standardCommand.equals(new EditCommand(INDEX_FIRST_PERSON, DESC_BOB))); + assertFalse(standardCommand.equals(new EditCommand(INDEX_FIRST, DESC_BOB))); } /** diff --git a/src/test/java/seedu/address/logic/commands/ListCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCommandTest.java index ba9106f586cc..c095ee4e7a3e 100644 --- a/src/test/java/seedu/address/logic/commands/ListCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCommandTest.java @@ -5,7 +5,7 @@ import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.logic.commands.CommandTestUtil.showPersonAtIndex; import static seedu.address.logic.commands.ListCommand.MESSAGE_SUCCESS; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import org.junit.Before; @@ -49,7 +49,7 @@ public void execute_personListIsNotFiltered_showsSameList() { public void execute_personListIsFiltered_showsEverything() { listCommand = new ListCommand(""); listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); - showPersonAtIndex(model, INDEX_FIRST_PERSON); + showPersonAtIndex(model, INDEX_FIRST); assertCommandSuccess(listCommand, model, MESSAGE_SUCCESS, expectedModel); } diff --git a/src/test/java/seedu/address/logic/commands/RedoCommandTest.java b/src/test/java/seedu/address/logic/commands/RedoCommandTest.java index e615f089a4f2..938e163005c6 100644 --- a/src/test/java/seedu/address/logic/commands/RedoCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/RedoCommandTest.java @@ -4,8 +4,8 @@ import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.logic.commands.CommandTestUtil.deleteFirstPerson; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; -import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; +import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import java.util.Arrays; @@ -25,8 +25,8 @@ public class RedoCommandTest { private static final UndoRedoStack EMPTY_STACK = new UndoRedoStack(); private final Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - private final DeleteCommand deleteCommandOne = new DeleteCommand(INDEX_FIRST_PERSON); - private final DeleteCommand deleteCommandTwo = new DeleteCommand(INDEX_SECOND_PERSON); + private final DeleteCommand deleteCommandOne = new DeleteCommand(INDEX_FIRST); + private final DeleteCommand deleteCommandTwo = new DeleteCommand(INDEX_SECOND); @Before public void setUp() throws Exception { diff --git a/src/test/java/seedu/address/logic/commands/RemoveCommandTest.java b/src/test/java/seedu/address/logic/commands/RemoveCommandTest.java new file mode 100644 index 000000000000..a7890d2a811f --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/RemoveCommandTest.java @@ -0,0 +1,84 @@ +package seedu.address.logic.commands; + +//@@author Sisyphus25 + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; +import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.Test; + +import seedu.address.commons.core.Messages; +import seedu.address.commons.core.index.Index; +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; +import seedu.address.model.event.Appointment; + +/** + * Contains Test for {@code RemoveCommand} + */ +public class RemoveCommandTest { + private Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + + @Test + public void execute_validIndex_success() throws Exception { + Appointment eventToDelete = model.getFilteredAppointmentList().get(INDEX_FIRST.getZeroBased()); + RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); + String expectedMessage = + String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "appointment", eventToDelete); + + ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + expectedModel.deleteAppointment(eventToDelete); + + assertCommandSuccess(removeCommandRemovingAppointment, model, expectedMessage, expectedModel); + } + + @Test + public void execute_invalidIndex_throwsCommandException() throws Exception { + Index outOfBoundIndex = Index.fromOneBased(model.getFilteredTaskList().size() + 1); + RemoveCommand removeCommandRemovingTask = prepareCommand(outOfBoundIndex, "task"); + + assertCommandFailure(removeCommandRemovingTask, model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + } + @Test + public void equals() throws Exception { + RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); + RemoveCommand removeCommandRemovingTask = prepareCommand(INDEX_SECOND, "task"); + + // same object -> returns true + assertTrue(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointment)); + + // same values -> returns true + RemoveCommand removeCommandRemovingAppointmentCopy = prepareCommand(INDEX_FIRST, "appointment"); + assertTrue(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointmentCopy)); + + // one command preprocessed when previously equal -> returns false + removeCommandRemovingAppointmentCopy.preprocessUndoableCommand(); + assertFalse(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointmentCopy)); + + // different types -> returns false + assertFalse(removeCommandRemovingAppointment.equals(1)); + + // null -> returns false + assertFalse(removeCommandRemovingAppointment.equals(null)); + + // different person -> returns false + assertFalse(removeCommandRemovingAppointment.equals(removeCommandRemovingTask)); + } + + /** + * Returns a {@code RemoveCommand} with the parameter {@code index}, {@code eventType}. + */ + private RemoveCommand prepareCommand(Index index, String eventType) { + RemoveCommand removeCommand = new RemoveCommand(index, eventType); + removeCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + return removeCommand; + } +} diff --git a/src/test/java/seedu/address/logic/commands/SelectCommandTest.java b/src/test/java/seedu/address/logic/commands/SelectCommandTest.java index 4840900602ac..ee353c8b8750 100644 --- a/src/test/java/seedu/address/logic/commands/SelectCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/SelectCommandTest.java @@ -5,9 +5,9 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static seedu.address.logic.commands.CommandTestUtil.showPersonAtIndex; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; -import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND_PERSON; -import static seedu.address.testutil.TypicalIndexes.INDEX_THIRD_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; +import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND; +import static seedu.address.testutil.TypicalIndexes.INDEX_THIRD; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import org.junit.Before; @@ -43,8 +43,8 @@ public void setUp() { public void execute_validIndexUnfilteredList_success() { Index lastPersonIndex = Index.fromOneBased(model.getFilteredPersonList().size()); - assertExecutionSuccess(INDEX_FIRST_PERSON); - assertExecutionSuccess(INDEX_THIRD_PERSON); + assertExecutionSuccess(INDEX_FIRST); + assertExecutionSuccess(INDEX_THIRD); assertExecutionSuccess(lastPersonIndex); } @@ -57,16 +57,16 @@ public void execute_invalidIndexUnfilteredList_failure() { @Test public void execute_validIndexFilteredList_success() { - showPersonAtIndex(model, INDEX_FIRST_PERSON); + showPersonAtIndex(model, INDEX_FIRST); - assertExecutionSuccess(INDEX_FIRST_PERSON); + assertExecutionSuccess(INDEX_FIRST); } @Test public void execute_invalidIndexFilteredList_failure() { - showPersonAtIndex(model, INDEX_FIRST_PERSON); + showPersonAtIndex(model, INDEX_FIRST); - Index outOfBoundsIndex = INDEX_SECOND_PERSON; + Index outOfBoundsIndex = INDEX_SECOND; // ensures that outOfBoundIndex is still in bounds of address book list assertTrue(outOfBoundsIndex.getZeroBased() < model.getAddressBook().getPersonList().size()); @@ -75,14 +75,14 @@ public void execute_invalidIndexFilteredList_failure() { @Test public void equals() { - SelectCommand selectFirstCommand = new SelectCommand(INDEX_FIRST_PERSON); - SelectCommand selectSecondCommand = new SelectCommand(INDEX_SECOND_PERSON); + SelectCommand selectFirstCommand = new SelectCommand(INDEX_FIRST); + SelectCommand selectSecondCommand = new SelectCommand(INDEX_SECOND); // same object -> returns true assertTrue(selectFirstCommand.equals(selectFirstCommand)); // same values -> returns true - SelectCommand selectFirstCommandCopy = new SelectCommand(INDEX_FIRST_PERSON); + SelectCommand selectFirstCommandCopy = new SelectCommand(INDEX_FIRST); assertTrue(selectFirstCommand.equals(selectFirstCommandCopy)); // different types -> returns false diff --git a/src/test/java/seedu/address/logic/commands/UndoCommandTest.java b/src/test/java/seedu/address/logic/commands/UndoCommandTest.java index 3eb5f2f18346..41f8240bd5e8 100644 --- a/src/test/java/seedu/address/logic/commands/UndoCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/UndoCommandTest.java @@ -4,7 +4,7 @@ import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.logic.commands.CommandTestUtil.deleteFirstPerson; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import java.util.Arrays; @@ -24,8 +24,8 @@ public class UndoCommandTest { private static final UndoRedoStack EMPTY_STACK = new UndoRedoStack(); private final Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - private final DeleteCommand deleteCommandOne = new DeleteCommand(INDEX_FIRST_PERSON); - private final DeleteCommand deleteCommandTwo = new DeleteCommand(INDEX_FIRST_PERSON); + private final DeleteCommand deleteCommandOne = new DeleteCommand(INDEX_FIRST); + private final DeleteCommand deleteCommandTwo = new DeleteCommand(INDEX_FIRST); @Before public void setUp() { diff --git a/src/test/java/seedu/address/logic/commands/UndoableCommandTest.java b/src/test/java/seedu/address/logic/commands/UndoableCommandTest.java index 7d00a7471b86..adf1ace21b1b 100644 --- a/src/test/java/seedu/address/logic/commands/UndoableCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/UndoableCommandTest.java @@ -4,7 +4,7 @@ import static org.junit.Assert.fail; import static seedu.address.logic.commands.CommandTestUtil.deleteFirstPerson; import static seedu.address.logic.commands.CommandTestUtil.showPersonAtIndex; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import org.junit.Test; @@ -28,7 +28,7 @@ public void executeUndo() throws Exception { deleteFirstPerson(expectedModel); assertEquals(expectedModel, model); - showPersonAtIndex(model, INDEX_FIRST_PERSON); + showPersonAtIndex(model, INDEX_FIRST); // undo() should cause the model's filtered list to show all persons dummyCommand.undo(); @@ -38,7 +38,7 @@ public void executeUndo() throws Exception { @Test public void redo() { - showPersonAtIndex(model, INDEX_FIRST_PERSON); + showPersonAtIndex(model, INDEX_FIRST); // redo() should cause the model's filtered list to show all persons dummyCommand.redo(); diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 2c91092c20fd..90510d4037e2 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -19,7 +19,7 @@ import static seedu.address.testutil.ExportCommandBuilder.PATH_NEEDED; import static seedu.address.testutil.ExportCommandBuilder.RANGE_ALL; import static seedu.address.testutil.ExportCommandBuilder.TAG_NEEDED; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import java.util.Arrays; import java.util.List; @@ -29,6 +29,7 @@ import org.junit.Test; import org.junit.rules.ExpectedException; +import seedu.address.commons.core.index.Index; import seedu.address.logic.commands.AddCommand; import seedu.address.logic.commands.ChangeThemeCommand; import seedu.address.logic.commands.ClearCommand; @@ -43,6 +44,7 @@ import seedu.address.logic.commands.ImportCommand; import seedu.address.logic.commands.ListCommand; import seedu.address.logic.commands.RedoCommand; +import seedu.address.logic.commands.RemoveCommand; import seedu.address.logic.commands.SelectCommand; import seedu.address.logic.commands.SetAppointmentCommand; import seedu.address.logic.commands.SetTaskCommand; @@ -83,8 +85,8 @@ public void parseCommand_clear() throws Exception { @Test public void parseCommand_delete() throws Exception { DeleteCommand command = (DeleteCommand) parser.parseCommand( - DeleteCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased()); - assertEquals(new DeleteCommand(INDEX_FIRST_PERSON), command); + DeleteCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased()); + assertEquals(new DeleteCommand(INDEX_FIRST), command); } @Test @@ -92,8 +94,8 @@ public void parseCommand_edit() throws Exception { Person person = new PersonBuilder().build(); EditPersonDescriptor descriptor = new EditPersonDescriptorBuilder(person).build(); EditCommand command = (EditCommand) parser.parseCommand(EditCommand.COMMAND_WORD + " " - + INDEX_FIRST_PERSON.getOneBased() + " " + PersonUtil.getPersonDetails(person)); - assertEquals(new EditCommand(INDEX_FIRST_PERSON, descriptor), command); + + INDEX_FIRST.getOneBased() + " " + PersonUtil.getPersonDetails(person)); + assertEquals(new EditCommand(INDEX_FIRST, descriptor), command); } @Test @@ -138,8 +140,8 @@ public void parseCommand_list() throws Exception { @Test public void parseCommand_select() throws Exception { SelectCommand command = (SelectCommand) parser.parseCommand( - SelectCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased()); - assertEquals(new SelectCommand(INDEX_FIRST_PERSON), command); + SelectCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased()); + assertEquals(new SelectCommand(INDEX_FIRST), command); } @Test @@ -219,5 +221,15 @@ public void parseCommand_changeTheme() throws Exception { (ChangeThemeCommand) parser.parseCommand(ChangeThemeCommand.COMMAND_WORD + " " + "dark"); assertEquals(new ChangeThemeCommand("dark"), command); } + + @Test + public void parseCommand_remove() throws Exception { + RemoveCommand commandRemoveAppointment = + (RemoveCommand) parser.parseCommand(RemoveCommand.COMMAND_WORD + " " + "appointment" + " " + "1"); + RemoveCommand commandRemoveTask = + (RemoveCommand) parser.parseCommand(RemoveCommand.COMMAND_WORD + " " + "task" + " " + "2"); + assertEquals(new RemoveCommand(Index.fromOneBased(1), "appointment"), commandRemoveAppointment); + assertEquals(new RemoveCommand(Index.fromOneBased(2), "task"), commandRemoveTask); + } //@@author } diff --git a/src/test/java/seedu/address/logic/parser/DeleteCommandParserTest.java b/src/test/java/seedu/address/logic/parser/DeleteCommandParserTest.java index 825732ced6ac..7210fa35531f 100644 --- a/src/test/java/seedu/address/logic/parser/DeleteCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/DeleteCommandParserTest.java @@ -3,7 +3,7 @@ import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import org.junit.Test; @@ -22,7 +22,7 @@ public class DeleteCommandParserTest { @Test public void parse_validArgs_returnsDeleteCommand() { - assertParseSuccess(parser, "1", new DeleteCommand(INDEX_FIRST_PERSON)); + assertParseSuccess(parser, "1", new DeleteCommand(INDEX_FIRST)); } @Test diff --git a/src/test/java/seedu/address/logic/parser/EditCommandParserTest.java b/src/test/java/seedu/address/logic/parser/EditCommandParserTest.java index b72fafad5e88..1b47cf350904 100644 --- a/src/test/java/seedu/address/logic/parser/EditCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/EditCommandParserTest.java @@ -27,9 +27,9 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; -import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND_PERSON; -import static seedu.address.testutil.TypicalIndexes.INDEX_THIRD_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; +import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND; +import static seedu.address.testutil.TypicalIndexes.INDEX_THIRD; import org.junit.Test; @@ -110,7 +110,7 @@ public void parse_invalidValue_failure() { @Test public void parse_allFieldsSpecified_success() { - Index targetIndex = INDEX_SECOND_PERSON; + Index targetIndex = INDEX_SECOND; String userInput = targetIndex.getOneBased() + PHONE_DESC_BOB + TAG_DESC_HUSBAND + EMAIL_DESC_AMY + ADDRESS_DESC_AMY + NAME_DESC_AMY + TAG_DESC_FRIEND; @@ -124,7 +124,7 @@ public void parse_allFieldsSpecified_success() { @Test public void parse_someFieldsSpecified_success() { - Index targetIndex = INDEX_FIRST_PERSON; + Index targetIndex = INDEX_FIRST; String userInput = targetIndex.getOneBased() + PHONE_DESC_BOB + EMAIL_DESC_AMY; EditPersonDescriptor descriptor = new EditPersonDescriptorBuilder().withPhone(VALID_PHONE_BOB) @@ -137,7 +137,7 @@ public void parse_someFieldsSpecified_success() { @Test public void parse_oneFieldSpecified_success() { // name - Index targetIndex = INDEX_THIRD_PERSON; + Index targetIndex = INDEX_THIRD; String userInput = targetIndex.getOneBased() + NAME_DESC_AMY; EditPersonDescriptor descriptor = new EditPersonDescriptorBuilder().withName(VALID_NAME_AMY).build(); EditCommand expectedCommand = new EditCommand(targetIndex, descriptor); @@ -170,7 +170,7 @@ public void parse_oneFieldSpecified_success() { @Test public void parse_multipleRepeatedFields_acceptsLast() { - Index targetIndex = INDEX_FIRST_PERSON; + Index targetIndex = INDEX_FIRST; String userInput = targetIndex.getOneBased() + PHONE_DESC_AMY + ADDRESS_DESC_AMY + EMAIL_DESC_AMY + TAG_DESC_FRIEND + PHONE_DESC_AMY + ADDRESS_DESC_AMY + EMAIL_DESC_AMY + TAG_DESC_FRIEND + PHONE_DESC_BOB + ADDRESS_DESC_BOB + EMAIL_DESC_BOB + TAG_DESC_HUSBAND; @@ -186,7 +186,7 @@ public void parse_multipleRepeatedFields_acceptsLast() { @Test public void parse_invalidValueFollowedByValidValue_success() { // no other valid values specified - Index targetIndex = INDEX_FIRST_PERSON; + Index targetIndex = INDEX_FIRST; String userInput = targetIndex.getOneBased() + INVALID_PHONE_DESC + PHONE_DESC_BOB; EditPersonDescriptor descriptor = new EditPersonDescriptorBuilder().withPhone(VALID_PHONE_BOB).build(); EditCommand expectedCommand = new EditCommand(targetIndex, descriptor); @@ -203,7 +203,7 @@ public void parse_invalidValueFollowedByValidValue_success() { @Test public void parse_resetTags_success() { - Index targetIndex = INDEX_THIRD_PERSON; + Index targetIndex = INDEX_THIRD; String userInput = targetIndex.getOneBased() + TAG_EMPTY; EditPersonDescriptor descriptor = new EditPersonDescriptorBuilder().withTags().build(); diff --git a/src/test/java/seedu/address/logic/parser/ParserUtilTest.java b/src/test/java/seedu/address/logic/parser/ParserUtilTest.java index e6c0b4d39731..157f59c61933 100644 --- a/src/test/java/seedu/address/logic/parser/ParserUtilTest.java +++ b/src/test/java/seedu/address/logic/parser/ParserUtilTest.java @@ -5,7 +5,7 @@ import static org.junit.Assert.assertTrue; import static seedu.address.logic.parser.ParserUtil.MESSAGE_INVALID_INDEX; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import java.util.Arrays; import java.util.Collections; @@ -62,10 +62,10 @@ public void parseIndex_outOfRangeInput_throwsIllegalValueException() throws Exce @Test public void parseIndex_validInput_success() throws Exception { // No whitespaces - assertEquals(INDEX_FIRST_PERSON, ParserUtil.parseIndex("1")); + assertEquals(INDEX_FIRST, ParserUtil.parseIndex("1")); // Leading and trailing whitespaces - assertEquals(INDEX_FIRST_PERSON, ParserUtil.parseIndex(" 1 ")); + assertEquals(INDEX_FIRST, ParserUtil.parseIndex(" 1 ")); } @Test diff --git a/src/test/java/seedu/address/logic/parser/SelectCommandParserTest.java b/src/test/java/seedu/address/logic/parser/SelectCommandParserTest.java index 513ee46acd33..c7b23a8089c8 100644 --- a/src/test/java/seedu/address/logic/parser/SelectCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/SelectCommandParserTest.java @@ -3,7 +3,7 @@ import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import org.junit.Test; @@ -19,7 +19,7 @@ public class SelectCommandParserTest { @Test public void parse_validArgs_returnsSelectCommand() { - assertParseSuccess(parser, "1", new SelectCommand(INDEX_FIRST_PERSON)); + assertParseSuccess(parser, "1", new SelectCommand(INDEX_FIRST)); } @Test diff --git a/src/test/java/seedu/address/testutil/TypicalEvents.java b/src/test/java/seedu/address/testutil/TypicalEvents.java index a1144e24a120..c3e1121ee68f 100644 --- a/src/test/java/seedu/address/testutil/TypicalEvents.java +++ b/src/test/java/seedu/address/testutil/TypicalEvents.java @@ -32,4 +32,7 @@ public class TypicalEvents { public static List<Appointment> getTypicalAppointments() { return new ArrayList<>(Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2, TYPICAL_APPOINTMENT_3)); } + public static List<Task> getTypicalTasks() { + return new ArrayList<>(Arrays.asList(TYPICAL_TASK_1, TYPICAL_TASK_2)); + } } diff --git a/src/test/java/seedu/address/testutil/TypicalIndexes.java b/src/test/java/seedu/address/testutil/TypicalIndexes.java index 1e6139376570..134e60a4c207 100644 --- a/src/test/java/seedu/address/testutil/TypicalIndexes.java +++ b/src/test/java/seedu/address/testutil/TypicalIndexes.java @@ -6,7 +6,7 @@ * A utility class containing a list of {@code Index} objects to be used in tests. */ public class TypicalIndexes { - public static final Index INDEX_FIRST_PERSON = Index.fromOneBased(1); - public static final Index INDEX_SECOND_PERSON = Index.fromOneBased(2); - public static final Index INDEX_THIRD_PERSON = Index.fromOneBased(3); + public static final Index INDEX_FIRST = Index.fromOneBased(1); + public static final Index INDEX_SECOND = Index.fromOneBased(2); + public static final Index INDEX_THIRD = Index.fromOneBased(3); } diff --git a/src/test/java/seedu/address/testutil/TypicalPersons.java b/src/test/java/seedu/address/testutil/TypicalPersons.java index 25cd79e50c8c..a775dc2050a5 100644 --- a/src/test/java/seedu/address/testutil/TypicalPersons.java +++ b/src/test/java/seedu/address/testutil/TypicalPersons.java @@ -17,6 +17,9 @@ import java.util.List; import seedu.address.model.AddressBook; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.Task; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -89,6 +92,20 @@ public static AddressBook getTypicalAddressBook() { throw new AssertionError("not possible"); } } + for (Appointment ap : TypicalEvents.getTypicalAppointments()) { + try { + ab.addAppointment(ap); + } catch (UniqueEventList.DuplicateEventException e) { + throw new AssertionError("not possible"); + } + } + for (Task t : TypicalEvents.getTypicalTasks()) { + try { + ab.addTask(t); + } catch (UniqueEventList.DuplicateEventException e) { + throw new AssertionError("not possible"); + } + } return ab; } diff --git a/src/test/java/seedu/address/ui/PersonListPanelTest.java b/src/test/java/seedu/address/ui/PersonListPanelTest.java index 22566d75525e..71a674b5c321 100644 --- a/src/test/java/seedu/address/ui/PersonListPanelTest.java +++ b/src/test/java/seedu/address/ui/PersonListPanelTest.java @@ -2,7 +2,7 @@ import static org.junit.Assert.assertEquals; import static seedu.address.testutil.EventsUtil.postNow; -import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND; import static seedu.address.testutil.TypicalPersons.getTypicalPersons; import static seedu.address.ui.testutil.GuiTestAssert.assertCardDisplaysPerson; import static seedu.address.ui.testutil.GuiTestAssert.assertPersonCardEquals; @@ -21,7 +21,7 @@ public class PersonListPanelTest extends GuiUnitTest { private static final ObservableList<Person> TYPICAL_PERSONS = FXCollections.observableList(getTypicalPersons()); - private static final JumpToListRequestEvent JUMP_TO_SECOND_EVENT = new JumpToListRequestEvent(INDEX_SECOND_PERSON); + private static final JumpToListRequestEvent JUMP_TO_SECOND_EVENT = new JumpToListRequestEvent(INDEX_SECOND); private PersonListPanelHandle personListPanelHandle; @@ -51,7 +51,7 @@ public void handleJumpToListRequestEvent() { postNow(JUMP_TO_SECOND_EVENT); guiRobot.pauseForHuman(); - PersonCardHandle expectedCard = personListPanelHandle.getPersonCardHandle(INDEX_SECOND_PERSON.getZeroBased()); + PersonCardHandle expectedCard = personListPanelHandle.getPersonCardHandle(INDEX_SECOND.getZeroBased()); PersonCardHandle selectedCard = personListPanelHandle.getHandleToSelectedCard(); assertPersonCardEquals(expectedCard, selectedCard); } diff --git a/src/test/java/systemtests/DeleteCommandSystemTest.java b/src/test/java/systemtests/DeleteCommandSystemTest.java index c0de78e4aba6..94afb9b53cf5 100644 --- a/src/test/java/systemtests/DeleteCommandSystemTest.java +++ b/src/test/java/systemtests/DeleteCommandSystemTest.java @@ -7,7 +7,7 @@ import static seedu.address.testutil.TestUtil.getLastIndex; import static seedu.address.testutil.TestUtil.getMidIndex; import static seedu.address.testutil.TestUtil.getPerson; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import static seedu.address.testutil.TypicalPersons.KEYWORD_MATCHING_MEIER; import org.junit.Test; @@ -32,8 +32,8 @@ public void delete() { /* Case: delete the first person in the list, command with leading spaces and trailing spaces -> deleted */ Model expectedModel = getModel(); - String command = " " + DeleteCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased() + " "; - Person deletedPerson = removePerson(expectedModel, INDEX_FIRST_PERSON); + String command = " " + DeleteCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased() + " "; + Person deletedPerson = removePerson(expectedModel, INDEX_FIRST); String expectedResultMessage = String.format(MESSAGE_DELETE_PERSON_SUCCESS, deletedPerson); assertCommandSuccess(command, expectedModel, expectedResultMessage); @@ -61,7 +61,7 @@ public void delete() { /* Case: filtered person list, delete index within bounds of address book and person list -> deleted */ showPersonsWithName(KEYWORD_MATCHING_MEIER); - Index index = INDEX_FIRST_PERSON; + Index index = INDEX_FIRST; assertTrue(index.getZeroBased() < getModel().getFilteredPersonList().size()); assertCommandSuccess(index); diff --git a/src/test/java/systemtests/EditCommandSystemTest.java b/src/test/java/systemtests/EditCommandSystemTest.java index 01f03abf25b1..debbd32f0a68 100644 --- a/src/test/java/systemtests/EditCommandSystemTest.java +++ b/src/test/java/systemtests/EditCommandSystemTest.java @@ -25,7 +25,7 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import static seedu.address.testutil.TypicalPersons.AMY; import static seedu.address.testutil.TypicalPersons.BOB; import static seedu.address.testutil.TypicalPersons.KEYWORD_MATCHING_MEIER; @@ -60,7 +60,7 @@ public void edit() throws Exception { /* Case: edit all fields, command with leading spaces, trailing spaces and multiple spaces between each field * -> edited */ - Index index = INDEX_FIRST_PERSON; + Index index = INDEX_FIRST; String command = " " + EditCommand.COMMAND_WORD + " " + index.getOneBased() + " " + NAME_DESC_BOB + " " + PHONE_DESC_BOB + " " + EMAIL_DESC_BOB + " " + ADDRESS_DESC_BOB + " " + TAG_DESC_HUSBAND + " "; Person editedPerson = new PersonBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) @@ -76,7 +76,7 @@ public void edit() throws Exception { command = RedoCommand.COMMAND_WORD; expectedResultMessage = RedoCommand.MESSAGE_SUCCESS; model.updatePerson( - getModel().getFilteredPersonList().get(INDEX_FIRST_PERSON.getZeroBased()), editedPerson); + getModel().getFilteredPersonList().get(INDEX_FIRST.getZeroBased()), editedPerson); assertCommandSuccess(command, model, expectedResultMessage); /* Case: edit a person with new values same as existing values -> edited */ @@ -85,14 +85,14 @@ public void edit() throws Exception { assertCommandSuccess(command, index, BOB); /* Case: edit some fields -> edited */ - index = INDEX_FIRST_PERSON; + index = INDEX_FIRST; command = EditCommand.COMMAND_WORD + " " + index.getOneBased() + TAG_DESC_FRIEND; Person personToEdit = getModel().getFilteredPersonList().get(index.getZeroBased()); editedPerson = new PersonBuilder(personToEdit).withTags(VALID_TAG_FRIEND).build(); assertCommandSuccess(command, index, editedPerson); /* Case: clear tags -> cleared */ - index = INDEX_FIRST_PERSON; + index = INDEX_FIRST; command = EditCommand.COMMAND_WORD + " " + index.getOneBased() + " " + PREFIX_TAG.getPrefix(); editedPerson = new PersonBuilder(personToEdit).withTags().build(); assertCommandSuccess(command, index, editedPerson); @@ -101,7 +101,7 @@ public void edit() throws Exception { /* Case: filtered person list, edit index within bounds of address book and person list -> edited */ showPersonsWithName(KEYWORD_MATCHING_MEIER); - index = INDEX_FIRST_PERSON; + index = INDEX_FIRST; assertTrue(index.getZeroBased() < getModel().getFilteredPersonList().size()); command = EditCommand.COMMAND_WORD + " " + index.getOneBased() + " " + NAME_DESC_BOB; personToEdit = getModel().getFilteredPersonList().get(index.getZeroBased()); @@ -122,7 +122,7 @@ public void edit() throws Exception { * browser url changes */ showAllPersons(); - index = INDEX_FIRST_PERSON; + index = INDEX_FIRST; selectPerson(index); command = EditCommand.COMMAND_WORD + " " + index.getOneBased() + NAME_DESC_AMY + PHONE_DESC_AMY + EMAIL_DESC_AMY + ADDRESS_DESC_AMY + TAG_DESC_FRIEND; @@ -150,33 +150,33 @@ public void edit() throws Exception { String.format(Messages.MESSAGE_INVALID_COMMAND_FORMAT, EditCommand.MESSAGE_USAGE)); /* Case: missing all fields -> rejected */ - assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased(), + assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased(), EditCommand.MESSAGE_NOT_EDITED); /* Case: invalid name -> rejected */ - assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased() + INVALID_NAME_DESC, + assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased() + INVALID_NAME_DESC, Name.MESSAGE_NAME_CONSTRAINTS); /* Case: invalid phone -> rejected */ - assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased() + INVALID_PHONE_DESC, + assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased() + INVALID_PHONE_DESC, Phone.MESSAGE_PHONE_CONSTRAINTS); /* Case: invalid email -> rejected */ - assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased() + INVALID_EMAIL_DESC, + assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased() + INVALID_EMAIL_DESC, Email.MESSAGE_EMAIL_CONSTRAINTS); /* Case: invalid address -> rejected */ - assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased() + INVALID_ADDRESS_DESC, + assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased() + INVALID_ADDRESS_DESC, Address.MESSAGE_ADDRESS_CONSTRAINTS); /* Case: invalid tag -> rejected */ - assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased() + INVALID_TAG_DESC, + assertCommandFailure(EditCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased() + INVALID_TAG_DESC, Tag.MESSAGE_TAG_NAME_CONSTRAINTS); /* Case: edit a person with new values same as another person's values -> rejected */ executeCommand(PersonUtil.getAddCommand(BOB)); assertTrue(getModel().getAddressBook().getPersonList().contains(BOB)); - index = INDEX_FIRST_PERSON; + index = INDEX_FIRST; assertFalse(getModel().getFilteredPersonList().get(index.getZeroBased()).equals(BOB)); command = EditCommand.COMMAND_WORD + " " + index.getOneBased() + NAME_DESC_BOB + PHONE_DESC_BOB + EMAIL_DESC_BOB + ADDRESS_DESC_BOB + TAG_DESC_FRIEND + TAG_DESC_HUSBAND; diff --git a/src/test/java/systemtests/HelpCommandSystemTest.java b/src/test/java/systemtests/HelpCommandSystemTest.java index e41dbe57841b..7836ae35c0bf 100644 --- a/src/test/java/systemtests/HelpCommandSystemTest.java +++ b/src/test/java/systemtests/HelpCommandSystemTest.java @@ -4,7 +4,7 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import static seedu.address.ui.testutil.GuiTestAssert.assertListMatching; import org.junit.Test; @@ -59,7 +59,7 @@ public void openHelpWindow() { getMainWindowHandle().focus(); // assert that while the help window is open the UI updates correctly for a command execution - executeCommand(SelectCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased()); + executeCommand(SelectCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased()); assertEquals("", getCommandBox().getInput()); assertCommandBoxShowsDefaultStyle(); assertNotEquals(HelpCommand.SHOWING_HELP_MESSAGE, getResultDisplay().getText()); @@ -67,7 +67,7 @@ public void openHelpWindow() { // assert that the status bar too is updated correctly while the help window is open // note: the select command tested above does not update the status bar - executeCommand(DeleteCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased()); + executeCommand(DeleteCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased()); assertNotEquals(StatusBarFooter.SYNC_STATUS_INITIAL, getStatusBarFooter().getSyncStatus()); } diff --git a/src/test/java/systemtests/SelectCommandSystemTest.java b/src/test/java/systemtests/SelectCommandSystemTest.java index c7deb73454b1..b4ca11b65193 100644 --- a/src/test/java/systemtests/SelectCommandSystemTest.java +++ b/src/test/java/systemtests/SelectCommandSystemTest.java @@ -5,7 +5,7 @@ import static seedu.address.commons.core.Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX; import static seedu.address.commons.core.Messages.MESSAGE_UNKNOWN_COMMAND; import static seedu.address.logic.commands.SelectCommand.MESSAGE_SELECT_PERSON_SUCCESS; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import static seedu.address.testutil.TypicalPersons.KEYWORD_MATCHING_MEIER; import static seedu.address.testutil.TypicalPersons.getTypicalPersons; @@ -25,8 +25,8 @@ public void select() { /* Case: select the first card in the person list, command with leading spaces and trailing spaces * -> selected */ - String command = " " + SelectCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased() + " "; - assertCommandSuccess(command, INDEX_FIRST_PERSON); + String command = " " + SelectCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased() + " "; + assertCommandSuccess(command, INDEX_FIRST); /* Case: select the last card in the person list -> selected */ Index personCount = Index.fromOneBased(getTypicalPersons().size()); @@ -93,7 +93,7 @@ public void select() { /* Case: select from empty address book -> rejected */ deleteAllPersons(); - assertCommandFailure(SelectCommand.COMMAND_WORD + " " + INDEX_FIRST_PERSON.getOneBased(), + assertCommandFailure(SelectCommand.COMMAND_WORD + " " + INDEX_FIRST.getOneBased(), MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); } From d0ef4517a4bedd6e310a0629fe34e18f51850a90 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Fri, 30 Mar 2018 20:32:12 +0800 Subject: [PATCH 196/288] Added functionality to export command to recognise already present commands and also added delete shortcut command --- .../seedu/address/commons/core/Messages.java | 3 -- .../logic/commands/DeleteShortcutCommand.java | 54 +++++++++++++++++++ .../logic/commands/ShortcutCommand.java | 50 +++++++++++++---- .../logic/parser/AddressBookParser.java | 3 ++ .../parser/DeleteShortcutCommandParser.java | 30 +++++++++++ .../java/seedu/address/model/AddressBook.java | 25 ++++++++- src/main/java/seedu/address/model/Model.java | 4 ++ .../seedu/address/model/ModelManager.java | 6 +++ .../model/person/UniquePersonList.java | 13 ----- .../shortcuts/UniqueShortcutDoublesList.java | 28 ++++++++++ 10 files changed, 189 insertions(+), 27 deletions(-) create mode 100644 src/main/java/seedu/address/logic/commands/DeleteShortcutCommand.java create mode 100644 src/main/java/seedu/address/logic/parser/DeleteShortcutCommandParser.java diff --git a/src/main/java/seedu/address/commons/core/Messages.java b/src/main/java/seedu/address/commons/core/Messages.java index 0a178d836536..41cd52f8dd45 100644 --- a/src/main/java/seedu/address/commons/core/Messages.java +++ b/src/main/java/seedu/address/commons/core/Messages.java @@ -9,7 +9,4 @@ public class Messages { public static final String MESSAGE_INVALID_COMMAND_FORMAT = "Invalid command format! \n%1$s"; public static final String MESSAGE_INVALID_PERSON_DISPLAYED_INDEX = "The person index provided is invalid"; public static final String MESSAGE_PERSONS_LISTED_OVERVIEW = "%1$d persons listed!"; - public static final String MESSAGE_SUGGESTION_COMMAND_FORMAT = "Invalid command. " - + "Try to add it using shortcut command"; - } diff --git a/src/main/java/seedu/address/logic/commands/DeleteShortcutCommand.java b/src/main/java/seedu/address/logic/commands/DeleteShortcutCommand.java new file mode 100644 index 000000000000..1b3fd1e5f488 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/DeleteShortcutCommand.java @@ -0,0 +1,54 @@ +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; + +import java.util.Objects; + +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +/** + * Deletes a specific shortcut from the addressbook. + */ +public class DeleteShortcutCommand extends UndoableCommand { + public static final String COMMAND_WORD = "delete_shortcut"; + public static final String MESSAGE_USAGE = COMMAND_WORD + " CommandWord " + " ShortcutWord " + + " :Deletes a shortcut for any command word"; + private static final String MESSAGE_DELETE_SHORTCUT_SUCCESS = "The shortcut has been deleted!"; + private final String shortcutWord; + + private final String commandWord; + + private ShortcutDoubles commandShortcut; + + + public DeleteShortcutCommand(String commandWord, String shortcutWord) { + requireNonNull(commandWord); + requireNonNull(shortcutWord); + this.commandWord = commandWord; + this.shortcutWord = shortcutWord; + commandShortcut = new ShortcutDoubles(shortcutWord, commandWord); + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + requireNonNull(commandShortcut); + try { + model.deleteCommandShortcut(commandShortcut); + } catch (UniqueShortcutDoublesList.CommandShortcutNotFoundException csnf) { + throw new CommandException("Please enter a valid Shortcut Command you have saved"); + } + + return new CommandResult(String.format(MESSAGE_DELETE_SHORTCUT_SUCCESS)); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof DeleteShortcutCommand // instanceof handles nulls + && this.shortcutWord.equals(((DeleteShortcutCommand) other).shortcutWord) // state check + && this.commandWord.equals(((DeleteShortcutCommand) other).commandWord) // state check + && Objects.equals(this.commandShortcut, ((DeleteShortcutCommand) other).commandShortcut)); + } +} diff --git a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java index ff95fc1e5982..997f0069e971 100644 --- a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java +++ b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java @@ -11,12 +11,14 @@ /** * */ -public class ShortcutCommand extends Command { +public class ShortcutCommand extends UndoableCommand { public static final String COMMAND_WORD = "shortcut"; - public static final String MESSAGE_USAGE = COMMAND_WORD + " :Creates a shortcut for any command word"; + public static final String MESSAGE_USAGE = COMMAND_WORD + " CommandWord " + " ShortcutWord " + + " :Creates a shortcut for any command word"; private static final String MESSAGE_SHORTCUT_AVAILABLE = "This shortcut already exists!"; private static final String MESSAGE_SUCCESS = "Successfully added the shortcut"; + private static final String MESSAGE_NO_COMMAND_TO_MAP = "The command word is invalid and hence cant be mapped!"; private final String shortcutWord; @@ -24,6 +26,11 @@ public class ShortcutCommand extends Command { private List<ShortcutDoubles> commandsList; + private final String[] commandsPresent = {"add", "clear", "delete", "edit", "exit", "export", "find", + "help", "history", "import", "list", "redo", "undo", "select", + "set_appointment", "set_task", "shortcut", "undo", "calendar", + "delete_shortcut"}; + public ShortcutCommand(String commandWord, String shortcutWord) { requireNonNull(commandWord, shortcutWord); this.shortcutWord = shortcutWord; @@ -31,14 +38,13 @@ public ShortcutCommand(String commandWord, String shortcutWord) { } @Override - public CommandResult execute() throws CommandException { + public CommandResult executeUndoableCommand() throws CommandException { commandsList = model.getFilteredCommandsList(); if (commandsList != null) { - for (ShortcutDoubles s : commandsList) { - if (s.commandWord.equals(commandWord) || s.shortcutWord.equals(shortcutWord)) { - return new CommandResult(String.format(MESSAGE_SHORTCUT_AVAILABLE)); - } + if (checkIfCommandPresent()) { + return new CommandResult(String.format(MESSAGE_SHORTCUT_AVAILABLE)); } + } ShortcutDoubles toAdd = new ShortcutDoubles(shortcutWord, commandWord); @@ -51,7 +57,33 @@ public CommandResult execute() throws CommandException { return new CommandResult(String.format(MESSAGE_SUCCESS)); } - public List<ShortcutDoubles> getCommandsList() { - return commandsList; + /** + * Checks if the shortcut command is valid or not + * @return + */ + private boolean checkIfCommandPresent() throws CommandException { + if (!containsKeyWord(commandWord)) { + throw new CommandException(MESSAGE_NO_COMMAND_TO_MAP); + } + for (ShortcutDoubles s : commandsList) { + if (s.shortcutWord.equals(shortcutWord)) { + return true; + } + } + return false; + } + + /** + * Checks if the command word is in the Array of commands present + * @param commandWord + * @return + */ + private boolean containsKeyWord(String commandWord) { + for (String s : commandsPresent) { + if (s.equals(commandWord)) { + return true; + } + } + return false; } } diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index c73f39c4d044..2b348a11727b 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -12,6 +12,7 @@ import seedu.address.logic.commands.ClearCommand; import seedu.address.logic.commands.Command; import seedu.address.logic.commands.DeleteCommand; +import seedu.address.logic.commands.DeleteShortcutCommand; import seedu.address.logic.commands.EditCommand; import seedu.address.logic.commands.ExitCommand; import seedu.address.logic.commands.ExportCommand; @@ -131,6 +132,8 @@ public Command parseCommand(String userInput) throws ParseException { case ChangeThemeCommand.COMMAND_WORD: return new ChangeThemeCommandParser().parse(arguments); + case DeleteShortcutCommand.COMMAND_WORD: + return new DeleteShortcutCommandParser().parse(arguments); default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); diff --git a/src/main/java/seedu/address/logic/parser/DeleteShortcutCommandParser.java b/src/main/java/seedu/address/logic/parser/DeleteShortcutCommandParser.java new file mode 100644 index 000000000000..bf7701553e8c --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/DeleteShortcutCommandParser.java @@ -0,0 +1,30 @@ +package seedu.address.logic.parser; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + +import seedu.address.logic.commands.DeleteShortcutCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +/** + * Parses input arguments and creates a new DeleteShortcutCommand object + */ +public class DeleteShortcutCommandParser implements Parser<DeleteShortcutCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the DeleteShortcutCommand + * and returns a DeleteShortcutCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public DeleteShortcutCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + String[] splitWords = trimmedArgs.split(" "); + if (splitWords.length > 2) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, DeleteShortcutCommand.MESSAGE_USAGE)); + } else { + return new DeleteShortcutCommand(splitWords[0], splitWords[1]); + } + } +} diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 1026ed45b66d..a736643adcab 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -70,6 +70,10 @@ public void setEvents(List<Event> events) throws UniqueEventList.DuplicateEventE this.events.setEvents(events); } + public void setShorcutCommands(List<ShortcutDoubles> shorcutCommands) { + this.shorcutCommands.setCommandsList(shorcutCommands); + } + /** * Resets the existing data of this {@code AddressBook} with {@code newData}. @@ -81,14 +85,16 @@ public void resetData(ReadOnlyAddressBook newData) { .map(this::syncWithMasterTagList) .collect(Collectors.toList()); List<Event> eventList = newData.getEventList(); + List<ShortcutDoubles> commandsList = newData.getCommandsList(); try { setPersons(syncedPersonList); setEvents(eventList); + setShorcutCommands(commandsList); } catch (DuplicatePersonException e) { - throw new AssertionError("AddressBooks should not have duplicate persons"); + throw new AssertionError("TeachConnect should not have duplicate persons"); } catch (UniqueEventList.DuplicateEventException e) { - throw new AssertionError("AddressBooks should not have duplicate events"); + throw new AssertionError("TeachConnect should not have duplicate events"); } } @@ -174,6 +180,21 @@ public boolean removePerson(Person key) throws PersonNotFoundException { } } + /** + * + * @param commandShortcut + * @return + * @throws UniqueShortcutDoublesList.CommandShortcutNotFoundException + */ + public boolean removeShortcutDouble(ShortcutDoubles commandShortcut) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { + if (shorcutCommands.remove(commandShortcut)) { + return true; + } else { + throw new UniqueShortcutDoublesList.CommandShortcutNotFoundException(); + } + } + //// tag-level operations public void addTag(Tag t) throws UniqueTagList.DuplicateTagException { diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index d6e41896dc4d..921bd572ca5e 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -50,6 +50,10 @@ void updatePerson(Person target, Person editedPerson) /** Returns an unmodifiable view of the filtered event list */ ObservableList<Event> getFilteredEventList(); + /** Deletes the given command shortcut */ + void deleteCommandShortcut(ShortcutDoubles commandShortcut) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException; + /** * Updates the filter of the filtered person list to filter by the given {@code predicate}. * @throws NullPointerException if {@code predicate} is null. diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 28b4a734c9c3..5267d6c69812 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -88,6 +88,12 @@ public synchronized void addCommandShortcut(ShortcutDoubles shortcutDoubles) indicateAddressBookChanged(); } + @Override + public synchronized void deleteCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { + addressBook.removeShortcutDouble(shortcutDoubles); + } + @Override public void updatePerson(Person target, Person editedPerson) throws DuplicatePersonException, PersonNotFoundException { diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/seedu/address/model/person/UniquePersonList.java index 66b1f8c97afe..9cc8e9735c32 100644 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ b/src/main/java/seedu/address/model/person/UniquePersonList.java @@ -98,7 +98,6 @@ public void setPersons(List<Person> persons) throws DuplicatePersonException { * Returns the backing list as an unmodifiable {@code ObservableList}. */ public ObservableList<Person> asObservableList() { - //sort(); return FXCollections.unmodifiableObservableList(internalList); } @@ -119,16 +118,4 @@ public int hashCode() { return internalList.hashCode(); } - //@@author shanmu9898 - //* Sorts the unique person list. - // - // public void sort() { - // SortedList<Person> sortedInternalList = internalList.sorted(); - // ObservableList<Person> sortedReturningInternalList = ; - // for(Person p : sortedInternalList) { - // sortedReturningInternalList.add(p); - // } - // - // - // } } diff --git a/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java b/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java index 2ea80a737bdf..e2847098c9be 100644 --- a/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java +++ b/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java @@ -2,6 +2,8 @@ import static java.util.Objects.requireNonNull; +import java.util.List; + import javafx.collections.FXCollections; import javafx.collections.ObservableList; import seedu.address.commons.exceptions.DuplicateDataException; @@ -69,4 +71,30 @@ public boolean equals(Object other) { && this.internalList.equals(((UniqueShortcutDoublesList) other).internalList)); } + public void setCommandsList(List<ShortcutDoubles> commandsList) { + requireNonNull(commandsList); + internalList.setAll(commandsList); + assert CollectionUtil.elementsAreUnique(internalList); + } + + /** + * Removes the equvivalent command shortcut from the list. + * @param shortcutDoubles + * + * @throws UniqueShortcutDoublesList.CommandShortcutNotFoundException + */ + public boolean remove(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { + requireNonNull(shortcutDoubles); + final boolean shortcutToBeDeleted = internalList.remove(shortcutDoubles); + if (!shortcutToBeDeleted) { + throw new UniqueShortcutDoublesList.CommandShortcutNotFoundException(); + } + return shortcutToBeDeleted; + } + + /** + * Exception when the command shortcut is not present in the list of stored commands + */ + public static class CommandShortcutNotFoundException extends Exception {} } From 982e5b0357d7676d83a92e6ac2a73f422daec254 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Fri, 30 Mar 2018 20:39:00 +0800 Subject: [PATCH 197/288] Fixed model stub --- .../java/seedu/address/testutil/modelstub/ModelStub.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index 5b0ba2999d96..7f777a397f6a 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -59,6 +59,12 @@ public void addCommandShortcut(ShortcutDoubles shortcutDoubles) fail("This method should not be called."); } + @Override + public void deleteCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { + fail("This method should not be called"); + } + @Override public ObservableList<Person> getFilteredPersonList() { fail("This method should not be called."); From 08b650383c3f70943b4228cb9f03de55d89fe1b6 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Sat, 31 Mar 2018 01:39:47 +0800 Subject: [PATCH 198/288] Modify test --- .../java/seedu/address/model/AddressBook.java | 5 ++++- .../typicalPersonsAddressBook.xml | 20 +++++++++++++++++++ .../storage/XmlAddressBookStorageTest.java | 6 ++---- .../seedu/address/testutil/TypicalEvents.java | 4 +++- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 6179600d3444..204a5f0c76ec 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -199,7 +199,10 @@ public void addShortcutDoubles(ShortcutDoubles s) @Override public String toString() { - return persons.asObservableList().size() + " persons, " + tags.asObservableList().size() + " tags"; + return persons.asObservableList().size() + " persons, " + + tags.asObservableList().size() + " tags, " + + appointments.asObservableList().size() + " appointments, " + + tasks.asObservableList().size() + " tasks"; // TODO: refine later } diff --git a/src/test/data/XmlSerializableAddressBookTest/typicalPersonsAddressBook.xml b/src/test/data/XmlSerializableAddressBookTest/typicalPersonsAddressBook.xml index d238d0401989..e17e3ffbe419 100644 --- a/src/test/data/XmlSerializableAddressBookTest/typicalPersonsAddressBook.xml +++ b/src/test/data/XmlSerializableAddressBookTest/typicalPersonsAddressBook.xml @@ -64,4 +64,24 @@ <tagName>friends</tagName> <tagColorStyle>brown</tagColorStyle> </tags> + <appointments> + <title>Meeting with parents + 09/10/2018 10:00 + 09/10/2018 11:00 + Alice Pauline Email: alice@example.com + + + Consultation session + 04/07/2018 10:00 + 04/07/2018 11:00 + Bob Choo Email: bob@example.com + + + To do + + + + Mark papers + + diff --git a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java b/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java index b6eeffdfa6e4..02e5656968ff 100644 --- a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java +++ b/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java @@ -2,8 +2,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; -import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_1; -import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_1; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_3; import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.HOON; import static seedu.address.testutil.TypicalPersons.IDA; @@ -88,14 +87,13 @@ public void readAndSaveAddressBook_allInOrder_success() throws Exception { //Modify data, overwrite exiting file, and read back original.addPerson(HOON); original.removePerson(ALICE); - original.addAppointment(TYPICAL_APPOINTMENT_1); xmlAddressBookStorage.saveAddressBook(original, filePath); readBack = xmlAddressBookStorage.readAddressBook(filePath).get(); assertEquals(original, new AddressBook(readBack)); //Save and read without specifying file path original.addPerson(IDA); - original.addTask(TYPICAL_TASK_1); + original.addTask(TYPICAL_TASK_3); xmlAddressBookStorage.saveAddressBook(original); //file path not specified readBack = xmlAddressBookStorage.readAddressBook().get(); //file path not specified assertEquals(original, new AddressBook(readBack)); diff --git a/src/test/java/seedu/address/testutil/TypicalEvents.java b/src/test/java/seedu/address/testutil/TypicalEvents.java index c3e1121ee68f..1714edd20692 100644 --- a/src/test/java/seedu/address/testutil/TypicalEvents.java +++ b/src/test/java/seedu/address/testutil/TypicalEvents.java @@ -28,9 +28,11 @@ public class TypicalEvents { new Task(new Title("To do"), new EventTime("10/10/2018 10:00")); public static final Task TYPICAL_TASK_2 = new Task(new Title("Mark papers"), new EventTime("15/04/2018 23:00")); + public static final Task TYPICAL_TASK_3 = + new Task(new Title("Purchase markers"), new EventTime("19/04/2018 10:00")); public static List getTypicalAppointments() { - return new ArrayList<>(Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2, TYPICAL_APPOINTMENT_3)); + return new ArrayList<>(Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2)); } public static List getTypicalTasks() { return new ArrayList<>(Arrays.asList(TYPICAL_TASK_1, TYPICAL_TASK_2)); From 6ba5c2b31657501a22d8a05f1653ab38d73bcca0 Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 31 Mar 2018 02:00:51 +0800 Subject: [PATCH 199/288] updated tests for changes in list command --- .../java/seedu/address/logic/commands/ListCommand.java | 4 ++-- src/test/java/seedu/address/logic/LogicManagerTest.java | 5 +++-- .../seedu/address/logic/commands/ListCommandTest.java | 6 ++++-- src/test/java/seedu/address/ui/CommandBoxTest.java | 8 +++++--- src/test/java/systemtests/AddressBookSystemTest.java | 2 +- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 251b82601684..5086b4fad8c7 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -15,8 +15,8 @@ public class ListCommand extends Command { public static final String MESSAGE_SUCCESS = "Listed all "; private static final String MESSAGE_INVALID_TYPE = "TYPE is missing or invalid"; - private static final String TYPE_STUDENT = "students"; - private static final String TYPE_CONTACT = "contacts"; + public static final String TYPE_STUDENT = "students"; + public static final String TYPE_CONTACT = "contacts"; private final String typeToListed; public ListCommand(String typeArg) { diff --git a/src/test/java/seedu/address/logic/LogicManagerTest.java b/src/test/java/seedu/address/logic/LogicManagerTest.java index 954c1fb04388..4d12b62396b8 100644 --- a/src/test/java/seedu/address/logic/LogicManagerTest.java +++ b/src/test/java/seedu/address/logic/LogicManagerTest.java @@ -41,8 +41,9 @@ public void execute_commandExecutionError_throwsCommandException() { @Test public void execute_validCommand_success() { - String listCommand = ListCommand.COMMAND_WORD; - assertCommandSuccess(listCommand, ListCommand.MESSAGE_SUCCESS, model); + String listCommand = ListCommand.COMMAND_WORD + " " + ListCommand.TYPE_CONTACT; + assertCommandSuccess(listCommand, + ListCommand.MESSAGE_SUCCESS + ListCommand.TYPE_CONTACT, model); assertHistoryCorrect(listCommand); } diff --git a/src/test/java/seedu/address/logic/commands/ListCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCommandTest.java index b3eadf8c85e9..7855e64ce6b4 100644 --- a/src/test/java/seedu/address/logic/commands/ListCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCommandTest.java @@ -34,12 +34,14 @@ public void setUp() { @Test public void execute_listIsNotFiltered_showsSameList() { - assertCommandSuccess(listCommand, model, ListCommand.MESSAGE_SUCCESS, expectedModel); + assertCommandSuccess(listCommand, model, + ListCommand.MESSAGE_SUCCESS + ListCommand.TYPE_CONTACT, expectedModel); } @Test public void execute_listIsFiltered_showsEverything() { showPersonAtIndex(model, INDEX_FIRST_PERSON); - assertCommandSuccess(listCommand, model, ListCommand.MESSAGE_SUCCESS, expectedModel); + assertCommandSuccess(listCommand, model, + ListCommand.MESSAGE_SUCCESS + ListCommand.TYPE_CONTACT, expectedModel); } } diff --git a/src/test/java/seedu/address/ui/CommandBoxTest.java b/src/test/java/seedu/address/ui/CommandBoxTest.java index f72304570a7a..843e7bf56e02 100644 --- a/src/test/java/seedu/address/ui/CommandBoxTest.java +++ b/src/test/java/seedu/address/ui/CommandBoxTest.java @@ -17,7 +17,8 @@ public class CommandBoxTest extends GuiUnitTest { - private static final String COMMAND_THAT_SUCCEEDS = ListCommand.COMMAND_WORD; + private static final String COMMAND_THAT_SUCCEEDS = ListCommand.COMMAND_WORD + + " " + ListCommand.TYPE_CONTACT; private static final String COMMAND_THAT_FAILS = "invalid command"; private ArrayList defaultStyleOfCommandBox; @@ -32,6 +33,7 @@ public void setUp() { CommandBox commandBox = new CommandBox(logic); commandBoxHandle = new CommandBoxHandle(getChildNode(commandBox.getRoot(), + CommandBoxHandle.COMMAND_INPUT_FIELD_ID)); uiPartRule.setUiPart(commandBox); @@ -91,7 +93,7 @@ public void handleKeyPress_startingWithUp() { // insert command in the middle of retrieving previous commands guiRobot.push(KeyCode.UP); - String thirdCommand = "list"; + String thirdCommand = "list contacts"; commandBoxHandle.run(thirdCommand); assertInputHistory(KeyCode.UP, thirdCommand); assertInputHistory(KeyCode.UP, COMMAND_THAT_FAILS); @@ -119,7 +121,7 @@ public void handleKeyPress_startingWithDown() { // insert command in the middle of retrieving previous commands guiRobot.push(KeyCode.UP); - String thirdCommand = "list"; + String thirdCommand = "list contacts"; commandBoxHandle.run(thirdCommand); assertInputHistory(KeyCode.DOWN, ""); assertInputHistory(KeyCode.UP, thirdCommand); diff --git a/src/test/java/systemtests/AddressBookSystemTest.java b/src/test/java/systemtests/AddressBookSystemTest.java index 97cdf96d65b8..7ab7ea3c2c08 100644 --- a/src/test/java/systemtests/AddressBookSystemTest.java +++ b/src/test/java/systemtests/AddressBookSystemTest.java @@ -140,7 +140,7 @@ protected void executeCommand(String command) { * Displays all persons in the address book. */ protected void showAllPersons() { - executeCommand(ListCommand.COMMAND_WORD); + executeCommand(ListCommand.COMMAND_WORD + " " + ListCommand.TYPE_CONTACT); assertEquals(getModel().getAddressBook().getPersonList().size(), getModel().getFilteredPersonList().size()); } From 9b6d589b2e5ae3dc540a665d8f90a0fe69ce53cb Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 31 Mar 2018 02:09:28 +0800 Subject: [PATCH 200/288] fixed bugs regarding reseting data in contact list and removing of unused tags --- .../java/seedu/address/model/AddressBook.java | 26 +++++++++---------- .../model/person/UniqueContactList.java | 19 +++++++++++--- .../address/testutil/TypicalPersons.java | 2 +- .../systemtests/AddCommandSystemTest.java | 16 +++--------- 4 files changed, 33 insertions(+), 30 deletions(-) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 870593f02792..f526d8f928c3 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -80,16 +80,19 @@ public void setTags(Set tags) { public void resetData(ReadOnlyAddressBook newData) { requireNonNull(newData); setTags(new HashSet<>(newData.getTagList())); - List syncedPersonList = newData.getPersonList().stream() - .map(this::syncWithMasterTagList) - .collect(Collectors.toList()); - List syncedStudentList = newData.getStudentList().stream() - .map(this::syncWithMasterTagList).map(person -> (Student) person) - .collect(Collectors.toList()); + List syncedContactList = newData.getContactList().stream() + .map(this::syncWithMasterTagList).collect(Collectors.toList()); try { - setPersons(syncedPersonList); - setStudents(syncedStudentList); + persons.setPersons(new UniquePersonList()); + students.setStudents(new UniqueStudentList()); + for (Person contact:syncedContactList) { + if (contact instanceof Student){ + addStudent((Student) contact); + } else { + addPerson(contact); + } + } } catch (DuplicatePersonException e) { throw new AssertionError("AddressBooks should not have duplicate persons"); } @@ -179,13 +182,10 @@ public void updateStudent(Student target, Student editedStudent) * Removes all {@code Tag}s that are not used by any {@code Person} or {@code Student} in this {@code AddressBook}. */ private void removeUnusedTags() { - Set tagsInPersons = persons.asObservableList().stream().map(Person::getTags).flatMap(Set::stream) - .collect(Collectors.toSet()); - Set tagsInStudents = students.asObservableList().stream().map(Student::getTags).flatMap(Set::stream) + Set tagsInContacts = contacts.asObservableList().stream().map(Person::getTags).flatMap(Set::stream) .collect(Collectors.toSet()); - tags.setTags(tagsInPersons); - tags.setTags(tagsInStudents); + tags.setTags(tagsInContacts); } /** diff --git a/src/main/java/seedu/address/model/person/UniqueContactList.java b/src/main/java/seedu/address/model/person/UniqueContactList.java index c86e9a9ad99b..7e5d7369282e 100644 --- a/src/main/java/seedu/address/model/person/UniqueContactList.java +++ b/src/main/java/seedu/address/model/person/UniqueContactList.java @@ -1,5 +1,7 @@ package seedu.address.model.person; +import java.util.List; + import javafx.collections.FXCollections; import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; @@ -8,7 +10,7 @@ /** * A list that is the aggregation of {@code UniquePersonList} and {@code UniqueStudentList} * and is the list displayed in the GUI. - * This list remains up-to-date by listening to the changes of both lists. + * This list remains up-to-date by listening to the changes of both lists and is not changed by anything else. */ public class UniqueContactList { private final UniquePersonList persons; @@ -28,10 +30,19 @@ public UniqueContactList(UniquePersonList p, UniqueStudentList s) { */ public void updateList(ListChangeListener.Change c) { while (c.next()) { - if (c.wasRemoved()) { + if (c.wasReplaced()) { + for (int i = 0; i < c.getRemovedSize(); i++){ + int index = combinedList.indexOf(c.getRemoved().get(i)); + combinedList.set(index, c.getAddedSubList().get(i)); + } + if (c.getTo() > c.getRemovedSize()){ + for (int i = c.getRemovedSize(); i < c.getTo(); i++){ + combinedList.add(c.getAddedSubList().get(i)); + } + } + } else if (c.wasRemoved()) { combinedList.removeAll(c.getRemoved()); - } - if (c.wasAdded()) { + } else if (c.wasAdded()) { combinedList.addAll(c.getAddedSubList()); } } diff --git a/src/test/java/seedu/address/testutil/TypicalPersons.java b/src/test/java/seedu/address/testutil/TypicalPersons.java index 25cd79e50c8c..dab2ccebe59e 100644 --- a/src/test/java/seedu/address/testutil/TypicalPersons.java +++ b/src/test/java/seedu/address/testutil/TypicalPersons.java @@ -42,7 +42,7 @@ public class TypicalPersons { .withEmail("werner@example.com").withAddress("michegan ave").build(); public static final Person FIONA = new PersonBuilder().withName("Fiona Kunz").withPhone("9482427") .withEmail("lydia@example.com").withAddress("little tokyo").build(); - public static final Student GEORGE = new StudentBuilder().withName("George Best").withPhone("9482442") + public static final Person GEORGE = new PersonBuilder().withName("George Best").withPhone("9482442") .withEmail("anna@example.com").withAddress("4th street").build(); public static final Student IVAN = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") .withEmail("wolf@example.com").withAddress("Centre Street").build(); diff --git a/src/test/java/systemtests/AddCommandSystemTest.java b/src/test/java/systemtests/AddCommandSystemTest.java index 8d62f9ddd06a..0a044d0fd569 100644 --- a/src/test/java/systemtests/AddCommandSystemTest.java +++ b/src/test/java/systemtests/AddCommandSystemTest.java @@ -79,7 +79,7 @@ public void add() throws Exception { /* Case: redo adding Amy to the list -> Amy added again */ command = RedoCommand.COMMAND_WORD; - model.addPerson(toAdd); + model.addStudent(toAdd); expectedResultMessage = RedoCommand.MESSAGE_SUCCESS; assertCommandSuccess(command, model, expectedResultMessage); @@ -142,22 +142,14 @@ public void add() throws Exception { /* ----------------------------------- Perform invalid add operations --------------------------------------- */ /* Case: add a duplicate student -> rejected */ - command = PersonUtil.getAddCommand(STUDENT_HOON); - assertCommandFailure(command, AddCommand.MESSAGE_DUPLICATE_PERSON); - - /* Case: add an existing student as default person -> rejected */ - command = PersonUtil.getAddCommand(HOON); - assertCommandFailure(command, AddCommand.MESSAGE_DUPLICATE_PERSON); - - /* Case: add an existing person as a student -> rejected */ - command = PersonUtil.getAddCommand(STUDENT_IDA); + command = PersonUtil.getAddStudentCommand(STUDENT_HOON); assertCommandFailure(command, AddCommand.MESSAGE_DUPLICATE_PERSON); /* Case: add a duplicate student except with different tags -> rejected */ // "student" is an existing tag used in the default model, see TypicalPersons#STUDENT_ALICE // This test will fail if a new tag that is not in the model is used, see the bug documented in // AddressBook#addPerson(Person) - command = PersonUtil.getAddCommand(STUDENT_HOON) + " " + PREFIX_TAG.getPrefix() + "student"; + command = PersonUtil.getAddStudentCommand(STUDENT_HOON) + " " + PREFIX_TAG.getPrefix() + "student"; assertCommandFailure(command, AddCommand.MESSAGE_DUPLICATE_PERSON); /* Case: missing name -> rejected */ @@ -264,7 +256,7 @@ private void assertCommandSuccess(String command, Person toAdd) { private void assertCommandSuccess(String command, Student toAdd) { Model expectedModel = getModel(); try { - expectedModel.addPerson(toAdd); + expectedModel.addStudent(toAdd); } catch (DuplicatePersonException dpe) { throw new IllegalArgumentException("toAdd already exists in the model."); } From 533fa9d92e1090ac241574d6db08e6a60db3cba2 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Sat, 31 Mar 2018 02:46:27 +0800 Subject: [PATCH 201/288] Ensure the appointment is deleted on CalendarFX calendar as well as the internal list --- .../model/AppointmentListChangedEvent.java | 22 ++++++++++++++ .../seedu/address/model/ModelManager.java | 8 +++++ .../java/seedu/address/ui/CalendarPanel.java | 30 ++++++++----------- 3 files changed, 43 insertions(+), 17 deletions(-) create mode 100644 src/main/java/seedu/address/commons/events/model/AppointmentListChangedEvent.java diff --git a/src/main/java/seedu/address/commons/events/model/AppointmentListChangedEvent.java b/src/main/java/seedu/address/commons/events/model/AppointmentListChangedEvent.java new file mode 100644 index 000000000000..6f9bda63e6f3 --- /dev/null +++ b/src/main/java/seedu/address/commons/events/model/AppointmentListChangedEvent.java @@ -0,0 +1,22 @@ +package seedu.address.commons.events.model; + +import javafx.collections.ObservableList; +import seedu.address.commons.events.BaseEvent; +import seedu.address.model.event.Appointment; + +//@@author Sisyphus25 +/** + * Indicates the appointment list has changed + */ +public class AppointmentListChangedEvent extends BaseEvent { + public final ObservableList appointmentList; + + public AppointmentListChangedEvent(ObservableList appointmentList) { + this.appointmentList = appointmentList; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 29d7470e52ac..34f6a29932d5 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -12,6 +12,7 @@ import seedu.address.commons.core.ComponentManager; import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.model.AddressBookChangedEvent; +import seedu.address.commons.events.model.AppointmentListChangedEvent; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; import seedu.address.model.event.UniqueEventList; @@ -77,6 +78,11 @@ private void indicateAddressBookChanged() { raise(new AddressBookChangedEvent(addressBook)); } + /** Raises an event to indicate the appointment list has changed */ + private void indicateAppointmentListChanged() { + raise(new AppointmentListChangedEvent(addressBook.getAppointmentList())); + } + @Override public synchronized void deletePerson(Person target) throws PersonNotFoundException { addressBook.removePerson(target); @@ -110,12 +116,14 @@ public void updatePerson(Person target, Person editedPerson) public void addAppointment(Appointment appointment) throws UniqueEventList.DuplicateEventException { addressBook.addAppointment(appointment); indicateAddressBookChanged(); + indicateAppointmentListChanged(); } @Override public void deleteAppointment(Appointment target) throws UniqueEventList.EventNotFoundException { addressBook.removeAppointment(target); indicateAddressBookChanged(); + indicateAppointmentListChanged(); } @Override diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java index 34c349a4217d..ae643320c5cb 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -19,7 +19,7 @@ import javafx.fxml.FXML; import javafx.scene.layout.Region; -import seedu.address.commons.events.model.AddressBookChangedEvent; +import seedu.address.commons.events.model.AppointmentListChangedEvent; import seedu.address.commons.events.ui.ToggleCalendarViewEvent; import seedu.address.model.event.Appointment; @@ -31,7 +31,9 @@ public class CalendarPanel extends UiPart { private static final String FXML = "CalendarPanel.fxml"; @FXML - private CalendarView calendarView; + private static final CalendarView calendarView = new CalendarView(); + private static final CalendarSource calendarSource = new CalendarSource("My Calendar"); + private static final Calendar calendar = new Calendar("Appointments"); private ObservableList appointmentList; @@ -39,34 +41,29 @@ public CalendarPanel(ObservableList appointmentObservableList) { super(FXML); this.appointmentList = appointmentObservableList; - calendarView = new CalendarView(); calendarView.setRequestedTime(LocalTime.now()); calendarView.setToday(LocalDate.now()); calendarView.setTime(LocalTime.now()); + calendarView.getCalendarSources().add(calendarSource); + calendarSource.getCalendars().add(calendar); + calendar.setStyle(Calendar.Style.getStyle(0)); + calendar.setLookAheadDuration(Duration.ofDays(365)); + updateCalendar(); disableViews(); registerAsAnEventHandler(this); } /** - * Creates a new a calendar with the update information + * Update information */ private void updateCalendar() { - setTime(); - CalendarSource calendarSource = new CalendarSource("My Calendar"); - Calendar calendar = new Calendar("Appointments"); - calendar.setStyle(Calendar.Style.getStyle(0)); - calendar.setLookAheadDuration(Duration.ofDays(365)); - - calendarSource.getCalendars().add(calendar); - + calendar.clear(); ArrayList entries = getEntries(); - for (Entry entry : entries) { calendar.addEntry(entry); } - calendarView.getCalendarSources().add(calendarSource); } private ArrayList getEntries() { @@ -91,12 +88,11 @@ private Entry getEntry(Appointment appointment) { private void setTime() { calendarView.setToday(LocalDate.now()); calendarView.setTime(LocalTime.now()); - calendarView.getCalendarSources().clear(); } @Subscribe - private void handleNewAppointmentEvent(AddressBookChangedEvent event) { - appointmentList = event.data.getAppointmentList(); + private void handleAppointmentListChangedEvent(AppointmentListChangedEvent event) { + appointmentList = event.appointmentList; Platform.runLater( this::updateCalendar ); From ca2b3d554b5e7a2cc22f47cb1f31c229db7221f3 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Sat, 31 Mar 2018 03:07:27 +0800 Subject: [PATCH 202/288] Add RemoveCommand and RemoveCommandParser test --- .../logic/commands/RemoveCommandTest.java | 28 +++++++++++++---- .../logic/parser/RemoveCommandParserTest.java | 31 +++++++++++++++++++ 2 files changed, 53 insertions(+), 6 deletions(-) create mode 100644 src/test/java/seedu/address/logic/parser/RemoveCommandParserTest.java diff --git a/src/test/java/seedu/address/logic/commands/RemoveCommandTest.java b/src/test/java/seedu/address/logic/commands/RemoveCommandTest.java index a7890d2a811f..da41f62a90b1 100644 --- a/src/test/java/seedu/address/logic/commands/RemoveCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/RemoveCommandTest.java @@ -20,6 +20,7 @@ import seedu.address.model.ModelManager; import seedu.address.model.UserPrefs; import seedu.address.model.event.Appointment; +import seedu.address.model.event.Task; /** * Contains Test for {@code RemoveCommand} @@ -28,16 +29,25 @@ public class RemoveCommandTest { private Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); @Test - public void execute_validIndex_success() throws Exception { - Appointment eventToDelete = model.getFilteredAppointmentList().get(INDEX_FIRST.getZeroBased()); + public void execute_validIndexRemoveAppointment_success() throws Exception { + ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + Appointment appointmentToDelete = model.getFilteredAppointmentList().get(INDEX_FIRST.getZeroBased()); RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); String expectedMessage = - String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "appointment", eventToDelete); + String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "appointment", appointmentToDelete); + expectedModel.deleteAppointment(appointmentToDelete); + assertCommandSuccess(removeCommandRemovingAppointment, model, expectedMessage, expectedModel); + } + @Test + public void execute_validIndexRemoveTask_success() throws Exception { ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); - expectedModel.deleteAppointment(eventToDelete); - - assertCommandSuccess(removeCommandRemovingAppointment, model, expectedMessage, expectedModel); + Task taskToDelete = model.getFilteredTaskList().get(INDEX_FIRST.getZeroBased()); + RemoveCommand removeCommandRemovingTask = prepareCommand(INDEX_FIRST, "task"); + String expectedMessage = + String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "task", taskToDelete); + expectedModel.deleteTask(taskToDelete); + assertCommandSuccess(removeCommandRemovingTask, model, expectedMessage, expectedModel); } @Test @@ -45,8 +55,14 @@ public void execute_invalidIndex_throwsCommandException() throws Exception { Index outOfBoundIndex = Index.fromOneBased(model.getFilteredTaskList().size() + 1); RemoveCommand removeCommandRemovingTask = prepareCommand(outOfBoundIndex, "task"); + Index outOfBoundIndex2 = Index.fromOneBased(model.getFilteredAppointmentList().size() + 1); + RemoveCommand removeCommandRemovingAppointment = prepareCommand(outOfBoundIndex2, "appointment"); + assertCommandFailure(removeCommandRemovingTask, model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + assertCommandFailure(removeCommandRemovingAppointment, + model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); } + @Test public void equals() throws Exception { RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); diff --git a/src/test/java/seedu/address/logic/parser/RemoveCommandParserTest.java b/src/test/java/seedu/address/logic/parser/RemoveCommandParserTest.java new file mode 100644 index 000000000000..62b75f733bbe --- /dev/null +++ b/src/test/java/seedu/address/logic/parser/RemoveCommandParserTest.java @@ -0,0 +1,31 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; + +import org.junit.Test; + +import seedu.address.logic.commands.RemoveCommand; + +//@@author Sisyphus25 +public class RemoveCommandParserTest { + private RemoveCommandParser parser = new RemoveCommandParser(); + + @Test + public void parse_validArgs_returnsDeleteCommand() { + assertParseSuccess(parser, "appointment" + " 1", new RemoveCommand(INDEX_FIRST, "appointment")); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "not valid", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "", String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "Appointment" + " 1", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "appointment" + " -1", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + } +} From dbd75a9d1e4b346509d715649b6da10ecc2afa1e Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Sat, 31 Mar 2018 03:57:28 +0800 Subject: [PATCH 203/288] Resolve integrated test conflict --- src/main/java/seedu/address/ui/CalendarPanel.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java index ae643320c5cb..77306fabcda3 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -31,9 +31,8 @@ public class CalendarPanel extends UiPart { private static final String FXML = "CalendarPanel.fxml"; @FXML - private static final CalendarView calendarView = new CalendarView(); - private static final CalendarSource calendarSource = new CalendarSource("My Calendar"); - private static final Calendar calendar = new Calendar("Appointments"); + private CalendarView calendarView; + private Calendar calendar; private ObservableList appointmentList; @@ -41,6 +40,10 @@ public CalendarPanel(ObservableList appointmentObservableList) { super(FXML); this.appointmentList = appointmentObservableList; + calendarView = new CalendarView(); + CalendarSource calendarSource = new CalendarSource("My Calendar"); + calendar = new Calendar("Appointments"); + calendarView.setRequestedTime(LocalTime.now()); calendarView.setToday(LocalDate.now()); calendarView.setTime(LocalTime.now()); From fd232d8a0d3e3b0e389cb1995c12b845b886a78e Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 31 Mar 2018 05:03:15 +0800 Subject: [PATCH 204/288] fixed bugs from merge --- .../address/logic/commands/ListCommand.java | 12 ++-- .../logic/parser/AddressBookParser.java | 1 - .../logic/parser/ListCommandParser.java | 10 ++- .../java/seedu/address/model/AddressBook.java | 10 +-- .../logic/commands/AddCommandTest.java | 65 +------------------ .../logic/commands/ListCommandTest.java | 7 +- .../logic/parser/AddressBookParserTest.java | 7 +- .../logic/parser/ListCommandParserTest.java | 8 +-- .../seedu/address/model/AddressBookTest.java | 2 +- .../address/testutil/modelstub/ModelStub.java | 16 +++++ .../java/seedu/address/ui/CommandBoxTest.java | 4 +- .../XmlAddressBookStorageTest/testingName.xml | 25 +++++++ 12 files changed, 72 insertions(+), 95 deletions(-) create mode 100644 test/data/XmlAddressBookStorageTest/testingName.xml diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 87832f69aff0..fbd71bdd06b4 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -3,8 +3,6 @@ import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; import static seedu.address.model.Model.PREDICATE_SHOW_ONLY_STUDENTS; -import seedu.address.logic.commands.exceptions.CommandException; - import seedu.address.commons.core.EventsCenter; import seedu.address.commons.events.ui.ToggleListEvent; import seedu.address.logic.commands.exceptions.CommandException; @@ -19,10 +17,10 @@ public class ListCommand extends Command { public static final String MESSAGE_SUCCESS = "Listed all "; private static final String MESSAGE_INVALID_TYPE = "TYPE is missing or invalid"; - public static final String TYPE_STUDENT = "students"; - public static final String TYPE_CONTACT = "contacts"; - public static final String TYPE_APPOINTMENT = "appointments"; - public static final String TYPE_TASK = "tasks"; + public static final String TYPE_STUDENT = "student"; + public static final String TYPE_CONTACT = "contact"; + public static final String TYPE_APPOINTMENT = "appointment"; + public static final String TYPE_TASK = "task"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Lists selected type. \n" + "Parameter: TYPE\n" @@ -64,6 +62,6 @@ public CommandResult execute() throws CommandException { public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof ListCommand // instanceof handles nulls - && this.item.equals(((ListCommand) other).item)); // state check + && this.type.equals(((ListCommand) other).type)); // state check } } diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index ce9029103773..79a9cc63ed9b 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -131,7 +131,6 @@ public Command parseCommand(String userInput) throws ParseException { case ChangeThemeCommand.COMMAND_WORD: return new ChangeThemeCommandParser().parse(arguments); - default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } diff --git a/src/main/java/seedu/address/logic/parser/ListCommandParser.java b/src/main/java/seedu/address/logic/parser/ListCommandParser.java index 1ff5506cc0f0..8f112d88974d 100644 --- a/src/main/java/seedu/address/logic/parser/ListCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ListCommandParser.java @@ -29,13 +29,11 @@ public ListCommand parse(String args) throws ParseException { * @return whether if the string is a valid view mode or not */ private boolean isValidItem(String str) { - if (str.isEmpty()) { - return true; - } switch (str) { - case("appointment"): - case("task"): - case("person"): + case(ListCommand.TYPE_CONTACT): + case(ListCommand.TYPE_STUDENT): + case(ListCommand.TYPE_APPOINTMENT): + case(ListCommand.TYPE_TASK): return true; default: return false; diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 771fad71c7d9..494eda384870 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -51,8 +51,8 @@ public class AddressBook implements ReadOnlyAddressBook { students = new UniqueStudentList(); contacts = new UniqueContactList(persons, students); tags = new UniqueTagList(); - appointments = new UniqueEventList(); - tasks = new UniqueEventList(); + appointments = new UniqueEventList<>(); + tasks = new UniqueEventList<>(); shorcutCommands = new UniqueShortcutDoublesList(); } @@ -102,7 +102,7 @@ public void resetData(ReadOnlyAddressBook newData) { .map(this::syncWithMasterTagList).collect(Collectors.toList()); try { - setPersons(syncedPersonList); + setPersons(syncedContactList); setAppointments(appointmentList); persons.setPersons(new UniquePersonList()); students.setStudents(new UniqueStudentList()); @@ -277,7 +277,7 @@ public void addShortcutDoubles(ShortcutDoubles s) @Override public String toString() { return persons.asObservableList().size() + " persons, " + students.asObservableList().size() + " students, " - + tags.asObservableList().size() + " tags" + events.asObservableList().size() + " events"; + + tags.asObservableList().size() + " tags"; // TODO: refine later } @@ -375,7 +375,7 @@ private void removeTagFromStudent(Tag tag, Student student) return; } - Person updatedStudent = new Student(student.getName(), student.getPhone(), student.getEmail(), + Student updatedStudent = new Student(student.getName(), student.getPhone(), student.getEmail(), student.getAddress(), listOfTags); updateStudent(student, updatedStudent); diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 329dcd008220..868d33d35850 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -19,7 +19,6 @@ import seedu.address.model.Model; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.person.Person; -import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.testutil.PersonBuilder; import seedu.address.testutil.modelstub.ModelStub; @@ -90,68 +89,6 @@ private AddCommand getAddCommandForPerson(Person person, Model model) { return command; } - /** - * A default model stub that have all of the methods failing. - */ - private class ModelStub implements Model { - @Override - public void addPerson(Person person) throws DuplicatePersonException { - fail("This method should not be called."); - } - - @Override - public void addStudent(Student student) throws DuplicatePersonException { - fail("This method should not be called. "); - } - - @Override - public void resetData(ReadOnlyAddressBook newData) { - fail("This method should not be called."); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - fail("This method should not be called."); - return null; - } - - @Override - public void deletePerson(Person target) throws PersonNotFoundException { - fail("This method should not be called."); - } - - @Override - public void deleteStudent(Student target) throws PersonNotFoundException { - fail("This method should not be called. "); - } - - @Override - public void updatePerson(Person target, Person editedPerson) { - fail("This method should not be called."); - } - - @Override - public void updateStudent(Student target, Student editedStudent) { - fail("This method should not be called. "); - } - - @Override - public ObservableList getFilteredPersonList() { - fail("This method should not be called."); - return null; - } - - @Override - public void updateFilteredPersonList(Predicate predicate) { - fail("This method should not be called."); - } - - @Override - public void deleteTag(Tag tag) { - fail("This method should not be called."); - } - } - /** * A Model stub that always throw a DuplicatePersonException when trying to add a person. */ @@ -174,7 +111,7 @@ private class ModelStubAcceptingPersonAdded extends ModelStub { final ArrayList personsAdded = new ArrayList<>(); @Override - public void addPerson(Person person) throws DuplicatePersonException { + public void addPerson(Person person) { requireNonNull(person); personsAdded.add(person); } diff --git a/src/test/java/seedu/address/logic/commands/ListCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCommandTest.java index e30c048bb799..45ec43b1d37d 100644 --- a/src/test/java/seedu/address/logic/commands/ListCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCommandTest.java @@ -7,6 +7,7 @@ import static seedu.address.logic.commands.ListCommand.MESSAGE_SUCCESS; import static seedu.address.logic.commands.ListCommand.TYPE_CONTACT; import static seedu.address.logic.commands.ListCommand.TYPE_APPOINTMENT; +import static seedu.address.logic.commands.ListCommand.TYPE_TASK; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; @@ -57,7 +58,7 @@ public void execute_personListIsFiltered_showsEverything() { @Test public void execute_listAppointment_success() throws CommandException { - listCommand = new ListCommand("appointment"); + listCommand = new ListCommand(TYPE_APPOINTMENT); listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); CommandResult result = listCommand.execute(); assertEquals(MESSAGE_SUCCESS + TYPE_APPOINTMENT, result.feedbackToUser); @@ -67,10 +68,10 @@ public void execute_listAppointment_success() throws CommandException { @Test public void execute_listTask_success() throws CommandException { - listCommand = new ListCommand("task"); + listCommand = new ListCommand(TYPE_TASK); listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); CommandResult result = listCommand.execute(); - assertEquals(MESSAGE_SUCCESS + TYPE_APPOINTMENT, result.feedbackToUser); + assertEquals(MESSAGE_SUCCESS + TYPE_TASK, result.feedbackToUser); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); } diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 2c91092c20fd..ceca34be3030 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -11,6 +11,9 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_END_TIME; import static seedu.address.logic.commands.CommandTestUtil.VALID_START_TIME; import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; +import static seedu.address.logic.commands.ListCommand.COMMAND_WORD; +import static seedu.address.logic.commands.ListCommand.TYPE_CONTACT; +import static seedu.address.logic.commands.ListCommand.TYPE_APPOINTMENT; import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; import static seedu.address.logic.parser.CliSyntax.PREFIX_RANGE; @@ -131,8 +134,8 @@ public void parseCommand_history() throws Exception { @Test public void parseCommand_list() throws Exception { - assertTrue(parser.parseCommand(ListCommand.COMMAND_WORD + " ") instanceof ListCommand); - assertTrue(parser.parseCommand(ListCommand.COMMAND_WORD + " appointment") instanceof ListCommand); + assertTrue(parser.parseCommand(COMMAND_WORD + " " + TYPE_CONTACT) instanceof ListCommand); + assertTrue(parser.parseCommand(COMMAND_WORD + " " + TYPE_APPOINTMENT) instanceof ListCommand); } @Test diff --git a/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java index eec87f40a958..6bdf09301ced 100644 --- a/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java @@ -14,10 +14,10 @@ public class ListCommandParserTest { @Test public void parse_validArgs_returnsListCommand() { - assertParseSuccess(parser, "", new ListCommand("")); - assertParseSuccess(parser, "person", new ListCommand("person")); - assertParseSuccess(parser, "task", new ListCommand("task")); - assertParseSuccess(parser, "appointment", new ListCommand("appointment")); + assertParseSuccess(parser, "contact", new ListCommand(ListCommand.TYPE_CONTACT)); + assertParseSuccess(parser, "student", new ListCommand(ListCommand.TYPE_STUDENT)); + assertParseSuccess(parser, "task", new ListCommand(ListCommand.TYPE_TASK)); + assertParseSuccess(parser, "appointment", new ListCommand(ListCommand.TYPE_APPOINTMENT)); } @Test diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 54e4ebe6b702..f172970df0c5 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -76,7 +76,7 @@ public void resetData_withDuplicatePersons_throwsAssertionError() { List newAppointments = Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2); List newTasks = Arrays.asList(TYPICAL_TASK_1, TYPICAL_TASK_2); List newCommands = Arrays.asList(new ShortcutDoubles("a", "add")); - AddressBookStub newData = new AddressBookStub(newPersons, newTags, newAppointments, newTasks, newCommands); + AddressBookStub newData = new AddressBookStub(newPersons, newStudents, newTags, newAppointments, newTasks, newCommands); thrown.expect(AssertionError.class); addressBook.resetData(newData); diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index be91c88bf1d1..977debfced77 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -11,6 +11,7 @@ import seedu.address.model.event.Task; import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; +import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.shortcuts.ShortcutDoubles; @@ -26,6 +27,11 @@ public void addPerson(Person person) throws DuplicatePersonException { fail("This method should not be called."); } + @Override + public void addStudent(Student student) throws DuplicatePersonException { + fail("This method should not be called."); + } + @Override public void resetData(ReadOnlyAddressBook newData) { fail("This method should not be called."); @@ -48,12 +54,22 @@ public void deletePerson(Person target) throws PersonNotFoundException { fail("This method should not be called."); } + @Override + public void deleteStudent(Student target) throws PersonNotFoundException { + fail("This method should not be called."); + } + @Override public void updatePerson(Person target, Person editedPerson) throws DuplicatePersonException { fail("This method should not be called."); } + @Override + public void updateStudent(Student target, Student editedStudent) throws DuplicatePersonException, PersonNotFoundException { + fail("This method should not be called."); + } + @Override public void addCommandShortcut(ShortcutDoubles shortcutDoubles) throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { diff --git a/src/test/java/seedu/address/ui/CommandBoxTest.java b/src/test/java/seedu/address/ui/CommandBoxTest.java index 843e7bf56e02..eeb1aadf0b77 100644 --- a/src/test/java/seedu/address/ui/CommandBoxTest.java +++ b/src/test/java/seedu/address/ui/CommandBoxTest.java @@ -93,7 +93,7 @@ public void handleKeyPress_startingWithUp() { // insert command in the middle of retrieving previous commands guiRobot.push(KeyCode.UP); - String thirdCommand = "list contacts"; + String thirdCommand = "list contact"; commandBoxHandle.run(thirdCommand); assertInputHistory(KeyCode.UP, thirdCommand); assertInputHistory(KeyCode.UP, COMMAND_THAT_FAILS); @@ -121,7 +121,7 @@ public void handleKeyPress_startingWithDown() { // insert command in the middle of retrieving previous commands guiRobot.push(KeyCode.UP); - String thirdCommand = "list contacts"; + String thirdCommand = "list contact"; commandBoxHandle.run(thirdCommand); assertInputHistory(KeyCode.DOWN, ""); assertInputHistory(KeyCode.UP, thirdCommand); diff --git a/test/data/XmlAddressBookStorageTest/testingName.xml b/test/data/XmlAddressBookStorageTest/testingName.xml new file mode 100644 index 000000000000..228297184afb --- /dev/null +++ b/test/data/XmlAddressBookStorageTest/testingName.xml @@ -0,0 +1,25 @@ + + + + Benson Meier + 98765432 + johnd@example.com +

      311, Clementi Ave 2, #02-25
      + + owesMoney + teal + + + friends + brown + + + + owesMoney + teal + + + friends + brown + + From ba7cf618a2f921e20ee41a3977247c2fdadf49ff Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 31 Mar 2018 05:11:37 +0800 Subject: [PATCH 205/288] fixed checkstyles --- .../java/seedu/address/logic/commands/ListCommand.java | 8 ++++---- src/main/java/seedu/address/model/AddressBook.java | 2 +- src/main/java/seedu/address/model/ModelManager.java | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index fbd71bdd06b4..2b384ba7faf3 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -21,13 +21,13 @@ public class ListCommand extends Command { public static final String TYPE_CONTACT = "contact"; public static final String TYPE_APPOINTMENT = "appointment"; public static final String TYPE_TASK = "task"; - + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Lists selected type. \n" + "Parameter: TYPE\n" + "Example: " + COMMAND_WORD + " appointment"; private final String type; - + public ListCommand(String type) { this.type = type; } @@ -47,12 +47,12 @@ public CommandResult execute() throws CommandException { model.changeCurrentActiveListType(type); EventsCenter.getInstance().post(new ToggleListEvent(type)); return new CommandResult(MESSAGE_SUCCESS + TYPE_APPOINTMENT); - + case TYPE_TASK: model.changeCurrentActiveListType(type); EventsCenter.getInstance().post(new ToggleListEvent(type)); return new CommandResult(MESSAGE_SUCCESS + TYPE_TASK); - + default: throw new CommandException(MESSAGE_INVALID_TYPE); } diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 494eda384870..8e4e5b8f5661 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -380,7 +380,7 @@ private void removeTagFromStudent(Tag tag, Student student) updateStudent(student, updatedStudent); } - + //@@author Sisyphus25 //event operations diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 5d376a76d58d..bc58b6d1be21 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -99,7 +99,7 @@ public synchronized void addStudent(Student student) throws DuplicatePersonExcep updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); indicateAddressBookChanged(); } - + @Override public synchronized void addCommandShortcut(ShortcutDoubles shortcutDoubles) throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { From 1eb4f22d0297e690499bd9e955c07f1e7fca8d90 Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 31 Mar 2018 05:15:43 +0800 Subject: [PATCH 206/288] fixed checkstyle --- src/main/java/seedu/address/model/AddressBook.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 8e4e5b8f5661..614f5e205258 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -383,7 +383,6 @@ private void removeTagFromStudent(Tag tag, Student student) //@@author Sisyphus25 //event operations - /** * Adds an appointment to the address book. * From d16f853ad0853c88200c69e0c4ab7f329af4e9ee Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 31 Mar 2018 05:18:25 +0800 Subject: [PATCH 207/288] fixed checkstyle --- src/main/java/seedu/address/model/AddressBook.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 614f5e205258..fdc622c4b2f3 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -380,7 +380,6 @@ private void removeTagFromStudent(Tag tag, Student student) updateStudent(student, updatedStudent); } - //@@author Sisyphus25 //event operations /** From 702fc259af258f5f675d58f4d90b38644567e51e Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 31 Mar 2018 05:25:57 +0800 Subject: [PATCH 208/288] fixed checkstyle --- .../java/seedu/address/logic/commands/ListCommand.java | 4 ++-- src/main/java/seedu/address/model/AddressBook.java | 2 +- .../seedu/address/model/person/UniqueContactList.java | 8 +++----- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 2b384ba7faf3..adf1d9c4e27f 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -17,9 +17,9 @@ public class ListCommand extends Command { public static final String MESSAGE_SUCCESS = "Listed all "; private static final String MESSAGE_INVALID_TYPE = "TYPE is missing or invalid"; - public static final String TYPE_STUDENT = "student"; - public static final String TYPE_CONTACT = "contact"; public static final String TYPE_APPOINTMENT = "appointment"; + public static final String TYPE_CONTACT = "contact"; + public static final String TYPE_STUDENT = "student"; public static final String TYPE_TASK = "task"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Lists selected type. \n" diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index fdc622c4b2f3..865e256e60ca 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -107,7 +107,7 @@ public void resetData(ReadOnlyAddressBook newData) { persons.setPersons(new UniquePersonList()); students.setStudents(new UniqueStudentList()); for (Person contact:syncedContactList) { - if (contact instanceof Student){ + if (contact instanceof Student) { addStudent((Student) contact); } else { addPerson(contact); diff --git a/src/main/java/seedu/address/model/person/UniqueContactList.java b/src/main/java/seedu/address/model/person/UniqueContactList.java index 7e5d7369282e..8a87eddb8294 100644 --- a/src/main/java/seedu/address/model/person/UniqueContactList.java +++ b/src/main/java/seedu/address/model/person/UniqueContactList.java @@ -1,7 +1,5 @@ package seedu.address.model.person; -import java.util.List; - import javafx.collections.FXCollections; import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; @@ -31,12 +29,12 @@ public UniqueContactList(UniquePersonList p, UniqueStudentList s) { public void updateList(ListChangeListener.Change c) { while (c.next()) { if (c.wasReplaced()) { - for (int i = 0; i < c.getRemovedSize(); i++){ + for (int i = 0; i < c.getRemovedSize(); i++) { int index = combinedList.indexOf(c.getRemoved().get(i)); combinedList.set(index, c.getAddedSubList().get(i)); } - if (c.getTo() > c.getRemovedSize()){ - for (int i = c.getRemovedSize(); i < c.getTo(); i++){ + if (c.getTo() > c.getRemovedSize()) { + for (int i = c.getRemovedSize(); i < c.getTo(); i++) { combinedList.add(c.getAddedSubList().get(i)); } } From a5c15afed0f3a7b485f0a40e5507b1ab6e23a5af Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 31 Mar 2018 05:32:10 +0800 Subject: [PATCH 209/288] fixing checkstyle --- src/main/java/seedu/address/logic/commands/ListCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index adf1d9c4e27f..e9aa706ad4de 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -17,9 +17,9 @@ public class ListCommand extends Command { public static final String MESSAGE_SUCCESS = "Listed all "; private static final String MESSAGE_INVALID_TYPE = "TYPE is missing or invalid"; - public static final String TYPE_APPOINTMENT = "appointment"; public static final String TYPE_CONTACT = "contact"; public static final String TYPE_STUDENT = "student"; + public static final String TYPE_APPOINTMENT = "appointment"; public static final String TYPE_TASK = "task"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Lists selected type. \n" From 18bc46d8234d5a8d6e4d8ed8a8414514570fa843 Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 31 Mar 2018 05:43:52 +0800 Subject: [PATCH 210/288] fixed checkstyle --- src/main/java/seedu/address/logic/commands/ListCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index e9aa706ad4de..a1d019f5174c 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -15,12 +15,12 @@ public class ListCommand extends Command { public static final String COMMAND_WORD = "list"; public static final String MESSAGE_SUCCESS = "Listed all "; - private static final String MESSAGE_INVALID_TYPE = "TYPE is missing or invalid"; public static final String TYPE_CONTACT = "contact"; public static final String TYPE_STUDENT = "student"; public static final String TYPE_APPOINTMENT = "appointment"; public static final String TYPE_TASK = "task"; + private static final String MESSAGE_INVALID_TYPE = "TYPE is missing or invalid"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Lists selected type. \n" + "Parameter: TYPE\n" From 28beaa4b93972e481ea5b52f9d8112f75300277a Mon Sep 17 00:00:00 2001 From: randypx Date: Sat, 31 Mar 2018 05:11:37 +0800 Subject: [PATCH 211/288] fixed checkstyle (+6 squashed commit) Squashed commit: [18bc46d] fixed checkstyle [a5c15af] fixing checkstyle [702fc25] fixed checkstyle [d16f853] fixed checkstyle [1eb4f22] fixed checkstyle [ba7cf61] fixed checkstyles --- .../seedu/address/logic/commands/ListCommand.java | 12 ++++++------ src/main/java/seedu/address/model/AddressBook.java | 4 +--- src/main/java/seedu/address/model/ModelManager.java | 2 +- .../address/model/person/UniqueContactList.java | 8 +++----- .../address/logic/commands/ListCommandTest.java | 2 +- .../address/logic/parser/AddressBookParserTest.java | 2 +- .../java/seedu/address/model/AddressBookTest.java | 3 ++- .../seedu/address/testutil/modelstub/ModelStub.java | 3 ++- src/test/java/systemtests/AddCommandSystemTest.java | 2 -- 9 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index fbd71bdd06b4..a1d019f5174c 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -15,19 +15,19 @@ public class ListCommand extends Command { public static final String COMMAND_WORD = "list"; public static final String MESSAGE_SUCCESS = "Listed all "; - private static final String MESSAGE_INVALID_TYPE = "TYPE is missing or invalid"; - public static final String TYPE_STUDENT = "student"; public static final String TYPE_CONTACT = "contact"; + public static final String TYPE_STUDENT = "student"; public static final String TYPE_APPOINTMENT = "appointment"; public static final String TYPE_TASK = "task"; - + private static final String MESSAGE_INVALID_TYPE = "TYPE is missing or invalid"; + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Lists selected type. \n" + "Parameter: TYPE\n" + "Example: " + COMMAND_WORD + " appointment"; private final String type; - + public ListCommand(String type) { this.type = type; } @@ -47,12 +47,12 @@ public CommandResult execute() throws CommandException { model.changeCurrentActiveListType(type); EventsCenter.getInstance().post(new ToggleListEvent(type)); return new CommandResult(MESSAGE_SUCCESS + TYPE_APPOINTMENT); - + case TYPE_TASK: model.changeCurrentActiveListType(type); EventsCenter.getInstance().post(new ToggleListEvent(type)); return new CommandResult(MESSAGE_SUCCESS + TYPE_TASK); - + default: throw new CommandException(MESSAGE_INVALID_TYPE); } diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 494eda384870..865e256e60ca 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -107,7 +107,7 @@ public void resetData(ReadOnlyAddressBook newData) { persons.setPersons(new UniquePersonList()); students.setStudents(new UniqueStudentList()); for (Person contact:syncedContactList) { - if (contact instanceof Student){ + if (contact instanceof Student) { addStudent((Student) contact); } else { addPerson(contact); @@ -380,10 +380,8 @@ private void removeTagFromStudent(Tag tag, Student student) updateStudent(student, updatedStudent); } - //@@author Sisyphus25 //event operations - /** * Adds an appointment to the address book. * diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 5d376a76d58d..bc58b6d1be21 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -99,7 +99,7 @@ public synchronized void addStudent(Student student) throws DuplicatePersonExcep updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); indicateAddressBookChanged(); } - + @Override public synchronized void addCommandShortcut(ShortcutDoubles shortcutDoubles) throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { diff --git a/src/main/java/seedu/address/model/person/UniqueContactList.java b/src/main/java/seedu/address/model/person/UniqueContactList.java index 7e5d7369282e..8a87eddb8294 100644 --- a/src/main/java/seedu/address/model/person/UniqueContactList.java +++ b/src/main/java/seedu/address/model/person/UniqueContactList.java @@ -1,7 +1,5 @@ package seedu.address.model.person; -import java.util.List; - import javafx.collections.FXCollections; import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; @@ -31,12 +29,12 @@ public UniqueContactList(UniquePersonList p, UniqueStudentList s) { public void updateList(ListChangeListener.Change c) { while (c.next()) { if (c.wasReplaced()) { - for (int i = 0; i < c.getRemovedSize(); i++){ + for (int i = 0; i < c.getRemovedSize(); i++) { int index = combinedList.indexOf(c.getRemoved().get(i)); combinedList.set(index, c.getAddedSubList().get(i)); } - if (c.getTo() > c.getRemovedSize()){ - for (int i = c.getRemovedSize(); i < c.getTo(); i++){ + if (c.getTo() > c.getRemovedSize()) { + for (int i = c.getRemovedSize(); i < c.getTo(); i++) { combinedList.add(c.getAddedSubList().get(i)); } } diff --git a/src/test/java/seedu/address/logic/commands/ListCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCommandTest.java index 45ec43b1d37d..840d92b9755e 100644 --- a/src/test/java/seedu/address/logic/commands/ListCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCommandTest.java @@ -5,8 +5,8 @@ import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.logic.commands.CommandTestUtil.showPersonAtIndex; import static seedu.address.logic.commands.ListCommand.MESSAGE_SUCCESS; -import static seedu.address.logic.commands.ListCommand.TYPE_CONTACT; import static seedu.address.logic.commands.ListCommand.TYPE_APPOINTMENT; +import static seedu.address.logic.commands.ListCommand.TYPE_CONTACT; import static seedu.address.logic.commands.ListCommand.TYPE_TASK; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST_PERSON; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index ceca34be3030..9578c04fbedd 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -12,8 +12,8 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_START_TIME; import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; import static seedu.address.logic.commands.ListCommand.COMMAND_WORD; -import static seedu.address.logic.commands.ListCommand.TYPE_CONTACT; import static seedu.address.logic.commands.ListCommand.TYPE_APPOINTMENT; +import static seedu.address.logic.commands.ListCommand.TYPE_CONTACT; import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; import static seedu.address.logic.parser.CliSyntax.PREFIX_RANGE; diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index f172970df0c5..815a8e3a0747 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -76,7 +76,8 @@ public void resetData_withDuplicatePersons_throwsAssertionError() { List newAppointments = Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2); List newTasks = Arrays.asList(TYPICAL_TASK_1, TYPICAL_TASK_2); List newCommands = Arrays.asList(new ShortcutDoubles("a", "add")); - AddressBookStub newData = new AddressBookStub(newPersons, newStudents, newTags, newAppointments, newTasks, newCommands); + AddressBookStub newData = new AddressBookStub(newPersons, newStudents, newTags, + newAppointments, newTasks, newCommands); thrown.expect(AssertionError.class); addressBook.resetData(newData); diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index 977debfced77..3d38b65d924f 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -66,7 +66,8 @@ public void updatePerson(Person target, Person editedPerson) } @Override - public void updateStudent(Student target, Student editedStudent) throws DuplicatePersonException, PersonNotFoundException { + public void updateStudent(Student target, Student editedStudent) + throws DuplicatePersonException, PersonNotFoundException { fail("This method should not be called."); } diff --git a/src/test/java/systemtests/AddCommandSystemTest.java b/src/test/java/systemtests/AddCommandSystemTest.java index 0a044d0fd569..cc3063cc3cf1 100644 --- a/src/test/java/systemtests/AddCommandSystemTest.java +++ b/src/test/java/systemtests/AddCommandSystemTest.java @@ -27,7 +27,6 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_STUDENT; import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; import static seedu.address.testutil.TypicalPersons.GEORGE; -import static seedu.address.testutil.TypicalPersons.HOON; import static seedu.address.testutil.TypicalPersons.IDA; import static seedu.address.testutil.TypicalPersons.IVAN; import static seedu.address.testutil.TypicalPersons.JOHN; @@ -35,7 +34,6 @@ import static seedu.address.testutil.TypicalPersons.STUDENT_AMY; import static seedu.address.testutil.TypicalPersons.STUDENT_BOB; import static seedu.address.testutil.TypicalPersons.STUDENT_HOON; -import static seedu.address.testutil.TypicalPersons.STUDENT_IDA; import org.junit.Test; From 3735196a124f0a2f4a3ff699d80e54073c1d8e57 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Sat, 31 Mar 2018 11:17:16 +0800 Subject: [PATCH 212/288] Update AddressBook.java --- src/main/java/seedu/address/model/AddressBook.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 865e256e60ca..2ee83cd0cdf1 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -104,6 +104,7 @@ public void resetData(ReadOnlyAddressBook newData) { try { setPersons(syncedContactList); setAppointments(appointmentList); + setTasks(taskList); persons.setPersons(new UniquePersonList()); students.setStudents(new UniqueStudentList()); for (Person contact:syncedContactList) { From 5c3c0c9c685a9ba11a52c1bf4d65efaa3a5bacf5 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Sat, 31 Mar 2018 14:56:20 +0800 Subject: [PATCH 213/288] Added tests and Delete Shortcut Command --- .../logic/commands/DeleteShortcutCommand.java | 2 +- .../logic/commands/ShortcutCommand.java | 17 ++- .../parser/DeleteShortcutCommandParser.java | 2 +- .../logic/parser/ShortcutCommandParser.java | 2 +- src/main/java/seedu/address/model/Model.java | 2 - .../seedu/address/model/ModelManager.java | 6 - .../java/seedu/address/model/UserPrefs.java | 4 - .../model/shortcuts/ShortcutDoubles.java | 10 -- .../commands/DeleteShortcutCommandTest.java | 117 +++++++++++++++++ .../logic/commands/ExportCommandTest.java | 6 +- .../logic/commands/ShortcutCommandTest.java | 122 ++++++++++++++++++ .../logic/parser/AddressBookParserTest.java | 23 +++- .../DeleteShortcutCommandParserTest.java | 41 ++++++ .../parser/ShortcutCommandParserTest.java | 41 ++++++ .../seedu/address/model/ModelManagerTest.java | 8 ++ .../model/UniqueShortcutDoublesListTest.java | 19 +++ .../model/shortcut/ShortcutDoubleTest.java | 50 +++++++ 17 files changed, 438 insertions(+), 34 deletions(-) create mode 100644 src/test/java/seedu/address/logic/commands/DeleteShortcutCommandTest.java create mode 100644 src/test/java/seedu/address/logic/commands/ShortcutCommandTest.java create mode 100644 src/test/java/seedu/address/logic/parser/DeleteShortcutCommandParserTest.java create mode 100644 src/test/java/seedu/address/logic/parser/ShortcutCommandParserTest.java create mode 100644 src/test/java/seedu/address/model/UniqueShortcutDoublesListTest.java create mode 100644 src/test/java/seedu/address/model/shortcut/ShortcutDoubleTest.java diff --git a/src/main/java/seedu/address/logic/commands/DeleteShortcutCommand.java b/src/main/java/seedu/address/logic/commands/DeleteShortcutCommand.java index 1b3fd1e5f488..539cc87016dc 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteShortcutCommand.java +++ b/src/main/java/seedu/address/logic/commands/DeleteShortcutCommand.java @@ -15,7 +15,7 @@ public class DeleteShortcutCommand extends UndoableCommand { public static final String COMMAND_WORD = "delete_shortcut"; public static final String MESSAGE_USAGE = COMMAND_WORD + " CommandWord " + " ShortcutWord " + " :Deletes a shortcut for any command word"; - private static final String MESSAGE_DELETE_SHORTCUT_SUCCESS = "The shortcut has been deleted!"; + public static final String MESSAGE_DELETE_SHORTCUT_SUCCESS = "The shortcut has been deleted!"; private final String shortcutWord; private final String commandWord; diff --git a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java index 997f0069e971..0605fd56d55f 100644 --- a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java +++ b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java @@ -16,9 +16,9 @@ public class ShortcutCommand extends UndoableCommand { public static final String COMMAND_WORD = "shortcut"; public static final String MESSAGE_USAGE = COMMAND_WORD + " CommandWord " + " ShortcutWord " + " :Creates a shortcut for any command word"; - private static final String MESSAGE_SHORTCUT_AVAILABLE = "This shortcut already exists!"; - private static final String MESSAGE_SUCCESS = "Successfully added the shortcut"; - private static final String MESSAGE_NO_COMMAND_TO_MAP = "The command word is invalid and hence cant be mapped!"; + public static final String MESSAGE_SHORTCUT_AVAILABLE = "This shortcut already exists!"; + public static final String MESSAGE_SUCCESS = "Successfully added the shortcut"; + public static final String MESSAGE_NO_COMMAND_TO_MAP = "The command word is invalid and hence cant be mapped!"; private final String shortcutWord; @@ -32,7 +32,8 @@ public class ShortcutCommand extends UndoableCommand { "delete_shortcut"}; public ShortcutCommand(String commandWord, String shortcutWord) { - requireNonNull(commandWord, shortcutWord); + requireNonNull(commandWord); + requireNonNull(shortcutWord); this.shortcutWord = shortcutWord; this.commandWord = commandWord; } @@ -86,4 +87,12 @@ private boolean containsKeyWord(String commandWord) { } return false; } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ShortcutCommand // instanceof handles nulls + && this.shortcutWord.equals(((ShortcutCommand) other).shortcutWord) // state check + && this.commandWord.equals(((ShortcutCommand) other).commandWord)); // state check + } } diff --git a/src/main/java/seedu/address/logic/parser/DeleteShortcutCommandParser.java b/src/main/java/seedu/address/logic/parser/DeleteShortcutCommandParser.java index bf7701553e8c..7bcca851af09 100644 --- a/src/main/java/seedu/address/logic/parser/DeleteShortcutCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/DeleteShortcutCommandParser.java @@ -20,7 +20,7 @@ public DeleteShortcutCommand parse(String args) throws ParseException { requireNonNull(args); String trimmedArgs = args.trim(); String[] splitWords = trimmedArgs.split(" "); - if (splitWords.length > 2) { + if (splitWords.length > 2 || splitWords.length < 2) { throw new ParseException( String.format(MESSAGE_INVALID_COMMAND_FORMAT, DeleteShortcutCommand.MESSAGE_USAGE)); } else { diff --git a/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java b/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java index c7d5800cb0a9..60d9cc24f648 100644 --- a/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java @@ -19,7 +19,7 @@ public ShortcutCommand parse(String args) throws ParseException { requireNonNull(args); String trimmedArgs = args.trim(); String[] splitWords = trimmedArgs.split(" "); - if (splitWords.length > 2) { + if (splitWords.length > 2 || splitWords.length < 2) { throw new ParseException( String.format(MESSAGE_INVALID_COMMAND_FORMAT, ShortcutCommand.MESSAGE_USAGE)); } else { diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 921bd572ca5e..c8d322f37e08 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -62,8 +62,6 @@ void deleteCommandShortcut(ShortcutDoubles commandShortcut) ObservableList getFilteredCommandsList(); - void updateFilteredCommandList(Predicate predicate); - void deleteTag(Tag tag) throws PersonNotFoundException, DuplicatePersonException; /** Adds the given event */ diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 5267d6c69812..c4b0a1343145 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -156,12 +156,6 @@ public void updateFilteredPersonList(Predicate predicate) { filteredPersons.setPredicate(predicate); } - @Override - public void updateFilteredCommandList(Predicate shortcutDoublesPredicate) { - requireNonNull(shortcutDoublesPredicate); - filteredShortcutCommands.setPredicate(shortcutDoublesPredicate); - } - @Override public boolean equals(Object obj) { // short circuit if same object diff --git a/src/main/java/seedu/address/model/UserPrefs.java b/src/main/java/seedu/address/model/UserPrefs.java index 8c8a071876eb..34cb3dc95b76 100644 --- a/src/main/java/seedu/address/model/UserPrefs.java +++ b/src/main/java/seedu/address/model/UserPrefs.java @@ -37,10 +37,6 @@ public void setAddressBookFilePath(String addressBookFilePath) { this.addressBookFilePath = addressBookFilePath; } - public String getAddressBookName() { - return addressBookName; - } - public void setAddressBookName(String addressBookName) { this.addressBookName = addressBookName; } diff --git a/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java b/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java index b91cc968c545..14153c936606 100644 --- a/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java +++ b/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java @@ -24,14 +24,4 @@ public boolean equals(Object other) { && this.shortcutWord.equals(((ShortcutDoubles) other).shortcutWord) && this.commandWord.equals(((ShortcutDoubles) other).commandWord)); // state check } - - public String getShortcutWord() { - return shortcutWord; - } - - public String getCommandWord() { - return commandWord; - } - - } diff --git a/src/test/java/seedu/address/logic/commands/DeleteShortcutCommandTest.java b/src/test/java/seedu/address/logic/commands/DeleteShortcutCommandTest.java new file mode 100644 index 000000000000..c726b9d568ad --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/DeleteShortcutCommandTest.java @@ -0,0 +1,117 @@ +package seedu.address.logic.commands; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +public class DeleteShortcutCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private Model model; + private Model expectedModel; + private final String validtestingCommandWord = "list"; + private final String validtestingShortcutWord = "l"; + private final String invalidtestingCommandWord = "king"; + + @Before + public void setUp() { + model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + } + + @Test + public void constructor_nullCommandWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new DeleteShortcutCommand(null, validtestingShortcutWord); + } + + @Test + public void constructor_nullShortcutWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new DeleteShortcutCommand(validtestingCommandWord, null); + } + + @Test + public void executeUndoCommand_invalidCommandWord_throwsCommandException() throws CommandException { + thrown.expect(CommandException.class); + CommandResult commandResult = getDeleteShortcutForCommand(validtestingShortcutWord, + invalidtestingCommandWord, + model).executeUndoableCommand(); + } + + @Test + public void executeUndoCommand_inputNotPresent_throwsCommandException() throws CommandException { + thrown.expect(CommandException.class); + CommandResult commandResult = getDeleteShortcutForCommand(validtestingShortcutWord, + validtestingCommandWord, + model).executeUndoableCommand(); + } + + @Test + public void executeUndoCommand_validInput_commandSuccess() + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validtestingShortcutWord, validtestingCommandWord); + model.addCommandShortcut(shortcutDoubles); + assertCommandSuccess(getDeleteShortcutForCommand(validtestingShortcutWord, + validtestingCommandWord, + model), + model, + String.format(DeleteShortcutCommand + .MESSAGE_DELETE_SHORTCUT_SUCCESS), + expectedModel); + } + + @Test + public void equals() throws Exception { + DeleteShortcutCommand deleteFirstCommand = getDeleteShortcutForCommand(validtestingShortcutWord, + validtestingCommandWord, + model); + DeleteShortcutCommand deleteSecondCommand = getDeleteShortcutForCommand("c", + "clear", + model); + + // same object -> returns true + assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); + + // same values -> returns true + DeleteShortcutCommand deleteFirstCommandCopy = getDeleteShortcutForCommand("l", + "list", + model); + assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); + + // different types -> returns false + assertFalse(deleteFirstCommand.equals(1)); + + // null -> returns false + assertFalse(deleteFirstCommand.equals(null)); + + // different person -> returns false + assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); + } + + /** + * Generates a new AddCommand with the details of the given person. + */ + private DeleteShortcutCommand getDeleteShortcutForCommand(String shortcutWord, String commandWord, Model model) { + DeleteShortcutCommand command = new DeleteShortcutCommand(commandWord, shortcutWord); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } +} diff --git a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java index f7ebc8f2854e..16752e9d1498 100644 --- a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java @@ -47,7 +47,7 @@ public void constructor_nullName_throwsNullPointerException() { } @Test - public void execute_multiplerange_showsMessageError() { + public void execute_multipleRange_showsMessageError() { String testingMultiRange = "1,2,3"; ExportCommand exportCommand = new ExportCommand(testingMultiRange, testingTag, testingPath, name); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), @@ -59,8 +59,8 @@ public void execute_multiplerange_showsMessageError() { @Test public void execute_outOfRange_showsMessageError() { - String testingOutofRange = "0,10000000"; - ExportCommand exportCommand = new ExportCommand(testingOutofRange, testingTag, testingPath, name); + String testingOutOfRange = "0,10000000"; + ExportCommand exportCommand = new ExportCommand(testingOutOfRange, testingTag, testingPath, name); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); diff --git a/src/test/java/seedu/address/logic/commands/ShortcutCommandTest.java b/src/test/java/seedu/address/logic/commands/ShortcutCommandTest.java new file mode 100644 index 000000000000..c5069483ba49 --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/ShortcutCommandTest.java @@ -0,0 +1,122 @@ +package seedu.address.logic.commands; + +import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +public class ShortcutCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private Model model; + private Model expectedModel; + private final String validTestingCommandWord = "list"; + private final String validTestingShortcutWord = "l"; + private final String invalidTestingCommandWord = "king"; + + @Before + public void setUp() { + model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + } + + + @Test + public void constructor_nullCommandWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ShortcutCommand(null, validTestingShortcutWord); + } + + @Test + public void constructor_nullShortcutWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ShortcutCommand(validTestingCommandWord, null); + } + + @Test + public void executeUndoCommand_invalidCommandWord_throwsCommandException() throws CommandException { + thrown.expect(CommandException.class); + thrown.expectMessage(ShortcutCommand.MESSAGE_NO_COMMAND_TO_MAP); + + CommandResult commandResult = getAddShortcutForCommand(validTestingShortcutWord, + invalidTestingCommandWord, + model).executeUndoableCommand(); + } + + @Test + public void executeUndoCommand_shortcutWordPresent_throwsCommandException() + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException, CommandException { + ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validTestingShortcutWord, validTestingCommandWord); + model.addCommandShortcut(shortcutDoubles); + CommandResult commandResult = getAddShortcutForCommand(validTestingShortcutWord, + validTestingCommandWord, + model).executeUndoableCommand(); + assertEquals(commandResult.feedbackToUser, String.format(ShortcutCommand.MESSAGE_SHORTCUT_AVAILABLE)); + } + + @Test + public void executeUndoCommand_validInput_commandSuccess() + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validTestingShortcutWord, validTestingCommandWord); + expectedModel.addCommandShortcut(shortcutDoubles); + assertCommandSuccess(getAddShortcutForCommand(validTestingShortcutWord, + validTestingCommandWord, + model), model, + String.format(ShortcutCommand.MESSAGE_SUCCESS), expectedModel); + } + + /** + * Generates a new AddCommand with the details of the given person. + */ + private ShortcutCommand getAddShortcutForCommand(String shortcutWord, String commandWord, Model model) { + ShortcutCommand command = new ShortcutCommand(commandWord, shortcutWord); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } + + @Test + public void equals() throws Exception { + ShortcutCommand deleteFirstCommand = getAddShortcutForCommand(validTestingShortcutWord, + validTestingCommandWord, + model); + ShortcutCommand deleteSecondCommand = getAddShortcutForCommand("c", + "clear", + model); + + // same object -> returns true + assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); + + // same values -> returns true + ShortcutCommand deleteFirstCommandCopy = getAddShortcutForCommand("l", + "list", + model); + assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); + + // different types -> returns false + assertFalse(deleteFirstCommand.equals(1)); + + // null -> returns false + assertFalse(deleteFirstCommand.equals(null)); + + // different person -> returns false + assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); + } + +} diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 7d89efb015f3..378f930e0ae7 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -33,6 +33,7 @@ import seedu.address.logic.commands.ChangeThemeCommand; import seedu.address.logic.commands.ClearCommand; import seedu.address.logic.commands.DeleteCommand; +import seedu.address.logic.commands.DeleteShortcutCommand; import seedu.address.logic.commands.EditCommand; import seedu.address.logic.commands.EditCommand.EditPersonDescriptor; import seedu.address.logic.commands.ExitCommand; @@ -46,6 +47,7 @@ import seedu.address.logic.commands.SelectCommand; import seedu.address.logic.commands.SetAppointmentCommand; import seedu.address.logic.commands.SetTaskCommand; +import seedu.address.logic.commands.ShortcutCommand; import seedu.address.logic.commands.ToggleCalendarViewCommand; import seedu.address.logic.commands.UndoCommand; import seedu.address.logic.parser.exceptions.ParseException; @@ -177,9 +179,8 @@ public void parseCommand_export() throws Exception { "name"), command); } - //@@author shanmu9898 @Test - public void parseCommand_import() throws Exception { + public void parseCommand_import() throws Exception { ImportCommand command = (ImportCommand) parser.parseCommand( ImportCommand.COMMAND_WORD + " " + "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"); @@ -187,6 +188,22 @@ public void parseCommand_import() throws Exception { command); } + @Test + public void parseCommand_shortcut() throws Exception { + ShortcutCommand command = (ShortcutCommand) parser.parseCommand( + ShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); + assertEquals(new ShortcutCommand("list", "l"), command); + } + + @Test + public void parseCommand_deleteShortcut() throws Exception { + DeleteShortcutCommand command = (DeleteShortcutCommand) parser.parseCommand( + DeleteShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); + assertEquals(new DeleteShortcutCommand("list", "l"), command); + } + + + //@@author Sisyphus25 @Test public void parseCommand_toggleCalendarView() throws Exception { @@ -219,4 +236,6 @@ public void parseCommand_changeTheme() throws Exception { assertEquals(new ChangeThemeCommand("dark"), command); } //@@author + + } diff --git a/src/test/java/seedu/address/logic/parser/DeleteShortcutCommandParserTest.java b/src/test/java/seedu/address/logic/parser/DeleteShortcutCommandParserTest.java new file mode 100644 index 000000000000..908288ef1ba1 --- /dev/null +++ b/src/test/java/seedu/address/logic/parser/DeleteShortcutCommandParserTest.java @@ -0,0 +1,41 @@ +package seedu.address.logic.parser; + +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.commands.DeleteShortcutCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +public class DeleteShortcutCommandParserTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private DeleteShortcutCommandParser deleteShortcutCommandParser = new DeleteShortcutCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + deleteShortcutCommandParser.parse(null); + + } + + @Test + public void parse_emptyString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + deleteShortcutCommandParser.parse(" "); + + } + + @Test + public void parse_validString_success() { + String inputCommandWord = "list"; + String inputShortcutWord = "l"; + String input = "list l"; + DeleteShortcutCommand expectedCommand = new DeleteShortcutCommand(inputCommandWord, inputShortcutWord); + assertParseSuccess(deleteShortcutCommandParser, input, expectedCommand); + } +} diff --git a/src/test/java/seedu/address/logic/parser/ShortcutCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ShortcutCommandParserTest.java new file mode 100644 index 000000000000..8a19f827e356 --- /dev/null +++ b/src/test/java/seedu/address/logic/parser/ShortcutCommandParserTest.java @@ -0,0 +1,41 @@ +package seedu.address.logic.parser; + +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.commands.ShortcutCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +public class ShortcutCommandParserTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private ShortcutCommandParser shortcutCommandParser = new ShortcutCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + shortcutCommandParser.parse(null); + + } + + @Test + public void parse_emptyString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + shortcutCommandParser.parse(" "); + + } + + @Test + public void parse_validString_success() { + String inputCommandWord = "list"; + String inputShortcutWord = "l"; + String input = "list l"; + ShortcutCommand expectedCommand = new ShortcutCommand(inputCommandWord, inputShortcutWord); + assertParseSuccess(shortcutCommandParser, input, expectedCommand); + } +} diff --git a/src/test/java/seedu/address/model/ModelManagerTest.java b/src/test/java/seedu/address/model/ModelManagerTest.java index aba939ed547a..3cfe66e7bb8b 100644 --- a/src/test/java/seedu/address/model/ModelManagerTest.java +++ b/src/test/java/seedu/address/model/ModelManagerTest.java @@ -37,6 +37,14 @@ public void getFilteredPersonList_modifyList_throwsUnsupportedOperationException modelManager.getFilteredPersonList().remove(0); } + @Test + public void getFilteredCommandList_modifyList_throwsUnsupportedOperationException() { + ModelManager modelManager = new ModelManager(); + thrown.expect(UnsupportedOperationException.class); + modelManager.getFilteredCommandsList().remove(0); + } + + @Test public void equals() { AddressBook addressBook = new AddressBookBuilder().withPerson(ALICE).withPerson(BENSON).build(); diff --git a/src/test/java/seedu/address/model/UniqueShortcutDoublesListTest.java b/src/test/java/seedu/address/model/UniqueShortcutDoublesListTest.java new file mode 100644 index 000000000000..8ef3f80b0393 --- /dev/null +++ b/src/test/java/seedu/address/model/UniqueShortcutDoublesListTest.java @@ -0,0 +1,19 @@ +package seedu.address.model; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +public class UniqueShortcutDoublesListTest { + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void asObservableList_modifyList_throwsUnsupportedOperationException() { + UniqueShortcutDoublesList uniqueShortcutDoublesList = new UniqueShortcutDoublesList(); + thrown.expect(UnsupportedOperationException.class); + uniqueShortcutDoublesList.asObservableList().remove(0); + } +} diff --git a/src/test/java/seedu/address/model/shortcut/ShortcutDoubleTest.java b/src/test/java/seedu/address/model/shortcut/ShortcutDoubleTest.java new file mode 100644 index 000000000000..740dcb254822 --- /dev/null +++ b/src/test/java/seedu/address/model/shortcut/ShortcutDoubleTest.java @@ -0,0 +1,50 @@ +package seedu.address.model.shortcut; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.model.shortcuts.ShortcutDoubles; + +public class ShortcutDoubleTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void constructor_nullCommandWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ShortcutDoubles("l", null); + } + + @Test + public void constructor_nullShortcutWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ShortcutDoubles(null , "list"); + } + + @Test + public void equals() throws Exception { + ShortcutDoubles deleteFirstCommand = new ShortcutDoubles("l", "list"); + ShortcutDoubles deleteSecondCommand = new ShortcutDoubles("c", "clear"); + + // same object -> returns true + assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); + + // same values -> returns true + ShortcutDoubles deleteFirstCommandCopy = new ShortcutDoubles("l", "list"); + assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); + + // different types -> returns false + assertFalse(deleteFirstCommand.equals(1)); + + // null -> returns false + assertFalse(deleteFirstCommand.equals(null)); + + // different person -> returns false + assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); + } +} From e16a8a47af79d3f2cdcb339cab86d148be54e045 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Sat, 31 Mar 2018 15:03:13 +0800 Subject: [PATCH 214/288] Fixed Model Stub --- src/test/java/seedu/address/testutil/modelstub/ModelStub.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index 7f777a397f6a..aafec90920d0 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -76,10 +76,6 @@ public ObservableList getFilteredEventList() { fail("This method should not be called."); return null; } - @Override - public void updateFilteredCommandList(Predicate predicate) { - fail("This method should not be called."); - }; @Override public void updateFilteredPersonList(Predicate predicate) { From 65df0946735682a40b2c1091ce69aaf203b28402 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi Date: Sat, 31 Mar 2018 15:24:20 +0800 Subject: [PATCH 215/288] Update AddressBook.java --- src/main/java/seedu/address/model/AddressBook.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 4c10cc02cadf..02e9a9455743 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -94,7 +94,7 @@ public void resetData(ReadOnlyAddressBook newData) { List appointmentList = newData.getAppointmentList(); List taskList = newData.getTaskList(); - List commandsList = newData.getCommandsList(); + List commandsList = newData.getCommandsList(); try { setPersons(syncedPersonList); From 7aa0bb0e63349cea06ee279feba43565df82cd25 Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Sat, 31 Mar 2018 17:46:23 +0800 Subject: [PATCH 216/288] removed a line that was unnecessary --- src/main/java/seedu/address/model/AddressBook.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 2ee83cd0cdf1..53c92deee639 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -102,7 +102,6 @@ public void resetData(ReadOnlyAddressBook newData) { .map(this::syncWithMasterTagList).collect(Collectors.toList()); try { - setPersons(syncedContactList); setAppointments(appointmentList); setTasks(taskList); persons.setPersons(new UniquePersonList()); From 232f49a8c336265eb95c92f0b9bd10b223840401 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi Date: Sat, 31 Mar 2018 19:14:38 +0800 Subject: [PATCH 217/288] Updated the java doc comments --- .../java/seedu/address/logic/commands/ShortcutCommand.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java index 0605fd56d55f..f6de238e3ebd 100644 --- a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java +++ b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java @@ -60,7 +60,7 @@ public CommandResult executeUndoableCommand() throws CommandException { /** * Checks if the shortcut command is valid or not - * @return + * @return whether true or false */ private boolean checkIfCommandPresent() throws CommandException { if (!containsKeyWord(commandWord)) { @@ -77,7 +77,7 @@ private boolean checkIfCommandPresent() throws CommandException { /** * Checks if the command word is in the Array of commands present * @param commandWord - * @return + * @return whether true or false */ private boolean containsKeyWord(String commandWord) { for (String s : commandsPresent) { From 9cbad74219bed81c94b46585b8e46c1919ac27a7 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi Date: Sat, 31 Mar 2018 19:19:12 +0800 Subject: [PATCH 218/288] Updated JavaDoc Comments 2 --- src/main/java/seedu/address/model/AddressBook.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 02e9a9455743..75ce727d37f3 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -193,7 +193,7 @@ public boolean removePerson(Person key) throws PersonNotFoundException { /** * * @param commandShortcut - * @return + * @return a boolean variable * @throws UniqueShortcutDoublesList.CommandShortcutNotFoundException */ public boolean removeShortcutDouble(ShortcutDoubles commandShortcut) From 9fb1ffc5a600e72c3ece18246203a9d0ab7efcc2 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi Date: Sat, 31 Mar 2018 19:22:54 +0800 Subject: [PATCH 219/288] Updated Java docs 3 --- .../address/logic/commands/ShortcutCommandTest.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/test/java/seedu/address/logic/commands/ShortcutCommandTest.java b/src/test/java/seedu/address/logic/commands/ShortcutCommandTest.java index c5069483ba49..0ec2ebe44229 100644 --- a/src/test/java/seedu/address/logic/commands/ShortcutCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ShortcutCommandTest.java @@ -56,7 +56,7 @@ public void executeUndoCommand_invalidCommandWord_throwsCommandException() throw thrown.expectMessage(ShortcutCommand.MESSAGE_NO_COMMAND_TO_MAP); CommandResult commandResult = getAddShortcutForCommand(validTestingShortcutWord, - invalidTestingCommandWord, + invalidTestingCommandWord, model).executeUndoableCommand(); } @@ -66,7 +66,7 @@ public void executeUndoCommand_shortcutWordPresent_throwsCommandException() ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validTestingShortcutWord, validTestingCommandWord); model.addCommandShortcut(shortcutDoubles); CommandResult commandResult = getAddShortcutForCommand(validTestingShortcutWord, - validTestingCommandWord, + validTestingCommandWord, model).executeUndoableCommand(); assertEquals(commandResult.feedbackToUser, String.format(ShortcutCommand.MESSAGE_SHORTCUT_AVAILABLE)); } @@ -77,8 +77,8 @@ public void executeUndoCommand_validInput_commandSuccess() ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validTestingShortcutWord, validTestingCommandWord); expectedModel.addCommandShortcut(shortcutDoubles); assertCommandSuccess(getAddShortcutForCommand(validTestingShortcutWord, - validTestingCommandWord, - model), model, + validTestingCommandWord, + model), model, String.format(ShortcutCommand.MESSAGE_SUCCESS), expectedModel); } @@ -94,7 +94,7 @@ private ShortcutCommand getAddShortcutForCommand(String shortcutWord, String com @Test public void equals() throws Exception { ShortcutCommand deleteFirstCommand = getAddShortcutForCommand(validTestingShortcutWord, - validTestingCommandWord, + validTestingCommandWord, model); ShortcutCommand deleteSecondCommand = getAddShortcutForCommand("c", "clear", From b27e902f21dbc9d1453c9289a49e200874bebe41 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Sun, 1 Apr 2018 00:15:38 +0800 Subject: [PATCH 220/288] Update comment and remove unnecessary const --- .../java/seedu/address/logic/parser/RemoveCommandParser.java | 3 +-- src/main/java/seedu/address/ui/CalendarPanel.java | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/seedu/address/logic/parser/RemoveCommandParser.java b/src/main/java/seedu/address/logic/parser/RemoveCommandParser.java index e37761237074..a61785ed5b82 100644 --- a/src/main/java/seedu/address/logic/parser/RemoveCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/RemoveCommandParser.java @@ -14,8 +14,6 @@ */ public class RemoveCommandParser implements Parser { - public static final String MESSAGE_INVALID_TYPE = "Type must be student or defualt(empty)."; - /** * Parses the given {@code String} of arguments in the context of the RemoveCommand * and returns an RemoveCommand object for execution. @@ -47,3 +45,4 @@ private boolean isValidEventType(String type) { } + diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java index 77306fabcda3..b77874186104 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -59,7 +59,8 @@ public CalendarPanel(ObservableList appointmentObservableList) { } /** - * Update information + * Clear the entry list in the CalendarFX calendar and + * populate it with appointment in the updated appointmentList */ private void updateCalendar() { calendar.clear(); From e708064fe986a629393ef3f85d64ea24c2ff2268 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Sun, 1 Apr 2018 12:29:49 +0800 Subject: [PATCH 221/288] fix some variable name and comment errors --- .../java/seedu/address/model/event/EventTime.java | 4 ++-- .../address/storage/XmlAdaptedAppointment.java | 2 +- .../java/seedu/address/storage/XmlAdaptedTask.java | 14 +++++++------- .../seedu/address/ui/AppointmentListPanel.java | 3 ++- src/main/java/seedu/address/ui/TaskListPanel.java | 3 ++- .../seedu/address/model/event/EventTimeTest.java | 8 ++++---- 6 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/main/java/seedu/address/model/event/EventTime.java b/src/main/java/seedu/address/model/event/EventTime.java index 9a379761e985..eb6b2ff1df71 100644 --- a/src/main/java/seedu/address/model/event/EventTime.java +++ b/src/main/java/seedu/address/model/event/EventTime.java @@ -38,10 +38,10 @@ public EventTime(String timeStamp) { /** * Returns true if the given time has already passed the current time */ - public static boolean isExpired(EventTime time) { + public boolean isExpired() { Calendar currentTime = Calendar.getInstance(); currentTime.setTime(new Date()); - return time.value.after(currentTime); + return value.before(currentTime); } @Override diff --git a/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java b/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java index 64a99df19429..3eefc306f538 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java @@ -68,7 +68,7 @@ public XmlAdaptedAppointment(Appointment source) { /** * Converts this jaxb-friendly adapted person object into the model's Appointment object. * - * @throws IllegalValueException if there were any data constraints violated in the adapted person + * @throws IllegalValueException if there were any data constraints violated in the adapted appointment */ public Appointment toModelType() throws IllegalValueException { if (this.title == null) { diff --git a/src/main/java/seedu/address/storage/XmlAdaptedTask.java b/src/main/java/seedu/address/storage/XmlAdaptedTask.java index 77d1a60fb37e..ea54f785d6e6 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedTask.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedTask.java @@ -15,7 +15,7 @@ */ public class XmlAdaptedTask { - public static final String MISSING_FIELD_MESSAGE_FORMAT = "Appointment's %s field is missing!"; + public static final String MISSING_FIELD_MESSAGE_FORMAT = "Task's %s field is missing!"; @XmlElement(required = true) private String title; @@ -29,7 +29,7 @@ public class XmlAdaptedTask { public XmlAdaptedTask() {} /** - * Constructs an {@code XmlAdaptedTask} with the given appointment details. + * Constructs an {@code XmlAdaptedTask} with the given task details. */ public XmlAdaptedTask(String title, String time) { this.title = title; @@ -37,7 +37,7 @@ public XmlAdaptedTask(String title, String time) { } /** - * Converts a given Appointment into this class for JAXB use. + * Converts a given Task into this class for JAXB use. * * @param source future changes to this will not affect the created XmlAdaptedTask */ @@ -49,7 +49,7 @@ public XmlAdaptedTask(Task source) { /** * Converts this jaxb-friendly adapted person object into the model's Task object. * - * @throws IllegalValueException if there were any data constraints violated in the adapted person + * @throws IllegalValueException if there were any data constraints violated in the adapted task */ public Task toModelType() throws IllegalValueException { if (this.title == null) { @@ -78,8 +78,8 @@ public boolean equals(Object other) { return false; } - XmlAdaptedTask otherAppointment = (XmlAdaptedTask) other; - return Objects.equals(title, otherAppointment.title) - && Objects.equals(time, otherAppointment.time); + XmlAdaptedTask otherTask = (XmlAdaptedTask) other; + return Objects.equals(title, otherTask.title) + && Objects.equals(time, otherTask.time); } } diff --git a/src/main/java/seedu/address/ui/AppointmentListPanel.java b/src/main/java/seedu/address/ui/AppointmentListPanel.java index b1e8a7599033..69fb46906e07 100644 --- a/src/main/java/seedu/address/ui/AppointmentListPanel.java +++ b/src/main/java/seedu/address/ui/AppointmentListPanel.java @@ -13,12 +13,13 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.model.event.Appointment; +//@@author Sisyphus25 /** * Panel containing the list of appointments. */ public class AppointmentListPanel extends UiPart { private static final String FXML = "AppointmentListPanel.fxml"; - private final Logger logger = LogsCenter.getLogger(PersonListPanel.class); + private final Logger logger = LogsCenter.getLogger(AppointmentListPanel.class); @FXML private ListView appointmentListView; diff --git a/src/main/java/seedu/address/ui/TaskListPanel.java b/src/main/java/seedu/address/ui/TaskListPanel.java index f380f93e5dea..b7d6d48d0109 100644 --- a/src/main/java/seedu/address/ui/TaskListPanel.java +++ b/src/main/java/seedu/address/ui/TaskListPanel.java @@ -13,12 +13,13 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.model.event.Task; +//@@author Sisyphus24 /** * Panel containing the list of tasks. */ public class TaskListPanel extends UiPart { private static final String FXML = "TaskListPanel.fxml"; - private final Logger logger = LogsCenter.getLogger(PersonListPanel.class); + private final Logger logger = LogsCenter.getLogger(TaskListPanel.class); @FXML private ListView taskListView; diff --git a/src/test/java/seedu/address/model/event/EventTimeTest.java b/src/test/java/seedu/address/model/event/EventTimeTest.java index 45f412c5e316..b95f5d3ffcab 100644 --- a/src/test/java/seedu/address/model/event/EventTimeTest.java +++ b/src/test/java/seedu/address/model/event/EventTimeTest.java @@ -24,11 +24,11 @@ public void constructor_invalid_throwsIllegalArgumentException() { @Test public void isExpired() { - assertFalse(EventTime.isExpired(new EventTime("10/10/2017 10:00"))); - assertFalse(EventTime.isExpired(new EventTime("09/01/2018 10:00"))); + EventTime pastTime = new EventTime("20/10/2013 10:00"); + EventTime futureTime = new EventTime("20/10/2100 10:00"); + assertFalse(futureTime.isExpired()); - assertTrue(EventTime.isExpired(new EventTime("10/10/2019 10:00"))); - assertTrue(EventTime.isExpired(new EventTime("09/01/2019 10:00"))); + assertTrue(pastTime.isExpired()); } } From 0e712cd779b8f74a3a9bf4958d8dd5cb0f1cbe66 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Sun, 1 Apr 2018 12:33:37 +0800 Subject: [PATCH 222/288] Modify JUnit test for SetAppointmentCommand --- .../logic/commands/SetAppointmentCommand.java | 28 +++++---- .../commands/SetAppointmentCommandTest.java | 62 ++++++++++++++----- .../seedu/address/testutil/TypicalEvents.java | 10 +++ .../ModelStubAcceptingAppointmentAdded.java | 29 --------- 4 files changed, 73 insertions(+), 56 deletions(-) delete mode 100644 src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingAppointmentAdded.java diff --git a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java index 91ed52406944..e4c3500682e4 100644 --- a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java @@ -18,13 +18,14 @@ //@@author Sisyphus25 /** - * Adds an appointment to the address book. + * Adds an appointment with the person at {@code index} in the person list to the address book. */ public class SetAppointmentCommand extends UndoableCommand { public static final String COMMAND_WORD = "set_appointment"; - public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds an appointment to the address book. " + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Adds an appoinment to the address book. " + "Parameters: " + PREFIX_TITLE + "TITLE " + PREFIX_START_TIME + "START TIME " @@ -39,21 +40,24 @@ public class SetAppointmentCommand extends UndoableCommand { public static final String MESSAGE_SUCCESS = "New appointment added: %1$s"; public static final String MESSAGE_DUPLICATE_APPOINTMENT = "This appointment already exists in the address book"; - private final Appointment appointment; + private final Appointment baseAppointmentWithoutPerson; private final Index index; private PersonToMeet personToMeet; - public SetAppointmentCommand(Appointment appointment) { - this(appointment, null); + /** + * Creates a SetAppointmentCommand without any PersonToMeet + */ + public SetAppointmentCommand(Appointment baseAppointmentWithoutPerson) { + this(baseAppointmentWithoutPerson, null); } /** * Creates a SetAppointmentCommand to add the specified {@code Appointment} */ - public SetAppointmentCommand(Appointment appointment, Index index) { - requireNonNull(appointment); - this.appointment = appointment; + public SetAppointmentCommand(Appointment baseAppointmentWithoutPerson, Index index) { + requireNonNull(baseAppointmentWithoutPerson); + this.baseAppointmentWithoutPerson = baseAppointmentWithoutPerson; this.index = index; } @@ -63,10 +67,10 @@ public CommandResult executeUndoableCommand() throws CommandException { try { Appointment toAdd; if (personToMeet != null) { - toAdd = new Appointment(appointment.getTitle(), appointment.getTime(), - appointment.getEndTime(), personToMeet); + toAdd = new Appointment(baseAppointmentWithoutPerson.getTitle(), baseAppointmentWithoutPerson.getTime(), + baseAppointmentWithoutPerson.getEndTime(), personToMeet); } else { - toAdd = appointment; + toAdd = baseAppointmentWithoutPerson; } model.addAppointment(toAdd); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); @@ -94,6 +98,6 @@ protected void preprocessUndoableCommand() throws CommandException { public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof SetAppointmentCommand // instanceof handles nulls - && appointment.equals(((SetAppointmentCommand) other).appointment)); + && baseAppointmentWithoutPerson.equals(((SetAppointmentCommand) other).baseAppointmentWithoutPerson)); } } diff --git a/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java b/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java index 541ca13f1dee..51ce622df92d 100644 --- a/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/SetAppointmentCommandTest.java @@ -3,23 +3,30 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static seedu.address.testutil.TypicalEvents.APPOINTMENT_WITHOUT_PERSON_1; +import static seedu.address.testutil.TypicalEvents.APPOINTMENT_WITHOUT_PERSON_3; import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_1; import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_2; +import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_3; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; +import static seedu.address.testutil.TypicalIndexes.INDEX_THIRD; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; -import java.util.Arrays; - +import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; +import seedu.address.commons.core.Messages; +import seedu.address.commons.core.index.Index; import seedu.address.logic.CommandHistory; import seedu.address.logic.UndoRedoStack; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; import seedu.address.model.event.Appointment; -import seedu.address.testutil.modelstub.ModelStub; -import seedu.address.testutil.modelstub.ModelStubAcceptingAppointmentAdded; -import seedu.address.testutil.modelstub.ModelStubThrowingDuplicateEventException; //@@author Sisyphus25 public class SetAppointmentCommandTest { @@ -27,6 +34,13 @@ public class SetAppointmentCommandTest { @Rule public ExpectedException thrown = ExpectedException.none(); + private Model model; + + @Before + public void setUp() { + model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + } + @Test public void constructor_nullAppointment_throwsNullPointerException() { thrown.expect(NullPointerException.class); @@ -34,24 +48,42 @@ public void constructor_nullAppointment_throwsNullPointerException() { } @Test - public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception { - ModelStubAcceptingAppointmentAdded modelStub = new ModelStubAcceptingAppointmentAdded(); + public void execute_invalidPersonToMeetIndex_failure() { + Index outOfBoundsIndex = Index.fromOneBased(model.getFilteredPersonList().size() + 1); + SetAppointmentCommand command = getSetAppointmentCommand(TYPICAL_APPOINTMENT_3, outOfBoundsIndex, model); + + try { + command.execute(); + fail("The expected CommandException was not thrown."); + } catch (CommandException ce) { + assertEquals(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX, ce.getMessage()); + } + } - CommandResult commandResult = getSetAppointmentCommand(TYPICAL_APPOINTMENT_1, modelStub).execute(); + @Test + public void execute_appointmentWithoutPersonToMeetAccepted_addSuccessful() throws Exception { + CommandResult commandResult = + getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_3, null, model).execute(); assertEquals(String.format( - SetAppointmentCommand.MESSAGE_SUCCESS, TYPICAL_APPOINTMENT_1), commandResult.feedbackToUser); - assertEquals(Arrays.asList(TYPICAL_APPOINTMENT_1), modelStub.appointmentsAdded); + SetAppointmentCommand.MESSAGE_SUCCESS, APPOINTMENT_WITHOUT_PERSON_3), commandResult.feedbackToUser); } @Test - public void execute_duplicateEvent_throwsCommandException() throws Exception { - ModelStub modelStub = new ModelStubThrowingDuplicateEventException(); + public void execute_appointmentWithPersonToMeetAccepted_addSuccessful() throws Exception { + CommandResult commandResult = + getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_3, INDEX_THIRD, model).execute(); + assertEquals(String.format( + SetAppointmentCommand.MESSAGE_SUCCESS, TYPICAL_APPOINTMENT_3), commandResult.feedbackToUser); + } + + @Test + public void execute_duplicateAppointmentsameIndex_throwsCommandException() throws Exception { thrown.expect(CommandException.class); thrown.expectMessage(SetAppointmentCommand.MESSAGE_DUPLICATE_APPOINTMENT); - getSetAppointmentCommand(TYPICAL_APPOINTMENT_1, modelStub).execute(); + getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_1, INDEX_FIRST, model).execute(); } @Test @@ -82,8 +114,8 @@ public void equals() { /** * Generates a new SetAppointmentCommand with the details of the given appointment. */ - private SetAppointmentCommand getSetAppointmentCommand(Appointment appointment, Model model) { - SetAppointmentCommand command = new SetAppointmentCommand(appointment, null); + private SetAppointmentCommand getSetAppointmentCommand(Appointment baseAppointment, Index index, Model model) { + SetAppointmentCommand command = new SetAppointmentCommand(baseAppointment, index); command.setData(model, new CommandHistory(), new UndoRedoStack()); return command; } diff --git a/src/test/java/seedu/address/testutil/TypicalEvents.java b/src/test/java/seedu/address/testutil/TypicalEvents.java index 1714edd20692..76c9757c8498 100644 --- a/src/test/java/seedu/address/testutil/TypicalEvents.java +++ b/src/test/java/seedu/address/testutil/TypicalEvents.java @@ -2,6 +2,7 @@ import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.BOB; +import static seedu.address.testutil.TypicalPersons.CARL; import java.util.ArrayList; import java.util.Arrays; @@ -22,14 +23,23 @@ public class TypicalEvents { public static final Appointment TYPICAL_APPOINTMENT_2 = new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); public static final Appointment TYPICAL_APPOINTMENT_3 = + new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00", CARL).build(); + public static final Appointment APPOINTMENT_WITHOUT_PERSON_1 = + new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00").build(); + public static final Appointment APPOINTMENT_WITHOUT_PERSON_2 = + new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); + public static final Appointment APPOINTMENT_WITHOUT_PERSON_3 = new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00").build(); + public static final Task TYPICAL_TASK_1 = new Task(new Title("To do"), new EventTime("10/10/2018 10:00")); public static final Task TYPICAL_TASK_2 = new Task(new Title("Mark papers"), new EventTime("15/04/2018 23:00")); public static final Task TYPICAL_TASK_3 = new Task(new Title("Purchase markers"), new EventTime("19/04/2018 10:00")); + public static final Task TYPICAL_TASK_EXPIRED = + new Task(new Title("Expired task"), new EventTime("19/04/2013 10:00")); public static List getTypicalAppointments() { return new ArrayList<>(Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2)); diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingAppointmentAdded.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingAppointmentAdded.java deleted file mode 100644 index b739b7dc2dd6..000000000000 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingAppointmentAdded.java +++ /dev/null @@ -1,29 +0,0 @@ -package seedu.address.testutil.modelstub; - -import static java.util.Objects.requireNonNull; - -import java.util.ArrayList; - -import seedu.address.model.AddressBook; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.event.Appointment; -import seedu.address.model.event.UniqueEventList; - -//@@author Sisyphus25 -/** - * A Model stub that always accept the appointment being added. - */ -public class ModelStubAcceptingAppointmentAdded extends ModelStub { - public final ArrayList appointmentsAdded = new ArrayList<>(); - - @Override - public void addAppointment(Appointment event) throws UniqueEventList.DuplicateEventException { - requireNonNull(event); - appointmentsAdded.add(event); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - return new AddressBook(); - } -} From 5c3fa6eebf6f2c194b35a2c0dc28587bf7e7d955 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Sun, 1 Apr 2018 13:05:34 +0800 Subject: [PATCH 223/288] add test for model manager --- .../seedu/address/model/AddressBookTest.java | 7 ++ .../seedu/address/model/ModelManagerTest.java | 72 ++++++++++++++++--- 2 files changed, 71 insertions(+), 8 deletions(-) diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 8e36f685c92d..89bdbf4d7312 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -46,6 +46,7 @@ public void constructor() { assertEquals(Collections.emptyList(), addressBook.getPersonList()); assertEquals(Collections.emptyList(), addressBook.getTagList()); assertEquals(Collections.emptyList(), addressBook.getAppointmentList()); + assertEquals(Collections.emptyList(), addressBook.getTaskList()); } @@ -94,6 +95,12 @@ public void getAppointmentList_modifyList_throwsUnsupportedOperationException() addressBook.getAppointmentList().remove(0); } + @Test + public void getTaskList_modifyList_throwsUnsupportedOperationException() { + thrown.expect(UnsupportedOperationException.class); + addressBook.getTaskList().remove(0); + } + /** * A stub ReadOnlyAddressBook whose persons, tags and events lists can violate interface constraints. */ diff --git a/src/test/java/seedu/address/model/ModelManagerTest.java b/src/test/java/seedu/address/model/ModelManagerTest.java index df6ef9f1bb1d..4e7b10f21287 100644 --- a/src/test/java/seedu/address/model/ModelManagerTest.java +++ b/src/test/java/seedu/address/model/ModelManagerTest.java @@ -7,10 +7,15 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_NOTUSED; import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; +import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_1; +import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_3; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_1; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_3; import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.AMY; -import static seedu.address.testutil.TypicalPersons.BENSON; import static seedu.address.testutil.TypicalPersons.BOB; +import static seedu.address.testutil.TypicalPersons.IDA; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import java.util.Arrays; @@ -18,6 +23,10 @@ import org.junit.Test; import org.junit.rules.ExpectedException; +import junit.framework.TestCase; +import seedu.address.commons.events.model.AddressBookChangedEvent; +import seedu.address.commons.events.model.AppointmentListChangedEvent; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.NameContainsKeywordsPredicate; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -25,40 +34,88 @@ import seedu.address.model.tag.Tag; import seedu.address.testutil.AddressBookBuilder; import seedu.address.testutil.PersonBuilder; +import seedu.address.ui.testutil.EventsCollectorRule; public class ModelManagerTest { @Rule public ExpectedException thrown = ExpectedException.none(); + public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); + + private AddressBook addressBook = getTypicalAddressBook(); + private UserPrefs userPrefs = new UserPrefs(); + private ModelManager modelManager = new ModelManager(addressBook, userPrefs); @Test public void getFilteredPersonList_modifyList_throwsUnsupportedOperationException() { - ModelManager modelManager = new ModelManager(); thrown.expect(UnsupportedOperationException.class); modelManager.getFilteredPersonList().remove(0); } @Test public void getFilteredAppointmentList_modifyList_throwsUnsupportedOperationException() { - ModelManager modelManager = new ModelManager(); thrown.expect(UnsupportedOperationException.class); modelManager.getFilteredAppointmentList().remove(0); } @Test public void getFilteredTaskList_modifyList_throwsUnsupportedOperationException() { - ModelManager modelManager = new ModelManager(); thrown.expect(UnsupportedOperationException.class); modelManager.getFilteredTaskList().remove(0); } + @Test + public void addPerson_addPersonToAddressBook_evokeAddressBookChangedEvent() throws DuplicatePersonException { + ModelManager model = new ModelManager(addressBook, userPrefs); + modelManager.addPerson(IDA); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); + } + + @Test + public void removePerson_removePersonFromAddressBook_evokeAddressBookChangedEvent() throws PersonNotFoundException { + ModelManager model = new ModelManager(addressBook, userPrefs); + modelManager.deletePerson(ALICE); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); + } + + @Test + public void addTask_addTaskToAddressBook_evokeAddressBookChangedEvent() + throws UniqueEventList.DuplicateEventException { + ModelManager model = new ModelManager(addressBook, userPrefs); + modelManager.addTask(TYPICAL_TASK_3); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); + } + + @Test + public void removeTask_removeTaskFromAddressBook_evokeAddressBookChangedEvent() + throws UniqueEventList.EventNotFoundException { + ModelManager model = new ModelManager(addressBook, userPrefs); + modelManager.deleteTask(TYPICAL_TASK_1); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); + } + + @Test + public void addTask_addAppointmentToAddressBook_evokeAppointmentListChangedEvent() + throws UniqueEventList.DuplicateEventException { + ModelManager model = new ModelManager(addressBook, userPrefs); + modelManager.addAppointment(TYPICAL_APPOINTMENT_3); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AppointmentListChangedEvent); + TestCase.assertTrue(eventsCollectorRule.eventsCollector.getSize() == 2); + } + + @Test + public void removeTask_removeAppointmentFromAddressBook_evokeAppointmentListChangedEvent() + throws UniqueEventList.EventNotFoundException { + ModelManager model = new ModelManager(addressBook, userPrefs); + modelManager.deleteAppointment(TYPICAL_APPOINTMENT_1); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AppointmentListChangedEvent); + TestCase.assertTrue(eventsCollectorRule.eventsCollector.getSize() == 2); + } + @Test public void equals() { - AddressBook addressBook = new AddressBookBuilder().withPerson(ALICE).withPerson(BENSON).build(); AddressBook differentAddressBook = new AddressBook(); - UserPrefs userPrefs = new UserPrefs(); // same values -> returns true - ModelManager modelManager = new ModelManager(addressBook, userPrefs); ModelManager modelManagerCopy = new ModelManager(addressBook, userPrefs); assertTrue(modelManager.equals(modelManagerCopy)); @@ -103,7 +160,6 @@ public void deleteTag_tagNotPresent_modelUnchanged() throws DuplicatePersonExcep public void deleteTag_tagUsedByMultiplePeople_tagRemoved() throws DuplicatePersonException, PersonNotFoundException { AddressBook testAddressBook = new AddressBookBuilder().withPerson(AMY).withPerson(BOB).build(); - UserPrefs userPrefs = new UserPrefs(); ModelManager modelManager = new ModelManager(testAddressBook, userPrefs); modelManager.deleteTag(new Tag(VALID_TAG_FRIEND)); From 65249e592d29ebabb2b1bfda76941c35473c1997 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Sun, 1 Apr 2018 13:26:50 +0800 Subject: [PATCH 224/288] equals() test for XmlAdaptedObj --- .../storage/XmlAdaptedAppointmentTest.java | 24 +++++++++++++++++- .../address/storage/XmlAdaptedPersonTest.java | 21 ++++++++++++++++ .../address/storage/XmlAdaptedTaskTest.java | 25 +++++++++++++++++-- 3 files changed, 67 insertions(+), 3 deletions(-) diff --git a/src/test/java/seedu/address/storage/XmlAdaptedAppointmentTest.java b/src/test/java/seedu/address/storage/XmlAdaptedAppointmentTest.java index 9ff24878a735..17fdd123a088 100644 --- a/src/test/java/seedu/address/storage/XmlAdaptedAppointmentTest.java +++ b/src/test/java/seedu/address/storage/XmlAdaptedAppointmentTest.java @@ -1,11 +1,14 @@ package seedu.address.storage; +import static junit.framework.Assert.assertFalse; +import static junit.framework.Assert.assertTrue; import static junit.framework.TestCase.assertEquals; import static seedu.address.logic.commands.CommandTestUtil.VALID_END_TIME; import static seedu.address.logic.commands.CommandTestUtil.VALID_START_TIME; import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; import static seedu.address.storage.XmlAdaptedAppointment.MISSING_FIELD_MESSAGE_FORMAT; import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_1; +import static seedu.address.testutil.TypicalEvents.TYPICAL_APPOINTMENT_2; import org.junit.Test; @@ -24,7 +27,7 @@ public class XmlAdaptedAppointmentTest { @Test public void toModelType_validAppointmentDetails_returnsPerson() throws Exception { - XmlAdaptedAppointment appointment = new XmlAdaptedAppointment((Appointment) TYPICAL_APPOINTMENT_1); + XmlAdaptedAppointment appointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); assertEquals(TYPICAL_APPOINTMENT_1, appointment.toModelType()); } @@ -83,4 +86,23 @@ public void toModelType_invalidTimePeriod_throwsIllegalValueException() { String expectedMessage = Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS; Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); } + + @Test + public void equals() { + XmlAdaptedAppointment appointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); + + //same object + assertTrue(appointment.equals(appointment)); + + //same value + XmlAdaptedAppointment appointmentCopy = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); + assertTrue(appointment.equals(appointmentCopy)); + + //different type + assertFalse(appointment.equals(TYPICAL_APPOINTMENT_1)); + + //different obj + XmlAdaptedAppointment anotherAppointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_2); + assertFalse(appointment.equals(anotherAppointment)); + } } diff --git a/src/test/java/seedu/address/storage/XmlAdaptedPersonTest.java b/src/test/java/seedu/address/storage/XmlAdaptedPersonTest.java index 0e70c3b00ca8..85137113c9be 100644 --- a/src/test/java/seedu/address/storage/XmlAdaptedPersonTest.java +++ b/src/test/java/seedu/address/storage/XmlAdaptedPersonTest.java @@ -1,7 +1,10 @@ package seedu.address.storage; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import static seedu.address.storage.XmlAdaptedPerson.MISSING_FIELD_MESSAGE_FORMAT; +import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.BENSON; import java.util.ArrayList; @@ -108,4 +111,22 @@ public void toModelType_invalidTags_throwsIllegalValueException() { Assert.assertThrows(IllegalValueException.class, person::toModelType); } + @Test + public void equals() { + XmlAdaptedPerson person = new XmlAdaptedPerson(BENSON); + + //same object + assertTrue(person.equals(person)); + + //same value + XmlAdaptedPerson personCopy = new XmlAdaptedPerson(BENSON); + assertTrue(person.equals(personCopy)); + + //different type + assertFalse(person.equals(1)); + + //different obj + XmlAdaptedPerson anotherPerson = new XmlAdaptedPerson(ALICE); + assertFalse(person.equals(anotherPerson)); + } } diff --git a/src/test/java/seedu/address/storage/XmlAdaptedTaskTest.java b/src/test/java/seedu/address/storage/XmlAdaptedTaskTest.java index ae71c7683621..2ce4bb94c9b5 100644 --- a/src/test/java/seedu/address/storage/XmlAdaptedTaskTest.java +++ b/src/test/java/seedu/address/storage/XmlAdaptedTaskTest.java @@ -1,16 +1,18 @@ package seedu.address.storage; import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import static seedu.address.logic.commands.CommandTestUtil.VALID_END_TIME; import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; import static seedu.address.storage.XmlAdaptedTask.MISSING_FIELD_MESSAGE_FORMAT; import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_1; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_2; import org.junit.Test; import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.event.EventTime; -import seedu.address.model.event.Task; import seedu.address.model.event.Title; import seedu.address.testutil.Assert; @@ -22,7 +24,7 @@ public class XmlAdaptedTaskTest { @Test public void toModelType_validTaskDetails_returnsPerson() throws Exception { - XmlAdaptedTask task = new XmlAdaptedTask((Task) TYPICAL_TASK_1); + XmlAdaptedTask task = new XmlAdaptedTask(TYPICAL_TASK_1); assertEquals(TYPICAL_TASK_1, task.toModelType()); } @@ -57,4 +59,23 @@ public void toModelType_nullTime_throwsIllegalValueException() { String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time"); Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); } + + @Test + public void equals() { + XmlAdaptedTask task = new XmlAdaptedTask(TYPICAL_TASK_1); + + //same object + assertTrue(task.equals(task)); + + //same value + XmlAdaptedTask taskCopy = new XmlAdaptedTask(TYPICAL_TASK_1); + assertTrue(task.equals(taskCopy)); + + //different type + assertFalse(task.equals(TYPICAL_TASK_1)); + + //different obj + XmlAdaptedTask anotherTask = new XmlAdaptedTask(TYPICAL_TASK_2); + assertFalse(task.equals(anotherTask)); + } } From aa1056ea64a7bb3033dcb88c29652f7ffc052013 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Sun, 1 Apr 2018 13:31:04 +0800 Subject: [PATCH 225/288] Add tag to expired Task --- .../java/seedu/address/ui/CalendarPanel.java | 15 ++++--- src/main/java/seedu/address/ui/TaskCard.java | 17 ++++++++ src/main/resources/view/TaskListCard.fxml | 43 +++++++++++-------- .../java/seedu/address/ui/TaskCardTest.java | 6 ++- .../seedu/address/ui/TaskListPanelTest.java | 4 -- 5 files changed, 54 insertions(+), 31 deletions(-) delete mode 100644 src/test/java/seedu/address/ui/TaskListPanelTest.java diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java index b77874186104..94282870af44 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -87,13 +87,6 @@ private Entry getEntry(Appointment appointment) { return new Entry(description, new Interval(ldtstart, ldtend)); } - //@@author Sisyphus25-reused - //Reused from https://github.com/CS2103AUG2017-T17-B2/main with modifications - private void setTime() { - calendarView.setToday(LocalDate.now()); - calendarView.setTime(LocalTime.now()); - } - @Subscribe private void handleAppointmentListChangedEvent(AppointmentListChangedEvent event) { appointmentList = event.appointmentList; @@ -102,6 +95,14 @@ private void handleAppointmentListChangedEvent(AppointmentListChangedEvent event ); } + + //@@author Sisyphus25-reused + //Reused from https://github.com/CS2103AUG2017-T17-B2/main with modifications + private void setTime() { + calendarView.setToday(LocalDate.now()); + calendarView.setTime(LocalTime.now()); + } + @Subscribe private void handleToggleCalendarViewEvent(ToggleCalendarViewEvent event) { Character c = event.viewMode; diff --git a/src/main/java/seedu/address/ui/TaskCard.java b/src/main/java/seedu/address/ui/TaskCard.java index ee204ca6fb79..9dd03db3c256 100644 --- a/src/main/java/seedu/address/ui/TaskCard.java +++ b/src/main/java/seedu/address/ui/TaskCard.java @@ -3,9 +3,11 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; +import java.util.Calendar; import javafx.fxml.FXML; import javafx.scene.control.Label; +import javafx.scene.layout.FlowPane; import javafx.scene.layout.HBox; import javafx.scene.layout.Region; import seedu.address.model.event.Task; @@ -19,6 +21,7 @@ public class TaskCard extends UiPart { private static final String FXML = "TaskListCard.fxml"; private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + private static final Calendar CALENDAR = Calendar.getInstance(); public final Task task; @@ -30,6 +33,8 @@ public class TaskCard extends UiPart { private Label id; @FXML private Label time; + @FXML + private FlowPane tags; public TaskCard(Task task, int displayedIndex) { super(FXML); @@ -37,6 +42,18 @@ public TaskCard(Task task, int displayedIndex) { id.setText(displayedIndex + ". "); title.setText(task.getTitle().value); time.setText("Finish before: " + DATE_FORMATTER.format(task.getTime().value.getTime())); + if (task.getTime().isExpired()) { + addExpiredTag(); + } + } + + /** + * Add an expired tag to the Task Card + */ + private void addExpiredTag() { + Label expiredTask = new Label("Expired"); + expiredTask.getStyleClass().add("red"); + tags.getChildren().add(expiredTask); } @Override diff --git a/src/main/resources/view/TaskListCard.fxml b/src/main/resources/view/TaskListCard.fxml index 9076e9169193..83cb2f2e8d27 100644 --- a/src/main/resources/view/TaskListCard.fxml +++ b/src/main/resources/view/TaskListCard.fxml @@ -8,25 +8,32 @@ + - - - - - + + + + + + + + + + + + - + - - - - - + + + + diff --git a/src/test/java/seedu/address/ui/TaskCardTest.java b/src/test/java/seedu/address/ui/TaskCardTest.java index 050f4ffb30a0..ab12a85dda13 100644 --- a/src/test/java/seedu/address/ui/TaskCardTest.java +++ b/src/test/java/seedu/address/ui/TaskCardTest.java @@ -4,6 +4,7 @@ import static org.junit.Assert.assertTrue; import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_1; import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_2; +import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_EXPIRED; import org.junit.Test; @@ -34,8 +35,9 @@ public void equals() { Task differentTask = TYPICAL_TASK_1; assertFalse(taskCard.equals(new TaskCard(differentTask, 0))); + Task expiredTask = TYPICAL_TASK_EXPIRED; + TaskCard expiredTaskCard = new TaskCard(TYPICAL_TASK_EXPIRED, 1); // same task, different index -> returns false - assertFalse(taskCard.equals(new TaskCard(task, 1))); + assertFalse(taskCard.equals(expiredTaskCard)); } - } diff --git a/src/test/java/seedu/address/ui/TaskListPanelTest.java b/src/test/java/seedu/address/ui/TaskListPanelTest.java deleted file mode 100644 index c4ed1c59fa38..000000000000 --- a/src/test/java/seedu/address/ui/TaskListPanelTest.java +++ /dev/null @@ -1,4 +0,0 @@ -package seedu.address.ui; - -public class TaskListPanelTest { -} From b61d9f6786ecb3d8623d21a86d691a56343ebde8 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Sun, 1 Apr 2018 14:58:53 +0800 Subject: [PATCH 226/288] Add new theme: galaxy --- .../address/logic/parser/ParserUtil.java | 2 +- src/main/java/seedu/address/ui/ThemeList.java | 3 +- src/main/resources/view/DarkTheme.css | 5 +- src/main/resources/view/GalaxyTheme.css | 387 ++++++++++++++++++ src/main/resources/view/LightTheme.css | 2 +- 5 files changed, 394 insertions(+), 5 deletions(-) create mode 100644 src/main/resources/view/GalaxyTheme.css diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index b8208376b900..e4ac8263c885 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -31,7 +31,7 @@ public class ParserUtil { public static final String MESSAGE_INVALID_INDEX = "Index is not a non-zero unsigned integer."; public static final String MESSAGE_INSUFFICIENT_PARTS = "Number of parts must be more than 1."; - public static final String[] THEME_LIST = {"dark", "light", "doge"}; + public static final String[] THEME_LIST = {"dark", "light", "doge", "galaxy"}; /** * Parses {@code oneBasedIndex} into an {@code Index} and returns it. Leading and trailing whitespaces will be diff --git a/src/main/java/seedu/address/ui/ThemeList.java b/src/main/java/seedu/address/ui/ThemeList.java index 1f27afa5af89..dc1f119ad32c 100644 --- a/src/main/java/seedu/address/ui/ThemeList.java +++ b/src/main/java/seedu/address/ui/ThemeList.java @@ -14,11 +14,12 @@ public ThemeList() { themeList.put("dark", "view/DarkTheme.css"); themeList.put("light", "view/LightTheme.css"); themeList.put("doge", "view/DogeTheme.css"); + themeList.put("galaxy", "view/GalaxyTheme.css"); } public String getThemeStyleSheet(String theme) { if (!themeList.containsKey(theme)) { - return themeList.get("dark"); + return themeList.get("light"); } return themeList.get(theme); } diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/view/DarkTheme.css index f4c2a125c565..d1ab65ea5597 100644 --- a/src/main/resources/view/DarkTheme.css +++ b/src/main/resources/view/DarkTheme.css @@ -193,9 +193,10 @@ -fx-text-fill: #000000; } -.calendar-panel .list-cell:filled { - -fx-background-color: #808080; +.calendar-panel .list-cell .label { + -fx-text-fill: white !important; } + .calendar-panel { -fx-background-color: derive(#1d1d1d, 30%); } diff --git a/src/main/resources/view/GalaxyTheme.css b/src/main/resources/view/GalaxyTheme.css new file mode 100644 index 000000000000..75888bcd9da4 --- /dev/null +++ b/src/main/resources/view/GalaxyTheme.css @@ -0,0 +1,387 @@ +/*@@author Sisyphus25 + */ + +.root { + -fx-background-image: url("../images/galaxy.jpg"); + -fx-background-size: cover; + -fx-background-position: center center; + -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.app-title { + -fx-text-fill: white; + -fx-font-family: "Franklin Gothic Heavy"; + -fx-font-size: 40px; +} + +.app-title .text { + -fx-stroke: black; + -fx-stroke-width: 1px; +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: transparent; + -fx-background-color: transparent; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35px; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: black; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: transparent; + -fx-border-color: transparent; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: transparent; +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: transparent; + +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent +} + +.list-cell:filled:even { + -fx-background-color: #edf2f9; +} + +.list-cell:filled:odd { + -fx-background-color: #edf2f9; +} + +.list-cell:filled:selected { + -fx-background-color: #c0c5f9; +} + +.list-cell .label { + -fx-text-fill: black; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 16px; + -fx-text-fill: #edf2f9; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #edf2f9; +} + +.anchor-pane { + -fx-background-color: transparent; +} + +.pane-with-border { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: transparent; + -fx-text-fill: white; +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +.result-display .label { + -fx-text-fill: transparent !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI"; + -fx-text-fill: #edf2f9; +} + +.status-bar-with-border { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: black; +} + +.grid-pane { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-border-width: 1px; +} + +.grid-pane .anchor-pane { + -fx-background-color: transparent; +} + +.calendar-panel .button { + -fx-text-fill: #000000; +} + +.calendar-panel { + -fx-background-color: transparent; + background-color: transparent; +} + +.context-menu { + -fx-background-color: derive(#070f60, 50%); +} + +.context-menu .label { + -fx-text-fill: #edf2f9; +} + +.menu-bar { + -fx-background-color: transparent; +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI"; + -fx-text-fill: #edf2f9; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: transparent; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: black; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#edf2f9, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: black; + -fx-text-fill: black; +} + +.scroll-bar { + -fx-background-color: derive(#edf2f9, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + +} + +.scroll-bar .thumb { + -fx-background-color: derive(#070f60, 20%); + +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-rotate: 0; + +} + +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 10pt; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: #edf2f9; + -fx-background-insets: 0; + -fx-border-color: #edf2f9 #edf2f9 black #edf2f9 ; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); +} + +#resultDisplay { + -fx-background-color: transparent; +} + +#resultDisplay .scroll-pane .viewport{ + -fx-background-color: transparent; +} + +#resultDisplay .content { + -fx-background-color: #edf2f9; + -fx-background-radius: 0; +} diff --git a/src/main/resources/view/LightTheme.css b/src/main/resources/view/LightTheme.css index bf146396570b..5a6362664780 100644 --- a/src/main/resources/view/LightTheme.css +++ b/src/main/resources/view/LightTheme.css @@ -11,6 +11,7 @@ -fx-text-fill: #555555; -fx-opacity: 0.9; } + .app-title { -fx-text-fill: brown; -fx-font-family: "Franklin Gothic Medium"; @@ -127,7 +128,6 @@ .list-cell:filled:selected #cardPane { -fx-border-color: #ffc2c2; -fx-border-width: 1; - } .list-cell .label { From f96730f2bb8cbaee8e111aba7a2a6d51565fb361 Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Sun, 1 Apr 2018 15:56:13 +0800 Subject: [PATCH 227/288] fixed missing bracket --- src/main/java/seedu/address/model/AddressBook.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 55e4e02bd226..211b29a29eef 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -39,6 +39,8 @@ public class AddressBook implements ReadOnlyAddressBook { private final UniqueEventList appointments; private final UniqueEventList tasks; private final UniqueShortcutDoublesList shorcutCommands; +} + /* * The 'unusual' code block below is an non-static initialization block, sometimes used to avoid duplication * between constructors. See https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html From eb27d4ae2f9247d4db7dd858255de0f5a2f887a9 Mon Sep 17 00:00:00 2001 From: randypx Date: Sun, 1 Apr 2018 16:26:32 +0800 Subject: [PATCH 228/288] fixed bugs and moved Event Exceptions to their own folder --- .../address/logic/commands/RemoveCommand.java | 4 +- .../logic/commands/SetAppointmentCommand.java | 4 +- .../logic/commands/SetTaskCommand.java | 4 +- .../java/seedu/address/model/AddressBook.java | 53 ++++++++++--------- src/main/java/seedu/address/model/Model.java | 11 ++-- .../seedu/address/model/ModelManager.java | 11 ++-- .../address/model/event/UniqueEventList.java | 20 +------ .../exceptions/DuplicateEventException.java | 12 +++++ .../exceptions/EventNotFoundException.java | 10 ++++ .../seedu/address/model/ModelManagerTest.java | 11 ++-- .../address/testutil/AddressBookBuilder.java | 4 +- .../address/testutil/TypicalPersons.java | 6 +-- .../address/testutil/modelstub/ModelStub.java | 10 ++-- .../ModelStubAcceptingTaskAdded.java | 4 +- ...elStubThrowingDuplicateEventException.java | 10 ++-- 15 files changed, 93 insertions(+), 81 deletions(-) create mode 100644 src/main/java/seedu/address/model/event/exceptions/DuplicateEventException.java create mode 100644 src/main/java/seedu/address/model/event/exceptions/EventNotFoundException.java diff --git a/src/main/java/seedu/address/logic/commands/RemoveCommand.java b/src/main/java/seedu/address/logic/commands/RemoveCommand.java index 8204cb6b0348..f426799a6ab8 100644 --- a/src/main/java/seedu/address/logic/commands/RemoveCommand.java +++ b/src/main/java/seedu/address/logic/commands/RemoveCommand.java @@ -12,7 +12,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.exceptions.EventNotFoundException; //@@author Sisyphus25 /** @@ -51,7 +51,7 @@ public CommandResult executeUndoableCommand() { } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { model.deleteTask((Task) eventToBeDeleted); } - } catch (UniqueEventList.EventNotFoundException ive) { + } catch (EventNotFoundException ive) { throw new AssertionError(String.format("The target %s cannot be missing", eventTypeOfDeletedTarget)); } return new CommandResult( diff --git a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java index e4c3500682e4..3108bd3878da 100644 --- a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java @@ -13,7 +13,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.event.Appointment; import seedu.address.model.event.PersonToMeet; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.exceptions.DuplicateEventException; import seedu.address.model.person.Person; //@@author Sisyphus25 @@ -74,7 +74,7 @@ public CommandResult executeUndoableCommand() throws CommandException { } model.addAppointment(toAdd); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (UniqueEventList.DuplicateEventException e) { + } catch (DuplicateEventException e) { throw new CommandException(MESSAGE_DUPLICATE_APPOINTMENT); } diff --git a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java index c77829e10df9..e8665e771355 100644 --- a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java @@ -6,7 +6,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.event.Task; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.exceptions.DuplicateEventException; //@@author Sisyphus25 /** @@ -43,7 +43,7 @@ public CommandResult executeUndoableCommand() throws CommandException { try { model.addTask(toAdd); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (UniqueEventList.DuplicateEventException e) { + } catch (DuplicateEventException e) { throw new CommandException(MESSAGE_DUPLICATE_TASK); } diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 211b29a29eef..8b00889d389e 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -14,6 +14,8 @@ import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.exceptions.DuplicateEventException; +import seedu.address.model.event.exceptions.EventNotFoundException; import seedu.address.model.person.Person; import seedu.address.model.person.Student; import seedu.address.model.person.UniqueContactList; @@ -39,7 +41,6 @@ public class AddressBook implements ReadOnlyAddressBook { private final UniqueEventList appointments; private final UniqueEventList tasks; private final UniqueShortcutDoublesList shorcutCommands; -} /* * The 'unusual' code block below is an non-static initialization block, sometimes used to avoid duplication @@ -83,7 +84,7 @@ public void setTags(Set tags) { } public void setAppointments(List appointments) - throws UniqueEventList.DuplicateEventException { + throws DuplicateEventException { this.appointments.setEvents(appointments); } @@ -91,7 +92,7 @@ public void setShorcutCommands(List shorcutCommands) { this.shorcutCommands.setCommandsList(shorcutCommands); } public void setTasks(List tasks) - throws UniqueEventList.DuplicateEventException { + throws DuplicateEventException { this.tasks.setEvents(tasks); } @@ -107,21 +108,22 @@ public void resetData(ReadOnlyAddressBook newData) { List syncedContactList = newData.getContactList().stream() .map(this::syncWithMasterTagList).collect(Collectors.toList()); - try { - setShorcutCommands(commandsList); - setAppointments(appointmentList); - setTasks(taskList); - persons.setPersons(new UniquePersonList()); - students.setStudents(new UniqueStudentList()); - for (Person contact:syncedContactList) { - if (contact instanceof Student) { - addStudent((Student) contact); - } else { - addPerson(contact); + try { + setShorcutCommands(commandsList); + setAppointments(appointmentList); + setTasks(taskList); + persons.setPersons(new UniquePersonList()); + students.setStudents(new UniqueStudentList()); + for (Person contact : syncedContactList) { + if (contact instanceof Student) { + addStudent((Student) contact); + } else { + addPerson(contact); + } } } catch (DuplicatePersonException e) { throw new AssertionError("TeachConnect should not have duplicate persons"); - } catch (UniqueEventList.DuplicateEventException e) { + } catch (DuplicateEventException e) { throw new AssertionError("TeachConnect should not have duplicate events"); } } @@ -266,7 +268,6 @@ public boolean removeStudent(Student key) throws PersonNotFoundException { throw new PersonNotFoundException(); } } - /** * * @param commandShortcut @@ -412,42 +413,42 @@ private void removeTagFromStudent(Tag tag, Student student) /** * Adds an appointment to the address book. * - * @throws UniqueEventList.DuplicateEventException if an equivalent appointment already exists. + * @throws DuplicateEventException if an equivalent appointment already exists. */ - public void addAppointment(Appointment e) throws UniqueEventList.DuplicateEventException { + public void addAppointment(Appointment e) throws DuplicateEventException { appointments.add(e); } /** * Removes {@code key} from this {@code AddressBook}. - * @throws UniqueEventList.EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. */ - public boolean removeAppointment(Appointment key) throws UniqueEventList.EventNotFoundException { + public boolean removeAppointment(Appointment key) throws EventNotFoundException { if (appointments.remove(key)) { return true; } else { - throw new UniqueEventList.EventNotFoundException(); + throw new EventNotFoundException(); } } /** * Adds a task to the address book. * - * @throws UniqueEventList.DuplicateEventException if an equivalent appointment already exists. + * @throws DuplicateEventException if an equivalent appointment already exists. */ - public void addTask(Task e) throws UniqueEventList.DuplicateEventException { + public void addTask(Task e) throws DuplicateEventException { tasks.add(e); } /** * Removes {@code key} from this {@code AddressBook}. - * @throws UniqueEventList.EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. */ - public boolean removeTask(Task key) throws UniqueEventList.EventNotFoundException { + public boolean removeTask(Task key) throws EventNotFoundException { if (tasks.remove(key)) { return true; } else { - throw new UniqueEventList.EventNotFoundException(); + throw new EventNotFoundException(); } } } diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index cfd7457c5c10..232ad3fd58b6 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -5,7 +5,8 @@ import javafx.collections.ObservableList; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.exceptions.DuplicateEventException; +import seedu.address.model.event.exceptions.EventNotFoundException; import seedu.address.model.person.Person; import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -96,16 +97,16 @@ void deleteCommandShortcut(ShortcutDoubles commandShortcut) void deleteTag(Tag tag) throws PersonNotFoundException, DuplicatePersonException; /** Adds the given appointment */ - void addAppointment(Appointment appointment) throws UniqueEventList.DuplicateEventException; + void addAppointment(Appointment appointment) throws DuplicateEventException; /** Deletes the given appointment. */ - void deleteAppointment(Appointment appointment) throws UniqueEventList.EventNotFoundException; + void deleteAppointment(Appointment appointment) throws EventNotFoundException; /** Adds the given task */ - void addTask(Task task) throws UniqueEventList.DuplicateEventException; + void addTask(Task task) throws DuplicateEventException; /** Deletes the given task */ - void deleteTask(Task task) throws UniqueEventList.EventNotFoundException; + void deleteTask(Task task) throws EventNotFoundException; /** Change the current active list that is being displayed in the model */ void changeCurrentActiveListType(String itemType); diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index b3930d82680b..dc0ce67b1029 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -15,7 +15,8 @@ import seedu.address.commons.events.model.AppointmentListChangedEvent; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.exceptions.DuplicateEventException; +import seedu.address.model.event.exceptions.EventNotFoundException; import seedu.address.model.person.Person; import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -142,27 +143,27 @@ public void updateStudent(Student target, Student editedStudent) } @Override - public void addAppointment(Appointment appointment) throws UniqueEventList.DuplicateEventException { + public void addAppointment(Appointment appointment) throws DuplicateEventException { addressBook.addAppointment(appointment); indicateAddressBookChanged(); indicateAppointmentListChanged(); } @Override - public void deleteAppointment(Appointment target) throws UniqueEventList.EventNotFoundException { + public void deleteAppointment(Appointment target) throws EventNotFoundException { addressBook.removeAppointment(target); indicateAddressBookChanged(); indicateAppointmentListChanged(); } @Override - public void addTask(Task task) throws UniqueEventList.DuplicateEventException { + public void addTask(Task task) throws DuplicateEventException { addressBook.addTask(task); indicateAddressBookChanged(); } @Override - public void deleteTask(Task target) throws UniqueEventList.EventNotFoundException { + public void deleteTask(Task target) throws EventNotFoundException { addressBook.removeTask(target); indicateAddressBookChanged(); } diff --git a/src/main/java/seedu/address/model/event/UniqueEventList.java b/src/main/java/seedu/address/model/event/UniqueEventList.java index bd7eb76150e3..cd1547d4b6a5 100644 --- a/src/main/java/seedu/address/model/event/UniqueEventList.java +++ b/src/main/java/seedu/address/model/event/UniqueEventList.java @@ -8,7 +8,8 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; -import seedu.address.commons.exceptions.DuplicateDataException; +import seedu.address.model.event.exceptions.DuplicateEventException; +import seedu.address.model.event.exceptions.EventNotFoundException; /** * A list of events that enforces uniqueness between its elements and does not allow nulls. @@ -91,21 +92,4 @@ public boolean equals(Object other) { public int hashCode() { return internalList.hashCode(); } - - /** - * Signals that an operation would have violated the 'no duplicates' property of the list. - */ - public static class DuplicateEventException extends DuplicateDataException { - public DuplicateEventException() { - super("Operation would result in duplicate events"); - } - } - /** - * Signals that an operation is looking for an appointment doesn't exist. - */ - public static class EventNotFoundException extends Exception { - public EventNotFoundException() { - super("Event not found"); - } - } } diff --git a/src/main/java/seedu/address/model/event/exceptions/DuplicateEventException.java b/src/main/java/seedu/address/model/event/exceptions/DuplicateEventException.java new file mode 100644 index 000000000000..31642baa63dc --- /dev/null +++ b/src/main/java/seedu/address/model/event/exceptions/DuplicateEventException.java @@ -0,0 +1,12 @@ +package seedu.address.model.event.exceptions; + +import seedu.address.commons.exceptions.DuplicateDataException; + +/** + * Signals that an operation would have violated the 'no duplicates' property of the list. + */ +public class DuplicateEventException extends DuplicateDataException { + public DuplicateEventException() { + super("Operation would result in duplicate events"); + } +} diff --git a/src/main/java/seedu/address/model/event/exceptions/EventNotFoundException.java b/src/main/java/seedu/address/model/event/exceptions/EventNotFoundException.java new file mode 100644 index 000000000000..0c1d1ff1ea3a --- /dev/null +++ b/src/main/java/seedu/address/model/event/exceptions/EventNotFoundException.java @@ -0,0 +1,10 @@ +package seedu.address.model.event.exceptions; + +/** + * Signals that an operation is looking for an appointment doesn't exist. + */ +public class EventNotFoundException extends Exception { + public EventNotFoundException() { + super("Event not found"); + } +} diff --git a/src/test/java/seedu/address/model/ModelManagerTest.java b/src/test/java/seedu/address/model/ModelManagerTest.java index e20a810a2fa6..279a2744dffe 100644 --- a/src/test/java/seedu/address/model/ModelManagerTest.java +++ b/src/test/java/seedu/address/model/ModelManagerTest.java @@ -26,7 +26,8 @@ import junit.framework.TestCase; import seedu.address.commons.events.model.AddressBookChangedEvent; import seedu.address.commons.events.model.AppointmentListChangedEvent; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.exceptions.DuplicateEventException; +import seedu.address.model.event.exceptions.EventNotFoundException; import seedu.address.model.person.NameContainsKeywordsPredicate; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -86,7 +87,7 @@ public void removePerson_removePersonFromAddressBook_evokeAddressBookChangedEven @Test public void addTask_addTaskToAddressBook_evokeAddressBookChangedEvent() - throws UniqueEventList.DuplicateEventException { + throws DuplicateEventException { ModelManager model = new ModelManager(addressBook, userPrefs); modelManager.addTask(TYPICAL_TASK_3); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); @@ -94,7 +95,7 @@ public void addTask_addTaskToAddressBook_evokeAddressBookChangedEvent() @Test public void removeTask_removeTaskFromAddressBook_evokeAddressBookChangedEvent() - throws UniqueEventList.EventNotFoundException { + throws EventNotFoundException { ModelManager model = new ModelManager(addressBook, userPrefs); modelManager.deleteTask(TYPICAL_TASK_1); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); @@ -102,7 +103,7 @@ public void removeTask_removeTaskFromAddressBook_evokeAddressBookChangedEvent() @Test public void addTask_addAppointmentToAddressBook_evokeAppointmentListChangedEvent() - throws UniqueEventList.DuplicateEventException { + throws DuplicateEventException { ModelManager model = new ModelManager(addressBook, userPrefs); modelManager.addAppointment(TYPICAL_APPOINTMENT_3); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AppointmentListChangedEvent); @@ -111,7 +112,7 @@ public void addTask_addAppointmentToAddressBook_evokeAppointmentListChangedEvent @Test public void removeTask_removeAppointmentFromAddressBook_evokeAppointmentListChangedEvent() - throws UniqueEventList.EventNotFoundException { + throws EventNotFoundException { ModelManager model = new ModelManager(addressBook, userPrefs); modelManager.deleteAppointment(TYPICAL_APPOINTMENT_1); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AppointmentListChangedEvent); diff --git a/src/test/java/seedu/address/testutil/AddressBookBuilder.java b/src/test/java/seedu/address/testutil/AddressBookBuilder.java index 642ae59a304e..b31ae50e43ae 100644 --- a/src/test/java/seedu/address/testutil/AddressBookBuilder.java +++ b/src/test/java/seedu/address/testutil/AddressBookBuilder.java @@ -3,7 +3,7 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.AddressBook; import seedu.address.model.event.Appointment; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.exceptions.DuplicateEventException; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.tag.Tag; @@ -55,7 +55,7 @@ public AddressBookBuilder withTag(String tagName) { public AddressBookBuilder withAppointment(Appointment appointment) { try { addressBook.addAppointment(appointment); - } catch (UniqueEventList.DuplicateEventException ive) { + } catch (DuplicateEventException ive) { throw new IllegalArgumentException("appointment is expected to be unique"); } return this; diff --git a/src/test/java/seedu/address/testutil/TypicalPersons.java b/src/test/java/seedu/address/testutil/TypicalPersons.java index c296cabcda39..9cab60478f7c 100644 --- a/src/test/java/seedu/address/testutil/TypicalPersons.java +++ b/src/test/java/seedu/address/testutil/TypicalPersons.java @@ -19,7 +19,7 @@ import seedu.address.model.AddressBook; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.exceptions.DuplicateEventException; import seedu.address.model.person.Person; import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -95,14 +95,14 @@ public static AddressBook getTypicalAddressBook() { for (Appointment ap : TypicalEvents.getTypicalAppointments()) { try { ab.addAppointment(ap); - } catch (UniqueEventList.DuplicateEventException e) { + } catch (DuplicateEventException e) { throw new AssertionError("not possible"); } } for (Task t : TypicalEvents.getTypicalTasks()) { try { ab.addTask(t); - } catch (UniqueEventList.DuplicateEventException e) { + } catch (DuplicateEventException e) { throw new AssertionError("not possible"); } } diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index 92e66c4761e2..48d3ce02b349 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -10,6 +10,8 @@ import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.exceptions.DuplicateEventException; +import seedu.address.model.event.exceptions.EventNotFoundException; import seedu.address.model.person.Person; import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -123,22 +125,22 @@ public void deleteTag(Tag tag) { } @Override - public void addAppointment(Appointment appointment) throws UniqueEventList.DuplicateEventException { + public void addAppointment(Appointment appointment) throws DuplicateEventException { fail("This method should not be called."); } @Override - public void deleteAppointment(Appointment appointment) throws UniqueEventList.EventNotFoundException { + public void deleteAppointment(Appointment appointment) throws EventNotFoundException { fail("This method should not be called."); } @Override - public void addTask(Task task) throws UniqueEventList.DuplicateEventException { + public void addTask(Task task) throws DuplicateEventException { fail("This method should not be called."); } @Override - public void deleteTask(Task task) throws UniqueEventList.EventNotFoundException { + public void deleteTask(Task task) throws EventNotFoundException { fail("This method should not be called."); } } diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java index 508a58e944a9..7c491269fdd4 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java @@ -7,7 +7,7 @@ import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.event.Task; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.exceptions.DuplicateEventException; //@@author Sisyphus25 /** @@ -17,7 +17,7 @@ public class ModelStubAcceptingTaskAdded extends ModelStub { public final ArrayList tasksAdded = new ArrayList<>(); @Override - public void addTask(Task event) throws UniqueEventList.DuplicateEventException { + public void addTask(Task event) throws DuplicateEventException { requireNonNull(event); tasksAdded.add(event); } diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java index 47837db2978d..2de7ec544b15 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java @@ -4,7 +4,7 @@ import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; -import seedu.address.model.event.UniqueEventList; +import seedu.address.model.event.exceptions.DuplicateEventException; //@@author Sisyphus25 /** @@ -12,13 +12,13 @@ */ public class ModelStubThrowingDuplicateEventException extends ModelStub { @Override - public void addAppointment (Appointment appointment) throws UniqueEventList.DuplicateEventException { - throw new UniqueEventList.DuplicateEventException(); + public void addAppointment (Appointment appointment) throws DuplicateEventException { + throw new DuplicateEventException(); } @Override - public void addTask (Task task) throws UniqueEventList.DuplicateEventException { - throw new UniqueEventList.DuplicateEventException(); + public void addTask (Task task) throws DuplicateEventException { + throw new DuplicateEventException(); } @Override From 65b82b85be7dc5398341f84fe337a6bf8854262a Mon Sep 17 00:00:00 2001 From: randypx Date: Sun, 1 Apr 2018 16:32:27 +0800 Subject: [PATCH 229/288] deleted unused imports --- src/test/java/seedu/address/testutil/modelstub/ModelStub.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index 48d3ce02b349..2ddc7f5f0244 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -9,7 +9,6 @@ import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; -import seedu.address.model.event.UniqueEventList; import seedu.address.model.event.exceptions.DuplicateEventException; import seedu.address.model.event.exceptions.EventNotFoundException; import seedu.address.model.person.Person; From b958f6571d687f4a329026ee60a2ec48fbbba89d Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi Date: Sun, 1 Apr 2018 17:00:05 +0800 Subject: [PATCH 230/288] Revert "Creating Student list" --- .../address/logic/commands/AddCommand.java | 4 +- .../address/logic/commands/DeleteCommand.java | 31 +-- .../address/logic/commands/EditCommand.java | 36 +--- .../address/logic/commands/ListCommand.java | 53 ++--- .../address/logic/commands/RemoveCommand.java | 4 +- .../logic/commands/SetAppointmentCommand.java | 4 +- .../logic/commands/SetTaskCommand.java | 4 +- .../logic/parser/ListCommandParser.java | 10 +- .../java/seedu/address/model/AddressBook.java | 196 ++++-------------- src/main/java/seedu/address/model/Model.java | 31 +-- .../seedu/address/model/ModelManager.java | 45 +--- .../address/model/ReadOnlyAddressBook.java | 13 -- .../address/model/event/UniqueEventList.java | 20 +- .../exceptions/DuplicateEventException.java | 12 -- .../exceptions/EventNotFoundException.java | 10 - .../model/person/UniqueContactList.java | 56 ----- .../model/person/UniquePersonList.java | 16 -- .../model/person/UniqueStudentList.java | 136 ------------ .../address/storage/XmlAdaptedStudent.java | 137 ------------ .../storage/XmlSerializableAddressBook.java | 8 - .../seedu/address/logic/LogicManagerTest.java | 5 +- .../logic/commands/AddCommandTest.java | 2 +- .../logic/commands/ListCommandTest.java | 19 +- .../logic/parser/AddressBookParserTest.java | 7 +- .../logic/parser/ListCommandParserTest.java | 8 +- .../seedu/address/model/AddressBookTest.java | 33 +-- .../seedu/address/model/ModelManagerTest.java | 11 +- .../address/testutil/AddressBookBuilder.java | 4 +- .../address/testutil/TypicalPersons.java | 8 +- .../address/testutil/modelstub/ModelStub.java | 28 +-- .../ModelStubAcceptingTaskAdded.java | 4 +- ...elStubThrowingDuplicateEventException.java | 10 +- .../java/seedu/address/ui/CommandBoxTest.java | 8 +- .../systemtests/AddCommandSystemTest.java | 18 +- .../systemtests/AddressBookSystemTest.java | 2 +- .../XmlAddressBookStorageTest/testingName.xml | 25 --- 36 files changed, 189 insertions(+), 829 deletions(-) delete mode 100644 src/main/java/seedu/address/model/event/exceptions/DuplicateEventException.java delete mode 100644 src/main/java/seedu/address/model/event/exceptions/EventNotFoundException.java delete mode 100644 src/main/java/seedu/address/model/person/UniqueContactList.java delete mode 100644 src/main/java/seedu/address/model/person/UniqueStudentList.java delete mode 100644 src/main/java/seedu/address/storage/XmlAdaptedStudent.java delete mode 100644 test/data/XmlAddressBookStorageTest/testingName.xml diff --git a/src/main/java/seedu/address/logic/commands/AddCommand.java b/src/main/java/seedu/address/logic/commands/AddCommand.java index d835c203d328..96a26106a3a3 100644 --- a/src/main/java/seedu/address/logic/commands/AddCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddCommand.java @@ -53,12 +53,10 @@ public AddCommand(Person person) { public CommandResult executeUndoableCommand() throws CommandException { requireNonNull(model); try { - + model.addPerson(toAdd); if (toAdd instanceof Student) { - model.addStudent((Student) toAdd); return new CommandResult(String.format(MESSAGE_ADD_STUDENT_SUCCESS, toAdd)); } else { - model.addPerson(toAdd); return new CommandResult(String.format(MESSAGE_ADD_PERSON_SUCCESS, toAdd)); } } catch (DuplicatePersonException e) { diff --git a/src/main/java/seedu/address/logic/commands/DeleteCommand.java b/src/main/java/seedu/address/logic/commands/DeleteCommand.java index e1182e32df6e..b539d240001a 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteCommand.java +++ b/src/main/java/seedu/address/logic/commands/DeleteCommand.java @@ -1,5 +1,7 @@ package seedu.address.logic.commands; +import static java.util.Objects.requireNonNull; + import java.util.List; import java.util.Objects; @@ -7,7 +9,6 @@ import seedu.address.commons.core.index.Index; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.person.Person; -import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.PersonNotFoundException; /** @@ -27,7 +28,6 @@ public class DeleteCommand extends UndoableCommand { private final Index targetIndex; private Person personToDelete; - private Student studentToDelete; public DeleteCommand(Index targetIndex) { this.targetIndex = targetIndex; @@ -36,20 +36,11 @@ public DeleteCommand(Index targetIndex) { @Override public CommandResult executeUndoableCommand() { - if (personToDelete != null && studentToDelete == null) { - try { - model.deletePerson(personToDelete); - } catch (PersonNotFoundException pnfe) { - throw new AssertionError("The target person cannot be missing"); - } - } else if (personToDelete == null && studentToDelete != null) { - try { - model.deleteStudent(studentToDelete); - } catch (PersonNotFoundException pnfe) { - throw new AssertionError("The target student cannot be missing"); - } - } else { - throw new NullPointerException(); + requireNonNull(personToDelete); + try { + model.deletePerson(personToDelete); + } catch (PersonNotFoundException pnfe) { + throw new AssertionError("The target person cannot be missing"); } return new CommandResult(String.format(MESSAGE_DELETE_PERSON_SUCCESS, personToDelete)); @@ -63,13 +54,7 @@ protected void preprocessUndoableCommand() throws CommandException { throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); } - if (lastShownList.get(targetIndex.getZeroBased()) instanceof Student) { - studentToDelete = (Student) lastShownList.get(targetIndex.getZeroBased()); - personToDelete = null; - } else { - personToDelete = lastShownList.get(targetIndex.getZeroBased()); - studentToDelete = null; - } + personToDelete = lastShownList.get(targetIndex.getZeroBased()); } @Override diff --git a/src/main/java/seedu/address/logic/commands/EditCommand.java b/src/main/java/seedu/address/logic/commands/EditCommand.java index f81c221c8f58..e6c3a3e034bc 100644 --- a/src/main/java/seedu/address/logic/commands/EditCommand.java +++ b/src/main/java/seedu/address/logic/commands/EditCommand.java @@ -24,7 +24,6 @@ import seedu.address.model.person.Name; import seedu.address.model.person.Person; import seedu.address.model.person.Phone; -import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.tag.Tag; @@ -50,7 +49,6 @@ public class EditCommand extends UndoableCommand { + PREFIX_EMAIL + "johndoe@example.com"; public static final String MESSAGE_EDIT_PERSON_SUCCESS = "Edited Person: %1$s"; - public static final String MESSAGE_EDIT_STUDENT_SUCCESS = "Edited Student: %1$s"; public static final String MESSAGE_NOT_EDITED = "At least one field to edit must be provided."; public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book."; @@ -59,8 +57,6 @@ public class EditCommand extends UndoableCommand { private Person personToEdit; private Person editedPerson; - private Student studentToEdit; - private Student editedStudent; /** * @param index of the person in the filtered person list to edit @@ -77,20 +73,14 @@ public EditCommand(Index index, EditPersonDescriptor editPersonDescriptor) { @Override public CommandResult executeUndoableCommand() throws CommandException { try { - if (personToEdit != null) { - model.updatePerson(personToEdit, editedPerson); - model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); - return new CommandResult(String.format(MESSAGE_EDIT_PERSON_SUCCESS, editedPerson)); - } else { - model.updateStudent(studentToEdit, editedStudent); - model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); - return new CommandResult(String.format(MESSAGE_EDIT_STUDENT_SUCCESS, editedStudent)); - } + model.updatePerson(personToEdit, editedPerson); } catch (DuplicatePersonException dpe) { throw new CommandException(MESSAGE_DUPLICATE_PERSON); } catch (PersonNotFoundException pnfe) { - throw new AssertionError("The target contact cannot be missing"); + throw new AssertionError("The target person cannot be missing"); } + model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + return new CommandResult(String.format(MESSAGE_EDIT_PERSON_SUCCESS, editedPerson)); } @Override @@ -101,15 +91,8 @@ protected void preprocessUndoableCommand() throws CommandException { throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); } - if (lastShownList.get(index.getZeroBased()) instanceof Student) { - studentToEdit = (Student) lastShownList.get(index.getZeroBased()); - editedStudent = (Student) createEditedPerson(studentToEdit, editPersonDescriptor); - personToEdit = editedPerson = null; - } else { - personToEdit = lastShownList.get(index.getZeroBased()); - editedPerson = createEditedPerson(personToEdit, editPersonDescriptor); - studentToEdit = editedStudent = null; - } + personToEdit = lastShownList.get(index.getZeroBased()); + editedPerson = createEditedPerson(personToEdit, editPersonDescriptor); } /** @@ -125,12 +108,7 @@ private static Person createEditedPerson(Person personToEdit, EditPersonDescript Address updatedAddress = editPersonDescriptor.getAddress().orElse(personToEdit.getAddress()); Set updatedTags = editPersonDescriptor.getTags().orElse(personToEdit.getTags()); - if (personToEdit instanceof Student) { - return new Student(updatedName, updatedPhone, updatedEmail, updatedAddress, updatedTags); - } else { - return new Person(updatedName, updatedPhone, updatedEmail, updatedAddress, updatedTags); - - } + return new Person(updatedName, updatedPhone, updatedEmail, updatedAddress, updatedTags); } @Override diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index a1d019f5174c..8eb309e45105 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -1,7 +1,6 @@ package seedu.address.logic.commands; import static seedu.address.model.Model.PREDICATE_SHOW_ALL_PERSONS; -import static seedu.address.model.Model.PREDICATE_SHOW_ONLY_STUDENTS; import seedu.address.commons.core.EventsCenter; import seedu.address.commons.events.ui.ToggleListEvent; @@ -14,54 +13,40 @@ public class ListCommand extends Command { public static final String COMMAND_WORD = "list"; - public static final String MESSAGE_SUCCESS = "Listed all "; + public static final String MESSAGE_SUCCESS = "Item List Changed"; - public static final String TYPE_CONTACT = "contact"; - public static final String TYPE_STUDENT = "student"; - public static final String TYPE_APPOINTMENT = "appointment"; - public static final String TYPE_TASK = "task"; - private static final String MESSAGE_INVALID_TYPE = "TYPE is missing or invalid"; - - public static final String MESSAGE_USAGE = COMMAND_WORD + ": Lists selected type. \n" - + "Parameter: TYPE\n" + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Show listing of item selected. \n" + + "Parameter: ITEM\n" + + "Item list: person, appointments\n" + "Example: " + COMMAND_WORD + " appointment"; - private final String type; + private String item; - public ListCommand(String type) { - this.type = type; + public ListCommand(String item) { + this.item = item; } @Override public CommandResult execute() throws CommandException { - switch (type) { - case TYPE_CONTACT: - model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); - return new CommandResult(MESSAGE_SUCCESS + TYPE_CONTACT); - - case TYPE_STUDENT: - model.updateFilteredPersonList(PREDICATE_SHOW_ONLY_STUDENTS); - return new CommandResult(MESSAGE_SUCCESS + TYPE_STUDENT); - - case TYPE_APPOINTMENT: - model.changeCurrentActiveListType(type); - EventsCenter.getInstance().post(new ToggleListEvent(type)); - return new CommandResult(MESSAGE_SUCCESS + TYPE_APPOINTMENT); - - case TYPE_TASK: - model.changeCurrentActiveListType(type); - EventsCenter.getInstance().post(new ToggleListEvent(type)); - return new CommandResult(MESSAGE_SUCCESS + TYPE_TASK); - + switch(item) { + case("appointment"): + case("task"): + model.changeCurrentActiveListType(item); + EventsCenter.getInstance().post(new ToggleListEvent(item)); + break; + case("person"): default: - throw new CommandException(MESSAGE_INVALID_TYPE); + model.changeCurrentActiveListType(item); + model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + EventsCenter.getInstance().post(new ToggleListEvent(model.LIST_TYPE_PERSON)); } + return new CommandResult(MESSAGE_SUCCESS); } @Override public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof ListCommand // instanceof handles nulls - && this.type.equals(((ListCommand) other).type)); // state check + && this.item.equals(((ListCommand) other).item)); // state check } } diff --git a/src/main/java/seedu/address/logic/commands/RemoveCommand.java b/src/main/java/seedu/address/logic/commands/RemoveCommand.java index f426799a6ab8..8204cb6b0348 100644 --- a/src/main/java/seedu/address/logic/commands/RemoveCommand.java +++ b/src/main/java/seedu/address/logic/commands/RemoveCommand.java @@ -12,7 +12,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; -import seedu.address.model.event.exceptions.EventNotFoundException; +import seedu.address.model.event.UniqueEventList; //@@author Sisyphus25 /** @@ -51,7 +51,7 @@ public CommandResult executeUndoableCommand() { } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { model.deleteTask((Task) eventToBeDeleted); } - } catch (EventNotFoundException ive) { + } catch (UniqueEventList.EventNotFoundException ive) { throw new AssertionError(String.format("The target %s cannot be missing", eventTypeOfDeletedTarget)); } return new CommandResult( diff --git a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java index 3108bd3878da..e4c3500682e4 100644 --- a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java @@ -13,7 +13,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.event.Appointment; import seedu.address.model.event.PersonToMeet; -import seedu.address.model.event.exceptions.DuplicateEventException; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; //@@author Sisyphus25 @@ -74,7 +74,7 @@ public CommandResult executeUndoableCommand() throws CommandException { } model.addAppointment(toAdd); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (DuplicateEventException e) { + } catch (UniqueEventList.DuplicateEventException e) { throw new CommandException(MESSAGE_DUPLICATE_APPOINTMENT); } diff --git a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java index e8665e771355..c77829e10df9 100644 --- a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java @@ -6,7 +6,7 @@ import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.event.Task; -import seedu.address.model.event.exceptions.DuplicateEventException; +import seedu.address.model.event.UniqueEventList; //@@author Sisyphus25 /** @@ -43,7 +43,7 @@ public CommandResult executeUndoableCommand() throws CommandException { try { model.addTask(toAdd); return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (DuplicateEventException e) { + } catch (UniqueEventList.DuplicateEventException e) { throw new CommandException(MESSAGE_DUPLICATE_TASK); } diff --git a/src/main/java/seedu/address/logic/parser/ListCommandParser.java b/src/main/java/seedu/address/logic/parser/ListCommandParser.java index 8f112d88974d..1ff5506cc0f0 100644 --- a/src/main/java/seedu/address/logic/parser/ListCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ListCommandParser.java @@ -29,11 +29,13 @@ public ListCommand parse(String args) throws ParseException { * @return whether if the string is a valid view mode or not */ private boolean isValidItem(String str) { + if (str.isEmpty()) { + return true; + } switch (str) { - case(ListCommand.TYPE_CONTACT): - case(ListCommand.TYPE_STUDENT): - case(ListCommand.TYPE_APPOINTMENT): - case(ListCommand.TYPE_TASK): + case("appointment"): + case("task"): + case("person"): return true; default: return false; diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 8b00889d389e..1e2068b7a20e 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -14,13 +14,8 @@ import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; import seedu.address.model.event.UniqueEventList; -import seedu.address.model.event.exceptions.DuplicateEventException; -import seedu.address.model.event.exceptions.EventNotFoundException; import seedu.address.model.person.Person; -import seedu.address.model.person.Student; -import seedu.address.model.person.UniqueContactList; import seedu.address.model.person.UniquePersonList; -import seedu.address.model.person.UniqueStudentList; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.shortcuts.ShortcutDoubles; @@ -34,14 +29,11 @@ */ public class AddressBook implements ReadOnlyAddressBook { - private final UniqueContactList contacts; private final UniquePersonList persons; - private final UniqueStudentList students; private final UniqueTagList tags; private final UniqueEventList appointments; private final UniqueEventList tasks; private final UniqueShortcutDoublesList shorcutCommands; - /* * The 'unusual' code block below is an non-static initialization block, sometimes used to avoid duplication * between constructors. See https://docs.oracle.com/javase/tutorial/java/javaOO/initial.html @@ -51,11 +43,9 @@ public class AddressBook implements ReadOnlyAddressBook { */ { persons = new UniquePersonList(); - students = new UniqueStudentList(); - contacts = new UniqueContactList(persons, students); tags = new UniqueTagList(); - appointments = new UniqueEventList<>(); - tasks = new UniqueEventList<>(); + appointments = new UniqueEventList(); + tasks = new UniqueEventList(); shorcutCommands = new UniqueShortcutDoublesList(); } @@ -69,22 +59,18 @@ public AddressBook(ReadOnlyAddressBook toBeCopied) { resetData(toBeCopied); } - //// list operations + //// list overwrite operations public void setPersons(List persons) throws DuplicatePersonException { this.persons.setPersons(persons); } - public void setStudents(List students) throws DuplicatePersonException { - this.students.setStudents(students); - } - public void setTags(Set tags) { this.tags.setTags(tags); } public void setAppointments(List appointments) - throws DuplicateEventException { + throws UniqueEventList.DuplicateEventException { this.appointments.setEvents(appointments); } @@ -92,7 +78,7 @@ public void setShorcutCommands(List shorcutCommands) { this.shorcutCommands.setCommandsList(shorcutCommands); } public void setTasks(List tasks) - throws DuplicateEventException { + throws UniqueEventList.DuplicateEventException { this.tasks.setEvents(tasks); } @@ -102,28 +88,22 @@ public void setTasks(List tasks) public void resetData(ReadOnlyAddressBook newData) { requireNonNull(newData); setTags(new HashSet<>(newData.getTagList())); - List commandsList = newData.getCommandsList(); + List syncedPersonList = newData.getPersonList().stream() + .map(this::syncWithMasterTagList) + .collect(Collectors.toList()); + List appointmentList = newData.getAppointmentList(); List taskList = newData.getTaskList(); - List syncedContactList = newData.getContactList().stream() - .map(this::syncWithMasterTagList).collect(Collectors.toList()); + List commandsList = newData.getCommandsList(); try { - setShorcutCommands(commandsList); + setPersons(syncedPersonList); setAppointments(appointmentList); setTasks(taskList); - persons.setPersons(new UniquePersonList()); - students.setStudents(new UniqueStudentList()); - for (Person contact : syncedContactList) { - if (contact instanceof Student) { - addStudent((Student) contact); - } else { - addPerson(contact); - } - } + setShorcutCommands(commandsList); } catch (DuplicatePersonException e) { throw new AssertionError("TeachConnect should not have duplicate persons"); - } catch (DuplicateEventException e) { + } catch (UniqueEventList.DuplicateEventException e) { throw new AssertionError("TeachConnect should not have duplicate events"); } } @@ -139,29 +119,10 @@ public void resetData(ReadOnlyAddressBook newData) { */ public void addPerson(Person p) throws DuplicatePersonException { Person person = syncWithMasterTagList(p); - try { - persons.add(person); - } catch (DuplicatePersonException e) { - removeUnusedTags(); - throw e; - } - } - - /** - * Adds a student to the address book. - * Also checks the new student's tags and updates {@link #tags} with any new tags found, - * and updates the Tag objects in the student to point to those in {@link #tags}. - * - * @throws DuplicatePersonException if an equivalent student already exists. - */ - public void addStudent(Student s) throws DuplicatePersonException { - Student student = (Student) syncWithMasterTagList(s); - try { - students.add(student); - } catch (DuplicatePersonException e) { - removeUnusedTags(); - throw e; - } + // TODO: the tags master list will be updated even though the below line fails. + // This can cause the tags master list to have additional tags that are not tagged to any person + // in the person list. + persons.add(person); } /** @@ -179,49 +140,27 @@ public void updatePerson(Person target, Person editedPerson) requireNonNull(editedPerson); Person syncedEditedPerson = syncWithMasterTagList(editedPerson); - try { - persons.setPerson(target, syncedEditedPerson); - } finally { - removeUnusedTags(); - } + // TODO: the tags master list will be updated even though the below line fails. + // This can cause the tags master list to have additional tags that are not tagged to any person + // in the person list. + persons.setPerson(target, syncedEditedPerson); + removeUnusedTags(); } /** - * Replaces the given student {@code target} in the list with {@code editedStudent}. - * {@code AddressBook}'s tag list will be updated with the tags of {@code editedStudent}. - * - * @throws DuplicatePersonException if updating the student's details causes the student to be equivalent to - * another existing person in the list. - * @throws PersonNotFoundException if {@code target} could not be found in the list. - * - * @see #syncWithMasterTagList(Person) - */ - public void updateStudent(Student target, Student editedStudent) - throws DuplicatePersonException, PersonNotFoundException { - requireNonNull(editedStudent); - - Student syncedEditedStudent = (Student) syncWithMasterTagList(editedStudent); - try { - students.setStudent(target, syncedEditedStudent); - } finally { - removeUnusedTags(); - } - } - - /** - * Removes all {@code Tag}s that are not used by any {@code Person} or {@code Student} in this {@code AddressBook}. + * Removes all {@code Tag}s that are not used by any {@code Person} in this {@code AddressBook}. */ private void removeUnusedTags() { - Set tagsInContacts = contacts.asObservableList().stream().map(Person::getTags).flatMap(Set::stream) + Set tagsInPersons = persons.asObservableList().stream().map(Person::getTags).flatMap(Set::stream) .collect(Collectors.toSet()); - tags.setTags(tagsInContacts); + tags.setTags(tagsInPersons); } /** - * Updates the master tag list to include tags in {@code person} or {@code student} that are not in the list. - * @return a copy of this {@code person} or {@code student} such that every tag in this person points to a Tag - * object in the master list. + * Updates the master tag list to include tags in {@code person} that are not in the list. + * @return a copy of this {@code person} such that every tag in this person points to a Tag object in the master + * list. */ private Person syncWithMasterTagList(Person person) { final UniqueTagList personTags = new UniqueTagList(person.getTags()); @@ -235,14 +174,8 @@ private Person syncWithMasterTagList(Person person) { // Rebuild the list of person tags to point to the relevant tags in the master tag list. final Set correctTagReferences = new HashSet<>(); personTags.forEach(tag -> correctTagReferences.add(masterTagObjects.get(tag))); - - if (person instanceof Student) { - return new Student( - person.getName(), person.getPhone(), person.getEmail(), person.getAddress(), correctTagReferences); - } else { - return new Person( - person.getName(), person.getPhone(), person.getEmail(), person.getAddress(), correctTagReferences); - } + return new Person( + person.getName(), person.getPhone(), person.getEmail(), person.getAddress(), correctTagReferences); } /** @@ -257,17 +190,6 @@ public boolean removePerson(Person key) throws PersonNotFoundException { } } - /** - * Removes {@code key} from this {@code AddressBook}. - * @throws PersonNotFoundException if the {@code key} is not in this {@code AddressBook}. - */ - public boolean removeStudent(Student key) throws PersonNotFoundException { - if (students.remove(key)) { - return true; - } else { - throw new PersonNotFoundException(); - } - } /** * * @param commandShortcut @@ -299,7 +221,6 @@ public void addShortcutDoubles(ShortcutDoubles s) @Override public String toString() { return persons.asObservableList().size() + " persons, " - + students.asObservableList().size() + " students, " + tags.asObservableList().size() + " tags, " + appointments.asObservableList().size() + " appointments, " + tasks.asObservableList().size() + " tasks"; @@ -311,16 +232,6 @@ public ObservableList getPersonList() { return persons.asObservableList(); } - @Override - public ObservableList getStudentList() { - return students.asObservableList(); - } - - @Override - public ObservableList getContactList() { - return contacts.asObservableList(); - } - @Override public ObservableList getTagList() { return tags.asObservableList(); @@ -346,7 +257,6 @@ public boolean equals(Object other) { return other == this // short circuit if same object || (other instanceof AddressBook // instanceof handles nulls && this.persons.equals(((AddressBook) other).persons) - && this.students.equals(((AddressBook) other).students) && this.appointments.equals(((AddressBook) other).appointments) && this.tasks.equals(((AddressBook) other).tasks) && this.tags.equalsOrderInsensitive(((AddressBook) other).tags) @@ -360,20 +270,17 @@ public int hashCode() { } /** - * Removes the particular tag for all people in the AddressBook. + * Removes the particular tag for all people in the AddressBook }. */ public void removeTag(Tag tag) throws DuplicatePersonException, PersonNotFoundException { for (Person person : persons) { removeTagFromPerson(tag, person); } - for (Student student : students) { - removeTagFromStudent(tag, student); - } } /** - * Removes the particular tag for that particular person in the AddressBook. + * Removes the particular tag for that particular person in the AddressBook }. */ private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundException, DuplicatePersonException { Set listOfTags = new HashSet<>(person.getTags()); @@ -390,65 +297,48 @@ private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundEx updatePerson(person, updatedPerson); } - /** - * Removes the particular tag for that particular student in the AddressBook. - */ - private void removeTagFromStudent(Tag tag, Student student) - throws PersonNotFoundException, DuplicatePersonException { - Set listOfTags = new HashSet<>(student.getTags()); - - if (listOfTags.contains(tag)) { - listOfTags.remove(tag); - } else { - return; - } - - Student updatedStudent = new Student(student.getName(), student.getPhone(), student.getEmail(), - student.getAddress(), listOfTags); - - updateStudent(student, updatedStudent); - } //@@author Sisyphus25 //event operations + /** * Adds an appointment to the address book. * - * @throws DuplicateEventException if an equivalent appointment already exists. + * @throws UniqueEventList.DuplicateEventException if an equivalent appointment already exists. */ - public void addAppointment(Appointment e) throws DuplicateEventException { + public void addAppointment(Appointment e) throws UniqueEventList.DuplicateEventException { appointments.add(e); } /** * Removes {@code key} from this {@code AddressBook}. - * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + * @throws UniqueEventList.EventNotFoundException if the {@code key} is not in this {@code AddressBook}. */ - public boolean removeAppointment(Appointment key) throws EventNotFoundException { + public boolean removeAppointment(Appointment key) throws UniqueEventList.EventNotFoundException { if (appointments.remove(key)) { return true; } else { - throw new EventNotFoundException(); + throw new UniqueEventList.EventNotFoundException(); } } /** * Adds a task to the address book. * - * @throws DuplicateEventException if an equivalent appointment already exists. + * @throws UniqueEventList.DuplicateEventException if an equivalent appointment already exists. */ - public void addTask(Task e) throws DuplicateEventException { + public void addTask(Task e) throws UniqueEventList.DuplicateEventException { tasks.add(e); } /** * Removes {@code key} from this {@code AddressBook}. - * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + * @throws UniqueEventList.EventNotFoundException if the {@code key} is not in this {@code AddressBook}. */ - public boolean removeTask(Task key) throws EventNotFoundException { + public boolean removeTask(Task key) throws UniqueEventList.EventNotFoundException { if (tasks.remove(key)) { return true; } else { - throw new EventNotFoundException(); + throw new UniqueEventList.EventNotFoundException(); } } } diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 232ad3fd58b6..e0bcb8ac675e 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -5,10 +5,8 @@ import javafx.collections.ObservableList; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; -import seedu.address.model.event.exceptions.DuplicateEventException; -import seedu.address.model.event.exceptions.EventNotFoundException; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; -import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.shortcuts.ShortcutDoubles; @@ -26,8 +24,6 @@ public interface Model { /** {@code Predicate} that always evaluate to true */ Predicate PREDICATE_SHOW_ALL_PERSONS = unused -> true; - Predicate PREDICATE_SHOW_ONLY_STUDENTS = person -> person instanceof Student; - /** Clears existing backing model and replaces with the provided new data. */ void resetData(ReadOnlyAddressBook newData); @@ -37,16 +33,9 @@ public interface Model { /** Deletes the given person. */ void deletePerson(Person target) throws PersonNotFoundException; - /** Deletes the given student. */ - void deleteStudent(Student target) throws PersonNotFoundException; - /** Adds the given person */ void addPerson(Person person) throws DuplicatePersonException; - - /** Adds the given student */ - void addStudent(Student student) throws DuplicatePersonException; - void addCommandShortcut(ShortcutDoubles shortcutDoubles) throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException; @@ -60,16 +49,6 @@ void addCommandShortcut(ShortcutDoubles shortcutDoubles) void updatePerson(Person target, Person editedPerson) throws DuplicatePersonException, PersonNotFoundException; - /** - * Replaces the given student {@code target} with {@code editedStudent}. - * - * @throws DuplicatePersonException if updating the student's details causes the student to be equivalent to - * another existing student in the list. - * @throws PersonNotFoundException if {@code target} could not be found in the list. - */ - void updateStudent(Student target, Student editedStudent) - throws DuplicatePersonException, PersonNotFoundException; - /** Returns an unmodifiable view of the filtered person list */ ObservableList getFilteredPersonList(); @@ -97,16 +76,16 @@ void deleteCommandShortcut(ShortcutDoubles commandShortcut) void deleteTag(Tag tag) throws PersonNotFoundException, DuplicatePersonException; /** Adds the given appointment */ - void addAppointment(Appointment appointment) throws DuplicateEventException; + void addAppointment(Appointment appointment) throws UniqueEventList.DuplicateEventException; /** Deletes the given appointment. */ - void deleteAppointment(Appointment appointment) throws EventNotFoundException; + void deleteAppointment(Appointment appointment) throws UniqueEventList.EventNotFoundException; /** Adds the given task */ - void addTask(Task task) throws DuplicateEventException; + void addTask(Task task) throws UniqueEventList.DuplicateEventException; /** Deletes the given task */ - void deleteTask(Task task) throws EventNotFoundException; + void deleteTask(Task task) throws UniqueEventList.EventNotFoundException; /** Change the current active list that is being displayed in the model */ void changeCurrentActiveListType(String itemType); diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index dc0ce67b1029..1aad3b67ef1a 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -15,10 +15,8 @@ import seedu.address.commons.events.model.AppointmentListChangedEvent; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; -import seedu.address.model.event.exceptions.DuplicateEventException; -import seedu.address.model.event.exceptions.EventNotFoundException; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; -import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.shortcuts.ShortcutDoubles; @@ -37,7 +35,7 @@ public class ModelManager extends ComponentManager implements Model { private static final Logger logger = LogsCenter.getLogger(ModelManager.class); private final AddressBook addressBook; - private final FilteredList filteredContacts; + private final FilteredList filteredPersons; private final FilteredList filteredAppointments; private final FilteredList filteredTasks; private final FilteredList filteredShortcutCommands; @@ -53,7 +51,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, UserPrefs userPrefs) { logger.fine("Initializing with address book: " + addressBook + " and user prefs " + userPrefs); this.addressBook = new AddressBook(addressBook); - filteredContacts = new FilteredList<>(this.addressBook.getContactList()); + filteredPersons = new FilteredList<>(this.addressBook.getPersonList()); filteredAppointments = new FilteredList<>(this.addressBook.getAppointmentList()); filteredShortcutCommands = new FilteredList<>(this.addressBook.getCommandsList()); filteredTasks = new FilteredList<>(this.addressBook.getTaskList()); @@ -91,12 +89,6 @@ public synchronized void deletePerson(Person target) throws PersonNotFoundExcept indicateAddressBookChanged(); } - @Override - public synchronized void deleteStudent(Student target) throws PersonNotFoundException { - addressBook.removeStudent(target); - indicateAddressBookChanged(); - } - @Override public synchronized void addPerson(Person person) throws DuplicatePersonException { addressBook.addPerson(person); @@ -104,13 +96,6 @@ public synchronized void addPerson(Person person) throws DuplicatePersonExceptio indicateAddressBookChanged(); } - @Override - public synchronized void addStudent(Student student) throws DuplicatePersonException { - addressBook.addStudent(student); - updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); - indicateAddressBookChanged(); - } - @Override public synchronized void addCommandShortcut(ShortcutDoubles shortcutDoubles) throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { @@ -134,40 +119,32 @@ public void updatePerson(Person target, Person editedPerson) } @Override - public void updateStudent(Student target, Student editedStudent) - throws DuplicatePersonException, PersonNotFoundException { - requireAllNonNull(target, editedStudent); - - addressBook.updateStudent(target, editedStudent); - indicateAddressBookChanged(); - } - - @Override - public void addAppointment(Appointment appointment) throws DuplicateEventException { + public void addAppointment(Appointment appointment) throws UniqueEventList.DuplicateEventException { addressBook.addAppointment(appointment); indicateAddressBookChanged(); indicateAppointmentListChanged(); } @Override - public void deleteAppointment(Appointment target) throws EventNotFoundException { + public void deleteAppointment(Appointment target) throws UniqueEventList.EventNotFoundException { addressBook.removeAppointment(target); indicateAddressBookChanged(); indicateAppointmentListChanged(); } @Override - public void addTask(Task task) throws DuplicateEventException { + public void addTask(Task task) throws UniqueEventList.DuplicateEventException { addressBook.addTask(task); indicateAddressBookChanged(); } @Override - public void deleteTask(Task target) throws EventNotFoundException { + public void deleteTask(Task target) throws UniqueEventList.EventNotFoundException { addressBook.removeTask(target); indicateAddressBookChanged(); } + //=========== Filtered Person List Accessors ============================================================= /** @@ -176,7 +153,7 @@ public void deleteTask(Task target) throws EventNotFoundException { */ @Override public ObservableList getFilteredPersonList() { - return FXCollections.unmodifiableObservableList(filteredContacts); + return FXCollections.unmodifiableObservableList(filteredPersons); } @Override @@ -207,7 +184,7 @@ public void changeCurrentActiveListType(String itemType) { @Override public void updateFilteredPersonList(Predicate predicate) { requireNonNull(predicate); - filteredContacts.setPredicate(predicate); + filteredPersons.setPredicate(predicate); } @Override @@ -225,7 +202,7 @@ public boolean equals(Object obj) { // state check ModelManager other = (ModelManager) obj; return addressBook.equals(other.addressBook) - && filteredContacts.equals(other.filteredContacts); + && filteredPersons.equals(other.filteredPersons); } @Override diff --git a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java index 8a5c77a132f4..5e92c482ea43 100644 --- a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java +++ b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java @@ -4,7 +4,6 @@ import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; import seedu.address.model.person.Person; -import seedu.address.model.person.Student; import seedu.address.model.shortcuts.ShortcutDoubles; import seedu.address.model.tag.Tag; @@ -19,18 +18,6 @@ public interface ReadOnlyAddressBook { */ ObservableList getPersonList(); - /** - * Returns an unmodifiable view of the students list. - * This list will not contain any duplicate students. - */ - ObservableList getStudentList(); - - /** - * Returns an unmodifiable view of a list of all contacts. - * This list will not contain any duplicate persons or students. - */ - ObservableList getContactList(); - /** * Returns an unmodifiable view of the tags list. * This list will not contain any duplicate tags. diff --git a/src/main/java/seedu/address/model/event/UniqueEventList.java b/src/main/java/seedu/address/model/event/UniqueEventList.java index cd1547d4b6a5..bd7eb76150e3 100644 --- a/src/main/java/seedu/address/model/event/UniqueEventList.java +++ b/src/main/java/seedu/address/model/event/UniqueEventList.java @@ -8,8 +8,7 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; -import seedu.address.model.event.exceptions.DuplicateEventException; -import seedu.address.model.event.exceptions.EventNotFoundException; +import seedu.address.commons.exceptions.DuplicateDataException; /** * A list of events that enforces uniqueness between its elements and does not allow nulls. @@ -92,4 +91,21 @@ public boolean equals(Object other) { public int hashCode() { return internalList.hashCode(); } + + /** + * Signals that an operation would have violated the 'no duplicates' property of the list. + */ + public static class DuplicateEventException extends DuplicateDataException { + public DuplicateEventException() { + super("Operation would result in duplicate events"); + } + } + /** + * Signals that an operation is looking for an appointment doesn't exist. + */ + public static class EventNotFoundException extends Exception { + public EventNotFoundException() { + super("Event not found"); + } + } } diff --git a/src/main/java/seedu/address/model/event/exceptions/DuplicateEventException.java b/src/main/java/seedu/address/model/event/exceptions/DuplicateEventException.java deleted file mode 100644 index 31642baa63dc..000000000000 --- a/src/main/java/seedu/address/model/event/exceptions/DuplicateEventException.java +++ /dev/null @@ -1,12 +0,0 @@ -package seedu.address.model.event.exceptions; - -import seedu.address.commons.exceptions.DuplicateDataException; - -/** - * Signals that an operation would have violated the 'no duplicates' property of the list. - */ -public class DuplicateEventException extends DuplicateDataException { - public DuplicateEventException() { - super("Operation would result in duplicate events"); - } -} diff --git a/src/main/java/seedu/address/model/event/exceptions/EventNotFoundException.java b/src/main/java/seedu/address/model/event/exceptions/EventNotFoundException.java deleted file mode 100644 index 0c1d1ff1ea3a..000000000000 --- a/src/main/java/seedu/address/model/event/exceptions/EventNotFoundException.java +++ /dev/null @@ -1,10 +0,0 @@ -package seedu.address.model.event.exceptions; - -/** - * Signals that an operation is looking for an appointment doesn't exist. - */ -public class EventNotFoundException extends Exception { - public EventNotFoundException() { - super("Event not found"); - } -} diff --git a/src/main/java/seedu/address/model/person/UniqueContactList.java b/src/main/java/seedu/address/model/person/UniqueContactList.java deleted file mode 100644 index 8a87eddb8294..000000000000 --- a/src/main/java/seedu/address/model/person/UniqueContactList.java +++ /dev/null @@ -1,56 +0,0 @@ -package seedu.address.model.person; - -import javafx.collections.FXCollections; -import javafx.collections.ListChangeListener; -import javafx.collections.ObservableList; - -//@@author randypx -/** - * A list that is the aggregation of {@code UniquePersonList} and {@code UniqueStudentList} - * and is the list displayed in the GUI. - * This list remains up-to-date by listening to the changes of both lists and is not changed by anything else. - */ -public class UniqueContactList { - private final UniquePersonList persons; - private final UniqueStudentList students; - private final ObservableList combinedList = FXCollections.observableArrayList(); - - public UniqueContactList(UniquePersonList p, UniqueStudentList s) { - persons = p; - students = s; - persons.addListener(this); - students.addListener(this); - } - - /** - * This method is called when there is a change in eithor {@code UniquePersonList} or {@code UniqueStudentList}. - * @param c this contains the change(s) that has occured. - */ - public void updateList(ListChangeListener.Change c) { - while (c.next()) { - if (c.wasReplaced()) { - for (int i = 0; i < c.getRemovedSize(); i++) { - int index = combinedList.indexOf(c.getRemoved().get(i)); - combinedList.set(index, c.getAddedSubList().get(i)); - } - if (c.getTo() > c.getRemovedSize()) { - for (int i = c.getRemovedSize(); i < c.getTo(); i++) { - combinedList.add(c.getAddedSubList().get(i)); - } - } - } else if (c.wasRemoved()) { - combinedList.removeAll(c.getRemoved()); - } else if (c.wasAdded()) { - combinedList.addAll(c.getAddedSubList()); - } - } - } - - /** - * Returns the backing list as an unmodifiable {@code ObservableList}. - */ - public ObservableList asObservableList() { - return FXCollections.unmodifiableObservableList(combinedList); - } - -} diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/seedu/address/model/person/UniquePersonList.java index 5437c0809551..9cc8e9735c32 100644 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ b/src/main/java/seedu/address/model/person/UniquePersonList.java @@ -3,12 +3,10 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; -import java.util.Collection; import java.util.Iterator; import java.util.List; import javafx.collections.FXCollections; -import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; import seedu.address.commons.util.CollectionUtil; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -103,20 +101,6 @@ public ObservableList asObservableList() { return FXCollections.unmodifiableObservableList(internalList); } - //@@author randypx - /** - * Add a listener to the list for any changes. - * Update {@code contacts} for any changes made. - */ - public void addListener(UniqueContactList contacts) { - internalList.addListener(new ListChangeListener() { - @Override - public void onChanged(Change c) { - contacts.updateList(c); - } - }); - } - @Override public Iterator iterator() { return internalList.iterator(); diff --git a/src/main/java/seedu/address/model/person/UniqueStudentList.java b/src/main/java/seedu/address/model/person/UniqueStudentList.java deleted file mode 100644 index 89fd03a13ab1..000000000000 --- a/src/main/java/seedu/address/model/person/UniqueStudentList.java +++ /dev/null @@ -1,136 +0,0 @@ -package seedu.address.model.person; - -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; - -import java.util.Collection; -import java.util.Iterator; -import java.util.List; - -import javafx.collections.FXCollections; -import javafx.collections.ListChangeListener; -import javafx.collections.ObservableList; -import seedu.address.commons.util.CollectionUtil; -import seedu.address.model.person.exceptions.DuplicatePersonException; -import seedu.address.model.person.exceptions.PersonNotFoundException; - -/** - * A list of students that enforces uniqueness between its elements and does not allow nulls. - * - * Supports a minimal set of list operations. - * - * @see Person#equals(Object) - * @see CollectionUtil#elementsAreUnique(Collection) - */ -public class UniqueStudentList implements Iterable { - - private final ObservableList internalList = FXCollections.observableArrayList(); - - /** - * Returns true if the list contains an equivalent person as the given argument. - */ - public boolean contains(Student toCheck) { - requireNonNull(toCheck); - return internalList.contains(toCheck); - } - - /** - * Adds a student to the list. - * - * @throws DuplicatePersonException if the person to add is a duplicate of an existing student in the list. - */ - public void add(Student toAdd) throws DuplicatePersonException { - requireNonNull(toAdd); - if (contains(toAdd)) { - throw new DuplicatePersonException(); - } - internalList.add(toAdd); - } - - /** - * Replaces the student {@code target} in the list with {@code editedStudent}. - * - * @throws DuplicatePersonException if the replacement is equivalent to another existing person in the list. - * @throws PersonNotFoundException if {@code target} could not be found in the list. - */ - public void setStudent(Student target, Student editedStudent) - throws DuplicatePersonException, PersonNotFoundException { - requireNonNull(editedStudent); - - int index = internalList.indexOf(target); - if (index == -1) { - throw new PersonNotFoundException(); - } - - if (!target.equals(editedStudent) && internalList.contains(editedStudent)) { - throw new DuplicatePersonException(); - } - - internalList.set(index, editedStudent); - } - - /** - * Removes the equivalent student from the list. - * - * @throws PersonNotFoundException if no such student could be found in the list. - */ - public boolean remove(Student toRemove) throws PersonNotFoundException { - requireNonNull(toRemove); - final boolean studentFoundAndDeleted = internalList.remove(toRemove); - if (!studentFoundAndDeleted) { - throw new PersonNotFoundException(); - } - return studentFoundAndDeleted; - } - - public void setStudents(UniqueStudentList replacement) { - this.internalList.setAll(replacement.internalList); - } - - public void setStudents(List students) throws DuplicatePersonException { - requireAllNonNull(students); - final UniqueStudentList replacement = new UniqueStudentList(); - for (final Student student : students) { - replacement.add(student); - } - setStudents(replacement); - } - - /** - * Returns the backing list as an unmodifiable {@code ObservableList}. - */ - public ObservableList asObservableList() { - return FXCollections.unmodifiableObservableList(internalList); - } - - //@@author randypx - /** - * Add a listener to the list for any changes. - * Update {@code contacts} for any changes made. - */ - public void addListener(UniqueContactList contacts) { - internalList.addListener(new ListChangeListener() { - @Override - public void onChanged(Change c) { - contacts.updateList(c); - } - }); - } - - @Override - public Iterator iterator() { - return internalList.iterator(); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof UniqueStudentList // instanceof handles nulls - && this.internalList.equals(((UniqueStudentList) other).internalList)); - } - - @Override - public int hashCode() { - return internalList.hashCode(); - } -} diff --git a/src/main/java/seedu/address/storage/XmlAdaptedStudent.java b/src/main/java/seedu/address/storage/XmlAdaptedStudent.java deleted file mode 100644 index 168617e3fe9c..000000000000 --- a/src/main/java/seedu/address/storage/XmlAdaptedStudent.java +++ /dev/null @@ -1,137 +0,0 @@ -package seedu.address.storage; - -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Objects; -import java.util.Set; - -import javax.xml.bind.annotation.XmlElement; - -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.person.Address; -import seedu.address.model.person.Email; -import seedu.address.model.person.Name; -import seedu.address.model.person.Phone; -import seedu.address.model.person.Student; -import seedu.address.model.tag.Tag; - -/** - * JAXB-friendly version of the Student. - */ -public class XmlAdaptedStudent { - - public static final String MISSING_FIELD_MESSAGE_FORMAT = "Person's %s field is missing!"; - - @XmlElement(required = true) - private String name; - @XmlElement(required = true) - private String phone; - @XmlElement(required = true) - private String email; - @XmlElement(required = true) - private String address; - - @XmlElement - private List tagged = new ArrayList<>(); - - /** - * Constructs an XmlAdaptedStudent. - * This is the no-arg constructor that is required by JAXB. - */ - public XmlAdaptedStudent() {} - - /** - * Constructs an {@code XmlAdaptedStudent} with the given student details. - */ - public XmlAdaptedStudent(String name, String phone, String email, String address, List tagged) { - this.name = name; - this.phone = phone; - this.email = email; - this.address = address; - if (tagged != null) { - this.tagged = new ArrayList<>(tagged); - } - } - - /** - * Converts a given Student into this class for JAXB use. - * - * @param source future changes to this will not affect the created XmlAdaptedPerson - */ - public XmlAdaptedStudent(Student source) { - name = source.getName().fullName; - phone = source.getPhone().value; - email = source.getEmail().value; - address = source.getAddress().value; - tagged = new ArrayList<>(); - for (Tag tag : source.getTags()) { - tagged.add(new XmlAdaptedTag(tag)); - } - } - - /** - * Converts this jaxb-friendly adapted student object into the model's Student object. - * - * @throws IllegalValueException if there were any data constraints violated in the adapted person - */ - public Student toModelType() throws IllegalValueException { - final List studentTags = new ArrayList<>(); - for (XmlAdaptedTag tag : tagged) { - studentTags.add(tag.toModelType()); - } - - if (this.name == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Name.class.getSimpleName())); - } - if (!Name.isValidName(this.name)) { - throw new IllegalValueException(Name.MESSAGE_NAME_CONSTRAINTS); - } - final Name name = new Name(this.name); - - if (this.phone == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Phone.class.getSimpleName())); - } - if (!Phone.isValidPhone(this.phone)) { - throw new IllegalValueException(Phone.MESSAGE_PHONE_CONSTRAINTS); - } - final Phone phone = new Phone(this.phone); - - if (this.email == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Email.class.getSimpleName())); - } - if (!Email.isValidEmail(this.email)) { - throw new IllegalValueException(Email.MESSAGE_EMAIL_CONSTRAINTS); - } - final Email email = new Email(this.email); - - if (this.address == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Address.class.getSimpleName())); - } - if (!Address.isValidAddress(this.address)) { - throw new IllegalValueException(Address.MESSAGE_ADDRESS_CONSTRAINTS); - } - final Address address = new Address(this.address); - - final Set tags = new HashSet<>(studentTags); - return new Student(name, phone, email, address, tags); - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof XmlAdaptedPerson)) { - return false; - } - - XmlAdaptedStudent otherStudent = (XmlAdaptedStudent) other; - return Objects.equals(name, otherStudent.name) - && Objects.equals(phone, otherStudent.phone) - && Objects.equals(email, otherStudent.email) - && Objects.equals(address, otherStudent.address) - && tagged.equals(otherStudent.tagged); - } -} diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index 66956ebd8ad5..f8f146026438 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -20,8 +20,6 @@ public class XmlSerializableAddressBook { @XmlElement private List persons; @XmlElement - private List students; - @XmlElement private List tags; @XmlElement private List appointments; @@ -36,7 +34,6 @@ public class XmlSerializableAddressBook { */ public XmlSerializableAddressBook() { persons = new ArrayList<>(); - students = new ArrayList<>(); tags = new ArrayList<>(); appointments = new ArrayList<>(); tasks = new ArrayList<>(); @@ -49,7 +46,6 @@ public XmlSerializableAddressBook() { public XmlSerializableAddressBook(ReadOnlyAddressBook src) { this(); persons.addAll(src.getPersonList().stream().map(XmlAdaptedPerson::new).collect(Collectors.toList())); - students.addAll(src.getStudentList().stream().map(XmlAdaptedStudent::new).collect(Collectors.toList())); tags.addAll(src.getTagList().stream().map(XmlAdaptedTag::new).collect(Collectors.toList())); appointments.addAll(src.getAppointmentList().stream().map( XmlAdaptedAppointment::new).collect(Collectors.toList())); @@ -73,9 +69,6 @@ public AddressBook toModelType() throws IllegalValueException { for (XmlAdaptedPerson p : persons) { addressBook.addPerson(p.toModelType()); } - for (XmlAdaptedStudent s : students) { - addressBook.addStudent(s.toModelType()); - } for (XmlAdaptedAppointment a: appointments) { addressBook.addAppointment(a.toModelType()); } @@ -99,7 +92,6 @@ public boolean equals(Object other) { } XmlSerializableAddressBook otherAb = (XmlSerializableAddressBook) other; return persons.equals(otherAb.persons) - && students.equals(otherAb.students) && tags.equals(otherAb.tags) && appointments.equals(otherAb.appointments) && tasks.equals(otherAb.tasks) diff --git a/src/test/java/seedu/address/logic/LogicManagerTest.java b/src/test/java/seedu/address/logic/LogicManagerTest.java index 4d12b62396b8..954c1fb04388 100644 --- a/src/test/java/seedu/address/logic/LogicManagerTest.java +++ b/src/test/java/seedu/address/logic/LogicManagerTest.java @@ -41,9 +41,8 @@ public void execute_commandExecutionError_throwsCommandException() { @Test public void execute_validCommand_success() { - String listCommand = ListCommand.COMMAND_WORD + " " + ListCommand.TYPE_CONTACT; - assertCommandSuccess(listCommand, - ListCommand.MESSAGE_SUCCESS + ListCommand.TYPE_CONTACT, model); + String listCommand = ListCommand.COMMAND_WORD; + assertCommandSuccess(listCommand, ListCommand.MESSAGE_SUCCESS, model); assertHistoryCorrect(listCommand); } diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 868d33d35850..36361ccf7e22 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -111,7 +111,7 @@ private class ModelStubAcceptingPersonAdded extends ModelStub { final ArrayList personsAdded = new ArrayList<>(); @Override - public void addPerson(Person person) { + public void addPerson(Person person) throws DuplicatePersonException { requireNonNull(person); personsAdded.add(person); } diff --git a/src/test/java/seedu/address/logic/commands/ListCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCommandTest.java index ddb794b96189..c095ee4e7a3e 100644 --- a/src/test/java/seedu/address/logic/commands/ListCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCommandTest.java @@ -5,9 +5,6 @@ import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.logic.commands.CommandTestUtil.showPersonAtIndex; import static seedu.address.logic.commands.ListCommand.MESSAGE_SUCCESS; -import static seedu.address.logic.commands.ListCommand.TYPE_APPOINTMENT; -import static seedu.address.logic.commands.ListCommand.TYPE_CONTACT; -import static seedu.address.logic.commands.ListCommand.TYPE_TASK; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; @@ -43,35 +40,35 @@ public void setUp() { @Test public void execute_personListIsNotFiltered_showsSameList() { - listCommand = new ListCommand(TYPE_CONTACT); + listCommand = new ListCommand(""); listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); - assertCommandSuccess(listCommand, model, MESSAGE_SUCCESS + TYPE_CONTACT, expectedModel); + assertCommandSuccess(listCommand, model, MESSAGE_SUCCESS, expectedModel); } @Test public void execute_personListIsFiltered_showsEverything() { - listCommand = new ListCommand(TYPE_CONTACT); + listCommand = new ListCommand(""); listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); showPersonAtIndex(model, INDEX_FIRST); - assertCommandSuccess(listCommand, model, MESSAGE_SUCCESS + TYPE_CONTACT, expectedModel); + assertCommandSuccess(listCommand, model, MESSAGE_SUCCESS, expectedModel); } @Test public void execute_listAppointment_success() throws CommandException { - listCommand = new ListCommand(TYPE_APPOINTMENT); + listCommand = new ListCommand("appointment"); listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); CommandResult result = listCommand.execute(); - assertEquals(MESSAGE_SUCCESS + TYPE_APPOINTMENT, result.feedbackToUser); + assertEquals(MESSAGE_SUCCESS, result.feedbackToUser); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); } @Test public void execute_listTask_success() throws CommandException { - listCommand = new ListCommand(TYPE_TASK); + listCommand = new ListCommand("task"); listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); CommandResult result = listCommand.execute(); - assertEquals(MESSAGE_SUCCESS + TYPE_TASK, result.feedbackToUser); + assertEquals(MESSAGE_SUCCESS, result.feedbackToUser); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); } diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index b25570fc6a50..ec035b16a206 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -11,9 +11,6 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_END_TIME; import static seedu.address.logic.commands.CommandTestUtil.VALID_START_TIME; import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; -import static seedu.address.logic.commands.ListCommand.COMMAND_WORD; -import static seedu.address.logic.commands.ListCommand.TYPE_APPOINTMENT; -import static seedu.address.logic.commands.ListCommand.TYPE_CONTACT; import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; import static seedu.address.logic.parser.CliSyntax.PREFIX_RANGE; @@ -138,8 +135,8 @@ public void parseCommand_history() throws Exception { @Test public void parseCommand_list() throws Exception { - assertTrue(parser.parseCommand(COMMAND_WORD + " " + TYPE_CONTACT) instanceof ListCommand); - assertTrue(parser.parseCommand(COMMAND_WORD + " " + TYPE_APPOINTMENT) instanceof ListCommand); + assertTrue(parser.parseCommand(ListCommand.COMMAND_WORD + " ") instanceof ListCommand); + assertTrue(parser.parseCommand(ListCommand.COMMAND_WORD + " appointment") instanceof ListCommand); } @Test diff --git a/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java index 6bdf09301ced..eec87f40a958 100644 --- a/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java @@ -14,10 +14,10 @@ public class ListCommandParserTest { @Test public void parse_validArgs_returnsListCommand() { - assertParseSuccess(parser, "contact", new ListCommand(ListCommand.TYPE_CONTACT)); - assertParseSuccess(parser, "student", new ListCommand(ListCommand.TYPE_STUDENT)); - assertParseSuccess(parser, "task", new ListCommand(ListCommand.TYPE_TASK)); - assertParseSuccess(parser, "appointment", new ListCommand(ListCommand.TYPE_APPOINTMENT)); + assertParseSuccess(parser, "", new ListCommand("")); + assertParseSuccess(parser, "person", new ListCommand("person")); + assertParseSuccess(parser, "task", new ListCommand("task")); + assertParseSuccess(parser, "appointment", new ListCommand("appointment")); } @Test diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 8d2581392c7b..89bdbf4d7312 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -11,8 +11,6 @@ import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.AMY; import static seedu.address.testutil.TypicalPersons.BOB; -import static seedu.address.testutil.TypicalPersons.STUDENT_AMY; -import static seedu.address.testutil.TypicalPersons.STUDENT_HOON; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import java.util.ArrayList; @@ -30,7 +28,6 @@ import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; import seedu.address.model.person.Person; -import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.shortcuts.ShortcutDoubles; @@ -47,8 +44,6 @@ public class AddressBookTest { @Test public void constructor() { assertEquals(Collections.emptyList(), addressBook.getPersonList()); - assertEquals(Collections.emptyList(), addressBook.getStudentList()); - assertEquals(Collections.emptyList(), addressBook.getContactList()); assertEquals(Collections.emptyList(), addressBook.getTagList()); assertEquals(Collections.emptyList(), addressBook.getAppointmentList()); assertEquals(Collections.emptyList(), addressBook.getTaskList()); @@ -72,13 +67,11 @@ public void resetData_withValidReadOnlyAddressBook_replacesData() { public void resetData_withDuplicatePersons_throwsAssertionError() { // Repeat ALICE twice List newPersons = Arrays.asList(ALICE, ALICE); - List newStudents = Arrays.asList(STUDENT_AMY, STUDENT_HOON); List newTags = new ArrayList<>(ALICE.getTags()); List newAppointments = Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2); List newTasks = Arrays.asList(TYPICAL_TASK_1, TYPICAL_TASK_2); List newCommands = Arrays.asList(new ShortcutDoubles("a", "add")); - AddressBookStub newData = new AddressBookStub(newPersons, newStudents, newTags, - newAppointments, newTasks, newCommands); + AddressBookStub newData = new AddressBookStub(newPersons, newTags, newAppointments, newTasks, newCommands); thrown.expect(AssertionError.class); addressBook.resetData(newData); @@ -113,20 +106,18 @@ public void getTaskList_modifyList_throwsUnsupportedOperationException() { */ private static class AddressBookStub implements ReadOnlyAddressBook { private final ObservableList persons = FXCollections.observableArrayList(); - private final ObservableList students = FXCollections.observableArrayList(); - private final ObservableList contacts = FXCollections.observableArrayList(); private final ObservableList tags = FXCollections.observableArrayList(); private final ObservableList appointments = FXCollections.observableArrayList(); private final ObservableList tasks = FXCollections.observableArrayList(); private final ObservableList commandslist = FXCollections.observableArrayList(); - AddressBookStub(Collection persons, Collection students, - Collection tags, Collection appointments, - Collection tasks, Collection commands) { + AddressBookStub(Collection persons, + Collection tags, + Collection appointments, + Collection tasks, + Collection commands) { + this.persons.setAll(persons); - this.students.setAll(students); - this.contacts.setAll(persons); - this.contacts.addAll(students); this.tags.setAll(tags); this.tasks.setAll(tasks); this.appointments.setAll(appointments); @@ -138,16 +129,6 @@ public ObservableList getPersonList() { return persons; } - @Override - public ObservableList getStudentList() { - return students; - } - - @Override - public ObservableList getContactList() { - return contacts; - } - @Override public ObservableList getTagList() { return tags; diff --git a/src/test/java/seedu/address/model/ModelManagerTest.java b/src/test/java/seedu/address/model/ModelManagerTest.java index 279a2744dffe..e20a810a2fa6 100644 --- a/src/test/java/seedu/address/model/ModelManagerTest.java +++ b/src/test/java/seedu/address/model/ModelManagerTest.java @@ -26,8 +26,7 @@ import junit.framework.TestCase; import seedu.address.commons.events.model.AddressBookChangedEvent; import seedu.address.commons.events.model.AppointmentListChangedEvent; -import seedu.address.model.event.exceptions.DuplicateEventException; -import seedu.address.model.event.exceptions.EventNotFoundException; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.NameContainsKeywordsPredicate; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -87,7 +86,7 @@ public void removePerson_removePersonFromAddressBook_evokeAddressBookChangedEven @Test public void addTask_addTaskToAddressBook_evokeAddressBookChangedEvent() - throws DuplicateEventException { + throws UniqueEventList.DuplicateEventException { ModelManager model = new ModelManager(addressBook, userPrefs); modelManager.addTask(TYPICAL_TASK_3); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); @@ -95,7 +94,7 @@ public void addTask_addTaskToAddressBook_evokeAddressBookChangedEvent() @Test public void removeTask_removeTaskFromAddressBook_evokeAddressBookChangedEvent() - throws EventNotFoundException { + throws UniqueEventList.EventNotFoundException { ModelManager model = new ModelManager(addressBook, userPrefs); modelManager.deleteTask(TYPICAL_TASK_1); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); @@ -103,7 +102,7 @@ public void removeTask_removeTaskFromAddressBook_evokeAddressBookChangedEvent() @Test public void addTask_addAppointmentToAddressBook_evokeAppointmentListChangedEvent() - throws DuplicateEventException { + throws UniqueEventList.DuplicateEventException { ModelManager model = new ModelManager(addressBook, userPrefs); modelManager.addAppointment(TYPICAL_APPOINTMENT_3); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AppointmentListChangedEvent); @@ -112,7 +111,7 @@ public void addTask_addAppointmentToAddressBook_evokeAppointmentListChangedEvent @Test public void removeTask_removeAppointmentFromAddressBook_evokeAppointmentListChangedEvent() - throws EventNotFoundException { + throws UniqueEventList.EventNotFoundException { ModelManager model = new ModelManager(addressBook, userPrefs); modelManager.deleteAppointment(TYPICAL_APPOINTMENT_1); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AppointmentListChangedEvent); diff --git a/src/test/java/seedu/address/testutil/AddressBookBuilder.java b/src/test/java/seedu/address/testutil/AddressBookBuilder.java index b31ae50e43ae..642ae59a304e 100644 --- a/src/test/java/seedu/address/testutil/AddressBookBuilder.java +++ b/src/test/java/seedu/address/testutil/AddressBookBuilder.java @@ -3,7 +3,7 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.AddressBook; import seedu.address.model.event.Appointment; -import seedu.address.model.event.exceptions.DuplicateEventException; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.tag.Tag; @@ -55,7 +55,7 @@ public AddressBookBuilder withTag(String tagName) { public AddressBookBuilder withAppointment(Appointment appointment) { try { addressBook.addAppointment(appointment); - } catch (DuplicateEventException ive) { + } catch (UniqueEventList.DuplicateEventException ive) { throw new IllegalArgumentException("appointment is expected to be unique"); } return this; diff --git a/src/test/java/seedu/address/testutil/TypicalPersons.java b/src/test/java/seedu/address/testutil/TypicalPersons.java index 9cab60478f7c..a775dc2050a5 100644 --- a/src/test/java/seedu/address/testutil/TypicalPersons.java +++ b/src/test/java/seedu/address/testutil/TypicalPersons.java @@ -19,7 +19,7 @@ import seedu.address.model.AddressBook; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; -import seedu.address.model.event.exceptions.DuplicateEventException; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -45,7 +45,7 @@ public class TypicalPersons { .withEmail("werner@example.com").withAddress("michegan ave").build(); public static final Person FIONA = new PersonBuilder().withName("Fiona Kunz").withPhone("9482427") .withEmail("lydia@example.com").withAddress("little tokyo").build(); - public static final Person GEORGE = new PersonBuilder().withName("George Best").withPhone("9482442") + public static final Student GEORGE = new StudentBuilder().withName("George Best").withPhone("9482442") .withEmail("anna@example.com").withAddress("4th street").build(); public static final Student IVAN = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") .withEmail("wolf@example.com").withAddress("Centre Street").build(); @@ -95,14 +95,14 @@ public static AddressBook getTypicalAddressBook() { for (Appointment ap : TypicalEvents.getTypicalAppointments()) { try { ab.addAppointment(ap); - } catch (DuplicateEventException e) { + } catch (UniqueEventList.DuplicateEventException e) { throw new AssertionError("not possible"); } } for (Task t : TypicalEvents.getTypicalTasks()) { try { ab.addTask(t); - } catch (DuplicateEventException e) { + } catch (UniqueEventList.DuplicateEventException e) { throw new AssertionError("not possible"); } } diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index 2ddc7f5f0244..00377c17da73 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -9,10 +9,8 @@ import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; -import seedu.address.model.event.exceptions.DuplicateEventException; -import seedu.address.model.event.exceptions.EventNotFoundException; +import seedu.address.model.event.UniqueEventList; import seedu.address.model.person.Person; -import seedu.address.model.person.Student; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.shortcuts.ShortcutDoubles; @@ -28,11 +26,6 @@ public void addPerson(Person person) throws DuplicatePersonException { fail("This method should not be called."); } - @Override - public void addStudent(Student student) throws DuplicatePersonException { - fail("This method should not be called."); - } - @Override public void resetData(ReadOnlyAddressBook newData) { fail("This method should not be called."); @@ -55,23 +48,12 @@ public void deletePerson(Person target) throws PersonNotFoundException { fail("This method should not be called."); } - @Override - public void deleteStudent(Student target) throws PersonNotFoundException { - fail("This method should not be called."); - } - @Override public void updatePerson(Person target, Person editedPerson) throws DuplicatePersonException { fail("This method should not be called."); } - @Override - public void updateStudent(Student target, Student editedStudent) - throws DuplicatePersonException, PersonNotFoundException { - fail("This method should not be called."); - } - @Override public void addCommandShortcut(ShortcutDoubles shortcutDoubles) throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { @@ -124,22 +106,22 @@ public void deleteTag(Tag tag) { } @Override - public void addAppointment(Appointment appointment) throws DuplicateEventException { + public void addAppointment(Appointment appointment) throws UniqueEventList.DuplicateEventException { fail("This method should not be called."); } @Override - public void deleteAppointment(Appointment appointment) throws EventNotFoundException { + public void deleteAppointment(Appointment appointment) throws UniqueEventList.EventNotFoundException { fail("This method should not be called."); } @Override - public void addTask(Task task) throws DuplicateEventException { + public void addTask(Task task) throws UniqueEventList.DuplicateEventException { fail("This method should not be called."); } @Override - public void deleteTask(Task task) throws EventNotFoundException { + public void deleteTask(Task task) throws UniqueEventList.EventNotFoundException { fail("This method should not be called."); } } diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java index 7c491269fdd4..508a58e944a9 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java @@ -7,7 +7,7 @@ import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.event.Task; -import seedu.address.model.event.exceptions.DuplicateEventException; +import seedu.address.model.event.UniqueEventList; //@@author Sisyphus25 /** @@ -17,7 +17,7 @@ public class ModelStubAcceptingTaskAdded extends ModelStub { public final ArrayList tasksAdded = new ArrayList<>(); @Override - public void addTask(Task event) throws DuplicateEventException { + public void addTask(Task event) throws UniqueEventList.DuplicateEventException { requireNonNull(event); tasksAdded.add(event); } diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java b/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java index 2de7ec544b15..47837db2978d 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java @@ -4,7 +4,7 @@ import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; -import seedu.address.model.event.exceptions.DuplicateEventException; +import seedu.address.model.event.UniqueEventList; //@@author Sisyphus25 /** @@ -12,13 +12,13 @@ */ public class ModelStubThrowingDuplicateEventException extends ModelStub { @Override - public void addAppointment (Appointment appointment) throws DuplicateEventException { - throw new DuplicateEventException(); + public void addAppointment (Appointment appointment) throws UniqueEventList.DuplicateEventException { + throw new UniqueEventList.DuplicateEventException(); } @Override - public void addTask (Task task) throws DuplicateEventException { - throw new DuplicateEventException(); + public void addTask (Task task) throws UniqueEventList.DuplicateEventException { + throw new UniqueEventList.DuplicateEventException(); } @Override diff --git a/src/test/java/seedu/address/ui/CommandBoxTest.java b/src/test/java/seedu/address/ui/CommandBoxTest.java index eeb1aadf0b77..f72304570a7a 100644 --- a/src/test/java/seedu/address/ui/CommandBoxTest.java +++ b/src/test/java/seedu/address/ui/CommandBoxTest.java @@ -17,8 +17,7 @@ public class CommandBoxTest extends GuiUnitTest { - private static final String COMMAND_THAT_SUCCEEDS = ListCommand.COMMAND_WORD - + " " + ListCommand.TYPE_CONTACT; + private static final String COMMAND_THAT_SUCCEEDS = ListCommand.COMMAND_WORD; private static final String COMMAND_THAT_FAILS = "invalid command"; private ArrayList defaultStyleOfCommandBox; @@ -33,7 +32,6 @@ public void setUp() { CommandBox commandBox = new CommandBox(logic); commandBoxHandle = new CommandBoxHandle(getChildNode(commandBox.getRoot(), - CommandBoxHandle.COMMAND_INPUT_FIELD_ID)); uiPartRule.setUiPart(commandBox); @@ -93,7 +91,7 @@ public void handleKeyPress_startingWithUp() { // insert command in the middle of retrieving previous commands guiRobot.push(KeyCode.UP); - String thirdCommand = "list contact"; + String thirdCommand = "list"; commandBoxHandle.run(thirdCommand); assertInputHistory(KeyCode.UP, thirdCommand); assertInputHistory(KeyCode.UP, COMMAND_THAT_FAILS); @@ -121,7 +119,7 @@ public void handleKeyPress_startingWithDown() { // insert command in the middle of retrieving previous commands guiRobot.push(KeyCode.UP); - String thirdCommand = "list contact"; + String thirdCommand = "list"; commandBoxHandle.run(thirdCommand); assertInputHistory(KeyCode.DOWN, ""); assertInputHistory(KeyCode.UP, thirdCommand); diff --git a/src/test/java/systemtests/AddCommandSystemTest.java b/src/test/java/systemtests/AddCommandSystemTest.java index cc3063cc3cf1..8d62f9ddd06a 100644 --- a/src/test/java/systemtests/AddCommandSystemTest.java +++ b/src/test/java/systemtests/AddCommandSystemTest.java @@ -27,6 +27,7 @@ import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_STUDENT; import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG; import static seedu.address.testutil.TypicalPersons.GEORGE; +import static seedu.address.testutil.TypicalPersons.HOON; import static seedu.address.testutil.TypicalPersons.IDA; import static seedu.address.testutil.TypicalPersons.IVAN; import static seedu.address.testutil.TypicalPersons.JOHN; @@ -34,6 +35,7 @@ import static seedu.address.testutil.TypicalPersons.STUDENT_AMY; import static seedu.address.testutil.TypicalPersons.STUDENT_BOB; import static seedu.address.testutil.TypicalPersons.STUDENT_HOON; +import static seedu.address.testutil.TypicalPersons.STUDENT_IDA; import org.junit.Test; @@ -77,7 +79,7 @@ public void add() throws Exception { /* Case: redo adding Amy to the list -> Amy added again */ command = RedoCommand.COMMAND_WORD; - model.addStudent(toAdd); + model.addPerson(toAdd); expectedResultMessage = RedoCommand.MESSAGE_SUCCESS; assertCommandSuccess(command, model, expectedResultMessage); @@ -140,14 +142,22 @@ public void add() throws Exception { /* ----------------------------------- Perform invalid add operations --------------------------------------- */ /* Case: add a duplicate student -> rejected */ - command = PersonUtil.getAddStudentCommand(STUDENT_HOON); + command = PersonUtil.getAddCommand(STUDENT_HOON); + assertCommandFailure(command, AddCommand.MESSAGE_DUPLICATE_PERSON); + + /* Case: add an existing student as default person -> rejected */ + command = PersonUtil.getAddCommand(HOON); + assertCommandFailure(command, AddCommand.MESSAGE_DUPLICATE_PERSON); + + /* Case: add an existing person as a student -> rejected */ + command = PersonUtil.getAddCommand(STUDENT_IDA); assertCommandFailure(command, AddCommand.MESSAGE_DUPLICATE_PERSON); /* Case: add a duplicate student except with different tags -> rejected */ // "student" is an existing tag used in the default model, see TypicalPersons#STUDENT_ALICE // This test will fail if a new tag that is not in the model is used, see the bug documented in // AddressBook#addPerson(Person) - command = PersonUtil.getAddStudentCommand(STUDENT_HOON) + " " + PREFIX_TAG.getPrefix() + "student"; + command = PersonUtil.getAddCommand(STUDENT_HOON) + " " + PREFIX_TAG.getPrefix() + "student"; assertCommandFailure(command, AddCommand.MESSAGE_DUPLICATE_PERSON); /* Case: missing name -> rejected */ @@ -254,7 +264,7 @@ private void assertCommandSuccess(String command, Person toAdd) { private void assertCommandSuccess(String command, Student toAdd) { Model expectedModel = getModel(); try { - expectedModel.addStudent(toAdd); + expectedModel.addPerson(toAdd); } catch (DuplicatePersonException dpe) { throw new IllegalArgumentException("toAdd already exists in the model."); } diff --git a/src/test/java/systemtests/AddressBookSystemTest.java b/src/test/java/systemtests/AddressBookSystemTest.java index 6d5bfeec2a75..69430da20b3d 100644 --- a/src/test/java/systemtests/AddressBookSystemTest.java +++ b/src/test/java/systemtests/AddressBookSystemTest.java @@ -131,7 +131,7 @@ protected void executeCommand(String command) { * Displays all persons in the address book. */ protected void showAllPersons() { - executeCommand(ListCommand.COMMAND_WORD + " " + ListCommand.TYPE_CONTACT); + executeCommand(ListCommand.COMMAND_WORD); assertEquals(getModel().getAddressBook().getPersonList().size(), getModel().getFilteredPersonList().size()); } diff --git a/test/data/XmlAddressBookStorageTest/testingName.xml b/test/data/XmlAddressBookStorageTest/testingName.xml deleted file mode 100644 index 228297184afb..000000000000 --- a/test/data/XmlAddressBookStorageTest/testingName.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Benson Meier - 98765432 - johnd@example.com -
      311, Clementi Ave 2, #02-25
      - - owesMoney - teal - - - friends - brown - -
      - - owesMoney - teal - - - friends - brown - -
      From 26fc2ebaef55fb7651c9ce7b4db1180c867da319 Mon Sep 17 00:00:00 2001 From: randypx Date: Sun, 1 Apr 2018 18:13:09 +0800 Subject: [PATCH 231/288] fixed bug where list did not toggle back to contact or students --- .../java/seedu/address/logic/commands/Command.java | 4 ++-- .../seedu/address/logic/commands/FindCommand.java | 2 +- .../seedu/address/logic/commands/ListCommand.java | 12 ++++++++---- .../seedu/address/logic/commands/SelectCommand.java | 2 +- src/main/java/seedu/address/model/Model.java | 2 +- src/main/java/seedu/address/model/ModelManager.java | 5 +---- src/main/java/seedu/address/ui/MainWindow.java | 4 +++- 7 files changed, 17 insertions(+), 14 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/Command.java b/src/main/java/seedu/address/logic/commands/Command.java index 603d6aee66a0..4a6452f50e88 100644 --- a/src/main/java/seedu/address/logic/commands/Command.java +++ b/src/main/java/seedu/address/logic/commands/Command.java @@ -49,7 +49,7 @@ public void setData(Model model, CommandHistory history, UndoRedoStack undoRedoS * Method used to support command that needed the person list to be shown: Find, Select */ public void setPersonListActive() { - model.changeCurrentActiveListType(model.LIST_TYPE_PERSON); - EventsCenter.getInstance().post(new ToggleListEvent(model.LIST_TYPE_PERSON)); + model.changeCurrentActiveListType(model.LIST_TYPE_CONTACT); + EventsCenter.getInstance().post(new ToggleListEvent(model.LIST_TYPE_CONTACT)); } } diff --git a/src/main/java/seedu/address/logic/commands/FindCommand.java b/src/main/java/seedu/address/logic/commands/FindCommand.java index 976cb4ed9c64..28fc776e2053 100644 --- a/src/main/java/seedu/address/logic/commands/FindCommand.java +++ b/src/main/java/seedu/address/logic/commands/FindCommand.java @@ -23,7 +23,7 @@ public FindCommand(NameContainsKeywordsPredicate predicate) { @Override public CommandResult execute() { - if (!model.getCurrentActiveListType().equals(model.LIST_TYPE_PERSON)) { + if (!model.getCurrentActiveListType().equals(model.LIST_TYPE_CONTACT)) { setPersonListActive(); } model.updateFilteredPersonList(predicate); diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index a1d019f5174c..915b5763cf4f 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -36,21 +36,25 @@ public ListCommand(String type) { public CommandResult execute() throws CommandException { switch (type) { case TYPE_CONTACT: + model.changeCurrentActiveListType(TYPE_CONTACT); + EventsCenter.getInstance().post(new ToggleListEvent(TYPE_CONTACT)); model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); return new CommandResult(MESSAGE_SUCCESS + TYPE_CONTACT); case TYPE_STUDENT: + model.changeCurrentActiveListType(TYPE_CONTACT); + EventsCenter.getInstance().post(new ToggleListEvent(TYPE_CONTACT)); model.updateFilteredPersonList(PREDICATE_SHOW_ONLY_STUDENTS); return new CommandResult(MESSAGE_SUCCESS + TYPE_STUDENT); case TYPE_APPOINTMENT: - model.changeCurrentActiveListType(type); - EventsCenter.getInstance().post(new ToggleListEvent(type)); + model.changeCurrentActiveListType(TYPE_APPOINTMENT); + EventsCenter.getInstance().post(new ToggleListEvent(TYPE_APPOINTMENT)); return new CommandResult(MESSAGE_SUCCESS + TYPE_APPOINTMENT); case TYPE_TASK: - model.changeCurrentActiveListType(type); - EventsCenter.getInstance().post(new ToggleListEvent(type)); + model.changeCurrentActiveListType(TYPE_TASK); + EventsCenter.getInstance().post(new ToggleListEvent(TYPE_TASK)); return new CommandResult(MESSAGE_SUCCESS + TYPE_TASK); default: diff --git a/src/main/java/seedu/address/logic/commands/SelectCommand.java b/src/main/java/seedu/address/logic/commands/SelectCommand.java index ba40a3cc8a22..fe656048d170 100644 --- a/src/main/java/seedu/address/logic/commands/SelectCommand.java +++ b/src/main/java/seedu/address/logic/commands/SelectCommand.java @@ -31,7 +31,7 @@ public SelectCommand(Index targetIndex) { @Override public CommandResult execute() throws CommandException { - if (!model.getCurrentActiveListType().equals(model.LIST_TYPE_PERSON)) { + if (!model.getCurrentActiveListType().equals(model.LIST_TYPE_CONTACT)) { setPersonListActive(); } List lastShownList = model.getFilteredPersonList(); diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 232ad3fd58b6..0c2bb6220b06 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -19,7 +19,7 @@ * The API of the Model component. */ public interface Model { - String LIST_TYPE_PERSON = "person"; + String LIST_TYPE_CONTACT = "contact"; String LIST_TYPE_APPOINTMENT = "appointment"; String LIST_TYPE_TASK = "task"; diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index dc0ce67b1029..9290d85d61f2 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -30,9 +30,6 @@ * All changes to any model should be synchronized. */ public class ModelManager extends ComponentManager implements Model { - public static final String LIST_TYPE_PERSON = "person"; - public static final String LIST_TYPE_APPOINTMENT = "appointment"; - public static final String LIST_TYPE_TASK = "task"; private static final Logger logger = LogsCenter.getLogger(ModelManager.class); @@ -57,7 +54,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, UserPrefs userPrefs) { filteredAppointments = new FilteredList<>(this.addressBook.getAppointmentList()); filteredShortcutCommands = new FilteredList<>(this.addressBook.getCommandsList()); filteredTasks = new FilteredList<>(this.addressBook.getTaskList()); - currentActiveListType = LIST_TYPE_PERSON; + currentActiveListType = LIST_TYPE_CONTACT; } public ModelManager() { diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index 4dc5abac431d..f1729780a75b 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -226,7 +226,9 @@ public void toggleList(String list) { case "task": listPanelPlaceholder.getChildren().add(taskListPanel.getRoot()); break; - case "person": + case "contact": + listPanelPlaceholder.getChildren().add(personListPanel.getRoot()); + break; default: listPanelPlaceholder.getChildren().add(personListPanel.getRoot()); } From 8c0240ca4bf1dd26d0818adf0d2a234755b11e24 Mon Sep 17 00:00:00 2001 From: randypx Date: Sun, 1 Apr 2018 18:13:31 +0800 Subject: [PATCH 232/288] edited command usage messages --- .../address/logic/commands/SetAppointmentCommand.java | 8 ++++---- .../java/seedu/address/logic/commands/SetTaskCommand.java | 4 ++-- src/main/java/seedu/address/model/event/EventTime.java | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java index 3108bd3878da..cc9854a11dc7 100644 --- a/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetAppointmentCommand.java @@ -25,12 +25,12 @@ public class SetAppointmentCommand extends UndoableCommand { public static final String COMMAND_WORD = "set_appointment"; public static final String MESSAGE_USAGE = COMMAND_WORD - + ": Adds an appoinment to the address book. " + + ": Adds an appoinment to the address book.\n" + "Parameters: " + PREFIX_TITLE + "TITLE " - + PREFIX_START_TIME + "START TIME " - + PREFIX_END_TIME + "END TIME " - + PREFIX_PERSON_TO_MEET_INDEX + "PERSON TO MEET " + + PREFIX_START_TIME + "START-DATE START-TIME " + + PREFIX_END_TIME + "END-DATE END-TIME " + + PREFIX_PERSON_TO_MEET_INDEX + "PERSON TO MEET\n" + "Example: " + COMMAND_WORD + " " + PREFIX_TITLE + "Meet James " + PREFIX_START_TIME + "20/05/2018 10:00 " diff --git a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java index e8665e771355..1f9d612c9bb9 100644 --- a/src/main/java/seedu/address/logic/commands/SetTaskCommand.java +++ b/src/main/java/seedu/address/logic/commands/SetTaskCommand.java @@ -16,10 +16,10 @@ public class SetTaskCommand extends UndoableCommand { public static final String COMMAND_WORD = "set_task"; - public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a task to the address book. " + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a task to the address book.\n" + "Parameters: " + PREFIX_TITLE + "TITLE " - + PREFIX_END_TIME + "TIME " + + PREFIX_END_TIME + "DATE TIME\n" + "Example: " + COMMAND_WORD + " " + PREFIX_TITLE + "Mark papers " + PREFIX_END_TIME + "20/05/2018 12:00 "; diff --git a/src/main/java/seedu/address/model/event/EventTime.java b/src/main/java/seedu/address/model/event/EventTime.java index eb6b2ff1df71..7fc3c8f3233a 100644 --- a/src/main/java/seedu/address/model/event/EventTime.java +++ b/src/main/java/seedu/address/model/event/EventTime.java @@ -13,7 +13,7 @@ * Guarantees: immutable */ public class EventTime { - public static final String MESSAGE_TIME_CONSTRAINTS = "Time must be in the format dd/MM/yyyy HH:mm"; + public static final String MESSAGE_TIME_CONSTRAINTS = "Date and time must be in the format: dd/MM/yyyy HH:mm"; private static final String DATE_FORMAT = "dd/MM/yyyy HH:mm"; private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); From d091080841cc2f8b17ab41f97de7553ac6e9df54 Mon Sep 17 00:00:00 2001 From: randypx Date: Sun, 1 Apr 2018 19:21:04 +0800 Subject: [PATCH 233/288] delete testingName.xml --- .../XmlAddressBookStorageTest/testingName.xml | 25 ------------------- 1 file changed, 25 deletions(-) delete mode 100644 test/data/XmlAddressBookStorageTest/testingName.xml diff --git a/test/data/XmlAddressBookStorageTest/testingName.xml b/test/data/XmlAddressBookStorageTest/testingName.xml deleted file mode 100644 index 228297184afb..000000000000 --- a/test/data/XmlAddressBookStorageTest/testingName.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - Benson Meier - 98765432 - johnd@example.com -
      311, Clementi Ave 2, #02-25
      - - owesMoney - teal - - - friends - brown - -
      - - owesMoney - teal - - - friends - brown - -
      From 991ca8e65d9bd5d8fb81a06febc82149f50c16a5 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Mon, 2 Apr 2018 11:41:44 +0800 Subject: [PATCH 234/288] add background image --- src/main/resources/images/galaxy.jpg | Bin 0 -> 239410 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/images/galaxy.jpg diff --git a/src/main/resources/images/galaxy.jpg b/src/main/resources/images/galaxy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7b47fc65751070ed927d053748efbae5ecb7920f GIT binary patch literal 239410 zcmbTddsLF?8!r4JCTgY~Y{C&0!wI#fL@hx@P$y3ncr0t2vb4;8W+LVRQ&2nlBM=Xb zIRsiN+EiLosZ%C)0L>H=N1L?7(1^%0q!QwO+k3CQ*ZThYz7LnUU#wE5A_*5*e90_m_7joi2eg+MrZIBjvkxVyXCp>cSutM^tnch~P1ftZ+>n5{H} zuUZ9nwMW>y{(pWf3xPGphK)uaLtOf_84EIbzz5L8!48qd7LU^l;7R<_2I9l z9o&wj=9`%QumNuM<4>E=j!w?*+jn?iai0Fa>|djEmA_@l=Xjwha= zrkzgD$jqV@oIQ8`!o^F4#U-U>SAH+QT5sV zoiF>O{r?OMzWMj<=m+`O_(#Pj<>#5%Iko2N{KBI4dt49z`oF>gpZ`~2|BtxVfN>cZ z8bS?W-{XQ9WPrcWHHItfF-B{B!(fLg>o&UP8C&{ss_wR%pxnZz*B?oJZTf?Q`{++I z-$VPKk^R35EdT#kWdA3y{~Om^zzhlj2M@XiAOJIM9x0*#Ojt;6jKv*Fi9YA%&&$9& zEb4v!zc&AQxckNCRfLAV0x2^=#h=smDaKGIW~n9p*$L8$!wAhXpxW!|1d%i;f;{J> zZ~D0B+F^HgZo+lKqz$yZ3!|+5t5ZvfM68Hzzbh}Fx)9!I@~Ek8H;+QvZ*0-Tct=#L zwG?ec&OJbKC?t&Ki$#2`j4PGH#forqOD2yD-M(7M!!85(L>VjR#PvjM)ed@^qXqt{tdCP#KXlFf`$W!fdm~P#J|_+F!M-B z?269;YwGsSc_502aIpYSSc-gJrmMYxid(8y+PLAPU5lOS`+Vz;_(bz`xZc! zP+#pGi%6Ta7_5jzBNTR*@zM2W)%jlfYl&CC!lr9%0x&y;1j6&zZ)<){bjaWT&%UmU zjAg*ZCRpT}N;m7@uhwCR=j?dd;nFf+AaAgr5=5J?wf99^5pEOGjRH@NPlU0>mU`}7 zcleR`^L|7_uK6|Pi>1$N$-9?<0};Kv8+YGk{TY7buH(_3Ol8O+{G%DxiR~hsLbnWP zKl|ksp8e?(LNTtGQ_Q^B@s5$6Vu7-uieU7flF2!)-Q0pgwd=uob6ihg*I-Fc;s@6o zTQ}IakPlu}%v4n|hx%>)RW6L3UZQ1(pN;FWwpptGW=_f?gyKGDf3ur=0RSlmC7m5p zBG26QJ8XnzDP9zPpelT;+cNOEHgAL_w_D2P>u(liD+Y_*^fYPE9=5N-F zU}Ez*^@}V421hVlu~5!J)b(i1dm&n*K3Rlun9 z4q18|JIW#gaf7;Ssqe}TA!@c7@2Svj_BC15A5vI~M0kBmCD)c-W_`iNSVyCC`yXN+ zulN)^F>pPJVPa_DY69ceCO(%-XLToBbKCq??`!TA|41^&%4e!2c4MJ*GbxpI1E+IN z#yn3D2m}Kq0^gy&lKOe|$Fhs+cFFBchW}+)9GcVT)Te(-$y6_$*zT?Vz>AKJBV69g zu$OUIId_+wVCW*uAlSh?^@Rexd%<8E%^D89pYN$1GtK?So_w(T6IO`QeXX5YqDAzl zIT&~(2tIjv6lVa+jI+rDDb5ZjwP=;Za8&^=(Zak`R*OFfWTdbg*nAr&pG{ z9vNifKH4chqm{zw(_jPpyP9fKvMD3#Wnkmkvp(MEI}qR4a~0vPDQ^6Fm0DK^8;8rZ zaWI`eGFeRG>2gbllZ>Ohb!GGY zVpVH5R~VHnrc>-u8hYS+smMSiq<3j@xB= zIN6Kt8PUH+tXzzY*V=ViGAK#xIdGdHoC}~9bRy@)iyuq*af{L*uT-MA;XtgtZi({t zk4G&_dkk3uoDH_y4bAe(SO!cpR+^*VP(C@`i(i2|RGyHJCxhS2Z;22mt&xnstq{f{ zxN_ZzI|df?UV4cy(kBQjN2OTlvUA zmYe+LodEYae*-6rWze{`iNjl9$$eP0Y(`gq$2YVZ!Y0qu!{yLx!W61<39F58%PR_! zc(YdgY~(Jp6WCy+tbR|N&%vj5={w{cUVa5BlR(5fap>U7C=nb#MJp;ax)HSgOTF-ixPoN1?1+H+Z@H9_~8Y z#J~Jf&VyE05`Eh#(e<9d_hU0ft|#)x+P_{L>F)XGE$&E%d2YeT9h_D=@lSl|T@0s) zo|zIXK_u{VZ_L%LH_!6JXZASxLkIE32VtKB57si8KlQ)rVAzZ|RvJ84R0{r{h_gN# zjc_e;wV=-plujO>U%z$N;s3^86Z4gNif~uZ7pWV@;qH-t9TX*!h#`P|+cjSah6AA{bBF2=AyPS8J zG-Mim!LTr#PQ1SSg;NnO#?3A5C;k*fs0A=$yc44UjxNTUMyplf_l`xeX+e+A9lw+# zw0%TI;qy#sDY%=fIiq7yi9fgmtr$i)%8M-%*tIzj_ZA@eSt^CoA2-BmZCi>gw|dEp z)hL?ir(UTAqJ6K-p1ZW8Q_!adt5kY2Z8eLfyVwuOf476FR`sr9Jw8^skNxV^#aCAs zIo64&HmvL$SKe2B#Mt_3$_4@kU8xjhVddM`*w;YHuX`987{MaiRcf@9cOqWYwE6TW z6I9cpN^~5Oks9EIh=XY(h7RxfGS=~Y+;3I09HCH&V7`*;zLvkcR#Tjc_ag!daX+z% zu-vEjlJ1{xeER2&)xY8Z#I{OUs~d3s?LMY$AmN;k`#$W}8@SJ&v6P{G?~E@Uu5Z{m(S_q|b3vF`5r$zyAjaSkLf=_I~>@ zSwq;GspKBvFt&uGFy^ZbFC=mDgALbu{D4;S2Wy;o5$pUv9>c*gou7%wc)j~SLkz*k zPnieF55aw4pt3Bw-As@X3fsIOUknAh%ZaFr-L|Qf={DfNaJt4jSXCx|#%7i5gT8Ro zo8H`1BO@}-ffl|#$~3i=GUyI`y;K%X?3$}b8X3y*LLF@x2>azK>^~t54~Tx&*r_~a zCm!3AxFK$@)2#uLnbOQ>6 zPePr^{R*7U=~n8$=n@HzFxIY!-aBIZ3X}U9Dl#YxwSXcB$tm-c;P7mAcyd&hUv#Q9V)~!1r z$eiTr#`QQ!zA*_;oVla(@#a@SlCwRv?g!3i+S5Gn^M zj2ABoaUBk)zgEKTGp-*hw%Z~*;3#b4q6924j%$}*z2oDj54oriYDG)&Nq=*X%jT6 zpw~%nGm!hN47vPXZd&clJJwqsn?pJ!Qk}f;2;%t{0MhPI1Vi~$f`i2&jse1R5<@EZ z)vvV%Zk+qMR)V_4=$X8!!fG?l^~^)@b)ObifuP*D!}}|;|04H}AJa_zRie9JS#CN;p5FEsePvBCOiPF`At zHHG_p;RWJ}h9E?I95F9yH@zG2x_z;2jo5BCuk^(s%th-!!?8viBN{jN&_Kxw1Zu*z z&0`_WJG^=A+RSIMTo!e(9|V6lx0}9d32+YFnY0c>n>~(4ARzsMm54!LXnM>TwMyiv z5Dc6bo!x7S8(IW$7h&MC+$N~K2j)L`2kbA6vWKzpe6Zo=d@Hu0EjMmPCAEClw&Oi! zIG&r{z02|U;rI`E3w;T1^raV?4)xu>7iff}?wQ~O(K0HtY1)iiZy=pQg^EuL^_o$3 z)I=SNt=fh0B8qX!p;kl^l-G&_Z>gx+90Ra2$83!ft7)+jf77+Cb&KSM2#Uc*%t*yS z?rNGgg8vbR1hRyPT+3nF-lRWEf}NjqH&$myIt}s5wcNfHKe^Iu-3pmUS+0aK?=ynC zHk87;OT|Vgju@_DOLR_xrnb6T1>ABiRWtu0>FTPLJPXSU@ODJ6Pr;CTh7C*}m151E zQ3awoyG9;*o}LJD&2irEM`2DUcCpCgpio{_*9>^vA#9=Ilk)lN+92pqavvWmBBn3Bajv* zl>Ksw?PNG z=T?IfNs7<4M3`!V6i#6>69f&5FYs2SSp|m??5n;#0R&0aSX$M_^GElc0_0aDNPVOT zSsX~d9g?wgTa2q*unZh5&N}cRaZ^!U7UHj@sGXfSnK|$kVG1|vY@Zj5Lab8)yh;kR zrm+*?-l&gq$PG=2-|K81Qs0iMbt_;k)!VNnb)pvQlNv?u*1I(^-13774YbRVP57H} z)ReEaZ+3rp6a4YkPnRHnC#cvpTZj%Z0yJ;Wj_0D)RVjc>fvxLt_M;3gN=Z3l!J^J_ z^?RpJW=u=F8V@^iPbmU1Z811~6VhXVfEIi98DtVZ9CzSl9atqmehXCay>~JG>j9P*&E8TRM(u@iXF-sp>E9g$U(A#vS=T69{#+s2+H@?i1=X+&H0TJP9Fm2v zO6p!XwJv#IyU1h}v!EytG3!Nn;pi3p=c=;_oOW0fOs7!^Z>1aUzQHQjh-bmB&W_|J zSVa2 zFdm_7!;ij?93$&GQQV@ygMb>RkI{79Gqy_NQk%gxklJc~i5Wwr;sNDC+%hm2ZbEuB zHq)En)209$xV!q|P;t$rBp!psR}A%CPmavMU!aTU{`8*wDHDieQr}*uw6}}g2A6@` z!ByAq%2EQsYbyFG$fNq4#8(zc8o9bQ0ajIg-m(2C%+%GD!i^x4=>7p9CGU%0OO2u! z=ia{xpU{kbEWIG2XynZP_-|@WebNyOx*k`%8f5?5<|ZVdn!uw`buZj%b{)013J5U9 zn~33G>t>kg4##+O47l7_)Nq&3W*i#d4CD8(yZC+J#;K@MEcW6w-{)T<@MnQ|zEm=YO@FOs0*V_wg6v&zL+P*cDbkBVd!9(M(HR2>QsSqZ0k86U@ z3wrmh-SNxO)SE9zDNAtLYMe%=?6}+M{AbX{@PPfLMK_*MdSHv7Op!wntAc#d-W8nT z3Vhe`S(DIJ@AtD&)cAEpcq60S8v|86S%zcM{~8pUQ<>{jN`02X=YFkg<+}T033cA| zkR-$KOds_ZSxOc-K7DqN(r%>+v}wC$TAfeqIG7sPds^JAR_(34 ze0X;2$Md+`&kNE5k~X|e^#vwF19S10?aRb{r3p4h1UqFAZ8lKRSMy7fZKjAW0XGwa zvmS!Oi{Y##!hyY=J(xi3RAG^=Cv`DHV1QH9)tX=6(IquoGbJ@h2a6#>&+i#w{PEop zy$E?9w{l%4R3%wd>smkcn;3n_Rx}F=B;MgD&#iqi2L4GXU^;~&t-{Kyyfrsa&F;}# zoxEDW99)Lf7W(-nv8QXS+;2h8<7CA-Gwit~+Us7Xyb$W)%}oQ9jAh_MB9)u4n70SG zVEb&O)qQ5^_&crM?j?WA+Q3t0lM(Tc9v&8D%Eruh0s+5T*}nf!WLpW+o4$&mFNqcn zc6_%93^O|o>>)WYm~%ARj~h_k&fGnS=h0_W`_boB+(x=RuT`I)1Y9My1# zuoOi!`?3t2c@)Qsp3zhE6#vVY|H%Yta)CxyzY-v2!G#@S`9OJhuf;Pvxw4P3zQvH& z#+L8dV$vCEluA)5nNkv@<7;*2Xz3c3#smK7ZoWsHibXF&8@iy4xNr_L0degHH^Ce1 zuHDI3KMBfUQmnr84hGW!$EP@k;$Y{|h#5V-%q!7^Q)~fa>Mhs0Vuj+JXm(Etu;=>j z#_-CxJ8p~AAnR+*2We?bt5A%qrl}+Rani-)qkiMQNhM;9cOT>|_i!WGfeX@h!T`_j zsxdCgQ09UC3d)SP_Y4(N7y&u;tsA&;ce{bjPIe(FVlQ89Y77>rtM+%86H}CjD z(+Tam+D60I9vDBH9T_z2jL74qxRUL{=|5ghS3L2O9V?5p8J5Y}4U64g#xYY*TaKX^ zZW3ul>X_|Sn;?yy#PUX_pTIu%t5n5mQw)@qn0stCV-QhR;Qgbb_Zj$a9RJ;FG=OAb zlbQ)b^I8)hUHmpg@{}9e&D0x=tqzjRUu|^pq7L@`(VBnmNHk=2^ukMe4E+EQ3!&cE zz0v5zhd^!H*~sM$RIkN>C~+s&aLg`_shzLCk(#>y_sW=i%s4?6;qvynRiP%LUaG{f zB8Isdm`Ab-czng8boLeZ$v&@(KeLlB)GL}=Hw~UK`^zw*sp>5b4V4y?1)Hv2TIU#D zWFWXsWnriIlG&=kEzxI&?gj4F|5pDjF(7@#A1U%&SC@Y!)D8p-3nmXo^l@MvE3-2G zrNNG085k}CkujDqOvi)-`0n*Bg?Yznru5Xs@QoAJ!k;LQSlAw{{?J(e`EAaD;h|+- z{wM=;3x~M6`T6xh93~?cwina_T1h zg4z19jN@f1{|c!75|F&X=US`t+Nw+MHrBrA*emJ&;zHnU-t;mkDP*?UlzX_1uA^ z`z}q>KWw>y75h#}d_$lYtd737w1vmPC5NOo+38ij9C0b%3t<@5lao0HEsCZK!e0J(Kw!Odk8-l4I7oSE~%lFA~t*S5)ni2C3x_ zT{N%Lou&|c%Y;5V(wQV@&P@fGWElLKvZZ?@<4iAWU{rW)aWFaR!Wda_(5cX57{fjN zRnhPO=kfQ$UgNOh6s%4OtV0nCdurX$CyHI&2H#&T!opy@3xyFy8Ag&6Y5_QF1u_Wt z`dDm1evXL}L>ZOF1#!sLkVTT`nj-pBUUZV;Kk;J)gMdo#=XTW8$ zrT51nCR#HlIKmH{AO3@!KosQTI+T(a>MrYFt`ldBwlw=UUl!nVzOh9WJ9sUsmxZyL zckHuy!XGHR7$>xaPu>MuzUz`0=2MwWI-hnTp9ssq!%lEs zFQB;$Up!gSsoZ-Od6|o2ZZNI-gB9p2{k+rp*p8&%Bbcin=fZRq$FXq?W3k{Ah!Y0{ zL4uwmNX#9NB;Z=*yaH`0EQ^~R-+3*)3fUMKBe#-I6K-$b(MR&Ae97qM#>b{jVs#e| zFx*lNUTQ@2#R^?z8+aY@#B`Tr_6aE?R#>xhZ%bP{>+?#m;)(7#h%top@b?K-{VEZ z;(S`2p5Mu!sy@>_WATl3j~eBMOiBUo0*jWWT=;k${(hy*OzuVZ!FJ;-wmrTnlTkQ> zP&5{i;GJ$GIS^;u&p@muqM_KY3cH$3E`~-)U%b~yq?W6HHLWhQxdc;z^ZIl3`2MF{ zC)A8WI;*L9YH8&VSFb9W(9@q5TiFZ85d5ABN=ZjeocPeG5b}}4&Z6^aHE33r-2rn* z%~a>qAXc({1AH{!g*pX7-UH_i*P6;$l?vU*Qotmfh+-L|ra=&Jd!Qn~(*vwM(f+Ag z$+95NbtA{dEIRVEq2v}tUia1jvICnQ0+60OSq7F)5SwwDc|n|x_VMyFaN+55c@KVG zg=t1Hr)hol&cFp@73A@dsQfztu5L?&8jqsvBj-h4wjWC4 zZ0@S7Va$SEPkCZy>`bWepxcnGEIdQLDAz4H!f-IG8Z4UNZZH#Ua_Ub&%Ts7GVzP38 z;hH5P*UJY=7@11-#4c`}Av;$MSR9lsVfw72tzLc}s zdq>Va*tH5BQ#ciRxA5y5Ba2f`i@ze}Lv1wiP!UdF+V`Zq3iJDeM;Etkw@UumH<~-P ziQ1%`*ni`p5#9WLb*#MY!8Sumg-v8E%xURaQ7u+5lrS9 zu$=jsxDH_+*gUa!C4$=dY0thx5fxcU3h4uTO!rX315}kCWOK)=*~a8b+jmQBq^8>8 zG`d7xExB`|=&WvLSHDJI%6m*91v(2EKIbwlo<|`qA?@8*a|Pb5dn1!82P?mpU?vHN z`4kl1w;xT#B4}~CZ+gpG*Q!+1xGx;3&*fLuE(5~L-c6=1*iS@Y8Mw4`qW4a))w83d z;WP!;F5GiEt3GnV*#puGW-tEtf?{3JXPgcOsz#dV~LtHid?>Do3)Ys`cGyjwfQ%oNQ^_RKQi zomTB!#pUP`V@CF!=8_+YgzeBR;hCp^LR;zZW zhr1P9;FRn;bV}5lLjW`rp^ejlnYbZ>av6`|&n2AP%Do{yRF%HdxpNFd7wS5yl)9r$w-;UZ-CbHMc-Ftr%xZf1LYYLH#C zEhf!YfB%j><`ed-Dg-7tRO5&+_q0viXC>;*ZIRDb8ZmO(FeI@N%N(nKEA=^!?GoEk zV~hm$5bs3cwbW>B-_;KV?q-0rNF%rhsmcTkmE3TQGx<(VqTDcT$%);m?EF}5bXv9K zw6C{>_1LU;!yM>y8G~pG<2DRB#OoiR>PSEAJR>jbA%qeR>08%qRak}oD}%6FFKHAH zk{AB_^!J0-tig%YKosf8k^AUW86(iA88ug1^oPqkRCHY0)tHB=&{TSY+fy1IP;>Ztpbw5C7rS%6)m&XK!VhJ@d+RI8&YP>Y1=T zIyrC!nee@v#RJ#u%#DG$B4ayH`}k+4@Jz_jl0jA~E%&rj_+x0_m7jZH?C z>g^79nLhVl^ZiM9iO)NFnFsq+$Lm;xD?ZivSdr@}#O7|EMDey#`6hw^mssAy2yKNt zap4tw<(b#x1@V&(l;PDFotS=t8NbyPGgzDW62pI_YXi54gB3(?3aenmQh*lNG}p$i zp7ODD>^9=^plo5M%j zpP9wYi1E42%Ba82O9V}eU#|UTrj5-6mKiwOgZfKX4dnwOm%Gumq)jd zRwO3zrz`I|C>o^eg8&{lO9^ASrB97*K$nLyBwGP%3$d`lh#wM`=u5PdKrdtk5r<;H z4oP%NUOTxq&tOucYFxYBZTAN6LVruH+=pQfXw$S2>3N^&yY+-?Ua;fxHV|lO`Vc3@ zDE47}_ANket$|8J<5xGSrI=1DT7dH!>E6C(eHsP;5N66#Yiwm`;-ni%%+k6EA-y(g>u-Sg#x)AzM}mU=dUuGz&5s z8*K89iwpSxKxI_cCA%%;>~u5ah}!OSx(K(yiUs3jHuGUv2qdpyu9!wk;C@BqreA7aYH!-n>pQ`X166#G{ViT> zi0UDtTfhoh`qx^-T9UC+$`=z9x4pN{$83!*TEEWw8?~h3&tjK{y)%F23#Lvw7`4}K z?R_@B7f}2sC^yQh^FbM4i=9g-^%kQ8Fi z{=Ckw%DhFj;5r5d$09gGs*$#ZV-+_j$k;WYH%j+aE!ajbb$lB<(nB*#K+rW3pQqNg z)W@?B*yUEd7ahcl&xTjEkw953y28zR;@IV{(^gh7CnZNLfSnT1_W!ZQoIIO@R zNF+5&BEdEe^=Z)nPO^pF8tTVm5<)v@FM%)k3;!f zOY!W#yz+*tkH3@sg@{3}c3#)^qo1|c)ju3&BNZb8l|a~ zulaNJe+O-XKbZi;uaYyc$ctSDF23z@-c_OY zYqjWyiKHJQi_wYuiRX&6`-6Ua^oTNK)ou36VUjrvNTr0MuGbs7^te4}v>3eY zp1k*@prCzoFYAH#pd0C~N&KquUr>I=)}d5(ZrcHX8Pxu(negw?hs98{f_%(phz@_k zCwMGRoa-FCK5k7}<}jzZtW$i~&|-T2dh~nO+@mRxYa_=}-PjFrlg5?MR{@*9)eQ=e zO{c_dASXb)c6c?Ek_mH!5Vnzwa?9+Xb%??Z{X8#OA0+Y|st(2JAsk3(8Ox5myye{d z2CoZN!@eL2w0K!s7IU2;lw+qB_zlXDLI9q0Ivj-pn5zSkwn2pQFPR@IG95B{u->_8 zT!Rd#G>;h?fSC`TDj=HL9q#ef$n2E<>toI#*692<<@+MjfH>so%Gh=J0kpW=E)F=u z2a-RY_Yf?rhevh-lqefN4;mIoldbg|tYSIi(efe_s8k^3ES>np+W05mx6}uD;)8N&)9Bj@zaxw+ zLl{zihrTV$pJDOR-w|o_^B}u{JZ!*)a6yP#o< zPlPLUQx5ZV(gx=ZXl5FLl%;d(hPZkLUfprp-U2v{wz+Wo7bB_!i(euvMXt$vLkmA@ zWXkY`5iSwVVOJwCk81ch zjOJD(;v|Q1)nAV0k8PzT>zhITS@&%9Gb=+oRS0RU+Fran!SV)N8H7VQSlpr4*uc&x zq=i9SupVIfzbCIl1+w1`ILuC>oAHy`W{Mx4xFXxtPvd6WjR!Zge5cfkK~>PblQ>9r ze38XxT6k&>Y;-paBE_jR0tC2VY;NM;^E(P-W+ci0#^$Y}p^n4-Yrx80K!6upMSfS( zsq1#pOsGJA`;R}`;^ZvYi3}`W$tcQ=`4)LmmafZjzP`x?EK>L`gg3qas_ipdBec7Q zSt-R6P(+kvuiGGk+Ko+U2ATO`aq_kLf8jzqHWI`<)3x!u5yfpsw8PhW$gsvnnMu(9 zeOytC2NT^PNnt1%l$?rI_P9E#;b86QcxR`W>>@)gXG0|3)1w z*<*a@cdX%RnyxxbawZ(|8RoNi!*DkDS|X#RLk=6VlyW)D+_X_Cg6<5fLw$Fs`rJR& zxJryAbm>0iyGiXj!1}-P1<7+dXJ*fMCQhraIR=eRz%3vQqT}Qq>>c9Myu5;Z65VGRsPTrdPXI^-6jYFw2tV#!$yvi{W7k;DAt?3OppRVKg?bHNL_wM8#%K%xFR!vqGzwYdvet`^Ps<3av!aciR9 zx)!QhOd`%(iG00neRWh)c;r|dz8N$*n;ng5co}5n747laE7W4QEwx1Vxuo%`V-H4m zH$2%sL>5=&6*zDm>fk8G`^3T&Lo_W04og{J7im0qhn2~TZq%FIGBLD$zNS0k=aON1$Zz9;4s$9F zN7qXKQSkGMBWIY|xps=Tr5?3D1+22QF9lUNwNfkn=SgzqX;gu-h_Fsv;~yJjI@xIz zCh1Zx%SZc?tp$D&4jPt?3@plNu?h}YmH8$9r%PM*UmCmHi5}VhGwTII$OSFU zH@{w`CZ41fAAFm0=MDYVS)AX9pQkNXUv}j-3j!TPugAvvI<#FaDFV~w7+2x*PjK;T zx1ibp=SQK%eg(xa!Js*ATH<>ADS!7 zusQFR)`R&%Cl6FukXnuC&gK@eglp(Uec4YI=*^&v{e9l_2;g8T4-^*bzjF~w=^)PP zy3Ag!b287aNXP&E@eiWWmrd_RHu<8s$BI(2M3hf7DZ?TCyJrSl-H!O`b2c3Q$HRw{ z0$it+1T2vd4*Un9;7G#W(0TW(r_FI-Rk<5=Zq-?woXeim(>?!So}$kX2L2cnC|`I( zih}T2?P5E2$ZxlMU{=+JnKr4OV5^)02Y%1o6ZSc|@ zx(&I6G(!g24WXIHm_{8e+aye8-IB+~PFoNHu7I0+{4KbvIym$xcjr_`6pCa*B#h;6Ir@aav)~COrsn)`(~9W_k492he?}arN~3Re{N$C3&>xbAkOGLpDbQbj8y8@diCP3LoLTk9 zw+2~{gSsNkwoD@|M>UjlQFtCbz# z93U*wVv|kGd=YHw_fGFctSKpiHPvh~_zLFF@8=b2U2I!vW8cLsRn0s0p;wW+hl`BC zTh#db|C0KHLopeRr*^x`xvK-?gc414950aECDkRKyEL^3UJ$go>~*qu_ldHLlh>QO z-neKIhSgC5X1%@*T>Rx?fp_gT z)aI5l(lb93EXMbE&%;#u+|q<${rQR@75@~t+MQw`jj5^TIXQI6T(Aorp5uh zv>ZlIJiuH?e)6x*F)5ZrwCaEk>a@M&SJXl8+1&D41%F1L7JnL%F*U%j8T{!b2HV$ro~GgpXGQq_|f?HcD)(0^K~x9q{T$H;H5xa7^{#wPH) z`pSe?_9Kfq{9;Kp1f5SyM#E7=T2=|G}T@wr}^Hqk)wJaJWoE{o@e^WEjez0@(Y^ zpzSF&By%)a@g!x{_AKR~O=3sZx91e0jlLE8=O+We+!qc1LXcP%z$JFqyjH&CnI8w% z2HFkI)i;{@&BMigJjx?4A{;s-^#(PzJpklf`Y-_`{E8am=gC6rUkhdn@&?%<00(f! zG~o!_C{n&at`bgdbo6TRV!sQ$DjDQqwf&|Zwm^p*(O*?|ch;OMe*&BPQ12SObVHC! z<4@br^rfTc;KmkRJ((cFp=${f#d*W%oh&mPh$GVwUHO&}r%pG~t4_0mV)f`>ox_+OoK_!s%QxUDdw!a#ma|pj6FUrC zv7Z<@!NWvdmO`l(Y_i$ll^uWd-g})nLA&(XC)3JXs}^8nt7?2TQ#}EJixUyCo6cl0 zZ|1oUJ0|5VC}3b}+#Acl9qWpvl*KSLz&Awhe(aYM0T5+VBG>~2#rE8_hG&A-XP<|S zv@PNjhmRkITL(%}>k*7cv!tL22{;wDpYHer-4%8gYFhA7IJIz^5OS$%1^XcPjKD{X z17}JN<$i>5AR2jE=SeTwjhRB^eF;X-iE}MR57-?|by(FD=yOgi4IkhC+%}%G z?bWSMmJ`Zi2=cTzChg`EVn>2#IGIwy;T3$Q+qRucNWGZ4-|t)x8IcPYh`vST{r1Xt z<#~~LK(I!RvQ^iQSC@An>m@Lls#hO%y6W*?td&=GM!z)Kc+B^brLGNh@!IhZ?1SPz zys>QF+?wG8|Be_xI%hvhyU!Y~c^M+H{VfjuhI+Yre*3z+>FJTj+7ug4ym=9bu{oX?z*R*G^d9gZ=VpS ztcqTJsW>Y#*0IyNG=&UDBuv|CV$LhlCt9rB88PucM0r#7pOnf;ryjHYe)~QGy6PRN zt^`R~NBsfE3P;dowfD%aLda>PdAg#AI*6+J@FxR?X3k=WfR%)FZJH3miK?}ZvKm>@ z>@71Z$@}6;uJLd0Jk`fdeUjw+WX`rVK-e{A5(92)cT?9B+|lHM35YS--$f) z%Hn69IsLnuz%Y7~^;_lTHpk9YVlkuE5ML=XX z>SR;xJzo50aJeej>QI2ji`=AE>8bv%jZw(0ue+dJg;H2M0i<=HA$R>CpI$`P9f7X8 z<;KXW9rb-#^2OqWt6Oi1r}Upl(Kmh)gRwe)Kf4JLr&3OxH#;2OvKR#Kz;$l}ppu7V zWyn6j=_g{Rh$@jzTPh+}%H%$uozJ@G%=H9PhblPbKD#guX>#vev`^{!7?j&uczh9b zHIt9Qk|ZY%GaEpCCCnX=D-xn2k{-0@lzFe=%dw=hHIJUMwQSOIJ5ozv8r zN81uerN0^2pibc&rkf$&=VBEEt3WPE*f{l!&B`*gPEx5N(?IDnBopW+aG+N(H>-l1=6*8 z&}UWeNCXZyGqVxWe=$x`$ivMYrn!Q?a=4RBQPr*#3WEM?`6B+Mx&wY?6c+Ma3L8FEMn?^ky_pExkx^o-C(kL^+QNam3}kF9 z_lfAXFLnv*<)7)RhxkmZ#URkN2)S4?6_WLS;Np4SX>(n<)gh`eb$7sW1=`ImcMcb-P%aUrVIT?Ge|3={e*O zMb~!Q3!rIgtiF&*d!X>i-1|2g$dU@b4Mo}V5zA3FeOym>K2=KufliK7rkIpN>t&?$ zkb)Jh=$KTP#qosp9-+k5f~67;Sd?4OS{at($x zgZ_enx(l|=x;Ab9V{WeB#g|VTTRJ8tNTFo<_#O~Tc&6SxcvX;nu@t}}!yB#J!P7{x zyafyTv@+~>NqDw2y5xhhle=`<$ctHG#J3MOltW;lVF_0s`ztF2 zpUxA?_@b(xOSmj@rKBN*odK40Ja^Ca_wVppcOLGbz_&obapu!1b_j7IJXNaw2ZM%B zvFG@6Z)+|$x|Iw*AuOHV>UaF_8@RFDGxWJ409Ir~UX%-z3;jO}v4q;36EDXDqRQ7A3%zC2 zfo;uoTTSouwR~&)A0&NyJk#y}|7J2tL#ejf9GY^dyW6R3Y=-Wf!kj9VYQ>$nOB+ch z=1?m4Y>p+(aEGB3rO?SlhRS4$9J1Q9MhKh2`24QEzdz^k@ObQf?RsC=^Ywf^pU>AW z+Rx`iB5}UTzu`maU*a&D;OGU}Ah&6W;RW=b6a6VRzm14n#TVL56)MIdgpbWTHwttz zK6dG!zuL9}d<$^@F78JaJ+P{n6P-MQG3O%?4)ic|V%{lD%LBdV#hE}cD|f>-9Rm&^ z|16=GVL7P-fXc{`$OIoVHDc)kV)%h$Q@1fMAvhjjncADU$Xy(DVib{@v< z*s+-iPyKS@BAULe-vh-<*vH0w2Imt4udu>{TnvT~8up1K_93_r2bgJrc{x*q_PZJd z?Kk~vsYdFdhz4A#T9^S>HSJl#$he9egG3Hd-6g6;-;aba+tn@FaP>?(?bPu;mSncn z78(c5-$DDCMpLTHZzW@zg!4;4fsw?x4=%J6a-yVn;|?qSZ=fadznHHcMVp0*@I>O1 zn2Ozc97EiyKu2Lx+d;pvUtY++)sV2 zFQ5x{k+#ebDsG=OG2j+0KZ!CL?|>+~%n0}{$bxKSR#jD9oMzR5?;;-=l8umL;~trK zG2_a-u*?A`9|zJMa$Aa~5Kdq<*xGK`kU3&!cm*sNQI6Zj;Yg?X;08|4>0SmpU2~^N zANA)} z@Kh_rqb{s^m-=F*wGUqMqhdD@R`l^UATc(cVs~`Nbt0`hv8hbM330*kIrw=cz8hfW zX++O#M2KA=x?$gGQN1BTsOmIa5~oHNWSf zEB23>lpt*c5NwM{f6~K+ktBPjY{U?>F7NMYhT`RY^%1AK98%}~#j;vZ+&|)#_wTvT z>apXEwhYxVKF{#feUsV@V|Qk941et0{#maR_SEo|$h3doMTvT%y8r2r7T5^8t8~8* zXi|%2A{qz*%>vtd>$gWvy)~9nL@+2@Ch)XN1Wx(?z8Gw30GDG<10k%h=n%6Wuz-hF z#r*e~(mtN!Nnsu(KI1>)a!&A_;@Z> z;HaPty&K^fc4op&D?+BmmBlZ_cj~A(-~;&XeK+_4=i;4u{KAaYxEG8DdqJD>U^=iE zD1$ni^^h)3A9klxaB5Z0CWmZBShOYc!Tx)P9mo)nV-jLI zAFv^^$GV9Xy_{J0HN>XwveR(RWj^eigH|cDuygM&cNoejXNmE$K<7=I;js_wCoSlN z@Ne)=n+_a*d=MqX$ZItn{g`5<7<7imMYYV7;^}XD>?-Gz&`J!+A`3cjzVdXKDeCv3 zd|A^As>%O+82$N)VFgL1D21%qP!Il%xFn}#Y9QAeDKNz6prX8U$>N}2O`JbnEaNg> zCTCdX5C4@Om}za*MGPMcOr3@3hkX^ki5@gOCR0>&X#_^I{eH`OB)H)jun;@pDhyi`hAOio=+Y~Wo^Xid%{4DNWXbE3V}knkY8yp65AQ%G1bZd{(zd!op}`B}c-OWj@bm)09J@|$Jzh+Ka4 z)}Xwum9HCM$vJ(@1?Z5Zdj0-&?dK^;n@oW#S#jzBH1(ddhVv|Cj^93M8Rgz=JCRR8 zxvOXHl7_M`>WwJJ{btZrc^#6+nyPrevZMmbRgr=xLS){ipJ~jYr0YGg^}ajSdZv!e@!kie_}yJqj!B zu-WG7%P%f4?mx3e ztBjIg{0_`>lGe<&FN1H`DTXB$nvTyCh*yrP{7e(v&S*d0GE+RtHsv-Ix?s|JS1*54 z|0$^*2RGx^GMv1omZ0Xrm!LqIy%g=|K31B%asBd~55tAH7(4Z9Psd-U2lLU=uzv3Q zztPwU*B3H5(46Ku zE9zy~@7}7{{6}eaWWT&Qm}yutM*jTkecX|a3KjvR9bI;_we4Y-jvr3DJ=x% zEVGx!iY|N>N)dyYg*DFt1PEDYYpbdy?}Q`gd#!<+Wh z#$9`y@p`*+vag`hU>O)S?zUh@4R@S^7OPob5Kt|gSjM0Hn9h%{3s3^Dg)f(O{10L@ zuz0KdT|?Hdu;H-IPmUzbFIgS9_Il*+egP}X^$m5<^p>5APA|QO3Ki=DzgBC7KLpDv>Pj-)cIU54+bJ`fC`LIP z=^TcZEEj#S9CmewKMsc@9G^ESRKnCNlB=HdW_|JT zd<-{*Ba!1H^S;Jqo3uS^kP69kiMu!d$~Wg`!7r)5p7Q#w?qD8j{`CajsaRm_=oPKY&yEaE)4oNuY$+iuhCH{;w8m}Y z(vlbmTv?d4UY&*6H>i=$8*W2I{!&kn0iI9tJYbgPnf>}2%F?I1C5H_>?ec-!LI^c} zcA&6MgEGHgKodTWa+86hIod4UsI1F8eePNr+=9>&4BAmKB|u zpg9^Xs6PudM0l*LdfZj!ZITtqu7*#L)GlB2mHye0`I&LeLm*8oPfjl`lou7@o6)sG zXTeeOytt;3Hj7T~{?mC`pR+-h)1Tb;iKCW3G`cSdVs83}@U(W~$xJx>{)~R%6UHI? zY(Qx9%`xr*6y_Af=~7Jy3&$7Qrr%XrTsKi&tpVwf>3z=9t@vg5eDmJ#_8&nqD#G?2Dp7 zgP}Q;WVZav!d_p=D7eT>+cF=8-%y#NHg7CAHpeHiuy^ZX0rJpE>!&Ec~!kDyq zAf6ANEKhXhHei4mb7is-(D6KUTH#!RldI(M;uz(tgPYZ&KXIO4Ky`pvuTMAUzjE<- zpl|iI+<-K-h@L8%9e0Ca7rLW7OdgZ(%RH2(+}vQ7C3-?QmFW2V6iQz7AvdaFxlYp; zelh+>`1xtB<1=tWf&vBVtlV7MZ|PuANOQX9s(~+qnLct~o19Y=apakVy*O6%$ICC9 zxr?-^qUt}mxdt<&9BwT9-4>9Fm zDGXu1yj9=-!$ttGq3Ubh<4Z$VQk(>yAv;zY_S}0FAwnBI%x2M7qCJzoC}Z2a56YQh`aQx;5SYqtd)8F`JuC$ z92gSao6K!%ua8t7Xt*Hz)C=6lxICktp!*jg2Re-^Ygxy|F~aAg^}M9>6qK91** zW>R6nt36$CoNA4rDa-qzBtMU*aBk5duNj*HpLjYt{cZcH92UZdacudK9btNqM@-BW z{%#4{2+!{J9~PWAmWz%QBLK+O)?+yt?r=7mA-a;P_dL6Vk`#G*_nWR3;_=O-&YV^2 zv&p9uQR|MMgaCB?779CHbx4;hZG5r^{E%_KsZVI*rTs(Lx7E-W6&tUtYgklCipLo_bPV5+4RI40Vz>7vLd zT6q5v#Q5wjQ!bsp9J2v4?>Ic>DuyP@M+(^35|U?fdevb_Xbw|5%vRKgUZU+yX=Ukr z24ti$gf5YLFg^2pTyaZ`YPUMzN#YSJ$7g=H!MK(rKbI4sEf}^&DLQq$hym(n8^4s5 zaz*=FcgO^&_5nXrt*7nR8RI zA9%0+72s4j!_Q9s2a+z#P5BpNYo%yl(wzF`o2e!_+u113$zjj-{PN{C!ET}p*VCRko5pJ>LnBZXQt z5xbb6z1S1G5%V-B>GmLAP*3pZh$$hC!vN@xgVuD!_G!Vd#5{)A!yAFm594mGKLB4b z$j%L&?H3zHnp^dk`dvk?F5)Rw|ASzs{8%lV^Bs3KSZ#_sWPaeE%I0Q6>3b@TZ<;m! ztJl^atsfeO&gy0rUB<_UD9g7Ys#7#UNP}0vq5|l0in=Z(*UDSc1~&a_M8TT~?AfXG z)66u>|16PfVl}$l(1}-O%h2~6pM~{HfEc;l?xL)Z7*QSS-jXxE%xEuPW7Dmx1EkdS z^nZXmI%dhjYrUQGl@aVdKp}Ej;{T}ImO+!%M_{&mktvGMWm*r z8fH**vsf)Y%(3tk@(i+l*+4OB^!EiKP9XQ_4-sLa%uM0;Nre!i4}`=<1M^La6BaMn zoeWYX1E7!?!%9GBfJnb)c&5(rj<=RIH)R}}a-H=N58e5_W|MA)g-#4%#Incgt$OX_gZd4FA|{~wr`boBbH9vUJ84oo=JEBm(6AQ>D9yI@rM8!4SetZT?0jHkPv^d7pAq4pkb%kJ|V6FDewJ;%-Qs zLU6ih`8njLVC?q^agUk9Cz3DviL%%cyY;SMAmv$nlzgx!SNxS_BOqNiTEYL0Ad)@z zZ_B=b{I0|JkU0}aK-hrm!%GdKD21kSl4$bu>mD23X3?&85Nf(UO|S=jZmz;ZRsj-4 zzG%2gk_FC#`cSN1!;_@+R`Cw1<4u`r*86YA;{kP<@w@93K*RTFbyQ)9IUY)nVwFZdYCQ zAIZUa`-khOA929qvZUEwQTq46Td!aL>2UCu37vak=aD#^8ZSLI{Yd*qBVAI*xYu7d z)c)v@wtZW_Md#_$kZj_^<+yS)2@cRd?9RMTn{VyY$F$0jByizY@mQPtPjpsHC9-E?@=VYoc<+;3kjd>Hl5x|}rUX*<( zX@ekTDEyalzL|POmnA(4E*WQ!7tqa2)$Js}(*)4T`xR-;f)%w~D;7NgE;avj82iAz z4CA4Va&JcKMvIC@UDT+7b4GeeHf>IAjIMA^DP+}Jd79*hDq$=>!SSCv;XGzrZA-?- zzcGo=FI2s@z52bvS;>_pv6C2&YkJbeLghuBCKs-|u(~V&z@2G!)`< zIH%)h7sH-95^&#k>#tu_r9Nw{Mi5~p-6~HnDaP5_{g@Tg^r!7u` z#G>M*M2_g=u6vpeY#+y)s(Izls^=ZBx|WTV(ObU`9efdthO&1z3m=5WjZVMqy5F`Ypgc!bcRl|H(6a!+)p&J4>f%dr&6B?IjO+G4^R#jbe z6m9Ls zcxyLAicVEZ&|1}Vso5UtvF%83vhKHw{bL&@X0Bl%H}OdGu%IJ5inMk);c|3+QFy+^ zHura~p8v62LZwT1nP{iB%Ri|$w~cg5vc2EvOK_4#{Bi!*yZsS;>vxC_d!5M3D!I6J z_O`YjGl8ybSJ)m=8Z4r0V08{^@Zo_VdKga~kuL#uaEse1ANg%~sbv0rV_pdM&#Zd& z3KQi5ltuit(=Y3TvGM2NOr1(hV&N&>rp;9;(n&-6ia{0`^(}tmG5qM3pp?BEUWaTK zG==~v*w+2(3L_df9DT-*FAbYInYp(0@SjFn&gc}V#E}a;&6f^pNw6ksq6Iv|C3=Pj zh&|s1$O&y;k8MfsQ>u%WO zhUMM_d|lb8$8D_612o)_j^h%k+EzP~WG=wHwKTX`a~ts{nrVkr;oDX5{_9ZiNo5Td>pP^D*Te zsoTC-rV`BB2PcH24@I>XOHu}};r(wzFEqn@XY9{o;;po%34cZQN0q#AJ%BvUK^y2C z)xn~Zz5lpwiZ`u14aobpvhbjfrCXA&9iw{R$?iu>qv+=*{O-BqBUAf8n^5ORl}Wgk ziwqLeHW^+NZxR~F^zenParIdV(cwAfzHOo6@q%c1cVcdS_x)|hZyN`#v3_NJL74b_ zfss^xSv?65F@!I3b$ZE+id$N3TXhG#N*x0}?y@G&8||m6*N1QR--2XLqQo;7 z9B-pj+h{$Rx?6+9YE-=Ryoy+X`V-{AO-xPgrmW2u{7j@I0xz7oaq0$b9~_pc1+nyT z-zFl0MO!+zUOEbG=c_B0!q)}W_^vc9#(3NQulY`?6@nl4Yhk7~b{xnM8@_?NR3-OY_29pX*SZkl zp(_{{i4|M!4u8Hk$<0sHlX)La+mm!^PG1~1<-WqOuiEG3mVhp2JP17z8GQXOSf<9+ z!Bu&ob_``|SkwK_2)xb}<4i>#N?}+ggA9Op#P!l^$;so2^64ZiHUkv1glTrQkviB* z&mWE-pg@a4Un>{Qls{g@3f6100W>^G_Jeov7Hs{dhZzkM{_a5Us>xt>Q4GjJv{bt?<<0 z@51d~V}W_|KB7M4#IN@;Cy`j#StAAM2A%s)Jo|fp41AxZZS@)s^SW>8bRY8gepz|x zU;tiFBL(HG(6;ab-%!>xtBUZ*Z~xvZ&EZCOC@UJbLx4gcIC|)v)@`ohi(_!ueBhZp z9I#K1kEj;?nns&djTK&Zv@N2X)QkE+i^>~1{J846$=W0yCqCdN3xb?#@2L1!7iWqI z559xYh6ovn06^P?VOhj@M$v3f)&r|7CJR?8+|36-7WS~{HJTM}7s4eOPM5W>5{gW| z-s(&3qHC4DZ230~g-);va6YqLrq}j{{$r)2j}`GEetPQ2fwV{Yb^EPr{oge3A=AS9 z&cJOn+F1jAK+@~`QPDBCud{Xp(_EhRiu0%~vv7@) z+W#CADx(E(v~tSpcGh^o0q9<;lN`vjD(8>fVWv%b0BL1ibNjg4>u;_RnQJPKX}KBi5m#{L+tW&4=#>&!`U{zhv{sAvef`64)^$VXwmALNe|r6v1Ne4REN?5v(D4!E zG$Pfpu8{&Yx@;nrRL=3JyhDC$ z#%s`{BuRa(0>ui$n>^iE#=KB zJ~Qw3#(|SFF*s6YJjC1)o#Z|lAM!(G?#Zmx1LaI}rEqkF#Ge1k5o?P%SslW8 zgWP#nr%Dx0_SoFd?Wl%E900l`&-|Aw=L6Zk@d-qry%;WZ#Wha>!`i>=TEzy|4q;$Z zFDE{-SVNOfdF_)j&nYk@2)*}O3J%5^Ompk0+#IBeBq*1QWGW?ZB6tRFa7DG47>uan zlL?8oktco&MP?6_nA`@^O2+Rsbuf-Ynz97*z0NNJ+Er9yli{c*NEXkUKbaYUYlJ2D zC)m?_y^Tx^K!yT?=NUgS*xX^Nn*LNwq4obHbSu`lJcTiBLNGJ`SJnLo*e?NyiwkDh zhns}1O=W#8=^Qm75$yqFJ2vW*^7(VFJ=&7!END9WvSf!#9=lxRZx>}+1g7EBz;&yp*QQ4;HHWCCRQQvy=a@|Xo zI0*_L|8OIgVoB7Q7t90Qs^HLp7NPf4A-mXYfSI;gb2F1&WI&N3oY$gmh8`Sqvjo$+f=Y(-NYp9TH_&X#?R8v|W4 zt_3tidKoleO~E^Re`4Rww4r#QWL{_Ee(LfQe>7<6G;Vqt;#l{|5;8s!RIuhh8#Huw zZE`c75#%`zYW~NBxLI8Pw$}`^o@=0NRO(|@p!EM`{m<|}x z3G@}~=DMt={OmxmotD>$o5BCJX%5_V7l*E8Es>oS|B=j|T-gCKevu)+bc9W#ew6O$ z%nQOpYmru{(xp>f^qhHr3Vqfct}|QUd!boy$XRgTGm3RVT~q_X36Jr+&5TlPn#a>_ z5AtS9Rf(CKDZYc}2!<`?M@y z!!M`B3A6&=(xq;CH0uqu#>S}v35VNU>xg|>Xp8+_fK;mB+_j9iHzX~wB-wTQfw`DWpVS{)q$*U zKCosRlE2@-_;Fkahkd+DXPm4xwl9-&-vz$Tn7RIh26VBJNNQc8`8zSYbWF#{Gw2>K z&HZ6X)~@_Y6d??=kk$9;P8yc_GTRl7Uq1HX?hy#`?}mxlc!qMZsI$23@RUv@ZQ=c= zFB@)~n{a0AfVebZ|0U-D)Y5}8b@ohf4kRT;4n{nvr2BZQZgo~cSNRG6!D5FM+qDEdvhzeBvd_& zumGx{nXk88khFT^2V_4McR61+-&6H8yCQZSir+ECGQVk@>pzY6gw6=0I*9Ow=H`TY8OQg zSoVgbfZbEbDBQYX`_bUI(Zivqnq3MjllibdloHn!9e8!cHNIa8twUx0ov!m5`&&ej zVb!Qmt%kw3jV3`qd2Fetx*?I^&-Rh-IN`92m0M|?!9u0Eic*aL!sD-Y9SDmGJ@K~fVB=0>J){I`a?mn1o1eBkiIa%38D-WxThzup(?Fa2 z=l4_4yApQp#pg>AK}X$(L$BrAbIO6%deLzAgqQKY+?)ozZ1YX0AnewY`8sR9f8Bh* zYS7D5xI8p#x&5a+z{nuPOl(kCaX2a2&fp_hI`cOr?(>2G6%oX7 zIqeo=XZ7##H)rY{#%Oj$Pk8+mv1nI84V=#EUX%bh;~kK5JtVd7Q`SuDLj$lfu)?Pg z$Ub#RV&%B<^ti6GzHb{x_c zr@Fc@z3+it)NOc8`zylfW)rD4jk)$$w|21k%PN%sgI9rksV^JWtXmOVX_7>T3cHu} z`~Hq-agFO04&8LpiJM>}W?x zXY6Cd(FIr4bWRLgJ_G$3`JhXt2P6-9q;WY!#8re|Hr&jNLfFr#BC@yC7H5{SY?|8~ zMC|KO-@&V2_#*Fw*0k z7sBu1A&ZIUR`_-vp5z{MgQMgk7`S@(b|D~b^gr)M)?G65O6?l~{Fyt&@YJS*d2NAb zf+OL*DI_pL2!mj(9(Irna4u>8uwklspqBx+QSH4w*n)#8l`i~z>)s|o8Bulo{M*!@ z?tYAMh`r!z)m?A?A`%VXhWXj zXd$CDz?FL7v5k}34#38Ra=0xjP^+(BM+wQSA$Nc&+#Q3kQfoc)aJzg{KEOv50DF~&~lo^VNNqab#F#V z-Bx$;S!xH-3TPOK32=#XmwivAFFz}bOY7}{UXcqVdmEw!wgy29iv@TY&p^RoMzzbVWIBP{ET{euKixZ5H+!Tft2+i_v>~DUxsTzD-x|Z_SlW zX(z_Lf|y4cSoLOBV;j8MU1zoMzT+c8C|4tjjGS6#RPQ%Y0x!dC!F5OAc-gmp>%TY) zDuburK$x9m6uOqm@OUE757KW^`%zyXAIfYUfC_-9QIeH>d4kKZKR-WNS>+O=WO_rBs7$bh-^pw>fv}0qYZe8h$!~0Zth3$2p|3pQiqLh zsm;m6e@l?F>?mgA96CVu%g^2Inagln!I=IzAZrF=i;mcOtdta^z=uD7*BnKi92s&9 zCp91~F)}Q>ooGWAqmP6nx_q(YC%;N3*UgTs49+YVbK zcfjP_h-VQqYxE9YRTsnfFp&B59Nm24rP=xZa?6&lYi!niTRGTgSWb_AYts}(=FNke zq1tknbu4fNiZJGTsrEAY{(S2g%Ii0OsYBTwM?X{6AS72O-iGm47-=BB8So{ebRQ*ucLRME1LYDNi29jfE%aJSH-Pa*wA&(}OX4>m)E!B6ysx2vdI>KK#SK zOy`CfD|w&lYhg|PPs*7tyD;9kYr86sVHLX``x+wEjv<5;30cE~bxAAt5BS)}{2tKK z(Dp;;ky$eii6VZZ*sX0p`tfUyQED5hjF{vQMg;jNTr*)$lBSH;lSA-Tld+mEoBA|e zMiPM*k-qVSK?${Vc1a8Z14hs0&MJ_|asW2QxR@z-1W<*OuVvO1|}(;o>@U)N|=&LWkvhMThro6 z^Aip-+p;tW+@KT;8S`3r=PBMXAoMagUP~qWks}*U!dFIbkN5Z04N{oB~aGw=42{)U+>!5KUr z5xR3@Ih2}6xquN$mc7rI+%+vO2?|Y$jR8>xa(*3cVnuCg<|bwqlRYc<Cz1q{D(JTZEnAXLP%@z)K%(C{D z2SQxGSZj`1Yc8b9eJAJ1M{k3JLD^*SmKldb$#CPYZVd|l@{7FnlljeW?eGdiKj1-* z!dyEz`+ME@U}d~tJ@~;a1+X9GxlHu&#{H%JJ(vawLBgxv$&pHM6IlZ}9789YB@k_T z6NOfTpZ!oiYGQu&zRVpd+njgvsK1LvC0?_UukyBW{E{a)-u!T6zDFu@i@Yh{J6JDC z-vMh>tsr_}z@Ryum!&9}14!x>kUkV_VRg9z{Lyzuckf2a9c9yl=X($&!_oObq|2R} z`h2p5E99F7BI?3|A96)o9BK^kAPoDSKgze>^O15!Ux&SjE&~1~j8m`-uMipxuL!=p zKWH)ZybNSXEJyo#=)$PY5X3KVrYwxRRit0R|13Lt*kp%(lqEy}Of#;7smx@>m#mMt z{#K^8G*&>mKff;h(DiEtF3nMaKQz>mnW6FLr$+kl14+3aIX=&{4&>W zTr(Um43^Ryw9 zNK?;tA|%ng$HLpo*qAH9Vd=Czu&LCnLB~)3Wok>fFAGKWzx=au130WJ=m44!Wq8>V z9hB8Un0~94oF&9Bbh}mJfuLe0;xVL)QHCTaRF%Ae+-z5zAX4L$*LLGCH%zF}UZ%F6 zm4;>8lAbYVh~Fdw%vr&&9$1c(0J75X+?qHOMH%I`7LOeqQ~tS8aF*_u)$EIxv1iP5 zd*UVc>-E2%rE0w6AoyCST~BwoIup#{GuTw`Zw|8`{)LpL0)0&wzLfAIT9gd3D?`n{ zx$WizxV>1h9_qG8DDtU8xPoX$O!yS`NmU)Q+4X$~LFeq*>B_s`%buTiPgko5nxfo> ztcjbXu7(^KXkD8sBHG8lOR-ZN_A@MS z&U&oYza>uP=FD~IrKlyqkKPmj%C0ce*}sv<#v8N%gy(Iv5s$z0jvwYt(lbn0@8bY9Lw_^fQ_f79$r%-d$U zumI)|E{G0oRX6IOmOfe6Hgx{Z=GK3*{|7P0&k6O@TyAT%Qe>&W?OSY^XVy zqbI@f9uRNUpXsSZNlEyncDExu>dD0o*)IQsoXorF@7)4F>-RnJdF{T!6D#%H_HVa# z)f`AbL>Kr5VgcFa?&*@efr$*JZwRn#$=j1TwZ!N>l z>!W4mHU-z){xphdCq4;qM@MbK@(2O>oWGMmOQ|G1EoMs)i)E8K&&pqjDeZ5QS{g}{ z9FJbW05i{7-IUmnWk^RfRm9VD$*bP3|?(EK$u>qD*R^d0%(U2-5IXt>Km9 zPz$2K*#N_8&JUTLBRRh@! za&zC_>?%tQAM;BzcNEs<>W>FMh8|QB69kOq=YRDN3w-$R1{Gg23)Ho&sU)uXU~V~I zBN_nnqL*3c{|C`Ciih}wk5%z^X$Dg`h$hcHdU-~yU-ERX6#kc7u>sAw?Yo+Lu}fh7 zo-XofW@wDc{L;Gd4>>T5PqY(abu;V*6jp*EkEc^lqwgCGGaP%H*~dCd{T}R_-9SX> z&;Zc4px|sm#i2?EdSal=BB<(;I;|m!q|;O2Y0G?#($sL;zxd*&>A3g4@SvndBQ#|AfT8ZN@&gaz`Q6xmS9U4D>Vkkvs4Ul;2(up4O|I!h8f6UNz1U z*=wWe)9G0rFbf`rbl-Hg7~*;#`{zxh7NRFQZ2>eIrl;K9VVNFncs#fy&ntNwoRa+s zY8qeOJ}u&FYwgi$Fo{Aq3k|QEmu}sBX}}p3*=jet6i#nMVJ@^o5*>4Y{g{awv*bT~ z{5>kp6#Y~2*1~bP`C!tv6#ay$vpjUd3R^X^xRoZ66vqZgVm`R2Zx%}R%$+YIcW;Dd z6&=6sD3uwOLJzi(iaWM)O7^NrCooj#l6ekol!`zitX;p$!zP8z8<<* z%#qpc_2tlU)u`C`;fViapu*-E;l23!0?ZICBBtspIJvM zfK!~V1ZkE@j%R^h=>tGz{^m|jtCQ%4XQxX)y66e|8j+>V+Pi65IbcNsa1p#VJ%TN56 zq1=y{N~l>&jjL7pSFIo>#6FtMD-Un9!b3AJ6DVqT>0t#|*JE_lXNckQ>{c`3QLCOL z{b_F9OYlRF2VTiyL8pMqmirzh-wo0F&J<&ArxBlu!+w+}5>Dm9mVzbV|R*%c= zoBFbHCddw+9N4cf#iovR8pLb*(MB~YP8cVaCu4>IRLiw_MWFwH_vF27`579LuHi;M z+mnl)!vne4Q`S<)m)zubl5D1wfVeVKx>_N7VehZ&4mk-)O>I_IVsS{o9=co76OVoN zbQi*BOcmvI8V8-9#h@w=z)Yrp1?oPIA_{;IGoBuF?0*nnz~JE()t^tE>~QM(E@8b; zL~eS}Fb6B1E7gLdKrXedMUu`e;X_948Z}KkF`n{&0V`z=Ciig73KY2d&uz{41ek$SUstU?i?PPf*-q#5b3Z*ga;$=w*wj;c0P}+cQgwPN-M!aF zuIjR<@4IsrH#p?I2Brnc&RKqkgT3(4@hlE9WVHOav%Z#aZ~e~g9`d2(b+o+xyXwXP zv(fz_OuBO1*FILpJIyG1d3W#V2F7+vpYv(WQ*99s*EnNI8Ti49&FgU>-Sf~{bxz0+ zTp1}IJZO>UJ_yTw>7V>}I{Sti&$c{fTsOaj-~^@zLcigWUkdt77L`(j5=3cht4a;5 zqXmxKugUCSx;?5lq3H?o7IU-GG34v zR|(r;cd@wvBtr_T)f%3<+O);9X9c6_$5;3`H)D_nMZ1?7o>U{f4#zL0pER*W0`T29 z1$T_RbFU77JhKe^k^k~c_W%92aW0Tl*hl-&>S6_7NcLebtl>v3j$STz9r1HFAG6C6 z5-WK`i%3|S4F~4#2JWCoXtrm2+l>8@F-@a~w;GBDF>~EDFvB&$3rH%oBS$%t%_aTX}g`S%Bx%>6DilLPQ zv`pug5ZluNbjWju@Cl*BOXKQ-M5*7x}$c>R5pmcyX4Zs z%<}FsUyQO}x=?O8Un?XpKi}JZ%J)<6kB@?5uh(rz{2$~h&s>5cJ_VxeOv5tLd740K zVU*Bj9<5jooK$b*3k~xeOr&AhrWv_kB@!6CMK|uPgrPa_%lDe>K;=&aYI|svW;))) zF9Eq3Kebyl~2^mUha?}NBcCKg7t zo*5(GCoR!GSZ}#*VpNpN2?6!ke1KQ#S;(X;7UW7HMyhw-B6fv8y>-$i6NoIp-n$>E z;9OhBc~X@fR58$q*RuA3s5~USA|0a{A074NBH@pva7T)zlaNRz-Qa!xPAXO z8rX^%g`vZpMknBm`y|;yKx_#2MPbE7=?uvt3@x2z#dSp>Uv0NZ75%XNpiU99cP}i& zcT3lsCif*T+4#*M;Kw2(JlzqB8{Y`3`r)DY*#5O}%Ms&0mIo`=2IVg$H#^Q59gMjnm=s@tN7I`>Ih zH@ma2AvJ4cq~H`9I+n1<4334!3=4OjQ?J~{v!K%FzNT(l*9MVHmqQ2P)YCKaB_#^|%+0$5 zSg?b*b@x7Vax*q;t22|H1G%{46RxViI{4cBqTDd1g6MX%@K?L|II~rPn|CV)tC8dE z;;o+fV0-F{TuV$l(ZZ5fPY9j%#~u5_JtX_>Ojb876^xuIHy?1`nxvbv5Kt4W#0#pm zW6@H2j9gJJW2uy-u%Y9%4Z1{N(muhtSM|~CE>u138*SV@@!N8FrRFgqyf@nWxME@2 zM=nYsTAMSjF2wJPgn4E$WwT#0ncD1ee{DpS4syJEVcJ<}$`RE}{uP*wk)tp zG3h^GivAHNmIgqP-=g9RoYSOPqS=zD1acFp+Fw@*#yMac1wI!3Wlme%;aS|JCN9Gw zB9Bu1*=czPd1g6pGb91-;$xo}RONnM%hQ0CH7>fxF#Ny`LPOkU7TAEPlz&v4&b&vZ zy8Ai_e``Lzy$D5~8!BE5xWl{%r?ha3;a?J8~GPmqUvGc~_PYB@mI%Iiq zsC}1pQG*X&MUT&>2eyS+4y=vlZs=2th4*V+dj4X9`TE%zya1b;I^MsmR;=B*5@W^6 zU$SVub<8AF$58sUxC`OxO4@imMRM)WtwGsuRc9c## zgoLA9=ur!Lxh>TUV6zp#y?_C}&j1XQ+2fF7Jb#TaDLk40V%aXIeNPHt{W~8JyCN83 z2P=G88j@c0giN5o#=WL`I74E)KAyyD0o*y95pvo$-nD{d|ZL?Sj+kN_hMc6Q89C4 zM5S@QuGUPnKm?+zT;Z<;vt^$=HnHgb5ZY|iaQL9J%SYrldRQNr5g^LSyE=5MUm7z9 zydYn080`OGaj#T%JQ6{qMmy=*tSMd(LYLTrg#v#K^6B%0uLV?o7MKMos-f;R|LIts zw9cnH(KpIItH1?e!)__FOL2qfL@J)46@Kz@CoNhVA|XED2F0l6|8aEo@l5ak|9`V( zNJHtgWwX_shB_UKYQu~=G16Ri>NuUkoLqcLX60fIhNC*p+FW*_*_4aXl`a%cIVLe( zFyVAXETc6-*eYxG{k{DD@20W$`}KN0AJ510{x}@uvtt$*Jul`o!vTuV$A?s0{DN!q zNePHt(ch=I<=7kt#UJ$UfUstj=OY zJlS?TLfKc0WxqIw>Ow&MH%+evS@)nKPjdLJ&w{%SR>64lFNA-KlE4J?c~KXnUNQq8(iP;MSxH=FBg5BY&kEc2n{hwNU3^-y$1Twcen9lt#2`0Z*F zV%gtz=OJSkZH@9CqiyDEmhfLYmtVDW1TL2An@~ViT@%e$V z6&0|r$MtR@d2nSST!~?QRjR!aKQs>r=jDKylH2-YaSwfFVbQ(c-gk%1EeP_K!XvB; z4SNXIw*Q>^-uC3t@^tWOM$68gX>uNOcw1EIS?-&4Bkod41U|$JOr?-)shwdlwwZpW zBrW|`@kcVaOeB4kvhFSfrLDs=PL#I2Yo{mlSmx!77(}#O`f*r=&pI@3aDA9%&a!8HO^lNaio>Ih2n7X7|g!a)5WL!p0h=UqI@pI_(jDih79=~1Lx=Uk2#(&qDN_*1C zOY{4^fGx`HN08Brai+H3_KERLr2}7NH{71T-;NPlc3v!6{nt~-83}zM%NJzh!GD>` z?Qu8AH7Dgad>6DebKYPx>59uBkhc zye82pDNT-<&1Y^SbycPr-8Sl)U>A0&yIlka;}gPvDk4F%M=_XiXKzHS39b$&m!Xcy0 zfsB9Ku@eO(&WWBOEv|o9h#p)%Fj}0RxBu0xpQ4fzl;8<3xJ0*b%U~I{{x9S4?-jhs z0zWy?07s6iT>~r5_2ExL6!Rw4yV*2KJBC&Xq-s%WfaMREVP-*sXe>e~O>H8oY zW#JF$er6rv1_g{?)?S-%nJe<{F++iS`Oth7Sp`Li%31#3?lczJ6bcw%=fM4RJkN8* zFLPbITNq=b$5>q!pEnK zmgaU{dovwE*p#Z0R1vwF31rdxbVSos1$4zEjjz9e5CH< zT51M}rpY?#$bBy4SjMLq@9?uv=m~VaGQ=c^+>Y050GR_e+72omA<6)y%#HGgkFL(m z%7E`&{q+gh|B~soH4!&as*&Olq$wtS$q;uX+q5!{FzCSp*+O1lDAi;}5|Z7q<3Mv4 z!n1{~d!A@7-`Ols@*S^HEz$Br^JOkwh(TepwmJp^<9k*=0fh9nwyeP}fd?rw10du5 zuZ09R{$0ZDsRcjUL0a`rq4;{t2G?9Ht+QlF(g|^x3WPO+tWk55RDEox8PRoAdT&Rq z5_NF#&WL8w0mIj`!~U{~8BiEp--*oN%6jmN6wiYwTu`LPN;T*&RHtir;w3bKN}_XO z#N+P{r$n4xuH^zYNW8>vc3W~uFFWMZlcgk{r+b+Q0V ze;|G_zh(kr=yre2}+`LVV7;ZmqAfon(=Smi(GSQa&j@=_6O_Slk#JnUo4Ii zP^G0V5AQ^0Yo%2X1vYNS1?Tv!+d12f_jzy=1MlKdrZR>vheP_=qUtL0Pdo9uJ$CK7 z{tJ!UfSm%aBx5Z5&Lh*lzwoqcig4@krX;@^pr+W3fak5`y!{+`+IOxR!H=u3vGbGa z?*!t~Z%|atHA)X&G>7Gnia;t~7Q`2vO0>kOK+K(Unv$Qj_OQ1{4DLYRn9&IJ>(UT- z^(o|okTC^jjGtCBP3dw~w5J?Np7gtU^M$RC%U7jMcA)n><}+G|{L^Qo9NLH$(+@vOofM>bC#!)|*zoIc=OZIlwk#g&*bK z*uN5;TsUAydtCin>+lD1S4H077f?el0wKZw&_&ikHgF1VU1P+SV=Y^O$9GQ=OE$`y zdf7iKDW10w{d;P*b`Y}eN~jc#0CMKD?EEuLL@c;4va+fPOx|(3xA6%3&5e~!wowl-o^`A# zzGAY>pGBpT0?35nYTnP3$8zEg$1BMNS$2D1ROi@EKt7)ITAtgO2-g({M&93iB_G1t zF2sl*UTEMVP0T(f#o|v)Q)`!-KNu_4Qoh(}&SPt*6CK$fD1bu`e?(2<1i3Vb43(~} zCmo3R7%?LjY^q9OLn+{{aq`;2N&e{Ao-HWhX{GY7eKEoU5;$SaqwGs=C9h~sUu{1Y z;^I=+@=9U!SPs*Ldg&}>`dP+~g@<=kXngWiSsYXei4P@l2L2W##hq{4sD5P!yk}1v z>g^3MS~hsiQ?Be_&OKn(&VZ%y`5FKHxC6N(^EJgq6yFI0oI$e(zNMI%HSK_H{?nE!)*Wb@0V;y9;vaeam_MTj6mGfU1YDvJ%{SvJ4`< z6HwVNaqrXtgt#uE|qr8eI31Md+DF~`F$p~;_)Fb zjLLH)&v+Mf4&rA6RDxI(&Wq?Aq^vkN zJ|XKzB0pKh16(%$NOks0>Mi=F?Gle~?B4$U%t5Lk{w}W6s>E$g@i^&Sc2JT_6I0~U z%a5nN8?y*aMNEIH;AxcA8-lH{CW)5t&ytM|dkWT&4O?+t&*xEX2BXgO81air`{JVX z6Lm&U#`l*V!B`i{P-8*T7_N_RHC}o|lsYL4sT*R6-ge`yFA}NHSdg>dTcOS}oKY3A zGX1^i+5|uQ-=D!Uf2^@5S#8+rQ25|xlTjemUBL0PP5VL(gaOQ1+5Q3}Ds3%P`16(n zUHgsAY|~UDZz?y@WiY#uvA(>A(<->q9-szHko%cfMxy)YD%e0nZi2zD?Ww|grkL-@ z-+Mt&?_psn4gLF=`8KC1lmg6fKr`#)J(qj8nIIaAHFUU&p0Po+?&>bdAJk;;ci}?p&+P(8ha!llFhmV%TFcv(sHO z#aOr7nBh$ZKFzlsztPDNsdylPPk{cg^oKL+OdeUzC;7rLM=2AjI*oR6qWggoF(P0* z$UI(!IU42tvFdn5g$(m4FfzX=XP51Nq4ou2Vkr>>H z@qM8-h_*$H}vHw#gEEdmGNdN}sEdC50Ik@INlUxmzL^d5g2=ZA6!SJYpNs^(v z*R7`H{GPpe?V9}u3U04<-_NfAC&}HPyb;Aj0 z#u=%T3@AM_tT)f@Po(3ue@ouUz`AgqiO~~o=H>D~_u(~&p)wRJkRXbyVix*c8rt)! z?(!cuAA5>gpH$MnXz}SmO{lKR+Zm&rvtKNx4F^KAhcl0WMXSn7FwhV!zBTRiyxUj) z>@&uz(`kKGhTHL}kZ2|-J{_x1CFFYkTe@=R`XO&>T<4D0kL>~GYs6I`zrkASNQ47F z;j*6G;n3uwAt&Sb? zcCqAb*O3={8;N79toBBN+L|1*83qcYY6)4j2I3p31lJuu zxQK&Td){gZ*WIb40rMyumJk$)aejoxWAl9%h3Nn)uTjy?#b?0b7GpT@`3$T*R5OoU zSvX4y7g;Lz;EyWiUmaaiO*X~u?APZ904maywE9G}{gx?;de2NhE)Ry8{$(E-g-tZc zY?_Fxtc3)!7sbHMTUA(qz@}-{F9FW!ZJvGclpy^0(OjvDq7?UCn*6F8_={Hzys4Wl z8h*E39sEn?Z`X4RhEz0$kR5DUn*C6y0^k^sB*LUnh>#L@@IPA;qR3@rq4!nM_vP&v z7B3@fE!U_}s8r|s6kfc+QI#d6)+LNrM|Qsg=*ZqCL}B3!2!99dS@m}P`+`+@anZ2x zWj9UexW&j|g#yEx+~ZoY7t&4+&e~jm{G=cJXuFaVsL?B9+3x&bi_-fNq-tFmSzARA z=5KcHv4n#aLTa8vo7OnDH;m`SlG#+~m^Q<)i22J3|LXww6<&_pC?a2JJAKuaIO!q#0ce>y2Z)xa5R!}Sl_tQaM6&V;n}=l&;C5f z&Jq_)4|^}P6}f>usPT=tLJ_&sQnibl*D7~?n5qu79>U4XPU`{v=8Ao`c};Z)Wz51t zk&|&B>}{+jQ#$;w{QBM^4NcZ8L8w2v6K8=*?}gA0VL{^GHH&p$F8FBPCZqe4SR5st)7t5L;^8h8_QX^Zk9+vPR_QKl08;+c{5kIQ@Ayt8; z3do$5aftspSOjJQPibyF?$lQLvY7!Eqs_xS=7kXH19FH-VDv6w3uET1>_+^v;C9VA z!MK+xc{;OM@3;WhEFncc)kJ*CvK%+0eXgq{M{l}Rn7(}}*v@p(omssbeg9pH4|dy3 zPg7oWKoSy6@~y+PgSToA`6YAzEEq%H50qdhPF=ij?!wdB!xp%dnzTPfRX-+hIP9ri zQm(Qd2T%a0w=&eyLPqz5n^-o|FZmkARLkE5n88?s1>WH7F+)$$_k#^8CGJ$UpKTM- z!fV<^IJ=PIde>@*#}WiCS*(>n)&0-F4mlgOKR4%X@(lzi|1LU26B1>A;4;~a7c18( zA-3=v6HHQYB90baO?CFxcdS!qhXl3H?2(9?0MdGLkILh4_G!21;w3q~i|RWTN73kO z!Lr7v$TR0cAj-4h0D{j_Gtk7Bp0BE4`N>|B{8kk}9+f|WkF!7=iH3r$du_{-HNu0l z8|%A8;#1e%c`i-KRc%s3R5`cmBmuwZ`z{}XD+zNm{t6$?tik5OWMKzj@=CSuDXcFPpTFNJ}K>VM!qsMG%c_e*&#=}q{QnEym=7LL)N7L zQMJ?)6%iwr#0o?qgVTmZOI3!tC9QBsc>M}d-E`?+Sl$Ev$I*iSkAD(uSHWnNXEm94J5 z=jV))uI;5G?2D3o0$UG?#69PL{1?FyW@**6&h0h6E&k=Hof$42;X9%h(#W**rcOs_ zqTPcfo^>^lAEUo`L>1ml>!C>&l=D}ts_B5qk|GbBaPna1Bto)GcMw;6;S@d^;;=e= zdvjh-_K+9joWD0W_q(voN(h;~l{0Ad)h=iyp`HwW@3GJqKmYDT5>EHD36%qE!4c(~ z^JqT}Zt0J(!#_OaotTnc-&Fu!Jgxn} zt-nUHyUA{*PmU~`Z^to|SlU`Y=W9<;+uXKj2!r_v{vyl%;p$sOKXu_&8mo&7P&~zn z4_W8NL;jK3;_dyL;H5`c>aH)fOhKl}7DOxYRc6@5dy1T$$!&&)f>m#KTNJM{PfJve z?P(`W07bMc8h6boD-g zr=$WwpXNTX+N$@$GVnbK6JXm+x!NJcubALD*EHr7F({S=u^o#n}m80PQ#Iq(T7HngbDY zPrR@$a@QKV9va!bOeN?dhN-c)Z0NMnMuk_-o{N}vJxP3;El zMwsP8uFXmcLi9?q(IdhCR%p%^$pBNI+X&EOsT9V6F$|fSz*1hb5>_-)Cf=kD3U`2vo;T2Q7)?h^m? zRr<*e%zK?$B~;a7!M~t^7lGlNF60R2Vn6!$wz{6Gul-^OJL%2}-~wd~#uT&m4Bn>( zD&krY;F)U>@Doj_E@eBhqHRUVTBZ2^pkHbVT8C%AhZ291IKQD=pp1Qk1=rURpT0|# zkyQh1H9hu^BIAjk^~r-dS1x+VKy5rCcyZDG$K^*Oe){`MNshVmk%-)(tUPB$wDp44 z=2<$cuk@rN)o5x#+$n^Z*;6CHs_>#Lovo>ee&<7?BmP;P5cniD#MC3JI55XIe;29i zDPFOfEbG;2YaW~-ZF-adL+v$3C}{0v*x@Mf$^<=#)<`0(={;uNBbzM8`xpANi(bFo z>4(N&wO|r@^RazX%<*A-pAct2F)*|NIJQWpuVf4CqAQQ`WTI4xAx zALzGaaFTV$>x{@B9lJXATk~>7VYvR5^_!=SuwLJ!LCXJGx5?l+ri%`!A^z*C>Pa6; zH{N#lK(FKeqftm2%*#yMbEi4tT{;d*XQdAi6qj@h3SfZ5%3%qw{(<_Rl z?@Nq1xM!p1|FYY{qx}428WoXR1=$I+!UJXE_=Dv#yWIS$b;IHp{E@{!zV(_u9#c)0 z1?LJfDLBC)uyJJSGlt9Jcr_p3^k+l3z+n2b?Vz6cnLHC=NAoUQhL-TQN3QKhf!QBE4(uy+N|r!z1h23EXB7gFlJ8%kE8WyXTyr^Fxb zd#rd6RduQAC`fptRP(nLmRj$2!7K|d3hckWU4jM1ASTsP<%MANZx9Y<{aO5#Ik^Wl zS|Svxh%L@*=D)ZqJkPrhyXOLMCweMBcA0u)PGZsqkI_3eLv{$N+pJ&ihctCZ&^7;# zM(pb@tw$fLcOc@kBGcwm#;xht)u(cv-WOHIwM`o66-;2<5Av2Sl>`+UqU4gM!-Ea{ z?o4osXg?UapID5OG`3!+-sHdpj1eXM71b9CF?Pw81s(~>+muMdgx~-Zh!Xv~2L=AE zmt^_O2QhBIsjAoYNLh2L8#I4t!S9O}XZU9?bh8H{q6v5~nVse3q)z!;GDGO_B%7hz z%M#30D>O>iGbfWHAQd?nd>C?-(cnnqi!uf0v$o>X1LmZcd($*+?Y`yKc5Z^sVu|Z# zJrHjeV;#+Df&M$?9`AYmH+{V1@4!{LRQ|4w0uYD5FLtwoNfk9jO@My48<)HhBzOofmtHI*L0!{-Vt5p$On zcr?}RzuJ3THv#8bC8F$hm5pj4s?4Zwb(`nHhcs|{Dhv6GDh12h@v?@&T+nkt@NF<#atx2lbVIptlXDdD9`$&t-{ygm7ge8oglX3 z8tkv%DsQAe2ghLmarnBEpsFPr+I2iZ63lq=k%05$s46N<#E%x!`yxapej1qT zNA@JxTHqrf>zDenpRJx{m{#KaSqC`5e9s1H0PCXzs>fxfdx`p6!7IgE1rEc+?PZ%t z6ulc8%t-tm_w{Ca?Y81+Y~pp)xX`uT_rw{N$vI-%oktq zumAQN7>SKb$3!5SFiWD`X#`QoiWnm8#q|#J1e1WNH~T-H=mAmp8UOqjtrUP;YzUgx`y}Z z{~KX+!MXjjlm1B(xYerpGu1$(f-5WiuC1&9>>|D2?;kX#w< zFKpIgR{3V6`+WbByRu8&HmP3H9~fhQi!%QJBDth`L&x_?-Ho(u!*p*Y7!6}p*BM)Ykf>Mk5%+{&J>Uq4;`!3r`4iud3Wqw9`^vk)L$DFC&;L2Ab3wU zINK)z>k>_;nYH@hE9{J=VO3!jS?Bl~0#M`di5ks|niLUmjKk|(=<^S6scOmvjJvL+3ADQH$ zQ;7ynwvTtcu?!s5R!IkWFu@DH8!JCfbqQk#GY!y*UkD+YM}FXi#IUh!^-}!l+8yZ@ z%(;rFZSK)_t=@a6evfJ4$$`uf+L;Y$Jz1nhCm*Ncein>c_nz<=p4>_5##4Xg@j2$5Y#do>Gt13B_kFes&m5ejLpc=~)+?|xnTvo}+Ug#L5k^#ANBNA> zJ93?-*M%iSB|7iSSS_E}y{+1aInZc*i~&yEAR z<=zUAW;VDf@THnQJW@`fhnNLroY~-8F$uc5D+Q*HRAnS7v4+zpqLZbrm9R_gNP`9% zis`jH(0}V}TL>c!)mHtcFCj{L!u}S}_qIu8X40N5ocWByzd_K?|*c{b85W z%4=vpka>xTSd8m9e=F(HEsFiTu;1#rYz}AvxbPq z0G#8#AUsq&IBzVhL{n6=RmSI9+@aY+9unA@TtQb$@vZ&h;41x z$BlSvM$5b?8w&T?icWzaR93X-_LHf#SJsVf055L82s8+j!AcM(W`T;8riUP7nk5p6XsWjdRu9~v{<-SDyVTj}=1!8 z=rg+VWOc##o!mB==OWv`dUx6%Uh%aLq+gDZ1Hi+*scUjJC>I z4o|KT81B*#34SPIO`K1S)4@w9AtCbO6qnJVRt2!wzI=I1|Gw2Jwtm| zI7)A%oY{Z7hGB#^_R``l#E}6ejhh%04`CF4zwjdPx7{wlUHrA}nFmf9MEnhsb-8f?lbgg4iA4op$dU68@`GIar3m8~|cMjf%E z=pA2!fb${TBuGMckur~* zH1cRwgo{XA?nrrzu?!59w2*F1#O*y*PvwL(ohoj7Y$)ktB$-$?$rtpo%;7S+nxB!h z2ZGfi#5HjymMjeo%=;&0)vh}8ofscmw7jX3cN_*A5zj9=w$vJPjrxQPFJ%P~n&+!$ z79I0CVE96TTwj)il~l~U6enoJz$ilfaIBQ8yrt01he3g@3u=Fo5R79+7UL6qI4n^~ z>w)><^SO2n3YY#eMw%)Yj2+x#H@RU}*|F;oO1lA&8%QsQON=Xdsv6$~ z-Se&`;ilZ(e00r;zbc`lQD#s0Zz-Me7{#3X@s5CYLZd3EP|bG=cXTFDDTanzE?D63 zqUy{oL)C`#FrE)M{I1%_#{(z#NIm8QqF{{@4tY|fNq-LVG>o&tDcwKz8|V0WsK6s9 zPjL8rxrEmTRo>l9MP^uB z7#do#N==u+kq*<)H}|6L6;Z-{Fcpd=ZG+*0_n?&6jEuNf3I!Oa zf(PoAtOEA-PKaJo10p$T^10f6%3}Zw1XgS}!TAUt(AQ~;zs2_=txX7~YbqvRf@*0Y zc>Eog=0NBb%o^^J@$2jbM+$pq-&7Kb<|gd^>iBmRH+-z_Fwvg5_tHbI{jeUSu43$v zZZY)%N?KuE@^~V}KE;)}yf7zCj$T^zAy)f3+}JlLG9e90z>!hrs|t07iA)K#I2FLu z*IxV=y7qC42PS>d(UP!mSm=8L(Xw5_0DYF%){<4iwTbA5V@c_{&t*>brYgFEz8AD8m`9odF5j&%pjDBCuPqQWg1QTG|2C<@Cfjb2YA zB*D(S0`O9uFe83TBD=>;7vcazET54jG&IScsE5_@Q;^P%(&I7}(%X;jqN=mbErkim{DWuwERK!mAEbc)%p*hrJixezJj^P2 zi}NZxFCwNU&g-{-Pt_AORUM9CGQfKAw*}|sI-mdGv&CR84yYZHv*TN?^A!NP@ii>N zGX9WE*XOlo({0A!cv3fy{edQ*ubmeu>yH8T)d9;A0wc&$&yJSLj{T8x#p}m|E(`r! zjg12}U8|LpzDZ1E7%6fbxp=!u0jF&1!pSTGK$&lF$rWYERWGXF`Iuw`?%W$WR8SEq zyn!IMJqDkb+A={s^RmVN&!bSbj3}H9as9&tR!^P*l6`G_`$otYM*cwB<6xZ4f54la zl8w*wPlirO-?+%f7tDX&k(5d#_xQfk&KS0CGubyd1Ts+pD`u|xjZ0T2Nu=G-CjTm! z*S8i(Odk`LH;IO8xcG>q^pr6{AMcOaFm7tsNBR=17Bj%R|7%VX1>w>6k%C&_qGk3O z)RTLhF}MGy4o&od|1)iF){{h%1w^E?81!E%ZIcTa&*vewAzh;?-t%f-u5f;0Y2%3M zID4%VU3F&P)4@}R_qzLdE5W=mxMvIK8d)R3Tg+hLL)@pf4FNuu&#H1iq!OsN;Q8Dp{>r^ zDI&utG71Qo!JgKEzv9}pMvPvvhpNDbr0eCt?%VShbSYJY8W#;r|DMMrW0;t=P%LHU zYv_LkggI|2;?R6&R=cpDeZS7Ga%8T8CsYX!b1}aAA({^lB zkkA$`Jb`-n@6&NT8Clm+ZR*_J_Z@Tl>utD-GAO|}@{PDTnMouTnRZf1doZ7?X^sSx z>q%!7L4pepF*=|U_nmx0;;ArSs?6#3Fxg%FDg>yw{B2f(=S8cjIPrm+nBLcHU$7=t zPU!oa7ee0y%tLs#+OP0Fk=Wb=Iu@8StXPU?_hyMzJA~23Uas7OS-MwhU;7hNoq_Rj zR8scW{>lSIWU8(gN^wSDkYt-7OpK5-DkhjjSy^3J2on}izoM(89_dtJJj&oc+e6B*Cm_e?h$h^J&R4;@$BMPOM(Q+Q-*#bJFQ#61T ztsgTs(qF&&*f^{o0MdCfd7&&~yKD zws>XN)Z@Tx<(mAUuPz**U*5YEP_)H)8*jWdu-bZIr|q3NQ6eHxE*i>+ z9kPf&mEeodGdgt;L}__Fnm0#yS)Kju!Ieg|-0l<=q(p2lE=sjmfv>CiP4lqNv?)TE zZaDNrlz%a$`~t%ESHOb>(jm!t;g?t0c|E{-iW5r~X8dxlNs=KCjNw5Fup({osO5uf zi+6r+{1h3fp5-fCj{wS}Fgmx3cGhyi^%1H0qvN%7u+#970TCtfXKoErQy*WuK;PvA zi^hPZ07s*?8GqmKAl2a^VGJG^cKVF2?ZzlE5s8k^*LS@O-+MZu=$RR=qMQ1C?BKK0 z=Lh4^K7<_Sbd^y2;u1C%RrQVzd<%&1pF?ljk;K8WcW(-qh+NT7zm+QH4>MGGWvm6q z(m(LsR5lO-%}h#|adKj#tJH)%xm$P~jQ)&%;F@{n2)9@U#>Xy$v&1jT=<=t9{0pw{ zBREiNKwk`6<5?mNQ627k4FfXYe7;RiBD>57_SMfL#pbyT1>ijimIqJe21YrX_vnTjL`U#9S{8N&?+a+8;wD74L1bz$=O5D*Mldy##t- z5S1K6`*9v%g@Mu?cHhD)-L9op-B&J3@^Za&Pbhe4a*4|wW9J853%ZFxR%M+bFC(c~ zZ;NGE@(h?!S`;=!3%tF|05zL%iQM)cAbCp^B)%{>0?lKqHB~c#3ay^x*XeNcPgw5D z`D!>{Iy)4UVT6*0FOM$HE|z1A!ko!=|2CYTDfXXuF5FUTADwVuZEPErrL~c!b|N{S zmGzU1H_(KoM^ph@tqVPMkCUaXg&@`BWd4E7%!j!hXnCZVvw58&8YWCc(iNcNbn-kB zkwcytzIdN#k9)%79an)jP(0_*l!vI0YiyMKCgTgm!qD5CVm{S9Wc8o;d}z#$9cb=S zWJ#rd*vR*#J?p=T2yOWMMcxWdPv*^~U1RsBwru^u3x=>Eo{E|=!S%KEQWiOFQ>>D| z3%TbamIJhhX^$~KBX9Rwf@(v75}T&!Kzzc4B-b|Y$UI(t=Z%o{!At+4!x=5OZqs^B z>4jP4^{6wwm)hzdVv^Ref#wDP6<(TJ^e_J!(1DZEa4$rTe1hiTJ%oEYDrvheq%j^ZwSDlH?GqQya(|}lvU@nfn!0tq*+9Y}@EYd}BtpS;o6c2WEfY2fgcIu-b8-dz8w9j% z0lbOgXIAIm^AE2)*=24TO(dH;*o@il-&D543KeEU-$Yf^9I{#?*tF4y9h7{+~M!Kw6uj?_2egF zK^kVZ+kCs-5)(_OJ_J_zdO)$Q)z+a2dHdY=Z==91LRh`?GK_^v|IJ{Nd+ZOPZfU+_ zZq^2HP`V&ea|Ejtft^+J-!4dwoY;F9(1XXP3PF9l;hO#Kq{zRR`5St`<^e3GV1F^l zqPo)5<4sVDQZGx%tHg(-=I0Zf9*N9=2HQdMvhXG2rcz{$Eo9Gjd4lg(LEy{ktx@#X zX)3Vs7G&r0k_aNe>(JQSRrA7xiL^=W=URLCHl%|6q<|groGz%RRdk~eHr8?mYoSk< z=m=%|O$tL_KgEX*X3OG(Nb{@-7X4{1Z;Ziz*a&Tu07?7(Hn%{5%Gn z7t<1tPcAaF{)~OJu^9p_cfIzS{2>#>6@gH@92*u0cEm6}{yW_T23a_DkO{n)+wzH4 zlOEPZpLY8>X`t%yLE|dc+!(KZC!gHy$oq^}B<@gBuf&>Wm53g2!k!*kp5$fMEcXNf z?4G3;cDZtS-yPsT5XKC??3Vy_y1nt1M!ulZ>-Nsv`HtCOm(Fx;jo#D*6~8oh0q^OI z!I*pNEWv&Wi2%|`PCw)o1V%X1>VZqL{)Zc@(xkr)vV`DU-PiK-#bXr6K_vzeUlWr5 zWe4A6gPnW5#&FlDE%GHyJg@$`_N)(Fh1QPg#NgjAtcEdp^YVpB#v{QN#LhF7FjS}a z*!V8S*16+M=&w28qY0kX3K$({mgLwGSRpzo%+ly7!Gaa^UXQr6+W8RaL!w_|+| zrax~`*j?tXf{e|u=~)8TVWkI9k=P*?%Yb4%){k^g`QR30)CXR2&BNFc+U5lil#a%?z#6-M)X|&}5<2Ssxf)jAr77O5muy8xx>j~DF4y(r7?LDA z@SJOlAT%oJMy4wre}^M0U%nB3+b`VwT$mlqU*Yfk`lI)^0qA^GB`<;{3pXVX8A-|Z zno1rMQ~0uMXWO_>+^b~{kSf_1Zp{l#FJiqUSL0)9JryB^-zpeMeuj1Z>Rov(ljmpO zc#29sYVdOqnmid`&IZU9$@jW3ovtr7n)hedzI8ohC!{Iv`noq2#tcPF?Gy07^bZ8x?vL|JAvVF?4wHkLDtqB*NpK|S zy9oTD`QAR5JYW`V(aozFnEso8q7~+zm1QmOp35OQ+`Z85V!^lt;ebT^1gVOGin zat#ZFs!EDw)Y^?x{g}R+)+$`TsKl9Ibf@tqqE_AEQH!YcH~|l31UA81j~QD0_N}-Q zR8YxplH-}ZTBEZk5 zz&``N+jERrQf}-H*R` z#+etBzth%`0kT%~7RmCO6-K{g<5${57rr`fI9#worwaiVdqiNMKN3X5n7W00{!(E9 zM%(?ZnoFjK&SBGL)c$+#O}7mSV}=U~(i9mkevj4N`#Y!tkSCbqjHH#jM%ZOWPBF|q zLjs@31___Q@swy&JOxgjxf-hsUpsJTF%Y?Z*}Ts(27AxM`fZpHW7cpL-ukOn7Jk@- zUDnfXcg;7UC9M)1*y`@hUMPa3@BIFqMUItqb!Je66~jF&=4|%{*c};m&pL{|s*F72 zt6X@V2xYltjkMJioi8p5vL-_k zjZnA)Am=>GicDy<8`!_YO=0l`Jy{m>N3sN0KUW2Z_2S}p8t+iXk*RFJzrS_F_!%8F z)|-xW0IZh-2+7M9T8$ehEr4+BwAG$7Dl#L$7R1#g*vdpB5aBfYwSS)oL6qQ1*DYqa zJs&#Ju}A76vsruv26=+k#_(hYB%cJZ)${ukF&2Asa<;;)<;3-ud?*Sq+Y`@scocCA zIe-c{3%0H;ph055dRX4D*?FST$A9Hlz7A+dlbCka8@?y$<}1ngHVTTs3-1z-VBq>6?vwQeB(y znkg^bg=*N`Rr)@g%^5VevTdY){+Sx8vKCq|*a2X7D)k?`3cFVzI_oWEw$;`PAaX_3#y{|6uk6vN!J6`c7u)DbUV;W#c)&7GS zV@}R^V=O|FWv<**eBA`n2Q1>m*^5*y+eMw_ox{TaHmoq;=~Nnlzzel{np@;l-#KpT z}Mmcl}XmwxV9z__JA|hp_5|`j!dBW)&Pl#_M$3Mi?YipOJc;ml1Bo| z1gVJS$CZzJb<+?dWvh4JTLT~9_HH4=US4;Hc<+me_fkhoILeBOWl&*%{XEbQj;vkb z3d%yQ`lgjgLijYAJ-8tkjG?akg+>-TD#4AZ4h$|L>jm+7NhIC-DzCHzli>x}zqGZ_ zNn5gq@*AyO5uls>lk@dL|GS%4ypV z)lCJHzwc2N7Z-}O$niDim%Sd<{#e?+Dc`G$h>}s1k{yH* zIbq|*s}cM>uybqq*j^}RG2TTbdWGzU(yd;5BrCpY!SgOZ$eCk&6bbuGx@G{oNX`j7 zFEq|j4{b7)+n(}uXutGx+oEHtWzHpUO^?@SG>A=C4!u7YuQ*CXO}i`03I(A;l}AkL zg6rzX9`joH-SsXGPUxE)o>m9a5Y%s*wqCZ6Jh*2Asjo_g{XYm3vRc`w42>L$g;7+1 z3jJyw4^OKg{YqKnqBWc=KdWJv^HOQ|;zfveuuwsM6O ziSXpndQ$Zh(e_5Xm?q3o(8S9%XCTvW%AbjO-#3StQluVVCiN5a{+ojZZ1JHF@#tMo zSzYZhqW@Lg;U3tr9{r;T1P}pV%dUtvJ5vJgK$iH^je5VvWB2}yeX^yn$xTt;j7`;Z z!UlH~MqyX(kc|I+?sCorIN)pwK%{lG_vXS)3E(~tevH;=rwr-)?#6Pk)tabxjR~Q= z)iBSmQ<`h_sMve=l8aE4Lv)GVdUS@=?I2lVMUOhh{-l+#Ti5$o%Za z?qA(fcX@{9fSTN&bP3K613Q&Kec6lps}!@+k4TvgT#$$ALd~^fNzREGZ3c090DDon zkZ(ROotXjNl#KuFU1__K8$3|sB1{60w6|{H2>l@LULd(n7@>SWIfAaa`DDzlyoUsy zjSZ#OHkP`xxtUEhY~Cuc5Ol&e!*tpmbkpyGmG+;SJQrI*O9RJ$`#(sq(Cx~z6Y35N z(?G&)z=>)&K=1(c`blowWKPy~dY{YGrosFh|8;#pFiP6XD+@b;(d221`|{_0Fi8J; zk{)6Ezf%X+AqWZJ&)M7avFF){OK}rmjncs3U+*)-Q>b)Vr(B2L-L5=VA@_&k5X1kE zqjL{rdjJ3UW->}!7oE16jX1f~=@`m}8C@8$6}lY9k(!gpkx?!a8@ip&+FVPTja)_@ zq@!?3=(15KbIgfQ)YMuFVZ+w!`+NKSe@@swpZEK9c|IS{qU0$B0efXJ;RMk#&Ff=H z5_dtuG`3mxB@rK_uxuQ-M@9!H_&p+6ysemmYWwJGVUcmOGStMgmCXZo_pC5kIS&YB z<5Ac)#2)KQctOnb#56)zHQP%V5aA=Kf^5#L40$s|yMEVy(*Fgn4u99*4l~;!nGq!- zZ9w8X zWgQHb0<$wJh}r7b-k<>^?K#c(e%=wP#@o&g4S1SHsTjeNSCzlgT+bit7OXJGWVS5E zROUZ$PF9e#mAxy`+AIith{MP=(|{vxInmN2b<*KoCooG_qg1&vj!4!YEs}qQuil65FR|Gk55M~T4tx`qMEausVNe?rCACK0@40mt*$;ZmvvV~yb z=y4&^WPLsjrT=v2!uU~NlXT&cI)eEfOX7zsq|H(1p76!tUM2vA3HN$UF5P|sU-~+p zNe2&em@VY>q*w9#TzdHg6|%OU$-AbX_JP%>iW8x#C6}-u z=22_;XC{JFqr-YZ;RU!!36owDvhY4fVyQdx(rW$29*C^~f_oPTXt1cFt8~=92!F{_XbO(kvdYt@Y@9*1wJj-){ZTfRh^L-|k%@Cx$JP_>N z1xw6M>^Mz6Qty`;lS2d%mlAAKuY{ge71du=Hxu|xyR+RPoYAGIPb7!M zZo2L?Rz&(~JpnzQwTN(d_fyh?50T8%XubWN@ZCl40Yq-FVKPgr7yA+$X6Xa@;k1ET9ZIT~>BxK0%u)%w#pn6V!l`qei( z4odp2VWM#X*Nd;&YQAKUx2eTAd`G7q7@a=f>`ZjwL?U|%$|blkh91aJ8Q>Wz2S0#s zo)MD-$TzL?U@f|DeKw1^V#ojvT2#u0Z4V6 z-d-b$w47b#oM^!qwN#p-(39@zGGwi&WY5N8 zdmB6UVK!Vrq5GjNl}QrXi?)^XcK~-5@w!XD(h1|_)$|@1Knp&{v?2GgV3&_PW*a3W zaps>9R+(N&rKTS5Xq-5zsCmng;eQCG7x^$21!D zz&*Hrq|d2?5Z_+2ai<>dPGiQPVzf*jws!rCGiTk`5zL{eE*q;c(6zmBd>U(N15fsQ z`Jma8-X5=gfBoUZ2XplZNO(NtbVpCn8gt8sMjoqGpIKE0&vCAjxV|Ha3_e%z=5JiU zZ7VCa4Y==x&+8haf7tTqF#j)nx9w~X^IHkK#_?xNv~a(HRke4|CakwjHt1gAb)=o^ zH@+_NC<@P8h++xUH@wI4B<0c%!T6nHI^L|xzu9LMd0k(UCJX@ehJuO6Mb;O9SY|``@`y+6*8(DhRQ`X~V6`nQvoNT0L~+4f z5y5cg&?>c++m;7b+!h6P^m*=AB1yNOH+vb`=E2U{(pSP%6LfPTsPY*~^>S~dub*tV zYWoFNPpmJ>E{Eb*N9m%-$vg}DIil!JbyhxYrq-VJ0=x7l*SVq57JoWHrE$7{3pg+x zeVq-;uWoZHFwbT3gN+W^BKK=ALsG(GFue#fsgEi+`F${|opO3}J z5ZUDdyWyD{Uq6(R`bH^xTk9N0!RHB@E-D2J${?x5y8+M4O*e86J0&=|@FeOoPC}9| zcrjm9H}=4f8d9qmY{hgLJF{s-|At1&i1F{5D7h+$jD$+wDTC}(OGM9r5D+F2I+8R& zSq91QDy$ehBfoq?(ZEdPV|Ze=1=|9XodJ(M)gSWuu=!oNjg8Wu7vWP4Gqrf@66|Ip zA_s=xmBA2vh~2w|EQw;@B2-j6Uww|UV_S;DC+{Z+WJA3}s~m2U*DkeyY}wtB;5wGs ze%|ebG&Th#e!Cdchz!r;G6sw)6@XpuIw%<+*HLSTJwD=8H154eZ{F4oaZfi5mAl2i z^G)iV9l+)gs!w^)cBVoUC~)3*HHkklgz*s271tQ&Nn6MI;=^pHZ^wb4C)H; zWJXJQBFB_q!}XSkScdj@JE4_|TB4nWIeQknjn?16?bZ_!BuzoSk$vJ3|NH(J-R$~i#n<*L_&U$wL4 z=hJL;9|aX3IwbGy8@HZxfE%yM6ken~=EGkVHiVm}ga6}WWmrxSN%t9^;Kr>h{?CMam}RsCOg-`z49S!q7bNiuBr zU)D8X9IVl)zNWpu^@9^hy64rz#BZ;h8!MdihyC7VflFt5$kV?o4<$QyaavHz z%o<$oy$XfAJiYs3-udU;LGm+!pB25KY~4ygz`fpmc<>A6DA!*O*Cu#m-t)Yg0$cwR zgk}|vparuc7H^jd;RKxg=k+sbA||Jv06G0hLWned>`J2iK1JH2Q#2AXM}fGqI#uPAJFaL2g;1iJ4T^cl};MQr;(s z)Jyy47rf~>w}pfUu<8IBHBG;$q&krU%tA&CyYzGAmjcg7b}jVL(c_u68wi+4TqMv- zecc#i#o!358Tx5|_H|=0lc=;(A7lNf44_g}c^$ZhhISE?nu7*eqTuOu&Fhk85-c`7 zXug_ty_n<38DF#~Ir}I?mP+X0cm9510KPN0e!Xs7)3twg6=IniJJJ3Q z_+D^zC?!bU@PM53m1$v~ zn4Imz?M2aA@**v`PT}_2oN9 zrc2UL5f`myk^m{BFMmfnBp#)l(g6SNpD?3*7qR27Gv^hTMY?B832 zmdL&7{P}7qU!Et>hv@I_VuZSwt0>m4 zAaeSoTo`sO@^DTZu_yCa`7pda^G*BaJ3&vk1t_w8oxRx8>I$F6Vzp9GQIhLBS=Z=h z`~m~bC1o)BILo>m6MUI+;gPW8M2)0sv-R_;`{&ViY)H2&CfmmnxG>yZva-uK<2gK0 zm^&Y@rOo@@v$Eh|7_T^(q~Qh&`31X=W9C<$jh#U`SNlIB3b zvyiba=BIvgpeWBz47UTR*769!b=9Opd7N9$fJH^ClG}oMwt^S$0p9!loXA<-nQH6j z2??w^ds}&Sn*4HXJ`~oDS!zLCMmdJ2$xZv5)8r$)zC^=;4T4f~SfSHcE@Ct!OZ}dW zUfNaWH4b28Qc`=50|=-BEwffhF`4jilYi)W3%cK2KHq>@+X2oy&G?32B-uZo|AZuf z@yXjfZ+w80X%|@Ps3%@}{WSE`(80qq5|4x159lo*5M6p`>KviW+iW8(xB@dKF95e? zOme+h_mBsF7Nqkcl9V)WvyN^ZhMpru0|Q}k_~8Nu6t;#k^uVXP>$69n^PT;<$+Jz- zVD+MD4=9`z9Lx{ybHO}_&IkFizRx=Cpck#q0BVL-|K@z6&CHdKgx3M)jDy7L+W`xp!AN_^#-B$?M>^?hdw%(78m`!wn_N++Xc zURP04R^M^C_g9A$J7NfZOd!8^7-xB@pD4YbdC+`@TVMJu#=N1rJlp2o!`elm`zWdi zry-d)3$VffsEtMMMY(<^#v3Fl{jk3K}$s+55?a(tst=ZYMF;B1Tio3Ot}Y@GOza|ZLRpMM^D zX`K0A#HSl;@vqU#%Tcha3R^5*+53%g0FyIlL>ODWRA#%7jiF+H6%ddP+?wb~-CPiP zfe(T;4X2}SXO~?-d5wVybQpsO>t%wWfO4VNKin?p9RN* zp#P~I>#GQ|G^UQI%*)@^N;k``fc}nw3fj6AT8Kl7Zo^h1K$YA^=-Gp^c$if%1lC-c zkJ=S=TXLz%Y$p?of?>-=roodD;H_hT-<59=sAcm!O_?|2K}%JKjn_kE@ca(R{c z13!!)Nhrf*eaw9}!}mRM(ik2ShkbNiQ|)|#=xD)&uy&>yGGe}c1;e5OSqiQJs4=Xd z0vAv=d8s|18ykMLo&H3|3VTYRaM5;a!gv<1L2Eeuq*I~o53fYD20{omrW2#8knc#) zPA?Im=0?Njf(>YnkhzO@>Pg8Fr4LY>9Sg4gSTJ4DJFXZy2fI#n5qLF?irH^lMXR~R z>nOVtGh$wF_7%gonprBRIA3X`OEBDGY#fAcsbqqXS5M)z2waF!!7W)lOr9a5T^e@O z>xrkXFPjJ_0E>P5u1^l($8P1YO>K2!EO)9iu^M<7+=F4fut-ny>_oy`WrqY+H7)=a z{y~kaDJe-)Wt@5XUp^-xeKpPYuf#-PkNC)j5YU|>EE}rsP*Fr#&wl(6XzXYLQd|_5 zIowD0oPPNS8fU}+i3V(Es4=AAm2xPxbejxC>%9DMS*>eLqiJlo|hYj2XQ8 z3qz$0{e3+Mdy~HsJXDZNHwkZ)D|^h~B2vr?K8*MER?C{D$$*Uvh#G#Oe5v;#8qau- z3uz(|*n{0nIAoayIt5km#o=tI@`6fAQpU1Rj-5w!Vi#G`gmRXV%i9 zqEC?XeF_HF4^T1Xid^yr7O@j<#|sIvUUO6JsgdCND#egb8M6TH7uO$~2)E?`u=vRb zFgrW&nP3`M-e`toxPX4IOzan~J21HZxS4UoL5Q43n-%;A=8IN2dHqgcV>M8?yan|M zP@sQP3=dV=C|^2h426HL-UU$;!b!BN_jc4abG8+ zYZ5PsaDaMU*T+B=kI0X2Jz1Z_$t)a8#lCGZH2q5LU5~=#_0NtrvwV8@U!4$?wr;+C zl!q*YaZSiTH5!=##f~c;WwyTyq7|<#nh+Lec(q@Rd9rxi4d9?olE{udaX0taojNrz zQ(Khry8>Oa3dZ&~mSbOocH_U|#~QJT$DA(xVBCpj=+J{p&nWSx;{uN*b%7@+@NaSS z3e=p@&1ev-oXhGmoQbi%e`N1Xgg;8xJOBM?KCOB7&&Bb)PVz;qBp}nj$Juc-Z{;<5 zi~MBDQpK+8cM)N=UqhgW^DN0GZJm^}lT-2_8wzv6|4WBWnF%+#B zQ^=Z$FO4=GOIiD$-#jmtXGiEToN)@51MlA~59n|Lj;_q=H)jX|HY>Pylh;KL+JI|x zO!vOjDS*_^D>%8zyUS}N1>AM2n&E1^utrg}cUOyycjSX#{Gj?J+_G`uUk>7bkgE=d zjR|6pZz=kiiUw>cV{h*wsh09XH_=vY45Sh$W6<=0?49V4SO|GsO3dyts(+t~l9G#@YJcDrM$Nd>^$vquMeQJ5 zqdjaL{GXqVA*s^L(K?7<&qy+OW`sRO=%O6+HROjbdj-tXQ+(WWK6Ho@31{$+7qL&s zF*yPdMFU>mim7NQc!@u2MCQLqh_-axJ3tAQkXj`lS9&b#q`pPGEnW(_wP?5Q9)dT6 z+P=;T-7!KUPP}x`GIy{LfcUWH(&fJ{88U9SnBlBNwem>Qw?(e&!)T>5SZR(41sv2 z_h)VJjf2o^v(Aqh(PWo*&HngqL=IHr{pZD5&0IGGGLW(GE##{yK{-&q^gg{RLE)~U zI>tFd!#xN1BR_Pf9Hs~NbfMK+2qu>W+nY`9InfoT?!rW#nOI;6!;)Vmlr8Hd80Qkb zM9uP{f>n>U`rGoI;WA+*TySmH2=k7gsr8xe#8+TgAvqqH@)ciepf82e?gd`1cwWfa@^^*VXrD2S z*bkm14P%*Q=ihBVn~xvha79_#x#~NIf`<>KgimznAt+0oV6o=Tmqu(!e9GJjI5?^>F_W?yEp)$X*9CvN{?2T4&OJmyZ zx@W|U*`ZfzFpF?4Nmw42rSbuDnaF^nsQ2c%*}xAQJJ$UXn?iHx!y5Cw!sZ z+fhmKv0^U0fW=RMMm83*9P~%tAa12)UbKo~*keby+2PiF&(aU~{KABP-jp{on8ctN zXA*Ux;n255)XbtoM*C>4XGrZwltB===hv8YP(={g37sk_K)p7^l^|g}5wRMG?09us zvV8;ztWpOtliT#q_?&C2oFCi*B`WT@J#rYq1;l#^uLOzhy@XPWTORb1Q}GKg3F)A9 zcYyIbZ?@cc=^(=A7YgX%8h!!}~HQFA2PB zAm#;UXb*5ozr1TzZs?WU16GQXout|h-1E|=Ov_Jq!Z|-SKJ#=Sz`SxwQg_1RaI-^K zS}<8ck>=*(mbZQl5osTD$JPeNf$*t)FJ?JW7_N)7R|8fq%Wy{;?vazdwV?pjrdsH` zx#jlNy#0m0?uwcs!eEwPlayKBKn*{;=)ONP&Zj>~En+jKw0RVlyiWaeFeLR;M$5-q z>m6=z2pCu*wK^FE<(autv>XncL7>c9Jus_x*ir8yj{Rc165TB~#s%GLSdQ_9ZRevc+G{xVYW^B@19Su(zs``d|%}V)@CWzKGmJUkZiqlW`kZNBg=SRHR^Bcna z?w#GnSyxFWw19KbB$~ws59)zS@_JDD>0<$B?6s7BhE&yunzT;BT%tL4jPZcb3N~Ga zyO9sV09}njvqdOnw`w7!+8QtUALMYbFwlI_;i1M;F;D_Ui&=FL!mP}qlow13#7V(2 z)wag?t2^RmNg6IfK4U1nK!{E-&LuJQ=iNLFZT4N3z8S5C!dJHW{L7n`}h%=c9s-yXbFU5!%-{9N^%nbgWis8u9ak{4{6)r!VNI9#ZV zi{|E3`DQpdSXfU8KP<)|S+Nlr?T)lM{6%2mVrJR^C6WWOA=aC)@{I{82r~DH&<54N8@Y(LautbpGEDkK2CG8qGx ze?Bu9!^s)wSOhYjZ8}OUjx=f6dJ?7Ytqf4CU1>bj|b{*&hgxtWV-e zT`#sD5p%(C2O_Cvxo?GX%*T?Z0tjRO@|SxRnkHDnXGI9a)GiR4O)`|$CP}CuXAi&{v5@AlfYbzY5G7yz{6+kQDx@wo{G01_vUZc zM2ll)AvujXumvv3!CMc$s`}#dM||z#6H}!Fmznst;0Pxvi_u+@h{qg0g3k=u8SP)+ zS@kUX=-ifq?`78Cb`zG-$y11j(G9ftLF4Q}V-Us(e)!hw2|X+Ds+Q;)@PO`biCVV| zl<+!W3>j{@zdqFp;gQr`HR6GQ@6YS%VaiZ?31>$_s+f%E&ryHM6pr_LAZ+DV!CWBI z^}3eQ;W-1;OpBq#&%wn3{y{D#GuL_I-c7n-R*yr&FCvx2ojX0T^qt}$xNG)ADy6mPavf&tR(~qJV-0wF# z07@;pI(Bh?XfBU_d=n zv)9NY^QT1z^aa|HfB2w>AlV0l@EuT_(`E z5VYGi*BeKlqA3DNNIT2VJ1tHx!FJkeTi!gro#7&I=hKI^pZ3CIeIHxI82KHIWP3^*{)2(?xm4DdmJpbnYZU^~Doy|T@3 zDfp;s?&>Gx2LZXtUhMU$i_8?P;xKgk4q@oV8-7S=Me84xp7-2L`Jq5+X92x;7sMPi z_C_K+a1k+;TmEQFZa5N12kx%Jm|5X~ZoW1FmFPYTTCNNw+8szgUanl$6>tW_7(kJ0 zDvCVm*b#8qH+_s?A|5rJ&u9<3ff!F6H%HEDlzTZ`h&*Qid_TI{*DD?*UXViyWTSdR z=;$@L9bC4~zC6*Tmtn{(WaK+DC?0ap=`IobmXGx%p!EkMnsYl3aS6>$9OBBXS!T4Z zB)$*fBIw9GRz!a@Gj7iLz{P8-Ah+mwe9URwRnkHk+>z0CX+?`eM>pEiTRz${5lDmp zW@EYZ-2ym*KL1j7J39WobKN2Y!_xiTZzuBMRqd;HfZ^_(U2piHr9PUfsnOYI z+j{*h8I(hqkeDts!4l{Px(%nz*ByJ4#EHg@hg|(}`(q>a-0{eY>a-q*bGfEKej{K> zUBfyPB$2*IOO~{1n=jmRe156Ux8UrJ_G}zq%xr&kp3sw++V!#4jd3{rYV`3RuG;2P z(_U_;1%gYzB;mK~+CGGj+yXM*QAXRR;TxGVN@Fmky5+edCX2w4Y#hH@qK3j!3yTo;~Cz9Y5&@S(NB zOnYrYA~orgL;CWaM7g%t2s#py&I-sRbXN;X{m4Ck0B%;&!oO1z`C^P8Im{iK*|z8~ zc#M(L^^)NCu(XViDDLrVXi%zNx<)INhCSp{s7w+PSZ~aYUN#ee6vY0n!eo~tlEHI9`$QaFV)P-d|FBh@_PGmZ}RuwUv+vCmu)xn6K%hM^|XrjqQl@R7Z~fdKT{@&O=dd0SFU;(7H~z-807ytj7{ zQHImt$JZh~a}1eHj|t;_C$>TNTGp6(v5#Ma`a^Pf0jC-Q7h@)@Bi+^{I61S#1tg2wB`PUNqe^dhLz@F+ZFayML81s!xV|ee>@mVRgLWv3>%vd@SVE%3 zCPUSdOm#I`(t7rC{}Wkt$l0vF}p94=X0 zdd?-fS=QV>0IWFV)I1PPCXMgcGqSQ4LXtVj8m0Hj*Eyd^K5#TRuo4buB=ueUVAG5S z>I8&?`B5J|Iq#(tw^i((h!1Wwj%0;VA>-R98uEaiyulk1rN-zOR2T-6KJEM7J9xZ4 z5$eg(=~#Kx{Sy=Y$C@s$jZEqU$Oo4D3ABz1l-|LC#d=wE=$EbG6QztvJN?k_{ni2YLCTVl)OC~DPKA*?7MBhLe|0VNPI`g z(uMv?pT*uh)p=rv_n z_kG1*t~&==k^I5XH+HBc-U+HR9Psgn+bBbxCV|=Q^&d8V*Zt9+Lr+=-88Wjg!@h}q z_%C}LaUGNh4tXzBxsJZq68SaVB$k&~(ck~A+SOD5BGIT&xgK!gj5^V~R$b}d$nHi< zEJ>{J4TW^L-XK)e?R*mx)?sHW5Ip>9PcRfl$9Ot`@%LXx8=LL!FD2l5o4o61X==JU zK6#1i91CsXD9hKrG}kr_$ecD?lJ8mK>tX!xbprCR|EFMS0i)bw7ws2-vq z*SXA!@=9VXsi503g#L*)#WoeoMZL1WG{wv{nq3F4w{J1)N94RMm?>L4QT_DC5OCOo*ol3}SAvXB-fniJ zT0c+5OJjP@fXdga?VGG+xwn+4?n$ByPAr_M>PaK#fz`${r;!9PS=W!;9|Xtr@zd4i z>}i?R?5M@6j=YlX`|Px~E)%IHw40zHGrqfWns*R5YgFSpIKP_Ttx@7dRmC!md1;k9gE-XnJ~q{33hA1dY=5T>$u5Rgk&gmLfSC4!2;> zz1+fmI))D#Bw*HZiQ_ECeLKp(btoEWJr&{cV@SijfVEeiM8gO`IL@FxUgztr)&XUT zD)dH1f(I`)?ku7OJeNaIK?3ra$f(}_!lA<#(jZJumJWPVl}>jcSp(ebwfDawK;!9E z3Yz}|kx092Cy3!*torj#@nJ} z2Rp3jUi?h(?0R{(mVQ{}uOKz*@C4hdbXhi0(f=)& zVB;zLM+j0E*CD>}t~KxU#=X$?-8LVK%#yrQSKr+HEIyt0A%K$xCy>&?uiQooU7e#n zGY?LSyV^)Zg`O-O_r15tHwB25>G)A|uxQ4eRBP&Al(W z0jjG`wUQfi-6LTy7UA;J_xujYEy;tkmwuv<&#=e2NRmlxBLu6}7$ax3+@eT-sj-6C zrP8c}szVm~KN-iF62CA*qt2*!B28`a8j4&6_)U}^8t^oOD)`Fo+{xWgJ5&#Vru+Iu zIJ<+@u(0QX_ICmVn*drOrt{(PnT%)0#i+;XrJXpS^l}z^A!^*XPR7N{8t%v7mAr7! z?1@fZig(VycM;3%2q5M}s0^Nvr&vYHbh7Ez7vCMX%Lk&dI>e^9bJoVuoO!#;3~c3U z@J)FYxm`7tiypaL=3Ia$QdGTv|J^rU#-@Z?{P>?b5?%D!<>s z=itD;DDd2P!K>U_Wxm7Hyx!TpOOyn5?OjLt`mAA%h@K@VZK)bA5F|4DfK`(gcG3s` z06!$$@Eu`ntUv=fo&{czO(5pMmkI#eo6fCYsof8TcMU+jQtz%IpZ5)oSKzW#YS$TO z>PTLGqTi{<-7@sp(;u>QcTU^-}j}W%UE=**8IyU3mzx*gVY^K)fc9WS!Hq_Qy zO9OX*i))jS3*ZY+b3un1;M?cSoFO5#&rlmvZ2{kqwrkPh^EqpIjc4ZRhiqgsYHa=^ zkcuV1Yd;qGdnS0yFuKY}CQ%MOepEqW*`xupX!ep+lx(!I0AwSqL7;@E!Yq4{hhGpt zGS`sXQQu6FNFH?LdQlQbP}QQ7&sKJK2I5#O5Vcx1DLL|i0(VafUKa;LcM?4L-@wxZ zdPvyd=^mF+{hURDd!(VM>^n3{?A;A2(4+lFZMSti&Gs4NHFFQ1;E zj7$#?&z9xVp0`+DJo30&$1&~bG@RBeAY6n;B)uJ58vA2Sk4MP0Z1)4!NFo_;2z{8p z0+j!3UEi9Gwn+j7fOQa0DL|7tcxXNMwVtM~!Y*dip3}EUdPA;#f9VSgESV7cm{COu zRn2lVvoKh!?k0Ejtw{x2QE-MAjuEH$`-~Ei4Bpugpz&4)lkMPS@Tku!gCsU!|HqZ5 zPro!)@FSVBpAKUfGHzkzSL6%+>`N;PMjktr)SfHVcF&0%#`$cLH>_Q&uldv9dowA)R3`+2^`zlLpyzDw+P8e$xcY&k+;bRU ziK%IIeG%(_`_yQ;*Erf(#E#R3GeKmg7cCZkoQQZ|Ur(kfbX zA)%b~q~741zFY*H7t53jXm=!<>PQ7qrxyJf0m6`6ji0wZqnJ=&ONp_X(32oC6>ms4 z9I!Ixut$&38kE}qZu$|&68&MAS>5GRmTA)aLDu7$4}n$gRqmNCGB7!Ke1sdX7WkbK zf%$BKmwFA7Dh%&iJ8T2So|@1*Yrz)+%DyT`6F>CQvt0E%l!|Zxs!5|_nq>^6G(EFP zK5u5MC)`-9QVGHi*=~clxS& z0_4>KH+E^=o!>dXOETYp8(Hc?lmyNy-`*sKBV~0?Za8}-SFR1)0XA-<^YzzA|6MMbY}oYeDWBpSj`6z{yp9`k1w%fkhH!2Qh{=8|If z*r14*(8$on`i~&cQCekYcK6q#QVcI3f!^cnw%E`Bx{LNWvw-(EL6 zALYfQsP3^tBTav+L{L0Utnx<88U20_a{cyycF}FvW^^~V{F0U1F7C}N&Ke48Vr0>Q z4?F|OCWJ1uGRXX3uxXc#jcd-SK*OA!iptmd2&Clt@#!XkmXY?QDh%g$95*5zC_!;3QK|@Nb*AaFP~JOmGv@lL9DH zoIYs5z~xSK214QS+=S{q|50$EcfrlD?)ugG&Q`u=Bb z`o|jvW`8-A0LNV%XwXjhbIYK*(3wHg8NX`sazqS;ST!~$WqP~Z8Osb^e(i*OxWV-w z%Rw}V)7Z#$*$Y&^{A6jH6`Fj-W7!kTJZYh-%;6I`EC6yuoXaJ#!k~_?gMB@C)0Mgn z0LCSyk1B7xHbJaX+JL(qG_&Wcm0P zcq4Qg-M`%Q;D#EJ6K)%7$Gd_~ZN?R&ji9p0f~kV0z`5$^4(4SCoG?gC^xJFsZjlpH zCGp@8Q3XSL)e2$ksx^OSyL|`erjpXR>HSfWx!!sNsLJh2dr^G{@li#)=2@#^J+o$V z5y*&-HIc1$JaChI{uOr08<;(cx2`avsFt9en?(pC=WS^=L>tr>Bu>%C-*0}5jU-Ay z`Q=Hs>7Rf6vBDlNfXjn@N9~Qd9>?p}Q0gA6XjwgB*#7IfYenxULzzc_iSE@c`>n6T zqXFo>OLP1F-EC;wNa&HHJsD*3Y{^N6@q=}c1IGNQ8PcP|J6B!|Ll$X(!FeDp=Tvv3 z&*!vS>x_pAuAZ)0$6yxxW~RVd#UqKhr&~ymLfC#Eq>7>X2ZpJ5|EWBg=+yMBZQk@e ziRO0k`^^?>2e9n)c}vhl*P;@95$T{NRs_98Qx7wA$yEoTdmSvvqOd>8FXppxh0GMg z5uW0}2aY{?8P;P^5Yvig+0#lAB#9?Fp2XWRIM+^`FJV4N9by-rBIj@RG5~#HMvG>s1MsCf#%*x7><)_Xm$iXq^ zAnXgq1u~SpK?Y7dfKUX=sx>U3Xknj95+4h+HX?`Y3ePcaQ<>#cwT+-~dPB|NA!p3G zU*pE;1TT~--G*~o_-zUzCO&oqo z@P*&ODW-4l-R0y?zHqRYO~bsj09-_?{7^)aB-Tlk!!2V-@28F@ z>&9g#Oi^pzgfb?$!sodw-`su6#wiAPfz1BOD5p0ZbB#Eip$#>jAV2B+bcih7&cD3N z*JJD}(qI=6){e zGuqoL7`05CKE`_is`P-Ci7YO_I(-F!HtZ!@ou;;1Rj`0Les1$NBCvA2Bp4y*X=kS= zXpnW17rclkfRf^dnQ5CLi|g_|qX$M9mrssGAp}|rtey=DiiU>S3RprHP$kpB9ZULr z+Su3oQ&OJHVs(L-N+gk`a_X||yOSu}HFzaIiN}g>T1SA#LnoP_m#OTXbXp0RRttcs z;k51|S)mP<*MntcovQ<(`*WJYf{pJajxGI%$7r5w!Dze3-j2)g=LMETx-dwLiQ$ry zJA6$DMB~t^)E|oEOB5-yPt2sL;O9G|KThI@3Or|ltxVMV@kXa*nkx9h-WEE#!b&Ys z?dPU`VjLw~Rh_-jM61ayT`DoCVuS%H z-fn!1Tf{>!wLE9F3NIZ{PN_v$e=B;HnAPykC(dNwdf@@|M?ssh)v_BW4tB|78$2_c zR#g>l^Yf+>K(=16AMBqm>-1n|zNG@?_( zFv$n;UOB?|FaltpaR4@-aTs}nF9+Dh3&nn5bI=y_V5NsCY8_-7GB|0`BlxOS{uo|N zVmWd+5WI}1^7ZvVN=w4Hj|FY;0aqY;=#Wn1!~*CUvB{WAUbomi1kLz23oXGQa=;E1 zJ?XFO%Te2qlo08DwcO%MX+`-L_sjooid*)8A@!8yW_zO)!eTIw-c>Njc*Q?wex)+s z$<&4`khnhX1m_h&gh%jcVSk7ZQ7&YKF|?T@Luk_vA@?c@7l?tEzffqTz&e#MZs>0oP4;+xv|@Y2ltCj34{sYX*BK{ z$LKV6g14gzC1r=axtd8=dSg~#@g z5q_Rf834k=lJn2AwSEARm}D?1$S#}g?%AQ>v%nnjl&40Si^PJ!c8iXK7+8^F!S9Ip zM(--5oI0%cv%-~wOrOh%rS)htV+;sk7*%v+=x zupC!9(2((HEluCHLUW7 ze93Jgc8W?L7J2GYYCvWJ2F&%)Y~3B)cn+0YPB;{VG{?vCSw z>~q0SvjkKZRhaGOH5oG-PYjC>p$KY8L}_hBfn?SqXP~(+yA8x4?uG7MJ7OpVR+R_L zd_QU_OR9WZ!1JLjdlN+0&c83@Bn9aSx?qSWr;k%Gq2ly09tZ^DT*ZAjvl1q$r-G>j z=$RBM9V>vB4CaC0b|zq8T5!<}=u>Y89<<2m@IVJ$s)t;~CHnOD)K@m0P)mWvKPT^oNVpioOIhFxbX>3sU6 zLbLtnI7-yqBCxX)yFX@)+JGj?&qn4d>ko7Zt~jrqF`btjnbm*Z8vW`TJgdk3;1$g( z&TBih6zs;X_*+!N5AB29{`F_vKUj~HO3v+q<$kmxbB-_U8&gZWZ{qZ?htJe zIRv05xKqa!SzhsHU%ftiDff}=yFQbVD2%$sT}@n!VYhax0$lP5zI% z8$myrNwrgZUs_A!E^Oz|s5aJB-rkEYyWLNE? z-dao;8+9-Qsk*N$M?7%5u{pJ${1ibTm#ydmjo7U!i66Rwkkh>VX5s1z6~}M{oNRT$ z%LwEjBb@z!JiITr9%=Dqy^Vy#s>AW*0*7%X>xvsnDXH{{O$33~8e{&1qvbdtLA8fgyJG`L29&2w&=j#CE69t?wWAAiv5(j=j?6 z%Ce979hjK(+HkymWXe^0+B+plT#qfCpewBeYI@@baGLSBhjBT9k2Yxj~9io$nQ$j*wLwkww3lr zzivF>>1XH$4$^lG#rE5gqghQj)WTaA#(q-dM7KZBx7G9iQ-M|JhC- zNE`Xur=c<@qwF!?^i=NXoJdajwP{^${uk#0M({Q-T@b_ZAv@A$Csneka&7&e_hldI3$B6-t zg!sPZpu>hY;z8&44;UGs)BQO}n4*~Z5Etz@UvF;nP{(y7cbKh;QKjG9^Jr}iHk23t z4G)IbpB(^@+BoL3TGDsd4iFbAox;x#Nfm66xyxx@yyZE#eRq3|@Y4*>E#Y%v!1xB& zkG!D=Ti14$TcoyXk05#_92&t%sWG`w@oEJd~M^s$w za={5!93GB|i~agw5{dcBZa8RcS$(Srr!5m4Q-Xlo(hgJS;p|W98rNV$ck?|Spq*fO z?b%R;a3MJW1x|HVq0DdMUEd#uStA8bvFh>%bU)dVh<>tnOs#w7>=0VhlQZ_qg1j-jED-+qMDTLiu zThalSAMQBZOpTs2yD#g?Jx{{c7<#e|J=s6lR2!Mq)SAFQDMVgzN1JAt@eaXp?M5w9H5S_5~oXm3eccY*|^rrGH zN{Z!sv-o4~zDRPW(+_G^DZ(B7UHz!Mv@;UJ`pbz4lJsJn_#q!7JV$s>=fr0W4J-$m zvF+G2H;33tkUw8%oC%Hs`uvs~kh3E)?1IA2woP7~!`Xq)vZYH%iTRSD#ARwnRiNV~h^%*ozhZn93!yx;^O-mK%Wbc5+08gO zPtR0Thv6_8Sr^A1NfmxSb$o%&0c}{@WlRDb2Q&WulUaiQZn_90aJziajV!N$gO^0^ zx|Zfi@|-L-p?vBu*0wW1fKjWb+PXIFDS`_ydqR!QP#lw%xNeD+`7XUPT|^Yig^n!M zmu>*3(U5eX&_%q{2pH&|Cmx4xx)juQtXp7mZdblWqFu}%8n&!v*@S{vsuxb*v> zN{LzFuk`HS4D<}rPmABs`GUG*J)9-6&oF3>Ig6^^D;u`J+yZlXfCwcDp-;YD-&B-| z5-Z80V0=;+pk8UXgIv>)aLXzLL@gh4%|C-b%hU5-H`iwWQhU?@EK|UG4NY&i4oMo@|(>4P8BH2->*4l*9mfZk7f?8jr|0X?@vh~B(Yp$Mp==5v#~a7HC<_l{vz z93AHpF;>;BdwEvchym2`ki^8E+}u2O;Kc4DRn};yF#*B;Gs^}NF(4QDwA3{olldHe zF{xYhO}G8ni%RQgB@ETO1#(iGJ)Pb~AyEVm2~}YePKe~EaiXPJRX6P4!@uO_F5D|8 zU=}A9yN}Uqo}@)?yWLdM;{79;WL@cwMZl$RNxBDFxlwM!;0aZ@V2odByFRx2@asQ5 zHJ$L8`>KnU)+{*Be!kUKREUn=j$m~md&*H3ktZR%r=iKPrNB(b>-!V9BZL5P_e10o z+SlN&Q~ByKRHw&>S3-Q3E2@JW2X_jc7O!=?`b+qwro!zXf{*7fxZ-=I;~)7h`wm(5 zv-m5BcID{`!#f!pUY~HeV2I+Bnq41FroLKY%c+Jpm0e4P&rM^Yh!D9WB|#(7r3De=xj1#DY8jeWB<@*_$ybff;#IY$PEbYO#z z-SQdNR8iz&sg%4uc3vFJxV=ELAsESm_-WgOa{4lQrdxh8*?_N>4l z9Ic7j1*P-IHa;cz{k>A-((t?RrP;ELdIR>LEE(szclU(C28N0tC`ETnCAP5LDH;GI zH3Xch2l>?P`(kORVbS~6_FygdGr`9%kBsDUS=nB`6j-$k!bK{3c%4v1u80Ws=%$pP z4?jZ&9ce}EPCM+BLSs3ZkNN1bw!g12I!gPxC+CH>QBIN@aiXu$_}iwPp)b?>Bw2-f zQW$*=aMTK#=Ia~YtD3iO(yG}C)9$Q4-uKXjESs)z@qda)Vzim8%|Viq?~f#hEH2#s zt-(`NiKPzL%O{t*KPCvA5)X!To{Nf28L5XXz;Z=*ZGyDjl9WsSNYRIa^ppV~$uJ6z zp{oKC*+?lVGE zLb<63n`{d9A!rn(2@3gaxh3pwV)UF~)i3O@{C===`O{Uo8jrU-X=q9)bGD+3MilvJ z4p_Dv@8|j>N}4A9`@d~eAv=qK;jW5?R8WA8&-|n+fPlkhdxwsfQjyFMJF)Sd!c>kcEht}*Gt}){6*AkiKKw+j*74;TjT?q8H(9*gv+3dlurYGvi+&K2OtO^VkHJH zb2n9~isP^`!X!PD-!79pj4SBeSh>Q@HvTg|l^v(({U`KixNO$GNi-`mMkFz*cY(Xn zQ!q>FyKVR)58;q(pAm=VoN=**;{>%kJG7-b6*>*80!>EfeZ;c-)7rL?cDV!3$n8}> z5}7^K=+Sj6XLgYOhWoP88u-Sd3?W{Entine0?+3Qf}(F2^MCnkd;DgahuQm`o)E9G z0gF1PlG~}>u@GRa((1n9ag0=b=IBqDhNWMu&$T>7l&&I@bid*`rHrNCKwD$$tpl)! zpxC*4=jEZ^w&>b(c4>^&W#^uK(`{2s_LTa*gy<27tHp56a0<}{bS>`Hy4YZ zUUzSoea~-`HiS6LZ^|(_f*zSuuvuPAkuZw%_b}LP`}NO9(ieL<5GN|81`0y}cI=zL zJ48?=NLHjPAth;_k$sK!=N#=g@DOYI7dQ82XHV@Spu4@<>V`yfKx6f}(50iJbtmveTkyims#&n@XKdT<2YX1sC{vwM9842U6LxVj4u2yVOlArN)cw z6X%w#e{X@|hC!i~?|yb({Uy{6ed?OoXu#u#@E}Snli?3LVwND2z_KDq?u}mb)^f9= zEjizJqvu7DR^M%07d%9S5m~CYyuA!E>c}YUa>q1G`Uv-8UT{RsX#P`A`CCXdHlY44 zYMTQff-kSxjj?fqL?Plwm0u$SXsEnn{4WE{`)rHweyRY(mEGU~AFjUA=`J!hV!A${ z2}_uJ3$affz|B=o3=e?6^33I>n|t}Sw+V-ufS)zwG&-C^nu_R5l+D@Sdp^~EqIef) zAK5mBXr5Xb`Xu|Rr>}?UNbcmmi-b^RN}|8*BzHWY0ElZquiCxUhKzMu`fuHb?Rkcf@#T3EZ(b0 z{D-#Z>Rg4GC^ANeKfnOvjql}j(SuzDQ6!evc31|HVg?9w`+0V}q=o~wo7d#}1aQt+ zoZZEga*c`$Y4IlX6JaU&Jr%x8_IOd#g8GVwjvI}ZD6Kp5@1}jhVEZ!KKUe(mhMpEh zXU~o2qHngBS`Y2wR$Ep(ty^Fs-1JN_YY0eS(DgRhlgim(VCV0)J};q7q>Yq$o5J7_ zRY3RM9zD}ZpqSvW^)f$K>W<0})aqe|3Q$HaMc z^&tJ5<2o;6E&{qhsNJTOqcw3h6RvHRu9)-?z;H_Oc~B#CMSR=+lOqkJEkML)lkJQ2 z;o>JWaWc{=2}p-q{PsP*Ot9_^m++F5lDSDq*1;toS1kR?qjqv9*D$v*WU-5-0^nq& zlhvB`iGCU8Z*U{q|1YuZ$mu=CYwk%#B#iF*IJIjH;Rhst}U>D*A+R|lYWGuw-Y6G_05HM$1lLphOX4!8ur zUHHff22+folK<`MG)kMHtlw{W%K+ zn988UJGY%awK}E?-n`LQ&y*Z|qUzx5C?cjNJI{fx7^vKG$t5W&!MUUbFtCW-YI7clGp>LBN!^BAw}>p^3& zm*V=>2@wUSxVBDAzJkPvy6MZTpVvi%A}MuqJ8@?ZpX0pY4~>Q^yq+6?uo)x<3|UFm z>?TVBnQvm{Mp|Dc3>*#TNjaiEfr$|~Xz*3tIV{~(?!n(p#ghLZy>^~YxzUynb&>$7 zXRZdHEAsOeuY?;K^faf$x6P_+h(bLQ=oFR%zsW2Rl;d;X$ji}rq2|wO#eTW`s(rp| zIxK1T~kjUs^C*0$d%4BZG|p6L${kf~5)` zS|8D=_r2YC6~_lW?WBARkeu{>ZfYlL$H45LBu?{282eK8ARVFRS1c+2K@M5d`AqV! zV=j8#5}~I)ks!^Tt4f~$feQy-pccl9p{>(>*_9hNFzXuatDjs(Yta18%(f0_VAzzM zWPn)pz;G~HYA#TCp;P+=_U~{6psFoU<^&?1uISMEO1BZTCPYtG~hTcWEhm_-hSK`M? zzausJ?_Zc;cae}@p^%4tG##+S2C($65y^@$w&qf5KV2I=F)O~n@`Aih!FRNdA~p3U zD7X_a!3c`C08E(!_Ad!WoF!46c{UgTgfDZ$!U6dAPa#af&f5Fr#3&cmYH9!dB`(~F zJKtfSr9(FIt?bb6Oq~B>HwnmE9@@O8 zGf8U*59y5%gh(}I*SDl!rdw*1qT?Xb4owEBN@=d!NJ6p$V*lD!kh$VFl;Q$+ysSu} zuUvV|Sd&-3#cej;PNP^rQ#(edmlKnI&#`sg++;Cg0Pd$xVq<>5cf4Zw0r9d``RFRw z5FNV?qO)3aq{230x1FtTxi*B0VCkRNo)%l0Dze|DKtuJ&6hF5pNWTtoQmj~_7RRk= zJ8S{5n;q2vNVrb!e{17lnERmHK^K_Ce-NK#QuFgyMg@8O&_HzPnxPWMAMajW%3JU@ z7A^|Ezra-`EY#xG{*K?fgUvQzujAOB@z@-bV{i4OZ@lA}sC+Hi{LGhQ-apOX^R#e$ z_z-66NP#ahxn_wn`K#mN4aRw)ft#Maxs~yilL2ilcj+OE;zL;keq?{!zzj!5Viw;*!eOL)uI9^U=LFx|h~g?}8EI9h6lJQ) zJ#dz>vIDq4WU*LOYHe+mO_gu()D)FUvuxp# zX4{`z)3Y4)5BlXV<`J>EhENNSX>*ry41qef@dz+9Fw zxxYi!*pq$ii>-}|3$VNQ`;xeFp((R`AAP=tnMzO`*r-d>ab!yD1~yedcrQ8J6PXaK zbMxO|IrF{Fdi*ue3;~tT#oo(Ezg&5iN9kXAaFjT?(E7^L9%#U%h}5)lY8tsXty8xM z`EA%dR>{FT2Rh6w_Gpodo-mrUh{D7L_)@Zc({E?J0COL*rhi`CH(R}|YdH+Z03TLv zuRMmJJgE$RVtMtOXmbIZ%1exy5c${?revgS6qQMpuk0*`a=-#WGY*h5$GoKG`RsWC zP77GK49iSVPROD#ZZyuk((}Qd^rw-dR0(QyzD<1Ir*{sL+qheMB)X$QOkxaFCDkCH zU*hLqSvFY8JsXbbVID7^o|UWRiOGN)K2*WmsQpCypZ(8ErXRX_fLe1j9A3AnBJ4MY zxDJqaK-Bt_kE;lmo9-%f41ksht=gqnX0cu=qkA2|b9DXkTqfkeA2&I1zM=ySXndBI zcN6`aUJ#v-RV=ZWUxzbSf;6Wv4@T0(p8{z0f^Dp8;MI|81RTd69+EQV$y<3XG7s&E z2^HN-56~G6t?6&KkeY6`{yI~Mc})N2d_RT8$bMZ*&=39fY``__ESzM=Ht)K@j_IQF zWOR?x%)!Je-Ik@?7zUYI;kAO7+>-^m-F--XYYkdm%2 zxHa1Aa{YI{>$|EQQ(C@9)Fa6t$j`o-J$Co^u)pQT{5JW`Wg{H6871LsjD%m*a zGH{(8Dt2Aa91NSV{np80EVyGH(Dq5on{)BCvHP$y;n1Vv5y(g6WxZ;p^6g7Ej1 z+h5~bI1zDx?9xf6?P=D>&gE9`wb01q~E&mbGFPf==t+_$7{hg%4a&8uzihLaW z*Aig%-*#*PGa1q=9F;H6%EvG@TKNL3c`Nwc=$lPTo7bF2QzP1(;>@$XQo_)qX~>YG z8aNhtER-yMmmg{RcNap>+!oAfI@fO+$Rm!kL#GmIcBN+r=}$qHBkc8Z4fR@qqjftD zv)p{ePVLw#pHMbMuuLVpoK%Gf!r(KceG6~b3q0*JT){Y~p{B>_TIDUfl z4rGsSwaeM{@LQ;?&L_TI&C>t#NTi~;u-;X^6u7O~T@XSp*;2HHaP^h02T^7owBBM? zTDK_;FAq5Wh4`n)WJ8>S0+9+}&#aq9Y1WrR;X^5;uWm4O*s=>Ki9r*1aJN}Y#yS3?(i^MwhFxzEvx+%^Ek;mmiHb6p?`=?7uxkJUDkZ} z0k$vRrA7lB>l=F-#*T#7w=SPKxV3)Op&>nst0Nq|&|z+}%U!T5=lUjthrmc6{g81O zp342PpbEr7ULxEQr$DsBe~@(n$i3NApm}8dJoNJp6#QK3?groe=ftK283ro%8EtS1 z#jXx;%0vLL;&21^%%rUt|~u(pAGkO^QTaY6@a)_U+| z?xT$^28a<)Gp>{?#XzMEs;mf6FrXy6cAW48XTM7B;wN0Gt~5cB`{w90O^3C<|ZfPo?q>M3*1iUUr57yM>6?!Jrx&b zSiuar-?|){-5^6UJzGsh^<$P7$?tBk<5aXYgfvevh)9>kdW_5x!HT-#Uj0p*ih@}V zsFjPpP#kb%Jgxz2Dc8+Ck_@EN;LATSMJvUuGY3+7Xo5U=y{6#GFjvavIC2UE-$>p6wQxszljhR3GZXEHMxrQ`^B@PPO?0fMtkf87 z=pH=RW$ggU(Mm#I>lRNxV6SCL5FZO!wkC;KV_vOR7Pb~T9U%2d+el*B2wd-On!?md zV46$QZ51^EHP5F#h9j>M-~)|-l+*3G%EOZ6I_e)b8b;s$M4#SQ56g;$mZtY@VdFnO zpqO?+MN&@hDuY%7q<1~cJOIoAC0u3pqG4H@7C2tGD;{G>R+||!dG44N!OA>uj}8d; z_9oH!?JHkyFFO7U!rE9pm@VJml%Zh%knBC4D($5gUw!@}JMxjD*sV>T9f>b?dC5)X zM#alLk`k692DRHTUDlqnudIYL8X4_N17^HQ^0W9$`O^Y4J9f5WV3-{U85?Zbk*Cic z4bKLmt`#-i3IyWqOYA^1-a0m(fdn)8odxM^UgmUZw8eC8fAfTjuz)${qU(Gnj$OVm83rFOd-oyzVm z`sP5ixbn1p0rB2UDi|x)%7J&fxuaty`dXL)h5F8aw8lVKyydSRL#s{?mb`7cZg^M6 zPNI%4L(+{O+a7;W4&yFNEcPZB$p^MnTs@Sd)mF4A1^Ol3LMj)_ijU`fU($o55M{s! z>~pb6rf?JD$%}htO`%P)J~$5e$zRW@UjO=!k8xa?8LvofwN)6WL!1D{Un?+N-l5;( zg`cypbn3N<_OjX1q3XRyLUYsZAf2dyEae56lRkpb-F8hETFk$)?ugvKmWimkxXE|# z_F-!`;$SIP(;J7>Xi@OKY^C-Y@JY5S4UG{mIZH;cN1IKn%?$=hC%EG?hF;s98slR?le_*KpGpxn{tvU<93-Ex-os zF{X3lRMShoFLTr4XU&E_S`S?7d|y8~n0z9U8F+S=a-jQjHQWkq9{D75R%JF@j)IS2 zqg=l`^Surp4sA$nw>*$_T|Od8pFe@EEMUyia9m7!H>1{I(go3fA~>o_k@g> zW&^kOkpD3c-aXQOlIFqN?*8QDKb}0UUm`J;oD#5OPU!|0qJZ!K zq<{4_q7>}jyx%b6dGAaw6t$i}U$WT&f8&A?S3>qc;e-C)rHTRL%Hl&OUOw6F#LbIn zlHx$F&`SG~fz^s~0Lr@K1X*LVDY&=}h$LVd>4I33^~bP`SiQ7`hv$aFfQ8FnoELx3 ziQZjvGRW36+lN<+XEcGI`hg-hV=(E=j`!ubDY*yKX&uMTv%Y?0kRg)0V`Em@6We$~ zs}p#BZ>>hsXzrC*s2HY>a0hCLht^0RK%v7A-D=l^kc%cMAC8zm;f715tEw&5UHQ1o z3M#nO^gKO>@B#7rGm79-|G^_Sa_HPpG;;_s|f?~Ct7q@VAM;k5cMHiOc&nt(nv%!&mH{$&VJI=GT!j$46&($|hQ#o$ji)}6* z79$Xk5zQYF`TH!^IjwV>e!Iaq`uL?oKyuS-v~07>Y8ZRP?e|zs92MgrHNTYfm3GDA z#_RRJD1SOT%4Y$JSftjft-WFCy(}*(m&?5*6^ zFnAdRT)#oaBWZU1bCt(0MeWd4*Gx9XbpS0AN zMT13R>ErLmi5uk}t{4v9$3NZi-)wX!2T2tl6U1{ZoTa7-6=D0p2D(|!93FN$nADqgIPJb(&JX_ z_jZge3AodoCQ>;S$@jz7#tRc#0hjw{Dz)gRk4>QqC=JM@I4C;%gT7)|!}X_mJpVx- zR;pNYHG%nxrSKW>WL9lN2G53!Qh9147a0o2yG}6YQ)a9wojx8;;hf~_71&TP*C2{< z>ZH?#9|!3o3~{n=NkVzU=vd(tkgO>~qVpG!Z+fU{9`=_klYzO_v)*tHfY!h@=8oD@ zdj^QNo&v`!aZpH+d=4WoH8#U5e4HfiA(RK^dm_qKPl}8U@ss-(yVsLIH`0LL#iaqW zY(&CauUq(5i)CiA@uL@7KwKt!SFgfkF7LtWh7ZtFABZrb*56mt_Z7kPBC?~tz zfshHZAfLN)$CpZac3nU%HfHpFO+3ZFFN5)4R31zlxm{?fuf^u(IHoQxuiB_G2$&-M zSg06LX`&&64ELp3LCknDebL{rJU_)j<-cwizU3ORRZTR$I4wF>2{YUtFU`;LU*8~| zngbUuDFPmhlx4+6IV7LT(M#_KuL77^rGMZW=d)8aNi{T=GQ9>LVz7Zs0!S=c3)r5E z=b!1R9|vUm@c?ayS9p4_R?ee#u)g`V?%m;8_ZH7;v93|ThSk%tzHh%eefYut`ob>K z*HuKS$hj~)d7UXi(-L%XR_E|mz@{k?dF3{MbQ)mipCd%H^!7|S|MA{8i6xS|K`fmR ziT|(@H7zADLn=0QGPkwNrOO9edG5{F^+r5#o9C!X>GkKMf-U>aATaLyD+tkNz4<#X z&83|@r!X6NKWLa7MCS$wtC z*fn*|l0BY6oLDTr79nEw6t_;uh>ExVmy5dapkq1KteEr$tF}XM^J=KaPP(`EgP%vE z$%WpAKQtllYffA&fTO8BcV1d#EC?qzoWn(}Md-H4 z--95aDh5R0xViOmFcd;_=$TkbK=TToBo}V^r?pkB49qcNa9Lhj*{(~cs!l>;t1@JB zir-yzwQ_d2hwz>;AOqfBUcDI8E#(pNt1|$#YP3j*8J0W&f;&Qwhkw&S?AvG-IwgC>D>Ij z6>{IZqQgxh9Lcelgp4 zK%1J731A?a&bV*0i{;Yi%B3}iPawJ?vJY8U`Y~6*k8G**SZbRUGWisx!fzc9f{vD% z+}K8dpxNOB;l3@O+C(dO!kC9A9IW55XhanG81s;mw0eGWw#uy8PLZy@ z_4}HaI0M}mhR`_}s5W@Ll5}wZ(8B@6d!;q-zyhj*9%^^?3-CvLWw8s41C^5S9}1vN z(Kyaa@Xx+zvtbVji2!cHbN%EjpSvfZ-VwJ=a=S{TSKL$QuI2m z3iw6X=N-w z83@ZJ{QUF6hSUx*zyq6iy16=y`1b42f#5OpkeMF|t=f5r|(-MCGr#u8Xx4r72=Lp0xM((Om0LPQv$AY6(u~m2!3`XqOi9_bc znej&hHkglQ?cHnFrT6*DlY9%1EPe$y&&GEKk_?q^q)dp4#g4; z3>DDQ8T&|F?!a`#M-Uc&YU!Q`wNzA0(`JtVD1`sTx{27))x+!w)xo8ULkd!I>1m#5 zDm&`5iaIr(>q>woEk`WcI7}sdz3cJKXl5i_0#Z*ke^?LPv)B!L@Z99ZY4*Kmc)V7f| zE!mWJl`{{ey|d#tbe(eL!i3xJBiJ5j}6y{=|VpYVbCXXa4Br4E#A5 zFSeAtyNL}?L$BO{jnWVlSB>$ww|idTIg*Z@s2VKnUMi^pToI$|lve1xcoI=P z?Xv*g0qOWrF*|2}9sWqlX6oy0Zp05#h!$Ls6LD_i?_=#yXAJo8b%YF z{cCaSL{XX5JvXnv-9~PkMeWscofnyRmF0x8GlWpW+5F*ZG5K{*WwTD!pY_K(YfOJ+ zI%O+41)~SP8&kK@#V~SE!bNK|CrOpu(!(Fi2pI$;uAX|Y@hiC*&MlP|fA)cRL2|?i zJb)Zth7;Q-B|C!~w~U>8Y39Rt$D_H3g8Z+G(MYCNsFGJ=7tndI-9vG}1ZTiFuprvG zt6pSt_qnU7S?Q>f4TiP5EzEic=gX%t5%@d=zv?vcV_$Y@bt;g^^1-db*w;!QrKj_r z22iS2L6noTZ#Q-&NR9D29$4Va;aZx=vato_qs!{aw~%m^FYsJq79NI?GegdNzPrW2 z*49HYz?V~C*abi-mZ`^c=!+`$iV~6Qi`YS~`d?s9hSO+X6h#J-fUG9-B3Q_Ff4Uf8 z|MNAcPhYu&=UoICF_X!8Z#uag5f67Re_&(ivja}(5G%6&I)j%I+bx$?3}HZU(n5vU z2PxC6@K4mexje*~i!X7xZLe18IGB<3bD|v9GNl8xZb#7nAM-n^XRtM2lTa0nvEx0e z(K8j#zOtszr9{4U+&Q93&ak4`-B$vyT*0(w>pP_QV zZLpA0x+YBRvUza3w2554;5?A&T67pJP>JM@}Cmt ztHU&41;qhXvyCgr|9Mg7lpN!N+vpEB73wZq!BD4y>j1f1sm>k~*_RKOep>?v{zp&4 zxUm&rwqNJ!1I^F*1h_=sKO%klK?rk}3%y+k2x%p7A2o<|By>4O=>k4sDwh_ITZ&z_ zKIrP`Ln0E4xpaB&Xg8knDIJWN3Gk|2Uix`x7W@XTc^_`4H0_I$rVNHf1Mg3{f2aGtPbEQXwzyr5*9O6} z=rDfpA?Lc?AI@*)M%}}oB)MBw(Hz1n4@KCeb~!S#lUro!qvK{3jWPi0RyP^$CgI<% zPGJb`gp?N6jP*B%2@5We_W^_CQ;r4_=vM&gf!md7tQ^1qEEOa$`A{q^&1Jb7a^{(< zyH7gpMo+ccE`yfO)ujjm`9hc%WN0&rqauZYx$Q&G=9NY+zwVXMP29X_$f&FE#QxZ%uueKw0=*l>2K(vFuxeTml z&UKl2A^f3rX{zYFuq2n0-q-A*+dl&B%K`zeV(l0>h|jFlUdDS+$Xyk&>nzo5zubud zka*=3){TO|$2v+^jVjemf*M)zX;M6#40IO}QM+jsiDAClFG?Xl0#c+F2*;oQ{2c># z7O4VWYk|ne`v?BKRz@Q8&g{q{!a;xrSf@psw~DC4J(sB6TJADUV!&hV%y2e?SCX+0 z+df&mn<>o>@=lj~KDn~-Cmw^n40I>@*)7J?lEzAxS1~3#?g$7XQWsa?zv zM{0t@OTx$2cIR^Sc*#pYqof{uo?Qnzl-D#VYFM^;qmPT(e6W=qJ(@<=@BP>QXmlwr z>fF$7D<^Y6eC|8yGJ)klzJU8bsOia$qg9p&w=rFW&w8*~0TSZ)##H-Z;QZ_;D0G2D zy3{-eDy=8AAVKlqZGk;UoRi@I!y9Nj6z>Lw=hmU|U)+*j?aTy_!J2k69YU!$O` za*>V`g%AQc`xuZ5wG!tlQ47vekS6DOQh7P5`XU66PK3iuTftn$oVoY@@*u}y9lvhr z8$nQ-ezilb@;B1N3##`dKvG*{|(#PvDC;+a|G{8rSfAZJ13_+32s zugN_rmU!c1|3Q3LzIo6UznL8ubv6{tw#%v#!^}!%Y+_^mA)RaSLboWq`tPM5J-?+# z5G)p?c@8YE6F)bMQgbIc{7gZg`poX^)7#?Cq0Jn^fx|(1$Y4(&eGq#vD{LC%2Zoo5ORGl0Mwg+JU;$b8gsp{J%z$u3RZVNr$scN1 zT5FaFg{{qo9-h=7P$jr$3IJ4BULl=br)K_zT{vpH)m0 z%~duDRmrB8lN7s~+L3Vd+*jn8i1zR9W`nT`|9d(3{6)TUsN9CZOR_P`FlZMO)sN%A z1=MX=AMTj!*A*|Wht~jaL>!FUeM=V-Sihzs4(tZLeGg#YLEKn&0}nhK;bU-;4p~%d zd2Qw@Y8HmG_4#@?z z86q4AvQgKR<52CJ*wZN#pThlqkT&p>fCH8>qLMbqJ^6qr0p?06?vKb_MHwf-To5=$ zPj=7N?44bc2R|$2v}7(RJdDj=41l^eu=T(w=5;EdjKh_R#qlBrm&%Pp)mQ{HjgInG z+!BILA%oHD`UG-+p=B_TmOrYhhY4KbCscvgSEay|WU!b1b;UMr6*3W!dD+f2P{WZQ zW(8&l8tF$se`p$Tj3U4R$ZQ46Pi+^uYFOsA2U0Glwo74OPCH+>oE8*zEX4xP2+Xsp z8v~^}MM4d^c1wc7hwKx94E_(|=ieG3Tk(tZ_)2L6haCxc$wiT@6X}wv%Hx+2K2h|g zp6sgl$pdJ#KRcYqyZ?QA`Jd8iDd<42{Mj|MB>0ZzLLAxQS=lKLXj#@(|MllPl-mcx zVE1Q|W>|%*Uxeq1{nT>Pznm8~bE5W#<@@NH9{B`cDF&6ZRau4^qz&3gA3;w!fgpmn zEdG1x%E9%t7r8m>(QFp^`AwSv#sHA_mZgY8?w97cb|_w1nG!~{l8egGF%=s>F`8t2 zMiz5gTrEYPy6U`XhrMe7oofh-5yNIxk~rJolaI~jPG9v3+wL3%dfZ!p_iOb)WC4*9n$Pt>=MTX2D4ZTU)mY`vLE4~?h8GL8CS4=PQPcHozC0SQ(uaaq$BX9;L|QjcAmgN@kJ-^oEeJ*_|dZ%64# z!6GAPgum3ve!4e&(bXhYGFITxX^dbRk|~1v<%n9-ZSz+)JpT|gd1*^Cx1h`Pl11G%(J#3pg+O$F8MoY+Z?Uld8E}ne zQg-Mq$T)VBUhPKfxBYhG`cZvqBtD%VER$#L*^B=r&9f_^O+|h1^JTwB1=arUKb{RQ zQSROyZ~?o+2!J!o4?6s#Yd5@%?Kpfn`$105($x>K&khJSd}CA|-Uj}TxpWjf>f zm;cB-8%|D{SnRQdq}Wn$jvnwj9C`T+W9!S-iIc=uapa=7&R)2kYI}8?<`iw+>9%7F zfAo-uD83cpAJTe5~ve94PJSq$rPi*0HDVB?Nw-L>XFy(RF5nd z>^iO)Up7-cc$XlZehZ&c^@inl*=(?aPQ2AO&hN5*imd&$H!u?4dAP}WaOD{#?5Rc- zykOneQ>V7eht)RQ%$h!Pk7nJ<&movjbg^o&o0Ugz9;r`t{YBC@7#L52v^n25m@kcS zVjS24P0!Xm*iNz%R|^bj2py#9H~=;^_Mf-`6z}mIKC?3Vr_Fkbu#*p^5WF4yGd>ds`=$rXstamvu5XlT~LvC zXm(`p^)_%M%ce>nj=#nezaGF6zLSVj^B~WZDZ!~J#9&4T37kpD9?tbHt9H{DfTSV? zHkOtxtV&yRo?2SF#ohdFgq@JsI^oGn5RZX&W&2NP9fbQQ#iAy#(g#o^03aWrNwPLx zd&?6>YS%m{uL!Cf`$i|CsOeoczhl^gG_XMa&n?Hf_o9{yS}ReS`p2(--oHGXcrn8~ z(ZpbIEz~))FZ;~+5zI%5^p#^jTo{`}L!zUlQ{;CAp;n>IkH~%I*^a>Oo%0jG-5ABiEf|CSY zj<}NE-YVe5cTpG$jlIZJ`%^t}QnbiYRcqn;9#x@bTuFxvkRu-0PC0M^fNp>wFCVpE z>*I-)Ip3GGO(?v8a4A=!@}t2P?j`;>kqQ>_T(xualUPk)^oaCbig}vxZj{9|n7pX1 zU5TT>TpRA43K9vVPa#7V=ilm?UdXXq0#$-@A$E_Ci_~-! znqBMf9hQ7dJB+Ga1{T*hJSKBN9Lc{9&~}1T>;zDCj9Jc}p@XKSC%=jT7Uo=a zeQ>=t{dPq+zOeAZ!;kkZiI(s>bFa%6u^BWMLh#+y2&S~w*za0n^EALtP}}eze*eOMNb@ zgVi~)at{pf;GaN4ETx2$5LM%x-LMoI6a6l26FKvt8(Dnj;46=*mTTjo(iX4KE<3If zC`qMC)j$7(a2dc85a?*bYq92^tp~Mn=xl}hi|?LMEjK!^wZ{zfqBhAUh`pB_U4?Iy z5^XcE3-DP;8<*8Wy%3gJOD8{%c&Lpu z{&PVI$VBP{2Y}kz^W&l){m&=-zFKR0$zrzyXkuy%qS(b;tM?**<_h@c6?WPa)s+}H zbS&~?P1!EHP~y@hmo9`mU|UIoN7aK;`K)U3$jdwYpg(i#**X)tc;|?5Ro)bdsbOwK)#b~$%0yY zt<;=&4Iemlu;%3HX57G1;PM}0)13;xprn{_sfq(Q_y=J4M0vxq3HA7EDcoG9UZ^EG zA3tx?UV74pB~~1L@%`!`@Ph#hY}_U+ADsr&b?^FOtRJ|0TAaPNy*plh#C>D7PjmL1 z$?*y?uu$ISAgv3Y1~<&DJ!f5kC-a=X$>ZJ+tqNEs{)8 zst(>f>X7$QSH^!z7BiMU3yj*)INVlrimos*ZsF}g%%5=c;1#g(Xog)sb!ufFP2J8q zd&y~IXp{?t=7XOoKEE`oJd}s^+w<^`KcP&jfFVS%eE$98T8+O4X&RhevmXox(F-Ce z1=w0T@T@O#WlEX-XNZ1$$1HLF_T}pqS?yyRChO4XRMFX(3Y*eU6(dz+|E0p{F@E1! z^UtR67JD=-w|g3(PO5)zoiI8f)mG-`bHU<0b0CXoDfn?r#woZ3N1;ecc3>-&+t`3f zegt;^!J*G*BZUR{18@AI-f~C643>#7{?u(lLA#Hq2wlwHLh<1$2UO#NBX2_4*%xBK zwM>@PJc%(8oaf*h^?Zt8j=`1nb4#^i6fwh?<)PF=ni8W>~>xzrHUIB zHx60vC|hFQG6La(b^k$rSIOR$m%M&6vr7NXtNOn(w1Ms`)@+d8bEoMe7oh%NW#0NF zWpZ=&>Y4N|9~aRW|MlRZlO_+R+z8*06lJk~%;&1Dsas;$-IUYu9F#pjSFg1YT0O0 zrdEPhiX)azT3S#<3!eVa-PR|EG~%Wl{>l)M)UBX1j@8UPP!d9 zA^-naO5M4bxlR?)u)KJ#kXhn&032a)1ya(zTrh$-6}M+g_+x(N!nf}q6x{sJ;N8;~ z$^Qas>*wEa1(LkDll>R$*cWlr+BB>@?>G4^6trKq%13-SUC(++L9rN-SSIClWy13F z8E!29e~<&qleQ5it7Z<>5R*YWOzY|lO933_(Qy^lI1AL-9{h@Z=l4dtXQmIX#iuBMdkf@txm|?dAtboHtxNTp$`(cJ1LfrXX}GNw2Mn2a^BOKYAoe> zQETVMIQ`UjA!&G-#AN|{5u{yB?f-MQ|Lz}vj+J|2`Q9Y+A!z;%6!9)?h9o+6PAR8+ zE6jxHH|xUS>v|sE~JOjvL(x*|0EYIhf>h6V<$l&s=Xh6&Q6~Ft_V1ICw~EXrP_@* zY@lcH9iVJPkla?{(nUu}=b-{}T}R#Ct%#$J%Rt2G_3z{XBeubFkg;}u6VpU7z_Z+1 z-0=Lsw+AbPnxKcpUO}mZgz|rqhaOa!xWIrzLFPmS*9fFaI8y|QUSi2FP$FwB{xdD^q+zS?w`aLHo5Mm~%zndSPMHmOgf+_^^=!`JE&Ttc} z=auIvtI-^0wabPi3rCTnTQ~ILyKkND{38ta_FmKyRBhaIu@+?)xqAE2HJW(+m{Uw zP_!IG;>qeW0`-U7?(Qe*264e_dzle!-P$Dh_r# zcvACe{Y*|ot+CD^cdmJ1fdGbDF7aGezI$iF0~jPxN8UhC%zrxPkqb4d$OTk_)$2|3 z>gpByQ~3`v{{!7zqmfDli6tKkq~bnWk-Hg3+vRV{LX&k$lp?(7q-@%{vG+ije^whO zxLZEbP;Gqam6@+jDX`SdpksLL=R@*-^)OFFKcKFF#qyh@8EjX^dT#&_9)V{D6RTz& z>hpb!(nJ)17_Jtk%0nsAAvA}ny??O##`V??p{ewzFq2Q~D_K$`HgKM>d(y>3jEzJA z1b%h26;W*whBrby{_aQ-E>SdFzdrHpy?1x7SNZT!b4q1Ebn|$Q{+I7`Kb8GvUUu;G zOiD#ioELe^jV#09c_-kUUSSZF%YJlLRILkN7DvRZgz;{!k+SiH6>?vEk;!I)l>g)! zenK50Me74!6dwIksX@LEtlgA=UTY=KI~{nvY8d|AROlVk9h-Y__#ORPP@v=zA)9rL zFphyRD0m(ZYLgww4I)>rke?Lu($TKD0>B+>^MF$rapThL&WU&BUD3W#Br-zznziCG zU_Z(TvdeT_IRTODvSM#T$T)6+D1o_hP>>>Rcptom&H^JprJ&)b1IAwycgt5eJx>6k`63?wWCKdz>F2RaCG$ABaR5B z)*CEzi8n+x}Yq(fqFSU5E95ojV0$5Mk{@ ztqV1O?%T3q2X{K{|0t<}#X_r3I|^N-lChTMji_l7X8TrqxQIVbuX5u6t%tY=H%(Fqc(7y9hlX!ntg+c=Z#iknGgwe~ zIm=Nf6TV^z1VVuC_U?+&32@>m2eW;Sh)A@2Z_`mK?`@qo6!qZ>WOCSS)dlO7mga{? z1A`^7WmE%Eh*_KQ#)%=O&+ z7;O%KS9UYdSz8I@QL%>J#A)Wru@y#5mNCw!(-n~c`0AcS1f|b=E zZ~o@KAAg5a&<;%Xhf+iH-#(^U$YM?N($PALsL(V;!O&|iKVwHrHpu(+9J;-E&6i%= zj;-q(&yUbJscSEqiE4Yd*(2rrNDeqw+|JnmCxN-wJO^(G4S>?|lY7tSXZLdvNAGXm zIc%jNk$(ifj;uxU3WG_Rn+RT%vDB!+yXT)2fwNqMlDEuHt=PbVN0gKueU88&K(+d% z2eQrWz7OM?6ak1O`$M%wYxRFwFYIxwA~&m4i=4O$YE9g8ovpqdeZXp?EyBe5pHjDJ zm}}^Gi5PhAt=JSi8#ryis{doT(K(5>6sru06qz~_gI*R1t0qc3Ay0?$5vK!7jE{*x zolU4WJ{9F-k%N%>gw0P(Q7nv%5J#_T+H9QZ2w{DPmp6?4IM)fzWnWxf(zl76XpKT& zch(yes36Lz>SB@|{3{oDWv`0`O^>mo-)GaU<_nEqUStC;dAC9Va-TX~?iCG#Hd*}z zbAG#@IS{ac7xCt1iq&H#AE&i%$)UJ@BU3(h4pUYVbnv2VeHS?dz z$CMNt$yY4*+3RMcGR-7to2#N0HFT{L6;{BntLlhTO-yuIC1l10B56A2`%Ttq z*P0?8K$c%$!^*2+Bh#u{$e9yk)T;tiR@|e76;fQsrjt57QsgRfL1pnuD|7*F(d;`1%I`|fcR^^e2{U5i*fAIUrX#a5Z&LZ0%1*zu#SkNU58sWVaWMhYQ2Te}9V*%yvb9FiAIT);M-d1FxrTRf414=Xi7$Cq@@Jjy+ox{c z_%#`P-ql+u*bY+?J!IBxvAUJPoz0BM`X*)H-+AInoXB5$W`N-OP9S()bI8nKxXV`; z1i{JYYdKbyjI-Yx3GFox!EsRMBL|QJ|D!wR5q)ONOk?BiVGj;PAjiqbYBg_FD8ZAg zCQT%BW@cqCqgYK-^i2>Lgy z5&&x7q-)PSu#jy4avyrQp|sN~cWK6dqDcJS4-D%2;NVwl>Szk~+K7$9XB%UBf({T_ zQdePh&^mb9)KDH!(HY2N|*Hq%_>j ztpXpTyX$YJ?lFf18BD?i_k(+oUwx#wzX5%qtUcCnbl*pV;6P;V);EvV&_SR&+#wL( z8_z2<7C9E<49(KI6RxTNnwxiddL#P!q3ev#eFspIc&G(Vxg^W^EM#{zw zSF<25lXRjEjBw_J_&+~*tZ{GyOI$oqj3Lb_eX6fF^;k7dfrqacmm1>73yS!_pV+8) z)5%@F^RThiGq~$W+4{^*uYAS`a{(fU0!kFuEQh5@V3j8 zkcW3Q&pVR)b4V@=IKKbj&V4qXY>}0v7R#rX51}xltDwiLq}G!ddqwZBk_S|8dUUrO zw!I3c0jX$6GY#-)j1hWt3~VXr81*R1me}f$S3s%b?wx6fW=?nUA>nB=E{fxI@;MY4vto;Et89Fmkp%L}-O zsjzdHWDxHQ&vXv8zt9bcSuJgz)<|nBU1PY8(7`!W|ErEbr$Ys8!yD@$f!~l|SzBzm zwE}Va<1#Qj4J27x>Jf7b=Jg6L?esxvy1vV*k~emlKLFS6@v`9_=^U7d4^>&33{>;~=JI}P?S{ZhzfhK)I)%x3aL2hMgu;`$C4FkSERIpm+!`Fq&#`Tt-;w#Z%w) zZ;3{NRGp`2n2ad~#acwspme_Ge51_c<*kCEFK$qPv1|!4AUy==ExrmVwt~7|uO?FU zZbSY;So{z2`A{vV0ooFg|A&aV3O%38cLy)tvvKRic}166HfCs~-ARmi50!k&c^)nZNu_S6HyMHClD-~2A6;<813N?^IZ@ZX< zC7!`PvH8m#mG~~V&E{kl#1J%>kH9jqjk}ckPRXzPR0L$`3{z^Iwt2FusE1fI*spsz zmqXuA34A=ti9h~(l@yQl%b%^}E5m;|j@)5qX~LsZZ<|R6r49a}u%pZ;Jd@IT_C8t; zb63Ew?5MuORtff5^k2({L-RrM`L#K1bM0_+3olJd(AZpmlLX#myK?U&G+*<~WTe_p zQ1gj^^$e=(gTi4HKl;@r!>6eaAi#KE9eQQM0ZW%lRFFhSsfoLBmjV(1!yb&sB$B*r z^gG6LIsS8C<&x@}41wfDh({jtoETI3Aih7;?aqyD|L7)qhsS^Q*1K+DAuA|i3!H9j z*`N!wD=>Vu1)wIcwbtF0%*r@ZiK&<-e8`V1*gbpD9x2s5JJEyUBrGW@me&6j0#8{) zi&cxX*ZxW~EApD9?A}=dz!CzF8+6MGa*Mb#;-i`I{iUrI^!1KULng_#n@;6sIRNGq z`n-9{HxsUu?OIHY!@lbPgV&m^o#}WSWSS2A25jErKkJeHVfxSCq(E{Eh*U|@1bCKh z4TP(I8bU%^$72P*C(kQ+wi1)j3K5A;^vKn|rko9O39rNmUJ6flEft<9^pF`pJn&fO3zPEk;E{wp zpSBb@6r4asY}-7H1E9z)R=1Rn-vZ#J=9?tutmP@IF+F6r9LcLyL+g zdVOY%Md%f>c)8c(F!03j9c}h<>)m>EFR3)^05O)tEZI{b#h#Ci2{waSY#}?R9;I*D zy-?TqOw6!R<{+qSe6JmJ74@Y+3bG5m@xZIeBUQTmsVbBc!AhoxtDV+#SDhNyJjLN! zD2iZiihzsBov)FinZnZVEVzjN<7ISSuIU1nBM%U+-EObvBKZfLk_vn8)2s8oPWv1O z7{Mw_|EmGcZQCA=h>R&F|S{=NG*Ee#mi*0aDqi zeO&%(Am`_6@DaMZC=K8voq)Ux5v z^LkFFZWnRii%`4a_M+3FVn4d0)48TyhwE@OqDtJb#E-bu3T5SXOpVPlQuoH$%p$6$_vT9tyfPd_L&pR~om4Ay=zuA^-V)hbJyfXie*(s90Sd2t%%# zwsGN&&V!7X!JA%bE8bw&fNYP+Jy7%mMc@yuIl#+K&!&sUGU0}TyGR*+&?6)9gqbc? zE#bW9(~ndpc>B|O1G3zQs_|!5If~1l^5K-DnToJ+c6xClL`fE=DR|oPP!CAkA|^|URIBG#;{R#sl?>c|risNV4z%9b=zFw+ zeG%RM<6KwZ_HT}&oqLQdg^WPM6d~pQ{*#-fSs5`iS|?%3u>O%pQ3X5-^OJK%(3_tp zHyc0l-QWr`BI%S{-5|^nu8qVTv~!PgZ>@gX{nFJ>uk!absFP=%x;Uf`2@U?fcozu}GrHjB}_Y zC`Zs&@yY$G=2zc>)a~_u(I6 zI*#iQdhk79c9h-gVIb~(2%Kdz?`b|aUep^AN8}U!yT^X?jSj9ameCqSWWg#T-&Yzl z(kVuB;&v}>SiAAMf^^SK?FA9d&0UK!ZAF0VVNdiJ5F^N_hROt|O89}0x_ zWxGnhiXe_7Z+M%bO;V`x=aZa8AJrG;HAP76i}CE`nb&oP3cGU>)2t*YCeH@$$aa&d zUx`>1%ZC%EnhP{v>WV%R zp7}2z*2RBqXTrIn{@6m=ygKZ6dIm^Fp@+7t5`p49h3QhKNZnzdADX3~X^NiOQaB3& z?nLkZL23tIf}k1%D0Y>D0pgF!K0GMmKV5A6*Mz`GQvrT5@ZbkSb*vxwdH8)?>+U29 zaA>pdB7gQ`G>^iE>yYAS^m$+x%2KcB#XUnYOpPgi?zF#N4v+rVVMq`|qC)jiiH;%C z7EJMZ17znSzV1XSPK4F|~eiKc&v%jzfNEMvZ4?)?JaH)v2)g>gcOe{Y6XjHQdEIeI$4a9ut&U zck+Ruqj;`D|J#B_fsktIJr{kDqE#B2Uo;F{ft?C*{IR*$*H8sh6vH*LaXGt^^Tk>x z&xILe`_e~;08yce6e7x#Ki&Hh<27#jFO1!Za7U#!t)7+8UDQOnd(KuSh2d&4W_eIQqQqG(rV)x|(CfSy|^eFz{Kx53iIB=__Wr?Yp33UWYS{^u1 zCW7t7#}t}+LnMvOEa(GfE2V)12$lj&CKa7GpPY(Zf7o)jo2UuBlEHMfym^~7zCP`X z7Z~ek)2b%P0@D;J_IZ{|^3=OBNH;JZI**jAL&h-zRfXo!76`o%cH8e9tze)c6znok za+V-)B*(DQ>v&j&Rar=LURd36??`IFk~%E6U~K+2s7p@k#v(E8S9g)SohI!imh|Jf z5-5s07akoM)gjx!yWU5t1xe9&GeQ?QN3|kgnc(&rH2HaPkou=h_*=fs&_@n`>p;=T zoX=_X6&vv<+3DRVM&|#40%?t43~L6c&aXfGQsLbsKI#a*6S!LEE1u0x+27jTHMSKx zS%>dYig0tPE~kW(F-4-GJUw$>`nO)N6WV%kIP@i~{Jx)#*~v|vJ)}ftgIw{&=4ajK z-G+E{B!&cYNiJj<^o|;(~T4^oituHdATZTK3MDY@@b9;CE zXqlp_Ujjd9`?4Zt+CHcR--q~QyXBW{M57ITjON$DMLGJYSgU0WEyPX@umZoU_ju&; zUxglYRUbk?PcQ|^Hei76m#*NlWT}Lj4ZJMu(k61K*0nqy*^#wd^BnHmi6*%=U)>&k z@JTJCDBq6Kq^fBGHVx{sgiIkr0KUHZ%i+d@UL7JR+Fi7)`Qi{JcfDBgiPxddm9*JE z<`>kSq-IFlYk{%ifY)f$oSz7%fx|uqb8~DWV@^KiX2i~c0g4Ko+bYx=knsl23RLI_ z@4;ec#Ygt17Z@3r3re_6Yc@yza&VsbK3hG`MhyLA(&sZVln1PR##ZOs+bVG%(V5^y z5Wu^LJD9qS0L46#A!Ot&{=j4$D+ea~JK8V&4|0Mh7y>+fUTcRs)>XALnhl8a28*KC zH$;pRmPJJzx*H7U+MH|FN#;}ocY-(h--6CrS;V9)R*}+xN5*RbYGw$=SFC(zfm&Rx zf`&YGZUowqb;>q>3>6&%Doh9lXeX54LSvvhxd~DM0VU;)l>~gX50;uZmxh-&>Yl$L zlQ;H}9sr)uMqBqjZ-4lsMY8svBP_%3{@R0rFS`!^>GQ^FSYxk}qNLn;g*q(WK8q!r z162Ii<>%k{62F1B;m4AXVf}Q}b5lS6@+)*nwI+X0yX(9l?aIqHDY52FLdN6ff{9-& zxqm0>#XmS7ohG+fZS?zJoO>%Apm9OWa)7uuA9maN>28A&9(ZfS&`-#xPrrL1GJ~~k zht+B7mXP3t5;5WsC)v4We>ga}#OB%03vzVKvvIBCO#7_N&wcPj{YA(?qY%*7k5PTc zfIwuL2J+Q?{zFYOA$xbM6>bj;8pOC&L=^-$G?Td*x)Ux)msars3jzV=(hFR>rLE6 z0tlWc+sr#`n2|_Rhm;szN6C`t**tGt`>e)h*fW13^F{sv-Kf=R5^wOYb$SF{wyz}^ z3xJAWIgrlMF+Ak8JJC*m9uF4$kAD8rEO(J-F3{_Vqe)Un9u#Tjnv}T{Urdh}Y+4vbVO=f2MmLumT z=OMfUx*Yj(ia5S`O`WxS4=M#W3vPLy%_ol}U(6`y1pqL;HXwD@*?%Rwmiw&ILB^f2 zz;>r8AZzxi0X$$G1%JZ+hK*n zFLXJbJO4|R!LSbr0ZNWCch4*sG?gqagC{xY0jzjcuykseAxGcUH~T`H0{%c#{Tr-z zexz(-Fcc9o>bZ?geONvzI@YNIz9R;&l2bw81df=9e^$+&~lglhub~@ z-%$&FOrHX$BbQ6SJDXo^bo`8}3;H@&6iIDVRnTcZ(d;%(ga-t#n8;%uotG?fA`Jtw zjA4M{MwUsEhJ}Hy?S7#>4F7q#s|t#MYH_|cXarsrZL>n;O9uUZ|lvCdv(HedB7xzn_4-BlzGiH)4E z07MT{jg(w%6a~5zjZ9op2yd^@vr_Yrek^~3d z2te|_%b7t8U)y!0qKNHsMmkSG#|7?L-`Yt$ix)g^vbh>v!ri#GW&7LPZ12!~Qry*M z>@^w$@u(sMd2t#nz$Yx#YS*A}GgIN!hH*-_b-Xmt#?AGj5wKbHKrCUgQo^CVIoEkb zM6R|uUE26W#(z2-vIa^IH4uA{T#F-NlO$S)D_`C((Tv()cc6?+gb3^kEohB%zCMgZ z?x`q*m_`~Lx@3Xz=``DRy)_?3E>%m?6n!N7vZEjt`l>$2LSi?MCyV^S9n7EWvP&Lo z2(b?w^_X}8PiE&5wf7IKTR+R7veTviH+q@~=2c-T@7Qa7s@F%!7RbQ?a7Qi^=Xqj3 z#=$G@DUYD3|K8GQMnO^bYfJX5)1wW|RA#x$O`*ax0mgf^kec$gChKdhlzwtIbFTy)>+LgWofY7P06X##69$JxiroLL^G$XG|M~vuy$SQ z8*b$t*d6fy9R>yqYzI507u=2#I!7(u(s`6D{t|z17_M0W*NyAjdeq`7!j>!{zj#yL(HNPL{3Wf+>DyT% zv&bKj1NSy<7d$54-j`~eS2b=#<#%UD-gaT_@gz~^jSHLY6##xw_SUHw>Ez~WD` zm_I5)cK%ZRpV{cM8CLRGo<}RxOi>ng^`qr3xSr2Whx7@afLBf{>JQp>;=9VH4n3w5 z_K}`VS>Y$y2dM?DY5f)3!i{2LY`fq+DC=K)`#Ril?@K#r1gb-oxb1-Jxp{Dr$@4BI z6(oiGytm-+(~k7mHjXFvC-Wn}g56YxE8DLCCFXLsB6cb=AyB zU<6NoXiBjB+n|%wm%dmNHIPMz_A1xZMG zkbP&L3r{eskPPJqrgzyDh@fn+VfYE?;ea#E%}AE{fq4`mU0SShm|;7Py{YNwjvnES zy#PGH?7$?(BgCB6RJ8^7AOG0Lyxmw2rqQo|EqjA*2Tc~=Hn$(fWCA;bz|N#Q`sPWr zp#}g39c@3qeRSsaU#6?s1s>7@7RZJQ$dPT$Omq}kElZ>qGirC;;wAkDnvfFT=kh{4 zZd!&~(46R*Qi$8O=)lLWnc>06?Ric`1BCG?1zh@JBWa(RDCiPzegN^9zG8c@J7s(p zY>i`@I1f$hXBTimDCAZwfZJ=GMrXz_ZMI$>|C$uAZSWwYSGt@LCP4PB)?0P0p+l~% zP;A3|RY$ZL3Gvu_zNYDTU~!PjktPvQuCU1AlNfJ(NCgQAUqVZTHLH?o%8i$IoML z`%3zy0s(-eKaq5IDW62;&t(eD@*m5!1j~{?i zBg{94&Q%dV2%s<=4)bV#|5lFhfPm~5biMl|r$XBt121R(I8&VxX6}wxr>X!7?=o@I z+8qP2)E>`Sw_eYY@4q^F(Ye>>GSg#<5G6QMH8cC7%s$%Qbjdo^p=%)nLm7#roxw#} zTVmWl6cphgjB{Ykd~(q`JwQ_;*Mr9R*FQS^SQ*kp&~E62G*AA!ytkXVFcT z0!l>fq|Vz1lora%kacW0tw$Z)+rR&ZtuK=Lkpfq@Fn}6| zd%($mto6HF-fFoe=G<8ru}n}qu#K=#J1RRPgq@saie?p*Bv|rtm?e9h@iUVzp8jhD zDN$qtxe>k=5XXRY@1WWU#8YS#hK@Qdzr}30??vMTkG#G|#qCV)wF*gxB!iz-CWDm8 z4PpY&90tPSj-qJoUQepg3e!2x45v9^g%-=!+VNbpB}T?}wlDvJe;ns9Jr%)xe}KBY z=A|L!8%>Z>HFcKs8HtJe>l|vr;_SC}`TSyq^mYDpdL%RAChO$9*h~T9=)?NBQ8Qm` z18(sU&^r*VCqTyGneFQ-3WXmS$a`i3M{B38zlOUVx~vmsRG4W$M9`kyI+>1E&(|2Y zc20pUqx!+<#Ds)54~D?8kSs52Ac6zDB(=^G(=Xq+&|5O1VKldjBWb|Q801NNa0_@B z8-Rz#QG*H4Pmt#nZg}v8Oh9O>{b!d<&`<|h%DMgDF43Y6=t@a5{vLMTy%I^o{jFwb z1d7q7cwRl1(AHgUNE)? znG`~ThERRh_N9T@{vDmV3|$(?K~$MZ+okSqc+u&hjb^I86U04%nKsXijO^r%;*Ge* zv42tuQ$Q&}F0nd&EdFQ(b60aLy3etb6d$2u{~51x8c!BFK-3}BxkbHf3A9Mj1@WnZ z`wE?P%4o;k%!r08%rFEIktT|Wx#TWyh%i`Y8{kGmn|jRTH89GPvhd^~?0F-qJ9=5b zY9NeHCwhY{)EbliGq~H3Z`c}op0Ps^Z7dG+)>;_okS1gD{Z7MDDUqQfD}n2OPCceN zxh&O!)1n7U$Ci$&(`E3r|C|^H5;6dvRfTv?cHkFu8Aoi-;ZSnHQDJdi=tvz*7dxcM z+bc}wC5Px)C$=isB96ib@_Qw&VaRDxZkaor&7lQ6zs0(+L+CCgGKwo7h)z>(hy0vp zpW{oO%x2AjrRba{$Ab*}*Vku(w11W?ni0q@h}QM#%TmPyr5hmcy&RH;J4t~g=S5=P z-G-A+%atd%eSL;L2iHQmEGmc^nNf#Zyw8(caU!Y1Om+QU3qiX?u=MK3ttXw={~LfR z@V)!vH>lgw}urXpKU&#!g>1SIL*$cC;|bog`p6?*lGKdpeiB zpQrW6vHZCYWwKq2=&6FyOuVKpNnnLXN(q)KGvuPU`lmLX4&tg1g-2FTRs543ycoDA z6{+}|@#zNZZwO!~Q~UwfUX-A-HjQMTt7h`6p&vV?x>5N$R=n0#uz{$ma{M7ns7DJb z5C_Hk%k};|?%PE(=UjbY@u7sD*h9YU<+x95CZG+cB+&=7XRavUl(4-`B|45`HyTJy zp~KU_YM!ZH&X^G;B*jHSfj5qp&gAynxpfPS*5cZS?nAuXh3TT@DX*{aR+V5qP{frx z>H>0YxCI2{*R)-%-fr{uqF$EHzCIwf=Fgr8SAUaq)SPoV3ku#u^ir3FnJ6Olb*Ua6 z#Rz+pp*yCO{av8)!;RlOHTH???rY;+JBa zd$V&q!$>+Sp1tXDE;^gb+Q8$=r-_WPiMHj1>JBqp_6UEjcUQ=rpEpBqDiok~7SQ!Y zQB3TdB19MMfFDl|z>P|k;9|BiZhdJqzvAe%FNy|~Tn_~2)lBjnP@apB8b{zpaQ@kg zHTvBavXm|z*MOxE7^+eH5m37he3I5=p5N;A!~L*(D4k~J`Au75Vyr#vQZeJeHy&GJ zx8f}idAz5|b~7(5ajjhr#mja6pkDTn21FGqhFG&}k-Dl5fu5pBEuXJib4FT&?*p>m zxHR<4d^M!d&VVpZ*P253(y|~tn64t?Q|x)bG7l0ize!L~#zDm?HY2qua&sxj&(7Zr zA%Pc)8-iz3O~FrQ_xi!`x+d&O&3yfr#B|Ik_DS{C2MZz( z{7t)kE>uR$$U) zQmd9@Ptmpx|AW|!$IKHHOK0X)RjbFiKeJ#c@3*sZt64G__#CZn^l>lfqsV(vAf1D@ zVhyIt>N#zIZPU?mA$;$;mnmDGVSqR5Qt0d0%i)98x+>{+?9plO!BG7^Ab@Xwav5%F zW9VG?u6<})QKqxbnC-Rw(EeQpYfJu~c7Tj@18qR0VJ+y}Kt;M|Sy~n?Ee!CqjvJSq zsj`CM`{L43x!q3KqwOKga$olz@zQbjO1Jtrr$Hr%l7sBLa3Y(6wheQwQm51o#6fanJmO@dmajK0sqIaR2ho`@fk7*orU_UihDdseEAEtPI|G zq~d}VVcCa>V9vcMyKAgJI*ik$Hh`0bWb6G)bo)nL6=Yu9u5F;#bRA#sR!NSCBg$wB zv7g&$OstYS7#UNU()GR1{ys@d!@SeSU*B@HEz6pEyH&=QtxxA?81ppvOv(vL?G+nj z^e{NERseEw(al?5P)t(pG8EEfp`HK=GD%%_^&W99L*kPl-nF++p{6SDayxZ zexngpA4UYAW?r;<;Y0QJe%ZO)S>O>MACr8JVD!CM}U=L}j^?m!YkCwmIKIAut`5!eXX8Njur+uW^F3s{fYRn9; z&E`^^I3!Mh7vqWZf(@O0tHP?SLZygE4GhcqOc!B zycmhk^2?_k59m063|x_aHh)eLNYZmQWbO9)mzy$9=O5+Et9=U|5`>wFJ5rmhqvd%X zqSR1+NIJP;dBx`UF5P?@K(OS&F0n&%Q-}6MVFK||^08@wx3kB(gyn_Cr(S;%LSV;^ zGfH)1291WhEjb-wfk_D5bXR~Vy3ePZh>_-Ugr$eMMIb^<3|?t|Vfw^C&gIl!+^h<^ z$pS%((qs2P8u_Z1^Rzcnk|pv7#VAwt&tiS+^*GdYQu0`v|K0L;m4mN-7T@-Rr`@`; z_0Qp`r#X}cQa#9d1oAd;b=7l*L7-AusV_e%VOg|upbXiOAi|47 zi^9WLE14j*^-NuHNvG}b1e<`pxU3TY6qna^RnFoM36_Cd#5+dhkI$3V>2#YB7pFkG zB1gR%wR4{A=^-HmKpktkvW&`1N4>s$K6~VjeeiBSISkEFXc_mNoiP6IPM7`CG5a?) zA-V7CH+s1DahDn3w=8e-M1D;u+3%3v(X%xjFK$GqcT0;D!4Bu%-C;y`jC5Opuw>Cq zIgvh4haauT!jF1`@edHl?bAU@D>QNEvc&{7Rik|rdP&*Ozmx2L`VJE{Xn*ys==Xty zKFXY_Jrsme{#!7H%Cv=ec;ELfL{MaLa`YuKo7_{|N74P(@1!gH7D8i>$feVThD}e;IeDlEgk#LTsl?&G+ADL_ zgU_F(625vPrvjo7Z;iajeE@_wdS%Dj?#7Nyo${r2G4}P19<;9-`;l@oQAdh-pgq%< ztegnyw~&wIh1g|KXDgQ)5w7y;T@H@nkOQ#Nd~M zv_WkN@sfR^7sVY+c57Yatjynb{}pnaHsx(?Ot3hyu&WaK<66XRq6!gxunYGrULZ+=icQQQfJ-Q07i%2e@JIrKk$X! z$Du_P8tWHOE!4CE-I*qSOpeINx-LR74prjv$>oMR7WNjgjlDLIMJrql>{wuPsZh>u zp!NRv`~dIZ;)LJEmVzwAgD$HVUosQz9G3==*Ovn!V3ud&wwzpoUM6b8k_bvr9FyhX zRLf!Rr1`A%?5;~gel|cS!EL{X!gzFe^SFzZEmSpGqBhoTt2FZMbm90ia~gamY$v~gF$hYx1ol9g&i!8-*IRsjs?g6w5z`&p_9rpz=6*%8wA2z zt1%4km4k~-P}K#P1@MQT7N7hU>hC@W*SC<~1U~B@wE^39(QWeyJyuwLd=lh|cCln*($Ab9t|aTNR4 z{!`jGYk2i(j#rwzVOHt)*KX-YaiolY?CJc(5U@3+@fdvhoB+x{cGO;*!LTs=VbI7} z1gbJezjRAB|LPvh^~!-(b~fdx&3~)1l)UI_DX$o!naK;vFbU3OKd6gl^;+-kpnh?y z&;@`@L$A}kveyP>GKz{xt-`_nj>{^?3vz|&T~3h0km&&YdtaT)@`jT^Yxdx>ea8fT zM-h~W$k?nnyA6;z0Oniia$aXk>N+RNk~o6*VcWab0kkr+t^+>Kw2eGPq?QGdeCmBX zY0Ldya6ks3xGstBJE`RSYRGodTp%R5qY4xh`?_58;l6Uk>+H`4qSwVJI)=n)c@M&- zk}~5eqO(5(fAx3o59Q>z?M%*c%>|%TfK;Fo=n}@~Mo{5ZTivAi6`B^5HQa&oiY!M- zHQ~VjoeE_6ZM-$~JOD75D`)o`zZJAvtOiYtq%A-jS8uGUus#T+hy@{iGfa%6Q|Gi{ zW$11*n5BG-yW$YX0zSGk_**}&6V|@0{O#%scJg5CoL;3Ni2@vu>eJmFw)QzQ81p9G zonk-6*tPt0h3`;1=Au9VP&?9zkLd189Z>$093AqRImPnKa@a-gdIFSZ^9ZWs$hGNH zAhC2iY8nrIm@HS-*qO-;OLK=~r?*$`;JE=Pxc><~YQD;>kI7#OZOjDCA8#;feITAV zp0c2-rEWk)1(9X~)r>QxvR|{-xVBa!Nwsh2tdQ*NsW(}shG`JYGK2|Ys9-4gBet^^ zd)`IKc~bWC-?;UaW_Tj_o!U0LRcQ(kfRxs)jx(+rBHysq1oEJoK4#wN=0UYj5M<6HtP-pxkTjuW&r zoSqvf!fVgGF@EA&%)cfNId4@#4jw3d?qz3CK}{qv%HuLYN=72FC`Zp3$_mnvLI5LN z+@PRjLViEhETgKVGj#_me-{yO_@ln$_uBN@a=-Nm*GC*-@!tl*M6cH(1}Kk9b`0y; zTU9_Y+2R0fCwDWs)32wvp+xY^r%w>8=s z1d%H#ct})(>veT1c=1=Aibi?PMgtA)M@L`jAE`1aBrJ+&D{IL^w~dlJL~Ryg*kgh$ zIqWjTCjoBrva8z+*!)6}a&XJ>feR=b0T%AruIb;$W>7`_f!uMZURLs^;ahGkp(+&};v>V(;o zYi^{&*}S&98E1tgT8MYgII3WHgQhHv2Jc>Agn!S7@U7n#py2uM+f^F9Jg{;=nar(gi%pyLM4?4{Y*YOBOGr{?7}# zleEIX3=B=wIGK5CcOKH`R~=7iheb>1lFo8+upAAbkc@{ej*gB^mW78cR|33J;c`-1 zE!C9&bf)GHg_is}e@&q2dispQcS#!#ROLWhR#P;F*Tm7px}kxNL$ejeXV7hPzJv4f z7O*m=L26na0V@Z`2XwR5n*w$QDwBz=HdB4hOs}#UQs+Se9!PI0R(I}7e5A22i4x=^ z*p)npRq*}H4xr(?7fd^%Wyz}oLU3iTgq1=#(_}dyJSrv6%SF~+2%KcZ^j$h`b#4p# z{Fn}eC4I%l-8@Ys=e&4Vgu|?E%TL!5i8Q_lB+h4p=QFSXsYC(M_b(Bp!yLJ%y;TwL zLqgQz&^Ew0F=TSFW&`^KvO?P4Zu-%pfG@l*$zD2JeXJuh0ODVnC~rsrW>L(Da%hrW zpqCzrxf2wL?#P}mw0XtyP_!WK@AaQIyxq4gy(#y8@>P*?Fx2he9$?G}8){fysEIP^ zk-L`cl<)Ko<{?0U#fmM8=hms_%+&h_tl`o5a&16>`D_wBW1I<;0qP`cIMA$YzPH(9 z!ClUc+^F>3xqYbm zeZRM*lL3!V8CLn(rf!y-+byGNzJ*>y3T^-0nI=l$l}?3-hSs{H^)11k1H9JS;`ym% zNl6o1M|-w8!so{3>VvN?g`iF$Mbo>zym8zlGUjnpt_ZJDm|R*L$puPjr25m1cCutz zz^Dj#_(`r;<>2$f^&o3AT}@>QZCIsRs2}I5a3ov*3ec6nA0-PJZNL|E;M|i=6o1z- z0*>FX1PG^vKF7?25TP3ed_~5)V%BIrjbClY3vkJ*RF37UrdChB6d3UT6i@~#cTsd{ zlKW6gX$65`1yz>iZxM08B6BMAB8b4W*QVpnIMxWA_ZeYD zs93>3m5JH73^7n75CG0rwZ$4Yi!3@TTMbTEWeuOH46#3mzS)?<)4|nEX}avRVHXPS z74ctZL5oH}hGmONKx0=fOVTFE$7XGe{NXw)*5UHM0V+`{c<*LuQZP~$DZL5)3|fTc zj?3k3dM=<*F9?3nBh(QQbw0aDE{i~kU8=#jDaHVS)KcHGUy1@YA(SuVC#9lMIa16F zBpWjHJvxU7>saGl8ULd?FV=PJj~%=7zwTk>3iTY>Hg1;l^6YF;#cKRJ0XnN(vC%;@ z1%5Y-uKRQoq^{RjY{(s1hDxDhiMIOJ@^((} zR9+k&#TnupQwG3bJM!PM>EZfCFR??bi&^RW$+n0q9Zs#iEN5}&(TeKj&j>)|>x)m= z^nGiY?~M$f$rLabnT9}O`=b~o;dfoQlEoN!1+Ta~1M&P`;e&nd=jk9O#3-!se8|r? zvO0yEt?=V#(KAH~G0BFz#s>t+q{@-x=YKwbQ$jloiN#rh+zB)21L!~{@Pt={Y|G6B zIffAE)lqgi43Zh|x-{ynTBvh-K_!UYK)rBv55qCb&YJ+y9xK@`ykMMq@`nymMv!BU zW6?0+7r(B;>#F-8(X8G2GHQ#I60(_JJhK#vZ6Lw!2b{ZZ22zt!0BEiR_%EzQK)&q)Gc%-t z+(?BlTO(Dtbs19pivU>+q&(EzNzNVM*|X`=R-jAJ#q9!aOTZuJ!FzYBqGbk7A1JC0;Z~l zNb%aR_4rf2L=D5tF!KJ;Y&2dvP=*LB?R6y=!cf{(-Gk#^YZ|U!gdCDmzrp^F8t(`_ryxg>RF5K^SS>!JWPz>tJ$d zjcJs8s6ZkR(8Hk?>m3IXB5<{ELt@$748)Am17$?#M={Bwiu(N?25D+wyYbxNF4g*}?w$7qV_50`_iK3{j)+`AdrrG!R_WLh?nD+U+FR#n<^?XcEM>YBU(&?M@nkZt%C-a1sJv;(q z6Fp#@ywOf+Eh9}C_U^7v-+bOVBPXi(Nm-ZYl0}L6y3>job@9j4@;5m#LfljcWPxzU ze;%zLl(Vm{AgwDRjlMFxyyY4}&7q!bha8SO;2tK=$XX6RH-$i_tJ0OD>Q_}}`qYVJ z2%KE%!Z|CpZR%mJvDI0>3qGu|F==vipa7O$FusP2`hSHqzusX%ZmX*a?685*(XG!A zZv5sQ*^eF6em%xXYl9&gSc_-ZS&vs-qPekmqbdykqKw6|Q%5^Rn*<}Z*F*enL^tZZ z5CmNV6CPl>0UKYy>ttuoH($MQJW6~#`823k8Ft!7v1X?CMU&EakLn;_S3o*M;0tMP zZN)b8U3U6K90i02SwdrG?q9>WhAu3O;LYGhA3geC7z)AFNI=@)wBL9(-Hjatpt1mD zl$&kMaCvKcc5lv5r6hjXDStW`kM}N^pGIk2YqoE>g2+qyB#Er@D1``HG}X z8g}6vc-PX|rlj*D7U*jH)m^b~EJEI2HvjqbliXkey#qb;S=T4$ho#J%((7*i5fXlp z3%yTZER9!hrp>wp#ghjsNiQxILMdaQ!~k0TU}q(-gNh?b*4J9#V7_CHH1_5v)+$kk zZtLM5Dz!+`8ibStEZp38gSed?n5sCuq1kUokgbJQui1_ zRY_kk!P3fHE4zUfE$l=BwmA5|+>31a0UQZ)GV)MgiUHFtZVV1mQ0PP)( zriv^lorA+?fWh)ERQER7&s&Tm1VCIlb@c0A*O6g+krT;-ZCG9?(m0_Vo z#-popAa3x?lk~t?Xjfu1Lpoc7_-}7|YUI9Sf1m2+yTQ^0o5_d&4MaR(EUEeZjPn3v z50qm?b_>iqlilEM1iSZEm6`Dd2~unimKyPHHbxo&+BJxUzNWi90_JD-_p&y%q`z#@FRPa=-FpEp=}ke&^q z$pnf7j_!I<>3$I6PV(~x`a6y*qn}s-O-l1KK52-3)Y-8@h8`^`%_XIcE9V+#3=}`B z646nRo_K>mo#0FvWz9E{*U~7%1ZN>SYa*Al5?dI_1z}nCji?m7ltco_K;0P#WpR*; z_+!~Ebh>2vu~U=~T*0<(x_=$*MYQ!*@xQ-b&eDHGQOEw_F4HSQAsx~tY4cVD1zb;p zXb4WS>;cjMaCGiBb*1nlQk!R8VK(9xjX)#CW7+Vx<5fquXCTr^5lkLKtkcxFZDfWD zZJ|<|rX$DiAXugoEJNZ&tB07A!clwOc@$6H0x&k~4}ZeR3#1>iz=8emUek&kM%*8p zw{N&|Z2i;S{#vB;{c}Gv4BYrDC}S|p({XtDoKb7|_ONHW-M1MXU@d)}b-EPvhob5y zo9c&0k{w&Q@)n&c$}11E>orjESo%;uW;c8zib#EZw!nUusUu8cj3Af zsT@AeU7{0!yHkfmi3A=m^_y?I61~C$a>q#tydh=*+ifyLN(8p=gS!Cx(2M-4B+pnY zJ`$`G>!yCXQ|EaPet4W4eNxUQO8xzp%5*V-r{ub5m!7s10`6TEi2yoAnicto(Aa3V zQE<)iXcOC`#>NKni!y>MT>02GtBycRHrT!32>C6(8VFklptz0vP4Q1Qomx*!S#kBvoJXD2_`p``(gz>!c2l86s)V{v@iK4X!Nus== z8UA3wXG>yS3RU8kX%$nTp=J%N0tWwkPYAI>TZ4#TzT)Va0`GEZg9QS4_*UMu6@w~0v_+( z%^ROlG*F|6YXF4H*(R$Fq%CpN;JW_=#BDENQ>TZb%Z3HYsB`dIGt3A`^E=^3oM`oUsCk~U&J~>HxUez2g2cayFb82YU&I{EuCsYKokp~_Ii|wRYiL* zu$SF{N4?3T(>wfOseLP!n_5<+D=k0wewCY~uO{F+fJBeKjj`B80p9MfHFm>9e*K=B zOmSj>M|64?@?Eq0Pxkf*GwE>@Srz8S76`!bxRYD}4A`V69#x*T%~{$M&jqisem7Ez zLB$q%+4blR6_g`1M4t;Br;+Nw^QjKCxkz8S{B4*#({%)wh7$)yDHuy1aVVxcURl5Y zv#?@gj_XgDL)Q3&vMy>#Jc}ER?BO%|IT~S8tXs?&qU(FzyKBdnA~)JB z4lY?3PHu__QxcXUp*(%e=_CXL69U2-&YX7YvF8Z0Lkxy|LoeZVq04}n1?2!CG;Kor z*y(spe4~xy;p~raY|9BHyWvLq+67Q%r&k-g>K&wzwOLC*Q=}e51Ki%%e+t-?yh%pI z4~;`QG$lc>gm$2W+j8YesjIL!J{lr@`ib`TPL-)k4aW~-&z}Rbd!rEP z;eLut|Dixk<{XPNa>psb#RI_(ZOTT)9NXk<3fyl6g2m{3;MmwMS4$In+6Gx5Fpr&O zJ|M$*c!^zuGn04CXXU~w|Lh7tS2o?|aE#3Jm9a$neSdC*8!7yok0i=IN}(J%|Jc|4 zdiNcU_xe%&hq|kz?Zxjt;+1!|AKMh^_*-MINrp#jN*Pc%3G!?Gu^bu*bo=w`M~r{` zmJP8b0kr$4^X)yYZX^DYSxIhHX?X82PIc?4{uW<0@LedAhM*-6y1v?9_ok>%^mjew(y)8r+YTNGfPaZcVEdoCk zhEsD-iT3R)w0ES+9{O)#yUE6zclgGG7t-^J1?>J8)cgNq>U(6D#l#$YjIyXDR_}(h z=r)4e<~_C3?4e4qh0&Uu-WU6!-UonM>qUd2_*NFN-pBqscKO+#vH4-MS$bmgH^wf1 zt-??sUnso2*n3%ECd>SHmy27rmu9E(;&*(a8Q8PkSsM)!_{lOr{dQ*RKQ{Y{H z@))AMA!%M=7oXV#n`@sb{>-A^O$EhfH)w=A<4jd%@TJ-VYsxOY=Ca35$@$Od+aY-p zpP5fNpt+&WzkhnIS${6@s$|3+zGH*5=a^)F74l~`Y(edCB}jdilA~Kw@4LM0)2c#0 zkqE8?pqBh`I4VItz(i!qb+Uh7b_nILnyEZ+PT9S<`knY*j-6@|Eci|P`!^zi=8(l# z$5!X}JVoPi3ORnBC;`06_)>xWsXhr@t5{I!G;iTivq~Otc2(Z>NRKL|%?vOix+;F= zTrkf!Dv=<4xJqyf#FGW;OR&6ge!Vm1bE7w@5vI{Lq{o*Dr?%&-4mR^;vvpF!5)@s69;BBV*V;0z_CPWsvE7DUdKXgzhB6i*o@7RR+0*p5CV zx}5$}RBrEN`8zc)>hCE{H?UreaZHsSGt(H#&kemhYw>A=|Mmz7%yEdBBJ){x0yVb- zd)OYE9j{Ih@%E4hUxGZiL-wbD@s&vq#ozAoi@F|&nX$4~a8| zjy(2*6PU|5yUVlhDya9F?l}}Ocyd02A<0=%V0yO_*Ow2PY5|citaWYiAD8VlQZQvB zy^Ha4`;=o5^M1pp16BoS)2M0gT+}D?97})Mo94DB=WOgx0TgSyei5Un}DGcYol#;m(XN$$qu~{Ys4u7X8w*s(oz=@I;&f zPxks{oaembvV6QHkulRChogB~Uj1smpR;=4WZm91LtpTqh(E3*{6!jVose(qw$JzN zxDM4pv+-C>9UyIxFxE2OnWSas&_{|>HG$QCdJOx#y`xbN4PhIXD6hEbL7}j&PS=t$ z?lRsGd&@0()#m@CAA~Jhl`KUov9(zJe8cCYh{2%r&1F*j2aYS43zm99@j-y_naSHt zhWQSOHt!(IE=t-EjpcdsE#%dwK5GVe`Li!Y-)>|{j1+qH-k&Z}Nr#1QFBw|% zZkwW%A89$D#vEiSL492bryS3~O7V6)=Ll2z-Q8V*B%iWw?I%V>G{6+)0v}wq>rp+Z zPuSCUhC&4T*%g<;>s3FGDJMyHaT7Box_2ezWFPV{5J6p8J4of>ZSTA|+lQabC3&8^ zm9-!UG6`P2$a8im{%;y(QK{AA#XCLTCw}-*&g=BfpbdpQDA4$rS6=$Q>olQ{D1Xr+ z*&}k^^76wCqo?gKQ7~B}*g@)hup^{D!g_9KUJT?NH3&bulNMz%-AZsWr1m-Coc*2L zWy{Mu2W!^+b(A{1cw2nOCmnZvA4F{U)&lWHu0Lj^Lyr$~y3~)|u5`^_l?PrhIcu*# zCBZ~F;DrDq%fpUa(*X!>MsR-2DdVPfse6_U(vf~m)6{ORu=pNjp|DFJB`gQ)o;zF$ zx^QHNXy=h9R~|-2xcjNf^2*pfRb;!`g}VNITa7L~O3Gs?abk6pa%j^^PV$297#-O9 z!{*vw5Vb?BCWRHRm)z#tS{M{OEbD{|Nd1=!aoA?#-vuUl7mW*KnyqY8LuH*-<%j9e z11o5I!a;VW6j;URm6RCG`4V#3}XkCE6I(=v$5^ami|XnbXvv=93`nrJ~UpXi0j;P*W8T|PNn zME@hPbCoFdOEDA`U%bIViL_mc@n)J(RFMNBwpq9Oht^Z@BFlJmSA{Y9B@&Rv0+MjH zuT`Ueju^@Z%uC(fff>vTE&>Oi1)E)otGb zF2E#1+OFDXybS?kX_W9K`E1P`@c9dlc-U%z{QT{02-Z6YR30`3_z{}?;;jm$CqR;< zcQP)h0G>?@#1M2#o(@Ej7(K&0G8R#0cm_jyH`=kR24ly!GjzSEppM&B z*uM(4Uot|#;|}%U4It+foN677&PFB}oFLS8~0fHDO|RdL->@j2ZeRh?mdJKlTs^lo1m+1v^B}rT}h| zYEf=IwoYh~Try^vrY!PcyFK=OG5E8(?q2?`?Dq~wB0bv6K=V#bynGG$jFagG`|v5l z_u>B_g~xtsel>ReFU&82zo1;Z(XS_eOALB2aAI%$Qub*llf^zbd=huPFyH_R-{AdfLFIKjbED0DPQK=`AEcGs-?`Kt6kp3NC0t^Pl4NvGOl;i;+; zPI^xAeBGWo;sm^xeZ=Ud%itLTUyC4qubqgPfTc4 z5~(_}0|R^tPoXA?`>*;eD1AGd@~nJLzvGZG_|X#H8k~GsTjzrquZB3@Y=2boD%a%L zeK&N4bHe{1Ljx}#&hb(o-jOF*k_A8U$cINs z{ewOz;ix2Va6Y*{5AC%$<=rs>fwz$icXw|t=aUA@S?g-@p+eQNyR+$L&|Moi)ue8; z;zm=%p3CFT79Ch5R{!B_cT8!PayoAb-Eajtmdn^~IX4Y#6Z81TW6o_mOMv61f$o(S zvp>{_j2+68YNn%&zF5!n;o)%4wdtENWo+bnaa*FOfwN=Ss`X}PY?qCk2PWG6yQPkx z22P6H5F&kE26mdS<{^_jTGNn`jxZxCmm){H#bF0lo9otXzyF)ZwE zIbpxH$2Y>e4u_5eQY3blvJ8xiNQd(n^tJk}9x~XH?DnpL_7t2LsE^B#Z+4+O;Cbv7 z<0Gc>C=QR|(OV&IQsDV!0~~6I%Fd7h)*n)1@~xcQ)W#6SDU{|zK{pP5Vz_<_JDn;$ zcFA4Dc&Qv=@K1!5nEg0r_9NV$?KVcXo&5W@I0j(iy~=aP42jE(FMx;ho#pX+2Mg_a zq^`tz*Wi*zJP6(x&>o1#=A~Uv4SRRM9jB1MAz(3Dha`OIXFH`_JUY2J$SSK5|tF-CyDgK zH1-qlDz$hqy27`*L%tN_XMafwEB<0gtpAP)XwRmEKjFvHgZhmYz$V!Q>D$~!)k<$2 z+apeAvb4aM8C3jfrW_IE$W@b18p+wE+{Ouc%>+Jwo}VtX7rNILI3qzQ&dWjP&S&9K@(X(Qaf0;?fx+4UaBL@N&5TJS2|;mBcU>bZGb_C z{vDSk@elfiPz1K*tZ(boHF%9U90hE4Li4&{Ese^p6@@r7Zfa4p1Q4ej69Q=RZi)v; zx#G9RhS*tpbltrd4(A=`Sj#~mnG73zweASlf<}*BNAf$069cdQRiP3*`rqC(V7kf$ zV+u6|erDrs^04fwFgMnK-&7UEkKo*cQgG#9#LMy+{2^oe0CXw$s0d7AoKl>g4ujtV z!n3syt=x{JBB3(%Ga(*>^+oW?+ZQtYqzU;|kl-Vkw3$BfWa_Q=?e-S5n1hGe*()+) zXOAV?{zJ@8s=@l*O9EaBBM`lg+Q3!QD@BFiZM`pponHR|(71l|3bxC$ z-+Mg(j-E6PUz%lDMem8+Jq;BR*0_>iTxN6WCXMjWx!qAfbPXau4r;-g%*u&nJ?3(A z<)ynRv1h`}YqxBfK%c`&rnUO7C+jatyffTXWd_jN^%E0_n=;lkmw~aGqpen1yFyVY z1rW^5sA7Whm^RXT48R0_(R72W!A(o&ZbUtVN~Xqm6?X~#rJxuV0Ui6guxnfa#=|Gk1{$n~E2_#cxWLB74G89j;MDz*aAulc83E)3>qbk8pxa?G==}e}y4YUqUhY zmYus>XB)jRb=CEa3hZFyv`Ze14ycr{h=)$MXyKV#Y{@ONKSKYCQsp93!J zv{lY{6m$_tJ)=bU{#sjf#>|D3O5O+ z#bo{p*5FsFSda*G9IjBUedZ*?4xE7djoEJEw1`v>gY_VzA8IJK;3fMVyg;T0zn0={ zKEosU=jaV>9K@eR{0^HHnL7hTW0HV@Pg-_CxLq{CmX~<-|l} zciv7}g@8Il9Ps%i8#8vY4pqj@^`_tb5h^Fpa-A0)(~0PI5O>8`D^if+!Fmz?M+G7y zID$)+CR86AT))M*fXhE_0WO3v5;DyXR6~itw!b`oGp3~t^%cNU=0buXNMf;au<%T9 z!N{q3z4N3iew!gzY|Y?DJQQ)EBKT{p4@Lj*?rO>%VG_A(curtBn~I<=ZOSNMLznTO z0aJa@gix%k3dl6dYbWGd)^D4Dvb&-Tdjmq1E$Q|p+!bjNPG_vTYo z1^qa~gQ}`Gu?HQ4igu?$pd%=80hfiYOGYV@c=~fmTlz_zPSB1th;1j)x0U7lyMN z-qeT1%LPEpDfs)+4^KO=6;^RSj=hP#ev860`a+ai-}1J)PAPR;8uaxLQF!hz^^?7o zLZQ#;l?_&ZfGTDTR`do@q+v(BNyvIa_VcZXecvGOhi?AUNYkHswo~NWT0dfRV*y-V z;FW|W87sM`8_63pNsPGY5c`P&6<~(Tf-T&*VB}#6*eS)bqOt4CL;s}2drS%@;Tn0}wffKjXZ?thR-jSOHoPFw$whVsU ziDA4Tui#aaX=D&yz;b<+ftyn6WPY#9^4&f;AAq-bYnAhHR#Hv|uz#ei zKg@!L`B&khm6Ab90}sVTmKZ3zr| zJ5qdnQ%rSdMr#$+6hM{z!Z`j8c}V+r%-;3DgzLmT`1?rr07V}6_iMJ0&$;07@kSa7 zyX##1K2rPv#$MS7j8$Qd#vt5gr@H%tr0lNeFMvHS^#zKH?eG@4zN5i`HX{al;ajOc zW!{PGX5u6tLEYo73p2t@Zd(XA1Im`L?GE^Q7;6IHHje5Es#NBC@S5V%0m@IGdJW5> zm+RM;LPrOhIh_R*wz~u(N`E5>i3Q`_aKrmjV}Hz@h50 zU#kEe=Lpy;#xgaJgOqnr{~m=Mq;RW3Qc7Q(yyQ_BG**X7T26iaXE0n=bWxNA z<1G`b_le?%?q2CkII(L!sN$=K8+J&$u(gRv0~bLIg+(cTA7RsPDp9c*ykoa2#WQ(% zqwS6c&odSX!cxH)o8ZM*%B#0oec$+2_6e$CA0`9W{|^XK+SSp*{V1l#V(e%kQAmk$ z(W=;7l%Z2>_mqFY$c=3Pl$zF#d)$J^4#nA)Y8$2*G|E5K{M zh{Jn{{0NltI^ghQT3o9F3&YUq0Akd^JAG2SirruW5ypF9@)w4k4$Q>h|7jD!|R7ALRe7H&PTIo(5w_c2&Enq;1}2u0!yKY?7%sb{Sh zGYd>lXE&4-aJjtfn$ue^uGIlY-ejc$H;-M}>|wq!l-Y_suZ7h6FkCmLd5_sIzqiMq zOb`Q7kdgI!66q1sk>jG+etvwH2~N1}z2MD)OT| zVHNl2aw7F-cBf6ab_kWcf~8Z_A;CzAc9IxIH~m$Dnxz&ihdVtL2pmR$`yhw{KJPO? zz!SclGvmMA437au!V5~xwH5ar1HCb0Dyp;TMOnI( z5luvwGtsUYBtev)sqXbA|RN`<#AczUD z5#jm?9{#8=sr|t|bJJpNLxFBE$s*b9?2b_=E+O6Wwkq6s6~^uY2p?tbntmtYbL_g$ z9>#$0Slk(X1LDyqy=z1a|5}yitrZ`SyIjPml;Jn*Uw_!suA^|=v%p7crw92Cfevo9Axkco`-ygmPinvaNTcN$_IYzp+F%>@ z#vQqxf@1G={UXL`P(v)6LlqYi#3cq2NmLoYT?^_!hP#%M9EgJXfKQ6cdbO7CW+s1+ zSE@t=kHIT>?3%m*rAbA=1ht<=))#H)@!yj+qWc*sg|)Q+?`JViq8=}bdca(L2a;q& zLo9+t@_g&q_XGk-d-Yj(dV-%~9wtzQ1O+=9e7;7F8)p!@n!RBwycjd$<7t0~`}pk{ zA=6;|hH*~q2VrLW$Z-k=X*Si1rJRFV8-B`5AKh*l@mS0@FN(o`y~A$0{by-lg_Mg z>@+%CX?-KVJ8+fuR}@q&#LDjCw)%A&%UfEGrJBoQ*R-R69M78hOOU0_M-Ky4H&o;b zk6(fY3CA*CA^`%*9JxbbL%XGfG4t6ye(-;8T9&UYK&(i0O6ZG&at z*QbGy4A?7KpR#j9SUQ@(x_~OE4DORm8JPiT%R*Cl&V4!I2S(!Dbm;pB85S3tIq6TO zEnE28Y{khtpjgbP9hjDFHR-mAjMel9eSV45%ui1`Kj6v*E50nmxIiIJ2rmP@55DNu z{J<5PLyL8Cy|WlxhsQzoCf~i$X3`^+b@KVQPBnn#>|ovgPFra?$Go))q@ z#qUGMZ`Z7Xsl&1#@7BeXPZWp&Mp%&(X;k5Tno=N+(yF*JdBs)7YinP7y{mGE+IW*9 z*K8&+dOSZtJ|`b}79k%4W8$7LuB&ReMGp8CYMCdsnAB763j5^T`@0x2ky8NJnn$Je zArspyE6OL*S0;nigAkU!2Pd{=n3uQN9&-??$E!R>hntPiA;jh1qZ|Shy*F=+c&A}z zgofC`P`j0&*`63zXSB?y#>Y_Xf0G#Ndl9@3SISo8jzFarL>-yi=VpmIZ9T(&-NYm} z;`_Z~hSK1ws((z=A#4g?04i8o*_ex~)2{rQVlXO`;dK(s$mm3bndsk=?zd~c_V_+P zbSZN7*CH+skpbp1;uxvb=|n{!VqykNVrs67Gup5p;6BT#_t`nrsr?&&HMuHjIN(}n z{&K%%p#$kSi^`VUOs)z)^CLds=XG3^a3F-oC2&`{4-(`MR>zw*4Iw93t`kPsPpv`PwAic}O6^5dKc7DyrCV z)7-dp?3;`?i-2yV(>D6_U&GoB3xGT9_A#CTd7 z3+j-~DAp;Bp~C7!9E<|+P?OorZ2V*pu>x~;j8gqj4hIm0G@haBGO@x&qMC}KoJ-n= z_di~-Qb`ko`GLmS3~yjr@u*?W4{E%Vd@)u?pU^+2p^=QmYsXK z6drI#4xw>O?N2LG+UTjSoB7g~_s_j?#CNG@X@kpq_lby^Ucj%wxAn}t4RB1Kshjo_ zP)un92upjQk)f9>MA`8y@(4&2eHVe@Je-+9bP41x8Q{a7lu1ILCmOVrj`}gznfL*e zx?Zcl{?lQHClfpV?Hfxsl_*lm`1JwJtdr`o{iRds?!9+bvp!Ei`{7B1Rl7LrR5y;E zLjJh?{^uzBISYIEsQzcFK7NL$dAYaaZ=TaH%hGQ*Mdgq5TPLB`FUCU7`Y>D$cjG3C z4w<+(GyGePB5>j+LI;KqWG?(b8B56r`(GW^RyxYGSK5d@-vsYPX`4*WV(|n6UlE;R zV|{K${)RPY*vhmWvl#p=Z;AVrA*pwivkWJ1837O$@uGu>6c?^IMXdjRU=DN;H3Mf= zBFnbttjOp0OGz*op=)XAOv(5-YoJ%b2PFOngg{9xi@zP1-JP22ROh&w;Z_ z;2914L#7M-P$?MME$6T4*)SDv@6N_^B1DiSB;9h>HaGR{y%M3^HduqVJG+JHQ3609 zk-5}i9~7O~3|yesve=b&2}H|h(d40t96m^KBT`=?r@5z*dLTtz(m;ro$1X8{9m@xt z-+hDwcTivdVbbJt`dq>iu;yO1x-<)7M4bXt2|bODmQVH0jPD~V>t1VW6sS@VL4j=> zqgf5begPe>O@||>CFD_ur%3yc2~0xlue2#pU#Ck#I6T4 zp5@e$?bl8a`tiUFDh0;2Bu2@WHc{+)doV*ltUcrzg?>Y?ochth(Sq$~`vv6hakZ#o zQC)&>f=(;efstosYM>Nc~C=}xj`8uJf_%uSB`ud=wb|agZY8s#co>9ACAU(m6-A-D68*P{e) z**%SvPGiJHjl+56>sL&Ju0C2@3dO;F(BM(|#AYK!t3v!Ivuprr_UNR*hnu+)mbH5J zP_U;Xs=*eE$&TREJv(sx?43emMMlnY( zJ|<6DQtG7umW~G;U;Oh4^U&jFo0&=PcOOC!1AZzs53Zj2NnxR2xIN#AV#c-^D@)!~ zI|M*&9BJGFgI)6hf79JNB0izHhK>gELsHvLhd*9!SZ&)0IT9iYogQ^G?6d;X9BJe8 zZ4h!E3v|(y>VP&PK>v_W!~iz2^h;e#p}g%Y5mXa~NxvG`*!>MraZ8EK4ioc^pa>Oh zCJHD}OKMO`A28OUUi|m9d2azwGkSJN^m9yH;{|a7PjlTLl|rm=6qY>tJW>33#V$c^ zGeJJFrMd!p$<~)|xHi2H1B8bRDQzF*Ef|N^f5e*=NNhbcb^o^;c-i7X_hJ#?Oo?MDfQ{J|H9?UIa z5@A*GGqGC||IS^$9}{T#H*NiJlc9XPQQ7WU&^D(mI$*R{F)x;_Eb%T8_fBbdz5)@_ zXW%Es9m#9wQMHr40QU6B$KA8#&u1rI$2LAO5o2w^{+BjyxtXzMb1=6Nv=f&1Z+u!x zvIh<5TZzAY4X@mM;Ph){-r~R8IrOfJ-WRU=^;!)~%y1B()D{*UOfH#T917$MfHkzV z6Nk10Gq*i0I>X8Mz-}cHxm1;oEe*BJ1tq=49xHB&42L>N94N|CmXhS-uQ*ID0-0RE zK@iO^{tf&Kqm$&|_*4v~nahonSz3{I(tvkKX|^g4m@rO*hil;eQ^p=?0BPDbrj=o@ z>l}#y_k0G^off1AMi5jNrMI9>YdqO+UTQz5#*_WyzsjC$gR%KM7x$VaL##6f#2^RE z4sNnzeW^L6mSM(Ul}0ds^E-e~%J`Y5m(RZAj~2fNBUW%56m9=Yb2%A;+HFo>fZ@>R z?uJRe_8;8wLI}^dB)}8Ja|&7TTNW+0`0}ruOOCVg+|t}o5R4za9e>=3b<^<(!jd3W zhJ~1R-`>URg_Vtu3&Pp0?_WWYQe%{rc(9UeTwMqKNYa5x1Y%S()U77%C&%cuDHZV( zMl{;e%!{i>%(il$3U%jv$Ufk0@+z#v_7jE*2##}RLsEnX2UI|28gAo(x}b3xWaS%d zl%CLjT29eEhhl#YD5*&!hTbV8wdaN1Uu(3=nWY%gGqVL{v#+Peu7TaVvdqnJlOamp zDn}y^&-NrlEW=cYQnE6YudYoblSh)ljO(vSO^@w4Et(xaXDIy z%1H*>qtKNrw*l3`PE56sjQ43HWUB{xb+x|#Q z3xkJbDv6D?HSPaujgvEQ*6&wcd2hThfriukc6AZ_KU&&V8Y-OJa=9&+ENTnPPM4e& zzaEtlENAODR*lMU?~FG%BWU?GAcPdvMMFp1C)l~bgQ&Qk_<`}@r6U=upLtQuyzsM4 znmZ|?;``@qM-}TikVys)oSr17xq>n&A>DcMj2x*1AED;0TI0Emy;|5$s(}%gk2ADQ z!nJT)gnMuduyl}L>?MPkocK22)3&EhQ$VP1R~`K=TTwD#d5f6Pb=k9KRd|I&97$o> z2?S~YI%@1w@-i2|IX%~qW}L@EK#vf-LG^d}=xx|KKS+LO_9QU)dA{}Cv(sHa_N6^o z`U(V`5LRC6Y!0aRm8chE&e?OzWN>gKwY(2>3M_3$0wJ26l>by)m+1QN-ROw6pGwNu za8LO`HOrxj+fFp3GSfqRXyD%GQo;}1MzMF_a%1IsT=uMqAud7JKehzHYpZopy% zc^}}_b^;8TCdOTEf0pnX)QNP{!N(_}H5ewnmCHAD#mRS@!z0ew&V@dPfOOzR1FTEh zY>T&TBAQ1n#y}a;h@-%3E}@WVDU1=KP?X|CAb?U2)=g5GCSK6R6x{&F)Wnj|{@DqJ zsfrZHil5|n`t^IyU%!23lz(g&%Z^Ud3T6@b=T0!B&DBTk&)aS9$m(%U#B*V8*bW5D?%LY{PQZ6VubBH^tn?TjwXK;e{4~Qqi z0ym=Dr4i+sABhz%Qz8U87&|R7oUCE&!gDw3r)r^C$!fUKp^l# z&crh9U;NQ;wo*knJW>V97XG>+xc)JR3akb7SI)}E6xs`Y)Z*<&r;Aj zMA8hg0NP3&2i@PYp*k#myc*u}ySbah5p@c*W9uNr;(=cqgz%Oq-C&^{GO?WMhi>0; zWq=|B?@k>F8;t(b#J^R(NUzj?G=|Ff&AXYD5;h*JXQfV7Xl8%pj0k3zpm~?uZ5w2n z@N(IC0|b*p8EZ*Y?wit24xDQm<#E4SwydC~fLx^o2|hI1GJbA~G6M=ngP+#l z2f64P+l&zTI6qO)>{Ef^oTjjI7<@*8bLDgasA!x6;U}2D?9fWU@B1)#spkXQpYMkI z%#fr4+YUqPMPQXTc+{j69x?Ple!`OhB+>UjH1t>x=7~sw8pEMfWNA%G-V%f7^wDd; z=op(-j<}|j6`Z+J`-mH|_dH zDN!+qcmSAQ=>g9R*f<0ETZEvg#-Wy=J$!(0p z69S(vABb+>wPDMc5dAsWO3_@9j_4w_C_#(Jdv18VDhPjk6|BuhL_1w)oAH{+mxFlt z-)J`-Dh2e=67=(Rh$pOTNFR>Bx-`4%+jPa;NCp}S2T&)7tfb`c|7d?w~`2F6oj7{eCYCl!Fo z+D?0Cyn<^Wf}KxBrQ^~1OpQj6X0L?dM5fZ?pnVOT>uJzICKBNEXjQ*vO#q6L?1I9) zxW#vTutKy0VBA>1Dp3Orr+DQPZlfkuem>lMYgeGHd%n9#!H5fFeW|m&l}hJks$%V* zCgpLhfK3oM?*edA`(H0Z=K78@ctX^B#dEa%?mhGF6!h8dx_wL!4y5O z3Ezkig4uF?Rm2!|u*@Dd4AyJC&9?jeKm+pn`H=~61E7ZMfUtl*(^f0-0kzRMCdi6* ze4@T-b-e6TR=^iV#;^5Wa6~XRop-}nxaAGM$S0u;2kX=CY`HOU+rm$XGiEa`hpqN~ z-QhsxCIefAX9_UD{cMNmN@Z594DNgpbW2Gm7~lvSZun-!ER(9*D?Sn_RNAA!Ew_~Nr5-S%8hh5& zBx|+6rhB%@Yi*W3M;4)AN0kBo1~*0ZhEp;H+KKjMGX60SF~OM?B_;n*(4SgY)@RSv zYHL!kj=64C0gg7W0BjXi{N9i)CfL?mOwitpqT$`pNxRVlOIy2_o1lL3CeRgKM}CSWCwxA{)!5SztY_H zrZ}8NO?|zF1snHSnLqm6jFSJP(iC7Kc{gABa7zmMZ1jzgk0I6_0AP|Rc)J*l@W+C9 ze`WbN#jqgMk(IECuW2a6@v8m6KbL9gL|4@igBwfE(=G^DXr{%?c+rjXF+2oK+g)ea z(K7>VRHcm?@VJ(q!wAI@L_|5%^Dy#WXrzfBN&$jaLg%p<;+Gq5gO78qmc28tcVDnQ zr*QTdv67+Cos&Ufv)S$atD!8p4LI@VruUCn4HZ-|HitTX{^ZuJRRV+!?NRaiJMI2E zzT8;@r%Ppg)yuo%8MHM9}>LAF0K=Ux#k-*_0mT_rjVomunletFRIgx=97R5 zbU7G^CAJoxuguS0hS(|9MX4b9$oEEzRbe^v4F%)a4I7pJUFi2DK-suwbBWfBbJPToY)k0&5-0Mi=Epfu;<}4YLXZglZ|4;tw+|B zuuiF}BD2ut-3uK}8zFQ29(K-tXY(F0hA7!|dWe-WSV=UeOq`lunL8jh$0ZlO+iYv9 zPdyFg`R!a!d_DyxGPKnEf@>wBH-M+H+WsOr=ELXhAx_pT8g*dE*yPtaWTDuC8Xf+_ zZ@LX3e!fwxuiR5R&AKJp>7ole9y`R?c4K)f%Z@kn-Ud^`<7)J&Q2XU^WpwTY0wOmC z>+iyJs9Eu$`|&J<2~Ih#3O9d{=IH$S8Zp8n`gYQd{B#;R8<3kSyC?GD;h-Y|rh<-i ztm`;1R@d~(A9K%NdhGD5&Tf}Cn%_X@zm0xUe+7pW<$O;s099QbB}$i^KavC*H~@XD z)?c>?`0YpRb}K)}c6X~~TR9Mz-C4N(1Zut? z6j(N`uFea^!Ex9xDz#95)_7vAN$!jo57mzR%6g5?(Ug1O{DQXvtq- z>vBzUV!X&T_z8fR6@JGh=ZSzYvuR6kUVfNH3$qcdAKh-vSV5^2)1Ch-YhajXVUhNz zjI0lpXE7L932@SW#7D>SYM{W@m3=0qh0cfys5#7gy|7Z|=8G;TAql44a=2Ei>lUPM zGC`QoJ3xI|yX6al!bL2Dnuji(0)Q&F5Noh+`e1fSa9tk#5t_cyJQ#pKKGaEG^(soC zDA*VnF5oRY=T$l%5*lTL5$4HU=Rc`j1*l+x92~f{20ol7?4~T!tGlG0uuDookkUqL zLm*;8ZeY%posd+%=?*f9Fkzr5T1`Xs7{_agyma~6nVq< zNW)!C&pq#3u-E{yYbVvttM`7|w$9^HB9}|I6SS!PPh56rSA)g)VtTsh*VwZ{AifX9 z;E5cSUf1vZbRqBc?f*ft=Jj3QKf3;DJ3e&m{-1tI7Tt$&F|->@;RbSx2mS}yp{KYNh`ns@912knjX zZywFp>G#^=Ju5++D_i?^T<=t8eGOeMr0#kb0$Kmj$z~pi7m&-TJ;0$KI*FSoeo+@y z5}t4uhniPbHP*UqY$FX`PRlZ!oNATHY8M_KWLEd4l(C&h94*UdWJtvTk{P?sT8?>9 zj#xJE>pd?VS(^)b^8xTCQSQYMqq1??(jbL3$4Ws?W`Tp-u>bekj9qZvgHz94Z&}i= zTo~b6wrLikgB}Jm>>MtY|}JYja8K= zvAOdL4PEw05H~hF5m==9RrbHuO&3)@;ROUa?EU3PoPYImZW0}g7>etiusDff|F@Qr z&+3@zUh|K4w}IlAc8RR1hn)b-&yU1F-M_V~C$qpltlydeZ*XqykOL}1eH?iIoj4jw zIap;ne+`e9660zSa&;L10T`@P2&9irVgUeTMGly{af0co!E&DdNO|$oTVNU!-WA4N zuTP~RUgzrSG=_%DHgH*&XCd}Dh4=bs+L@U?%{3TSApe1@70W{)G+Hz&)2^RurkGtR zz@-wcbpJxmWD+|6jwTnB=*&4z#wW$}hFV4f(IZ+ISV}3=s}2?HdVlD@AKm?yfGK_F zQgQ!TEN8QAQ<|GA?nCvX7E&cIl+ZL85eiMO#BM7wFho}zjy&o8?X^UlmJ<^~M!x@x zNjM8B8GlvJJI%e}y+aZC-@8T%C_CNjtJe1}0;K2E(DR(%UcqNhD-4G^uOCP*bsSA= z#6S-XV=12^NQn(zu|8IPA~-;*{gRd(+nzrddiY*@V zA68(*f8|F^9CKJq@j+(^(y#@5QDtS#SIgc_e?-j}j?S*7lk>QlQnGAd=wRf=4zWFI z6Rr5TycVW+k*&8Ag(!z${Y2vbadh_aOt1eRACuu|QmV;r6sJY!blg=NW~khSx$EXQ zPSkvlo73rR7BR7*C}+)WCC$chGb(rIRH$SUqfRDMoG7bdW=U=)TeI`K{Qf)Vaq9T^ z++5fDdcR+<=S%j{#!%=FG$Taug3}HBG!gUcdciP$E`Swh#S`;nUg;fWyUERjhX4do z!%Wy32Lqqh8ED2Fn~-V(RJ$}FjSxEyh;v*SISYyaH2hnus8jAXyHCXeWW~kIdk0WwtSgbq1ThJ1@ zI51>uVh#iOKDSsrzl}rJx{Z89r$Nh!%K)sbb*-WKKmh9ZS9A8EH~*dzeltz6OGuUx ztB;=FlR*8H0)Fnr^}3c;a)Gqnj+?`d`-!Ffvy@t-tlg!b%E$r5kV5<=3Zy7I!*j-q zhBfi7i=(O#?hQ+c7_sm#63%xua*1(zddj!okPv_5KS;_E_x=|GKZ*@131%m#Mtyf_72%;HwD;Ep{6&>)otc=gjW#^2>8G{L5x8=vh} zpTm&46o&_35^}*35Wwd%>3JX?>h49+vqw=Bm-MqYkP_n9R6)4+OP zrnjE1L+awJ(Ci;FYDE#!2{$L^sWcr=iUA#C-dE&rybX4OzgTmj^CpH=kBeIB3D`;O z124`MN1@2CVvAhr=^{mN zvj`yNfl~uw?faRIuDy5C?j-_-oog;0j-ZS9P1;eXStfLdkBHS?tY=0{0VDGG-qj(5VYx{2+GH4V3Yo^Sx_reh)6cok7e$i==9Dn zFOcsl&gj}GWIQHeo2N={Q28l(+-O#3{}=0`wsuknmPb>B9Av$`-~D~pKA1Jr(5(wf zycp_z<`}>{xwUI~*YC%_e-Lxe$3L#koO760)}B|Z7j4R}sdFiO85m=z{4=Q519GYN znXK-_Q+0YrL%c^BuZiPOc<=nG?!#FArqmpyJ$o^om@u8XtEic-FOGW3~y;uBedk zHT}lK;+va)qn;&80h)t5G-%SeP^a&0xfo!DVnht>v~!^@O!^3*!{cs`=-Yk|beugb z|ASaYUPrf@ zYvdDlLWEv4B}InPW>-S8M(67x`42Z;vs^4H82b9*=1%iJn0Uf<-O_V3ZWhZpBgE^+ zg33j>pC3cJ8H4W$!|4ITBTUy;Uz$N6~K*JZvU*;s)ngd%k!W3kHP~ zgK;`$!G+KE&HenZEzCNmCN&1M(b66*^?_1nEFmzJ7W#b8%J3vIfw?h>T@@v>a%IQ2 z^Wm_B#=2^;_28aTH>3sqO?EPy5sw#4Gy;9LwnX4?R)*TYv_wQ zsRj-6C%4v_43^j#SboU2oCX35z?Fj>?HjwD!KD>~2CE63^j@+D))*do1?=@CN}L() zhY$pO=$(U)0QFZabT`*tj1vLRT4?r|B!;(4Q>TYL-FqF$q7AcotMrIpihp?ChvCMK zih}2~^pGaQQ5Z{!SdIO@DL-s+b%ypE@f=IdEq;wa!A`W>gm+Tbi@CfjJ|^x4P`vPD z016MGv$h?v=BCKGaWy**o*bxijf&z-f$x_t?XW@-pZwW7<|_piAZfxLOeuHEk6wt(1l~~ft5Zlg4%!L? zr{L%tYuz-Ov0|h{OqMXy9OVZ-g=UWy>Zo5*nkJ)eb7xeN3zBGFwnghQ6^ zUOH+X!XitIWdrDri_jtgYy`6wh2vJ-NV%7NZFI+96F4i2WUCh03Vo_H1+{{l2jlM_ z6o+?T`}VRqmLu7i3Z(5a9|Y5$mACx2mNdvexVLHj!}ODdsnUw&85_q1$v(3M@5rYy z<8qSV?Xy}DYJQcpShZ`j7arAyBEriE#GWElXA&#(7y_Kw)O8M(P^v(dmA4QZ^o>NP zNZ8=30X2oP?q>SQEZ(pxsA~5{7Fo$^5S1fKE% zIM?Ow;4>_xGr@FSEoah3H}B9{NvvTO?|ePFFh8AUn}{xR6hT3AP!Wv9z3}hgpZPUx zr*MP45Og@NG?60G0uJ-49n)X3&}s6&ywvl(iqi9G35I>WIFMNpDuB23q`3elg6UAA zNS6C@cl?g?RPKsWd$((x7`Z5V&2jv@!d#|i_(i~}nukZPJ+Nj$xx|9n8_7cC(uaFH z?jLQ5vp~V$sjQIcm00zBQ1zpbpZ=Mn6qxz{xw(J2*TTygaB<{*K}qYr_aC%l2tw^a z8}Nu<*JFDyqj0)O71AdQ0a}eZ`M$myUdx>1G-d7uzz4hP9#P_+wY2_ZTs{ZqtBPwBSAHi7__JX~>sXgSnzABpS zmApNN7?^zl;`Q#9R|*)wFKKpJChF18P33by(46zDOZq0mBWt$gDj?{Z3>1+{KHI-Q zz%-6N`ciNPa~&+m^ud-!L%<|Iq)T<-J&A1L>93?-9#2bq1$F)R#sOB>Wo<&fXyKm>&H#jNEu0{C#li zeL-@aSo8IjK?q&?8C*;-w;i`s!*vudcCWkq1@{T4{AQ{~Os4HSXMH)+>Yaep98-Zz z2O>cUM)e>?3s?)PUl~p|e%4z~1vHxJTc4`9nU8u?VzSmibg65(%6lqr@wF zQaPKJ%$*E^i?X=(OO@8})p?<^YMSu%Z23}WA0}{ULY{u!F2~y2&z54wKMSz_JtBBMi9-c{&wg4jm*h+WFv*dnVt)}BvQ?jhJ z^2#Vdg68EA;*vBKk0Z{`IId{ZNK5baX&hd+pY>PYI-|f=mFHx=JTY=$ek{=fZF^v~DLP&;zfXL?^DF z5*TySj|eAVepQyi9Q61_AN^wsGEBXbF8rma+GUvcq~74@&$))*unLA^tWe$&0Q`b; zrHEC49m=g{;-tJsFoKEslA_yqzbSJoU|wiINl371GS6UT@f3bxXNk|MM)nz#38@pH zNv<3;ZDt!ztVolzdbFd#$66xD7V;xzXf00tc}6xB{fJd zA__tT5t}EOCgvh2w=B65mQPQ!R|m75&nkp|?v_0?5llC~`J=uYcYKvzL>Uz#WO<8X z^$^HDGm$u|LJ)T}Ux4P1c$E-ymT}L}?4Q4Kx+H}ucsxR(QHPy|RiN7A_q`c;_m6&p zk9oOac%*~-$MV8|6Dln(<7F)%0}^r^E*!1 z_~~B-%jg8ICt!O*@^?S!eIbVC201*;##tf@#t9FWXPl{u0LaPV^>;J4kCejS>4&0z zlHt%5aeQQ<_h6U!6R(MzWDoEcX8k@iP0Cu#CUTZJOGQU*M6>!85!AC-!$$9buKZZ!6`aR;hJqo(Iw7G}rII0S57DmyA zj6<#pfR_d+GlNH2+9OF#4MuT-tYO!re!u~YF_+?;DjtJgMWo!vkeE~J`Z-0Un!5CF z<>@+eD;S$sL+q_N3oM*!T3}=-57b}xoEo4dg*vB5i2hXgIyba;$K$v%l?Yw(!Y2zw z+}@LVWaJ!{6_x4zo_!VnW-GQsta=qYlxc|NM*__?xvdC?o2KOxI?y%uFJ315TKt_+ zG!0oLJ}GX{LCjE+MJljWY3BhCRq!C~Rs>*d%}9$U6@V zNcViGEsgk3E@=#BGLn`j-h9(WmxGk@8f*-NWO+Xxd~1W8+WrwEUn>;88U!@6y&ETo z>mg3ja635Otz9Joz1~L|olerS3-g_wFeq;U*ahD`l}MXKsuz%5mirfkjUVs;pM3`= zdiRUU!w7DO=Jl6{fN8n)M*6CA3~xx>iBf4uU>a}l;Q1728MN(QPr0dyQe9r_X{a7r zo1>Xm83n#={ZrzlgJn{ZCF$IDpmK;i!4s`r-&G%X!>nx+oH^MzD+W`OtQLFG3WVtK z{wlJc8ZE6bE7NyW8x<#9w8JZd(mEPtZ}N9~f9o!ykifc0%oy_6{HVoIXl!ueN5qaD zYygzdEC!TfFTUAl-0*0_F+Gf*0jk5zd+pDL`_sg#U${)KTSxxxH<0Ho&IX<==#|ay zEnmKWz~}H)a8>>eANO&8?DdaH|5Vc3iLL_tFIz{>7sblUU*QutDVW^&HZhbl36G*B z=|pkk6tUjwhfvnJ4}Yxd^(%BvOBMmk-NR6>qs7Vl+zTJ0670E8Sz6a^Nrd(Ae|K{z zI02Lxk*F?>Ti40yHTCU(2eFnIu`aH^SF%fZeqI&&6Z=N@!Leq-;=2p$YA$$x_s8~0 z!^ncHD_sLJy_nYi_`P1=kEP?Qa}Yo)Im;X5CmvhZ+y|JXOZ6c$yRWd=$6#?YZ2|%V z4iHEon;{(NT?)Wn8rgXRn6@P{OEr;u3|89>B><+%OjPT1`pH?2dU5nkiH`OM;l1$I z)*pY#7wURgATJFy8xS1+bsB6cIC4F<*UIf5IM8JQU&a-$r**p@vSe18_+!LUjn$GwR{FY0Q=THETl%Tu&8~v3dncsfN*8^(Kt_ z2#5j)OSec%IMJNdpN2=2t^;>M+=I(}q}!Y5WDuqlUTLi7JM}@m6ZliN0HPa4*85njRbxG6B+rs$p4(#24UksMro8wGQpYp znrp!YjetV?*`=yChU)7J`Gi#*CchL)(6uJmIWnxQZ<(I!S0i&y?M# zFJtPBKui{AsS_c5|BfGK|JS-DJ(+kU9XQZ4GMkq^btk*6tkpgxK@#1v z6S=z8c$?nEo_hbSke*s&m9CP=5xb*NS!7L+Q6 zxq+-kzgD~zGC^Ou79X>-UdJicN3s#%=AeK!ug50ZUfV4@yuZc9!s{OdhbBBNt3IYj z&s$uQDsKlE=2)0^9A1uUs>X6fB+(#lt z9{7DL0J+wbNDfB8I)IP>k5B3V$9tW`7*9Ex>*I{AD4gFI!K$bz{#7J*a|FnZKgmzCQcn7phf z!0e|YT<7z;Ue}2{zO93PCRu+~55_E1JU|-7OSm4w^VBzOlWi3{cw`V962kfoxj5sJ zX8Rc2St2MRhDk6cq<6M|z30i3FVF(>&Y&*K*%`;Y3XM(korA=iySKkdV%~V3gz|z# z@)tZiEYnl0&n^l1!{s&P8vB)C3eqe;b@RkThDHwQPX@^)pDT)QpBJ!L3nrw+Qhy2f zy7f*mzdmiEtTaE7gID;IGxUJef^W=JvW)k^y$1j#A}imF11Pee-QE?8KWzt* zE96qVW#RFnxm6p)Cp^S>)y9#nPqd}4yKE?eY;>Xa);##_eXDg0AH4p4?jS~#{_-KV zu_b()|As-ALWi`tV;qwckMHITon5YEzcT!hl@BsG@!j}H4$!wx74-jPrQj%UAH0IO zxC^yFEW;u{JJScrSm3o#i`$t=-b+r@!TcC;UbSA4z^uVua;4pQzSkA>2zcT68DJO* z&?~f80qK5Ndm0|pHhsf&4w2o5rgBdNM@^>ijL<;!G-Ih$*RkF`~DU3x`s1|mqmsVpZ zzbW8IFkK)(qh&akDwPLJ#B`vp?1q$)YSOMiht>$35m0+(7$;lO1I3)6Dg>4 zP%m`7D=W$iW{-;p>l}WxdvZ>%pr9DmNahJ^7=G>}Cz=0`lqt&Ru+5~y+zx-Sm#+-_ z`F87;b4ZRL*xzXTKkhfQga*rib06n-YL&GI4^jh?86W3?D3js+V^4JfC5(g&)NS6VaNzZZKwbtfFxx2mH7hpBdg9<8h@ zBs3hucM9AdeO-<3y^@*lGCvYiAp@<7$PPbjOKcL%)|^Q>m(?jRbjAdwDDO;MOf5bR z;#e_@gOz6<#VB%bWK%^Tqto9}(S0cUhPhH`2Ex~%d0k3AxI1+YG7wms%7fdWu9*aPoO&^|R{s;NSDUy?5E8M0Vjx)*Xl|Jn z`f;+j9#FT{INxtXPCNGzc$VovSbFc^Q`6C%nLn}}l2M|QAkn6f=G)|Rvd33|xwsug zftghnvGGbvhBJLj|@6XKYk+Ln-pac5%Z;JCxKjHa5xPtZ`JkI-Z{2o1lB-4Jl^~H9A2pHDcySk4&wQ*Z22hBw1 zI4jg&Hab0UTs5^2nOJ?|0$XRQrBQi}aqWfb4(=I~xcM$&(52Kp!K=cA$p`Z;}K!R`f z*1vX#ralq7z zqtKV!^YO3W@N)&dz=}K%j>fKRBET*FRbciPH~JCVk(s^um$y5LL>`&?_&!uxZF`I9 zkJXO&q|w%lFYZuaEa?!nTXsgskcnW)-!L%|RUks>t?8Sbug)W5KOCX8P8v0xu}c6R zYBo(c$S*k^MZpWe262yQ)eLi$wSd7_-NR_E7j-1GyhOMw;g+_)4dq;*9-JaiephJt z{3Jtie0FY$f1wBDr+Mzi_gQCUdh~eHxm%-yMXl3ubUS6Za@8EHWTkM36%?^VtoD26{cReXA@Yk0 zY46mS@H>`J4_-#WJXyUX&p!L*dryHr3-RiHE0n#Ez=)*7?bjMIZoo-PW~NxqD=RYB z$gcJ-4bV}G4y{HeR34yd1mbz8*bAJCMT@?t^^%>4~KQ;sKO(nV= zY`AVqtf%iwOa*u>rjZ|Br3XTim9@b87uvL@M6TVuRZr_AIR4oLlowQk^HHo-NA(fn z2ZhM5*^K++TW${D>C?{3JF}h?^nI_7$Q(=&DS=b>DIgBlxkmyVs67z_%#=)C; z#d*KSZ~1e?VWOWKm{-Zw-Q=Atv-uD9)e?m z=HeDqFC8FVAkaSfI0{H#x8?H*IQd`+U4~4HKW%sk|HUmU_W+P(jm&oM!3)jja`guT zz0-S`rr=x-MS)huUh7?xCH`(~p?&>W1o#Wgh01Bc-ffeR92-PZ;&-g@SJtBfOU zz$w@t@_UvAy&&77OoSq|Rvj^>=2zmZmo(IVw;O!RF}G>?kWAt4@4wH>1eH8>l?jq~ zp}?lzu`S8a96C>!)|)+*lsLQgdCgZ;?2(>J&}DJU7}x3f`%L^LTFiC7lk0?7C5q7> z_b>$Q6&Uk+6(Fh=Jgoro*ea;?iNJ3jVrYfggO_!z^+1mpB)Of2 z*pC?VsDZ!l(rGH}PEQk<7RhH>331C)LoaSNJ9M*5bu2)SK7*Q@Hx)%}|LCJV@)IlW zNN4BV7&(u+x@#f^hL8g5X|4ed3ZXdjKntCi9Y>)Af`_I;g7jKFr_8F`yMVGbZ(iFW z^%`4fMaVQ$9EV3zipZ7}xu_Ik{C*E*nM?}bug0He0!v&cN`I|=v7;!~*2i3gWW{LW z4`k#EIm{FgdCB|_ayCgI1!z|_?FD!PO3+N1+l@7v%%o3Vr*=n|IpLv}A>QkFGRF#w zlr^q3n{i~_M@)~2v*6NRSKMCja)sRI_E^O?eYCz!=-wuJuMODg?!l47bVT-K-s!?l zVMnxAcT;l%U-r)hk|f^s2ff}G^|=W_Hkb4YzwA*IC>Z!ORVZRJ0^f@SKN)!ZeeW7N z)WDENza!*<)-jn3G?CPwPaRg53Wo5|Tz5lrgs|D{tg!JOhKH(SmM5;-2WSFp)Z28H zDj;wT?@3iCoA>NSKdu`R)2cZX@=f7_{V=Kx^aA+Vvd3=iw%geq)w@KlpnBFj{1Dm* zBsc|?&ql*QItt9Qoj>Yt}jt*iwP5SJ;=V#47%YFh9XYjCFX z5xLThbE5+D(3k`pY(*bJadiF4 zoOrN=f^$uaOS=CtQSf$#kh(4C2EY`E@tXEnJ#Udei>|B!MtI2*Dot)7Zm`{k_*7!K zI6FFDUc?>0EPZ`roHr1{LWZ#l@PJDk*ujfji2bF12=@jrT47wY#Pcu(NKv^He zb@N^UPCbFX`ppt(>G^#J^~Jn@L5Q}kH#ayy24V$p-bpum_1l#NWhaJ*(A4P!dA)Bv zCqt&+6(kL8|2FdbF`WTW)R7dybuQT!upy8_#E-}I^?Z5@1Md&S7SSL8iQUW(DzYQ@A%^Hx_+ctfZ$>iek(uG;=W_R;|c6b`C zhiDuB_x9dX21~P`yzcO$+W!09PnOgknx>;M-ra7Wi9VOwLVR5*JfB{?(c6l>6!D#} zIn=dQ*pO1aeki;1ORWdN(GQ_BPAs#2^0Wa}^XtsWGQur8(a>zMZt>N;}Fz}>l@ zT&2qb=PcVK_Is|0yfl5F#KMCBQn-?eNwPu}Of{+2F-kmBmH^}--3KH-}Dju-7?<&D;Gm?Jk?`ZZaoL~~(PjdH( z>pSIP-f11pIAOa*lA1~b&$aH!mg)WIK!_ZGI$dMr+T=UA2VJ2<+Ox8M?|Eh-67iVl z^>$xY0W!8D+#pKF@++EG@6#=1n}|ona(~;0ooDtV^V@TVv`&kKPdN#Uhq=jx2Qz)H zd71j?oL%2Vt^u6f*%y}E4@TPX5;6^R?0l`bjO#KVk3NK4gd8fm^t9^fKhH1z2RYt~ z&ES^(E&g1y-wNB{j0W4eLaC`UzNGB;isKJ)ZA6NN#U--=Z8=E78`&PVWqYcW)q-x9 zX92WoQ^n&DXS5^mybRp@M#pNi|3X-_bOhwPm!C?oOJImpV2C4SrAG}sAIbs&R^iB9 zzZe~W1RB723}C_8irC&2&GgVar&+1SZck<6P;r$68j~QG{<@QP*}+!?VcX}uuGOC? zOjf)pE8d++r+rBg)x_lhNi(JA-J>OF>CslhtYP9sCy?)#Th#Gfg^s(^is{eJlqOe) zP`n#kz!Y@fJa?#^+6P^%YXZ0zqEXU2$6P;>yO~L~4<1)5L@x5kfyUm}V*jJogg}$@ z;u5UbEaPt>a)@_*@2|n@G1`VWi7}PSSuBl!jzS5}5|Gy?Wp{9GDvWpcc-g_-l(tf6 zhL^rqAfX#a9#+mBISDZ*)IHOu(13xCJf>E5<7k<7-XKjey@rW4TQ}|4jSoXRe!^85 zQ}a%&GOjQ2Z=Hc6R{^E~B+6bQL$Wf4vjVW@CjhKb+i~?U_T4(qjA8TsWbF}CFmS}S zDZ=h<5Q~Cv|L<5)h~acr=*=-xdC_Vd>PLf(+hICQ9_D&6AOO<|{7?{Se0DXC0$3B1 zuk%;qU3)Ap5pWnkI%lK3IxMXZ!MDMq>^-AM7R;v`-OA#=X1je>D*O)!Lm-xt1)`~s zp;6#`>jvF|;jDgpR#K-Dd}ArUdlK3z-DKeN<-Pv%Emwvvi|cH??6I}Kz&-A57;w4pUx%z~!Y^s|Le=JN(sM7wgdCM{ zkUNVek5p~ebJ_a#(PA%zVxJf8i4e57UUM4DhiK>^L@r69kMgN&NzngFH$rS}J} zfo^MmYb=+{?m4|xVP z_jJDcn}g2E>snGDEz{ed)rlqMD13YY=t4b}d8d3!Ncn<;eZeY2-E)J-C&VK*o*dZS zFsY~E7jVd}b7KBIOezAImrmlVJ`{=a1x+_Bo*muOd`)!#sq01G#58GGxA&*@Zw;+!r%lqreYTjY&z9|S>xrMhbFU9ryW;k%m#(vSE_ zAn;W}ZKqr$4@8V!DKAWRoglCE&qFd)M}X1az2m8&Wa%`y@ju8lbW~I z-zSEXbyyP6UJ!x<{82l*KsaDi4Bm9u!Lh!%01P`rY%fB4TD#oI;r0*KwK#3@&E#ce z-F;aLmVHALS51Kk)*2WD+tUtPPNaW=Rp5oMOP+arLATZ2&*M)eS6T8(GSfh?IX!7} zFH?qc0l78u;J-G3pZtQ<@60a2t?7T_%w@>0n@X>nj@`M<`cMqD z2eii;6~Vv4-{(8%W^pg%EjW4^;9a2u^BVb){mu2VVE3~PDlB}yp zSr#~GpLkoBbj}Fwa;l_ZKQe*NA>*q~!$CqGO`X?s9SecD$f^lH=Cn?n1z1)R_~U8Q zx`ei+-dO=w&0u@2+i5tlkt!-D%y?c{|CI9dJyRkTcTiG;`w3LJr$;mTWrpa!4w#OE z4zK-PS|%O+C>7w9`+clsi^%lzTH<^EXvlei44diRsXdkd()#a|$-_HzZ*4g3{>UWA znfF{=-n}>YIK>@QX<#zKQ3IUAG$@LH#e)-K3#mTv&XK@DeUH%5yv4l#AV=fqtlK*r z@+&dfjt5V9WM=%G#q|#Ckj>ZSW~QJB4?>)x?z>yi#xNkpOW33;fD(=1X~~)y`=S9% zEr>K(i2srCXsbD1NCHi$SN_K@ha?NJI2^$_omck1Z|mZ2IF$!Ehvar{`y<500tlf! zYIFi``S?ekrv>WfLxIyWWA)dA7ocJg{}p8-br+r1p305-0g{9s(gB8-UgR&uP?oIp z`>_K}?hy7^2vwweHBYL_^(37jIF>^2^4zA}nztpJk4?jVUcDr(n43F7>yMi+0__8U zwg4~4V8hH4q-W7W9kiJ!9c+k*-@j?3^Ox@PwTB%bl~!0Rx1%iV7gZ|)XWl0QpY`jT zoV>=@HOm9veb@M?F3i9kl2PaYF_%>k7}t@Ze^}{;Ce869yEMzSUui7$wj;KPR!I^n zF7l`K84_~KX=TMFrG&c5=qbXZXsdC2ga}Kl-?!TUtZ3s6HiET7W`C(8kfsuw5Kt7O zi>GZ_xYOfPqPL&}6@$y=PL-BNZ}f?f0-=;>CnuSOY}QjpG1RK69+x%TQFzt%sM5nf zmBh4=kxi}16UYsM3C!t4&8?k)$Pdy%0vS(uHg7ZCr=20h>!ihQuds>F$+EU8ft?}L z#XEs+lt=VS=^5OoC3NqE=y6PjL7_V~=^VrExVY0RH7XI{JVekba9+&eh<$}pg-;ah zgo(J`@b0sU%SJwZ-xR{c?RpTMK4ELQ9pp+SH-}3Ezz5?)UP(rkv`tJH-YqkOm7jq7 z=qQr;7I53Dgbg;#N|@W@VhNbRoa~1o&snX>2J-FM?SbBYdol&|P--u~&^bC0gmMp8 z;UH+-3~cew@Cp9x;5@Y;n;Sns}Z3-ENw02^*hO;!zNK{%z2&vwJ4X;i(&)^%vcIO5&=;hDpzgO_psa+ z1nYS3TVVv5vCjZ26WB>0b6lJE`k+_+a|y~jGW@&UETQ-f_jVpB{O5;0qUn?+KBSyN zA+<+DZQbUsXACWkQ-an01Sc8QHpeY~XP0{9I4Hg)x}@eRbZZq@kkyG*a|7C)fB(;< zKP}B>M55FL*awBCKt zC$ZWmA#JqA-Y0=>GI=n6r&m~NYRGS*8Umg_uhhhmP_1stqC=*a{@BfFFg=I*$4qKT z<+jt|6vL14uIB)0Fmy9=f#}Stm8nawWn6=Y`qW9or5 z$Cjh3q#)qFT!{kbAI(hIm5F1!%_+Bj?(KWiHo@~yN*8O#3Mw>@N=7~*$$35Hr%k!q z*1gVkR!JX|%!y!ItYmuObOrb2ZPO%399! z-{`{8$r?q5(i25)+2!SlR${DcG=~2BJfqEK=%MWOWfSv-sSs~@z+{TXCJ>x4ol$=FAqJL` zOgox81YC9hu2Vk34yQN4)AqdZ+sw)eMQ%_UH9+zDI#s%KOQ|!4)@Y0QQ$c35Sud{v z+$#86n?#fTo>aEYM?ulOq=tlYG-uG14JW$36uR3ShZKl{)`of~iqKt))mDququPMO zI>4u;qg4`NfH=I>RW@I%Lo4F0!%;xM6*|rFgGVMQgqSO?P$4oe_}x99V~8-e0fTnA&;M13Cexu0eotXpNLoY z*cs^16!KO3wJWc)-m%YB*4VYec80E(hZw#+etIz z@_@;pE=~>R*AWIg`vzgV8dW_quDrHhj`w7u<5Mus-Ii+->B|4woEsl`6G)wac^n-=AGAX@=-BHm<$k;aL`U;&#^=Ow8gX1;gsFeRd*L8_3x}+Ptx| z13Lh9SP`@ZZ{)mO*JLkRtfm^_Ww~BzqlA3tyh#$&m6eZ|uP`ECmu!$?v=1mjBrLRp zIC%BCxd59R%zU0d0^=Ytpxf~4hLazC2_0a8ixZr~h*X0ct1m+?67=aN3ZYCM!rCI) zU?M%%_FZ!St3J24V4C!rf1wZaLujvAHy9`MS4E&(m!{)iUA9K)bcz7>ex}ZBBMfG~ zHkKTEDp0k4sL{J9LaSr|)bP}+3q>FD=ELNpn&r9@sFnu)Z>w?TCg;^?p7z1D5UXG& zV>z_fZHR@BvS7(Z-&9%3kgHTLJb;+H=tP^Mp*FE{&GD=#3k*yW)Ue7$NF!?Wbuj>uO znM;vF=d%ItrP`0yiA=v|Q7eK$o0e90<97_aBmLuTJ;4jr`cy;Xv-(L*l2qh>5PS8@ zmH_|~182OZPJ&$uZm%WM-a6j}s5l5;2Y>6dyh?0fh*nU0kB<-aV1r}~|gi^9Z z6hRmHyMOz+ZL}51;d-OXyiqwazbA+wnO>S0Oh4m2viblul$XPA45#9Ev+bNSQ@|w% zPYP+i`IVp6`n4RB@Hk`lEaR^NLh%m~GGYTvI&QYX1ifg;DS!`*m%*l-jj~DJ! z_9v`0_}vP=_lnA;RO%KRP5Ml4j+4-Q*11Nb>A6*xjcF?(d4V8hj>ck%b6~FNiRBkT zbW`K&3}w}<7(5xC7)Y$E1j&Ma9ej_W$PB6Lp)tUNx^XpLA9m((F_}Aljp4TkGSb(R zBxA3D|8Q|TB&H}Y+~OL=TpT$Scfdl_P|cR;zwvf!M7|!^93;t5x3)=>RH(OIQ zOgvinIQ}6%X*QE~QO>J|Ft2diABVf={Ay<&%=AH;{2mDM`ufat+eDblFN`nfQj+rc zs@dS2-Qvbt{tei*FnD_)Lp}8Af*q#Xr{SFb+urFElpC-AW{(||l0uYqv~QoLr|&h6 zW-j9==(*?WQ1ppyQ8U0*%qa8yQgYR(vSBNS!CT~hyoSK;=0InthqtdI>sm+b89YXG zWTb)>n%56{T?t_s`N_ytFcvTT(cR&askDW5(X+D&=8sts6)Lu#EaeJq3>wG~VrM{Y=~ z9jUm1kkwycAoH<(uyB09=2})0Q`oOnn8|8rU9ta~7e?e89 zc?O1)d3?9GHY57y@ZGMCw0ph1Aoukb+>DKY^BXK{7=S13dtnQ6{#K|smGwgG@2w^X z0(e>6?v}b|)0Q;TUuH=V^0zw5jr4N4^9eI zg~foniCQfU*dAUx`e3E`B%Fgj2lDo3pAGgoxke1|Bmdz-G;zbJZF~9QrH{!F0TIa{VvOfpL zJ?|m$oy44hHXKH57O~A5EJyYDNLcOCY_P1c-YAW_0`OPGZAYIqOC~U{i?HKP|3rUH zozK1M>kCenK*KmoSd2)s%ujTcjhC;+Jx5rczmo!;oK+>dmD%_i z7iu;->wx4-wfy+0b=I4J{)QomtA^8QA+yn^&9=88*4Uol{HOA;@SaH4wARJO{_*_O z*UiV9aYx>OB#+mnLAN(_{R-_pV?P^mzKcH~De$9>>t*#3SLuJ~Y)$`@>l0#vJga9? zD_PdaP2PQF1DY()+Sd2lCm=#F{$X^4_m?Jy>hYqq7h_Da+MkNs=-F8V6(?uSf#-HdmlS zWi$FgKw*-_g6{lKlH1+m1v6jm1o>V09zDcuQ6Z!QLV%yxi=c54c_+Zzsu&v0YW~h_ zBkdw!*R{J9&r--Hr)6TK(dpbE5N);$*0?gCk);sZjbX;%hO8d>Zo?&$ezPVO>6?BE zes$fUR+#ZK17y@x)!Pd=YdYA@KAxYBG7uPaB_)MGz!3p<{!ACDy8W#uz*3s}T z7WbY3gqt;A{*|n(9Om!czbgWQxB6`PReLsP{>83Ux0-ymqYwj7dp|LIT+c$~0n!dq zHEyX-Hbft+JJSF8pVTNR%xYx$#rA>__T5J@g)nfK*sd64!a>i+qapn~|^l zf&u_}+mPHJ2W8X5jb?+-Gx1Y5W54qqE&|n`V*xPlgl=Zzby=LRiFK!8F<35`aCAfE7AC?LYt~fvZ1zAipl( zHbu8W`Q<`+xO=wW%_h6#FG_XT!vp6)Jg2+m0^(e!B)7oCDnl+J0eP9nboh>SZ*a!? z9?8gH

      6<->RAFFK8!2&-7J@iJ3giQkV8Yk>L8s^I2 zDS}1@y5uWgszccxVEBAMXx_au{lxD56$koMfb0Kiqo3@QquV#<%Zr$X*gSVb?EUq2 zTu>+}1~)B9mN)Ox({$KE2hXBS?~3}<;<&oUy&sM zWpm)5w9q+1vH0R+j;}Louqc>)T|zpbkt=$8AOabOQM5D*a3I$q83nU_ZtdN!HhMNa zbRA{gclo45vqM+UHCbFHHa4!j=3P1)clPJtJF@5>nn6@JrPEwCpoQLpzaIM8|F7rS zAld#ooLh+kQ{)0^d&U|->FpA z*!>?z*B;OG{{QEaA&p9>sTnn=p}rlrla0-&6C-Uxm(y`dDDmyctP6AOLZzIwVLHi~ zO(%>xqI0@%N~W?=F_}Xr$}%-;xo)G)?Du>7{^#Mb^4aJ8`Mlq+*YowfXgU`ei}8~M zj~x$&gZ`~H2%MSPif^hmZgSU~zpu99CV$FGd#1>@L;gm_*3P4X!#?FL3)`+j2>^w@ z2ICa3EDnPBOBhC7&!eJDNb#CMxb=OEO(ip-Z)(iRm&F0)J=)||5HM-hO>R(@3>g7< ziR=3dF`E@C*^MSg9m=JCkvq|5Z6^Suus!>eKQTy^k?Bo-B$aoL=s#)*wm?XGhPz zt`R1wj;nc`VQzZHw$u?eE%w4ug};TG*NKaHV*_lK)A#n!ANSk13)Tv-DmNk7+)@p6 z%u6HxQG`#PowNon0b~$@lC&y?+J)nn=BNZ|Ya+*&rI)i_^Tg8IHa59R;HKoi+hy3+ zYTBhnGU%=fNU+;M87zt2Agd3l?A}=nOzi|$yxF(+{w2j?rdX_lJ1;gBz3SZi=N}?# zC#v+2BZ#`Kk#=dFFg-r>j9mI&M5x=t2T)f3qE8TTgB>!3Zg9<3PndHWVlFszzD9r` zh-CajK!(l>qPxAAt)KI;54^<%@VSdSFlHl!5uI=QNYU3P2|c@mA#cwK-(wIn6T63` zZ*jRG=4&tM?cYk!AgsHZXq{L9Hi<=$5-vL8{G6XSQ?Qu!S@h!Rs&LG>4|t^1`+i)@ zF}GMVgz5R=VmN>)&+J?C{28_HcP{~UZuE~#2pR~2sM|Z4eoYya-nprz|F*j<{`jBg ze{qT+<(OMcgs4XM@n9C4B5g=0gFP$8^!R@P3Dv3Uy>1=@S?e}hft>OyXOX_eb|0AY zQ-dP1CVV88K~QgR?9L}YCOoOC!XXklPU)3JkEL?xZKRx#Q69n9dPYbFSYEmX_EXRTh#<~?I`pnsngItBdQK(5 zd+(tLYuX1Yp!>_JtPuPM?|aXfyk6vocA9dOpz-)r6@4a?9*aR%5_%Yp;#lT(P$Dg< zCqS$jx^Wq>ChglAe@4~}1>FJ&gpIy($7|Vg%l$6xPc4ItT4`U2AIYA-x`(_YT1JmV zWMR9p5gw^Rk)gxqj`xN)e$pa5Qi=*nLXV+T(YmZ&h_kf;X z@gegWLI;NqTHPiz1hc*hR=IPd&BB3l$Xj++uKk~{+pV)~$8;utfJoFC<=>r%+`G?k zaRUgi6}c|{-S_v3i!`?@#1JX6->Dkr7dZ~<7GYG*o_-qrSiUVH!<(i@BokD9zgW6& zF6a~kMsM2M6?`Qp;sx-bts%u^Y%a!A3xuLZcvZxofg>NYn)k){40HT)lLdIF>yta* z9X()Ky^7@H3(k&1X@$w&RpEXa1dPWd6b}EKjWZ^5uuUD6tTQh%{c^@3uCkL)otL3R z2t~J||Eo^O)s`2QYD_Iq{JDGB<__vF$Uu8eLlfn)v4X0m&nkqaFlz#u! zwp9@imwWAt4X5x^*+wTy`DVqj+1$2qxhl_g%c!CSD7E)5)CBP`vi!7MFyP1We2MB5tl2bMi&vv*^LJ3?jx#W-W9jm(S{a-VJ z4qv^a*2wO;O$ zxN=~R4%%pi1JvyOz>32D-s-x`S1u;#(6~H+k#0ONu-*4^tN(mqy;~uv@U?N><#J9S zjH0E1=InL<9}my`61?`JfWBOFD>#c* z53v`Jx^2FXte4+S9c&{%uh@R&!~;~76lx-@v;7ni6|M?t19_Gv@9&8_=6fPlZH-D| zrp5ZKe-$dQC3IUSrgEA;IU0;|Y$*M1 z=3Gq6ww*(;3k*n|#e~>YPoIWEa*y$DrM4*}nOV8?co_dLj;sk zAKY2Ds2l{%7?%UZ^+O6=)84naNp3)Rl3@MBu9EhNiGg3v|FTl}T=XW~Dpi<3KfTA! zBjxN|eSc|K7m!%?ZTa<5=$I4vzSkMn2#6oH4}*Jvy8v*Ww1vE&y#JxJlK z>(!Og+f#Dzi%)*ezU^W?@KKcw2!0q7yX_bRQ(M*upI&Ghy&ZYrhZVMvWHaO7;s5;n z`wzi|*ml=N>d3hFk2gV^PJIownTRsi=~+pEuu{wMS9hve(uBNlQjq8~iqWEqW`xcV-~zh{N}3OOEoGkQxf zJSiLktpjeq7%TqiiSXsVAhd*1RJL8>=Hs9Qc3|H$>Wp#so;}-dIK%5_XW9^ukA{wp_Yc}~tmau8U=zgq2nl;BUY!AO= zK)4&_A|byY_+5z#sn$+$r)y8Eg(@?^eC9P^W(l%Ar~=>Em?{N?2Fn4YhJ$tdDIAY46VjBQ?l?Xg9@si1Ny>xsajUbP$K#=k3mrmWbv>_EM>Q)ZY_D=PnY z`>%+g59B(%OcC*Zj{q7LDwzv7#>ve)4us*%V`WsaB+Z}2o>A|5i0PWxDYnyfY&z~< zP$2N!ctIS@xV+W28X<4dRoOXNh6DXtv~v0e`?N~E8`^k?ur6EYYHl+(0%U!|3Irfr zeRMyqAx1m^MIQ=T%d)@u($8<_?mMifXE4~0Rn{yvANfzfZh@WEOouJJhSW=ziwxaC zxLYZydeKiSx;D!P-IjK$C?}R!GfV*;S9S91(o^_tO5{_~drjQdP)JH5?VqC?efHbu z&9E8do*K?h*&boyf3G{e+CcD1#LO=qM|h&gy)GP;glFZo$qWJKwH$KBJqPHm6|a*h z!z`JIBz!Sjy)`^Y)p+onfC$_`H&Hpzen)Kw8MEr4soBts&{mvtO90C^>jf{65Te$c z^@)keB){Cw;^cx8rR?^Q>p72w(efW|`^^a8MGY`aOOQA_waDKfX}N!)Yolod>B%L{7-U1$v9cv9b~m7%kGGFjnXhL+B@Gl zM&Z|~H&tJy7??xscFlDnAb>nCSNd zsbBr}mZ?JYzEtelirDW9-}Owr6f7}iH^e_w;e%r@xQ`_dJ|NXz_zJx~tlgRoj312s z!i%OasF~W6I@D0WCAbq}KYWxSsO-}~N;^GFsc@kP!Xwbuanw&RdP_AL z?|2B@y`_nS&$_H!P+0^;J6J7-A9u^;l7zr2=+#{wHw?JnYr>VyHbW&Wwra9q$Lzl& z!c0OB^n=d%9Mdsc*$Z%@Hrc@)?b3|kWIWh?qpYF#cTfiSBGbof0*sVQp3O@GFy!o- zO9|5lep-a?nCP}Wai$N_>Ap}wn~^p6^HWk*1^3-1fll#^I{G(9jZ8zDkb*A^Xd}%^ z&hJ<6XG{C)PgwO+N96au**QklyMpwABM;fhLl2ZuKQenTdK9}a32^|UW~Zo1$)unK znqy=12FOMxX^Qkt$J91^N~_!k@);Ke1-$m|>K;cxfq8dB>@l}g z=9+2o#o^r5ok!VDp(~4bZKHNhNPjDQEt&g0*NR3TDDHL#ycN2 z83wHb&E}>$3(SU#a6n=M-&V!%{}-q5W=5_LhkzD2E*hf360VC@N(dqbc$?Ee>EbAB z$J~ng*AS`DtG?aiV>iTkv`*mH!IA-IwZ;D)X!@qgI@O&aluygv6F=<81lC%}M_`4Y z-}oLQc`wWW=b`ZMz`5_?fBh7^+TmS6lT67WTsfWglPzu4O)Ee{0{Gc2U-4Q8P4k&$ zcX;NAlTo{p8v0iOHe=6fIOjcp14tE1@G|#cNN@BO>FV5$|{!m)!2-&|MGgUn) zrN9PH>2Q}sxMrKn{&UvJqJ&i%%o>>%ZKd>cpgV{*Q`fj?kjY>GDMmBgB;P5cHWWtK z`l^Ktsccag5!~6l`f_oPoh!aIM|SY6tGU$|0H6A5jMzY;%E0r6&%OzfP&z+bSkD+@ zZy{3Ci{G{NU9M&o@aNjCra>I!ZM!WNC&n&}nX$jWPrURs|4)hE8i&iJHjptOY4jRm ze>i~ju_4G#YKvk+m}j65bagK>6l@0&c>oT$uc`IK8y&w-(9QSUH`7;k>{a^ z&b|9Sl(ShJ5kJ-C=1tU=U8v&cLwg8 z<*H)+9Q5dsfy=*48TZ+(Pe`0nlU=EUgoeQNIhKMdU?6%3IQ#7NfcUdhlnvjU7%gU> zA@uN|j~Oz#dMERcO{khQ?$3c`l4-|rx{qb~cAe7u-dlhvi9=t(AR1tYHAo4Iromn!t-0Q+#ozpTdjA(@KWp8{`;MrdJ_k8grf5ULvpicst_ek2{b3v?{{st1WS7 zpObt@L8%ZrWN#9TM!!3JN?oz_X?P%3U6JXoSDgJ=fx)OYl?iALwD>!vp2I|VkJl&q zkuK}AQ(Q3Lknqyqoc}bm`N-?U6eWS1ej)p1T#)O-l8YNM_cvltO|@3L@(U0?iehYt zVUb{;>Pd9ZhuNa0P3rjKEQna|HiiT>N8l8qm}p{nTW?ULYS;^Vdieq{mgz6dc*Rlj z*~z9Eb(qKWi!Q+2leGcCWU*K)hKCfqrkd){<&otBmGj&q0+p4akMaO~S;(XnB6FcvQtda6mZ3I=6dI`lu}<#!Jx3-bd#{7dn@(z zg8bvk$u3rHBtD%SSJ4A?F`OP1e!^W~! zZ0Px{4aGN6!(`V@^$-!D9XTG1fMnX@Vr}M-y+UEG=hG$@^3szqP?-au&SmhAVM2=qdIdJ8N0z?0{n3~5Kk<$K{n!ummU(3u~b6?AG1o_vPDLJYk z;^APxSM!AP#LrLxke68@gtvEZ%Dw@{$VnbUvl)g=7)T*k50ss8F&{Snov6B_2lO_8 z5*-o*pO&>5KGxeZATW$EzT~EhGiKOM61dEW5I_y;H#pZ8>CdrsUpG~yYCqnM-ck76 zhXQo%0Mh;R$-g)Yztr#J)qm7vFUt(i&Uh;5e_A3p#3e^petl@i1{4Am@$J%tnNoip z7%PNNLr@S^l_tKQKj&8Xejkd*YDb#>5oIQKy%|oO5$!@9$@;~`K6vFr{A?Z={4Bo% zlwJulJYC&y7F0pbC&(JuzEy7i8-_kWhwer6M7$HraA!eVfUSczyTe|q7xTQ}JWhn@ zz1i*ku5)kN{8v$%6Dc~ZY<%E#3=K;#;qo13lBuDbodwT+% zxO1Uat{f1r3|=PFExPN$9=GLPN51}@e0sADhsr$SqC!?L%(?zokjxS32?PA~5Mh~$ zBUBl6HMtOjWA_6DXDPH($VmS$h?rq(yWU@*fNYFYH966b{#q?KSIRgHa{G`uVh^L^ z2eb42XGrUK1`u_)9Li;-Z|JH>16^p@yw^h3fc8#0Ff7sUZ; zPxljuD{wrAQM)2w?98G!Tsp4+ZW3Uf=n}f3k50+L<901wOAZF=2tNwnaI0Y7gt}-sf**>-Chm{3@ zFf7Iu&x}XZNPS0us=v>2_#_j$XQYU~&2}<9|0|hmdheF-$i>a+S(}Jgnx48wx~5$Z zX#wZ1Vg7m;M3DFQItrd5z_+Up2K*7Z@&uAvkx7q8I9uZ#47k)$AhAbl&eQxSoaDMA z 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%0DbOp4yG)~=%_q2Fe)Vk&7 zH^0t#PZxi75C1dmuyIIM!Qze)djl2sv!GoBgH=J7D<;Q_PK|3C>pKB7T@S^B!j0|d%~wI$;Uzn$YJ zBQOxIc%(K z+0GRNMq;8#4f-aj%3=u}`k!cxy|w0pM$xyhoFGz7gNZ#C0Ndo_g$CO}k*C5-^T>=x ztB9|$N`P)WL|=c{v-eqJv#8{YE z(j7kP^V`X;|KsRf{E|HTKYk-5>P&Lk!UCb;@~~E(R-hu7%To%TI;=UfY?(dHM9c%G zqRwiL@PIBeLVN_#tumi%X=P$1Xr-9AbZKcpA(5F1riAQw^?SYi0}$@}y1s|c=l%JC zAnenIEyX0)6&%gCj>jaXXFCGbyo2Cbe%0%=5J~EPYlFc8C^el0I0>PjBVho_$*%+R zS~8=2{bvfs(4X%VLt>Qtxo+5r72EC;0oGfOrQIaTLmd^)m`~=WGME} zF~RuOmv%dua=J@P`_)lx1^bHYL2}lcjG*8~Pf}gfh{X3{QeYDx=)$JW4j#K?)*wn9 zw0O0kRNeqGE4v%+cp)3<@He@!=|}qHofeq!)%-)a_(A}7 z<*5^@$Zw_%Qu&Lp*MFgt9f>3`gjY>}U-k6{goQ8H^=TlXtKM|;@ohFWx{@_t?g4hG z+OgX0IST-`1pk3(z`X-??}LV8hYa!&|G3i=vyJxV9bZFtJ-nsd(!+^f(ZRt{3nD3f z?&$d+6yhzIA|R;3+tK}1+Nb9bbxb8zaWvup8!FT6lzB>l`re7mLwfS~l6#v-wWB@rr$8%<7kj%ReoV!{eXZAOA_et!z=RqZ@c~Wi{ zT(GL3N#p@dVqTuZddfi|S2tT9GMf&O)AIg>?sDuxATv%yEhb@+4)xoTtI@a~S%J}1 z;A@%d3D=8cA%Q%@Yxe4^lYsoWdE9<(a;U^{VS4WMxs<0!|3k1kZNv(Az60#7cNzU2 zr8;!KyJeURGA227Jz~wddqDnK+6r*AfBJ0F)iTs1O8LAzUP#3Pgpa@!!_Vw-nRNdR zHo>iOl2oRE^t9+vFctT7kJu1+3h>{KA5BJ*^wYYqF?hWYXTr#A;_2Cmx+Y=L z@Qdo==>xq1f|{N%*QXuxVda&MtTL&FKTJK_IS1OuxYB$5n|86(Tb%QA8aLFZ+hxN+ zzZTA*@||uM%RFOO*4%9&&oKppiT(3`+glS-9Q~6s$v44yxQEcUA%}>`7yvGuH;>;Q z>>aymQJo6=fWTqvggP@j(?vT*&c{2LWQSgTJ>V4lPWv#tIhsH8AN1J zdb+onr96#sa^QkbDySPM90x`Kv?9WW3BP7zg~%e91R!ly9Li}&9)A0^J?A6i`Ptr` zi7SPl!}^v(mdv|$!z8EfeX(U?Z1#1z`pUM=tVBDyI-u%*_+KBKTKUed;G9FHU+Al{ z-3RZxLWhhnsnO1T@BOdR(5bG}76%w-I_ z*yHF_SN%1Uv+f99a8DNs0Yt3m;m>2dvhWz+GMbxT*2{8B-xzL)&qZy>6E?<;5!vG> zwxWg{f5O9R$CGc&i=^Pllcp?)rhAA=Aami(RTPd~@r})vf~edfE-=5X3&Omlc$|55 z-p|_=Q6_Z3UEJnKUWs=kJh@16`NzkJFm?{oX*@Q2AlvC5v3#iq?Z7_ZR9xzZnM}G)Dn!;Jlqk!>-zq=|Re^hW zG>1(Gx7c!=2W)0%5zAIpOFLZ}6Fi=nmjgm~^}_OOxgA%`t5h}&DDK+akti_ zZNPSz7~y`PCxlTIAmVehce3v8g~ie|=d#Yo4K}wihmu=J;7BsxWc`oxD&!>{R~^hS z0j?tOxflj7#U*iB>R8%cEMGsB^YWa3W}{_aH|65jwoCykdOWs$Z+0q7ZFgP=07?5| zc6J;F(D4z6zbS6c87h(`kK#r^-ZrGX|%lVe@W+ zgO6r#qW1XbYCt^t;KtJ&Rq6Tk+<&18z*>Nn$wA#pQ4haw+T`%wTX9?yXUzk-X?MjK>WCzFt?a=?FGQL>%z)R6O$TcSCEHSm__I{LU2elDt)z z+=+mLW(i}LNA?a5Mn%^Z%=h3y5Id@6aXBS^lMi^ghff@rRTcSy%c)lcAbqyC)?@N9 zN?M4+WsV-oY!tLX4ddpvLzy6F0EktpO3>X%Zn|gx21RV${U{3!XFlX)bP=*u8$z}M z3tWeMAJ%;2^iUN8j7mNZ(j6uqTpSsDT2pk+zhWj#me(8z=fkew>D@s-)MZzYsJKXkJ|Q&rYsyf4yJs)LS}df zyo=>GYnlx`m@!jJS!YQn2wrnRh$r+7wkiHlGCn_J<{0Wh;mU4V0SH-Fw(3RVM3B;Y zXIUG!>Q-yFYU5dvS|#jLNsdzU4fmOIC!xJj?F#oI$Ec%Ho4caUf*N z?Eie&s#T{e&Gbtu?srA&20utH9UE_Qfm2)u$Va2Pa{x8Hgq$vK(!c7G-v}?0fPOEE zF{l~=f~tt`%s({6JfH%k`X}n@oa9XJ&!P;M_Kmf_Da-C&`f~G7ddSrQx@xHTyHodf zIQAyw9=`M?XAT+HsU91SlM>wliIIZonz4mu*bATE%^*( zUhF`?0fNS)F{KPKiXK^pK#AsTaE;d~zFno^a68^059Wa|UMb_4t9}{`uk_}ehDsD1 zn~hL?A};yIlCPo+;$D+409ZwGb`#+4FonzP^wVF)KHMwsK4pobfjIh^$Zq*bGdU%5 zezdmSf)?t-&vYR#iYO1CmkU%&(P0W+nr>gVM_{-^GE+#YXELDDT!VRywfh}0)-P^wnZsJ5y zwp_+z`H6hoJus0?-+K+Capu>?h8ddZK?-GQbw{7#+x032 z#7}OQYZXi1Zc5r)nQP0o(w0+}_p66?e7@FlyLo?JSFY1PGvUFOAxkr%Xtq>U@fJwi zO9@hcV0`NVD%~ynj~~tS@?tC=kIMM0z)w7vujo zQq!T3oR&wFgZy<}I0bdDmifP$yKkccoo|qUl+{1UrD8F*1A|iohhvS(5w0_X1ygh- z9cu?BT?vJsaaIe)6V)+J>Aom2wsov-zJGICx~Dv^?LNNSQRRX?5>RX`*xc6fY<@L= zRtKcCAT!lzQ3OwekpRC5I+R4jdX^Wg10?NQ4^MWOiq93a*?RVNJDpeT+kJM>?S%B} za*#V!RfFv{HDQUEWkx@Qmg9@Lr@_yp7upKENP5vEqeA}V;)f~*z|j|6hM>1grz{K3 z;g@%y)uxVK@sIx~W>EONLfH>LZ zp;l?ZTwz`OJ9XKGF_Xr}YG7Kq^jLs`*R?n#^O+%+qlHy53;s-9%t^5?o}3=${E-!f z_%Y<@t`*~lxVg3a&t=7O4B{B?;^NT6xRPG1FMl>tmYyT|8m+eF1jd#Jb}#sFa;8W^ zSS#Q_j&P#3Cbz3}!Hn|Y+}Mzlwu7*d!krUkcWZr>(ywkFX50RbXK<@-osw>C>h|YK zjIn!RoK;6Kb|^4xvIZVj)PwRv><$&#)$xrN2;72D1Oku+!r6gvpCM)`GXu{roXT$0 zlpRHo1LsCdz6t~~3{&%qhNn=OODdW-K@RqOOHvewziR-~?;)o~_QrG%@vc2^M@P*B zZ+qg&e;l=J_iyE~V^0N?fTh>97LQWzmAJGcoEntc-G4a}>>3DcpN9-(ELL= zw$nlE?0N02U1sQ&trdds$^aq1jQSrp!rl*r?O*ITZ2jd1ob&mo_Xu1RuJCP6WAB5V zh#fYxkQ*xP?iPGUYqqLdUK<^MtlSfJiqSo38s`c%-|mZNmt2hh8H>UvCKk|}e2(oK zPU<)jclUsAB5X;}c1vmZdC~bT(T`blb@Bh zt7kzd8y|B*7({OtA3iL5Nwc)1AAc{*ea&5NjqwZyWZHx_PylkhP%lETIsG0mS;4-X z^ZVgfD92)KAHBB)(~VMX(%!$9d1sPV@v16`r6VrgjGh(VI4n(})MQe8Hd z+Ztb&!~4+E571DB;1`hFdU?YcZ;<~~i?rl$QCi@li+)~|&PuEc_ho=AWR!;LQ~b0l z>90tSwVkd$&xbpDHlPq78X#n1=ubFUp^E!Vn@%Q)$mFR{YK{3wN!_b3uD5(}5T0ug=B^_*2@e)?>u6N5 z(?6EAzC#NOB8yvV^X|jUZ$Looju>W%bC&8kcO^EUiVZog|5eUpN4gL(>P%g!-{T(0 zT?NqLfx2$W?`|P12-S{-JWx}ZY@s=- zviFU+d-KAi5QN7Ya#PlpN~+>ATCWS9IJz5s!OnpX-4!@9KrRQ!|MGpG(ym{2l{*2q zqSa>4GcFz9;xTrVbt&)(AK_|Qm@$TBTfV8x(WN?YT<_Re_v7uDX+M_JX>Ply8(?)w zJuU&DIFSx_!T}37Fi`8z>UeE zN+$(GC%y0sV*Ijam^?vm@j%*47-B=&9}Eqp@qByTG%x&-oj13k~p z5ITY345&96jX*7YuQc{452Ubk%tTu4Kbq!3oPJ*GMbeb+(s9j;e_Z{HM|C7QiUYtK zOBrG#nTn<99qerxQmm&SNBFoGiFCw(XFL!DD`knKKp^LI`n}i`=`%cjBm&f@j=f?6 zma2FHynP_De8rZd$9-NX9fd1!8Zj{$T-Ha(9WO5~MOiF}R7%Tp7&ukNs?bFQg-(Yz zr1_nXgVKKR|Ck1lIv@%s?xXZ)TY8`ZkU(vB#N1Cu9{63_$dh-vxpXK16J9dJ#&mSc z@hs(om45&qE=iuG)qiM&0||qOC^bwm;$Xc2r$mTZDYm`oTE9PE0Q&%vny9}Xs#Yfs zd>ma7^@9L{@~N=0qqVsm$G=KB9G60~J`p8>lF+yntD%dzTiLiIhWl8Dm_kO!C7xOzPMsBzp5^6&;shJw`E#-c<&sBaZ|2{sV)YP$RlXGfaZiwav62|ysX|ZxFm2PD=>vS%R>(Q z3&8;ErCeTV>G2QQ+$OHwj%Ldnp#`wAdvJkcK$BT!%2`LehEqHR);`(@AoK_SD;U`O zviMiXzKQVvXKqAdy%>x&(m_jl14(S%1xX#v!c5R z7~ZHI#b*0DhMacP`<;6*i8K?X8ICu6PRXpG=m3IwYKtJZq=tc7FA$Smu3>JlnF%{f~ z=3Y6YmI}{`Z~_B@BQC^ed^%cZpt3_YBk)>z*C4q^!uSB>to-PY3n82&8eT;fwIHk%^|pjQzK`tPc{q+pGCN z5Rn^YS>UMh83)_e0?cF1$6f1e{NCwb^0)=zeuAQ^^85UQ?DZ48p^N1(@X+c-{RWpuB|PrpR#j1lz8aa=EuA_V@#FnqyMEn2>p8S zbs_AlKB9)Fces^L4Vx)c(C?8NGl^RI;l5|p<2jQ_df<>pETx4!K*a-5T`^mY2F(y{}`}kV#({^ zwvU%CF?vbe3L5oNlLDTi!4zwkk51RXhFkG=%>PIGv7Xf3|LNO$z019o2OkV{SG?K< z%X}xZ*07P1Si{EFJKscN|GwM*+1EwI0@U&S`^7nGC+A9h{oWPyo7+psr;mf6m&M`L z|7l5ca-nQce+2WjnKIeUr33wsn0`;?6yN59K_CPNjP44qtk`|{n>N2Mq)$6Y&?he_ zf8ozPu33PB(izu_DE(n{avGobv8S?P$pb+{VdnIwBeQ9^CIT2V6e6 z`P~KFkymF_h%~0MG%G*wSt3MAm0z37#X@A$Lx*^ezWetiNY5~8NxA* zMqc0cmn&p44tkIHv@ZpA>vnk9@@IonP%KxN6#UzptyD{3LE^Gs4ALaNsIp^BJO@sE zEK75>9*<#4Md$%9VuOS}E7CY~>(sHZQH@Vk=S{;02jEC~BC=QqcpFYNV!YFmX{qrg z`}4xZA)Y{J&KSxS96`5biLi4hn(K6oG+x=ND+H-N?8#aFLJu*Cta$OH#u_Y<_8+C` z-!keR0w~oAa$4F7i`Cd`@`S36cvQl&Hd~!2AU5*2{N){x>*1KpR*ZeOLA3-FhG{GT znC3?@WZnvGNW6d%cZ!m7?`K4bdUh~FGb`5wLy2CJS$saJNp283x&UmNG?O_UloY_$ z&qOASt7audV>IY3E5mezRp>-^W0W$Y2mE5KnvY6}03nry*7h}m$0uQjb?IHu%~WjV z6{V3`Nji|Hi?LyCadesYF&5%g*!)u*K5$!zKU2hV_0tVFwX&6vX6HGO*BsKU@o5Jx zy@nLsVl4VJoD2lwpa+WV)fT>Gn6sO${4Cx%ThNrs8x*eRqFtV2F*gLKxuJ?0{7iWV z)#+17g`@RCJvmP+ab^PgaH!4PHCfX@&#KDi_Hyqj-?$Ldr|Dsb9$cD~vl~t`1XZ3t z$`kRKAn;^}S648^rUH>fO8i0Y?N9fUDui&g$6Yb$7Z-d^*ToObPT(&32y&GN;YA)upSp`%KyUvbJQK^DclFu8A*Y4B2-BK<-l{7Z zO9wB23|^0JlWVsK-LsjfqptXRr390Y^ikUkZC-HyWiHOP@U7nvE`m#5VF9>f;VA4% zEMQI-K>=-e2mL4i1|Z*2d?Pq~)Bx8brzh$&Md~nI2ig$-A@v+dbKQ@8OM%jtJ@knWGIP18*qW2w%Q1@8M0ex~L8woE8fBL;v6uKxbEzmD{c713ZWjx#_P zG>*x_rZk|12c6Oj8Y$ubu}gWg*TX&ZfGn_Q!$7F~xER0Ao09>O9@w7CN09$Hln8{0E-Bd``a^cSUDmK>qSA$KjE^ON{dq#(`cDx9>bicm8zPiM~9LSWooABSA|ab zyeiSo6EqUMCG&|dV1Zav;M)QjKLmWO0c|Cj|3aUGf~KDo*o#RDXuA(FE4b(Vfi12j zHubwx*}Gj|J2!tXP27VGMd(Qy!jQ0s6tTC9iM@s()+(bjYE>P&}&nUVQz}B8d zb?P#AC0t+6RNyXtedgB=fI0aE?Bm}^c%zw(7}fPJU@-R}+n;Ex)j@aWD;p@=Q$oo% zhkgz)4WWmAapy@BL8u^QGR67<*RxP*D$~)%^xZSHR_Fnsh!>T=+f;endQSMX{Q-Mh zIz7NN7y^{f^=PnELWLhy+oC|~V~dNk?FnF2E!bQgicEIFLjYBvP>nt1VNZFGSutFG zg(Bf!2)z4$hk_>RQ-xe;nRn+r7(%Y;n=X_p7)vo2O*u*La{_BMBllrjsm9~7HOAP7 z;2srwXvlvA`)E2HWg#us!`2_G{yw}|Ao`qQuU%U9i~Di0CsZb=+ZWIPzP+7AG{2A0 zoUQ8#$O_pJNWS#C80`3`!vLJ5P_Y=Dmh?a066F6^0he7cdJy`tKd|iFjU`HWD!D5_ z1tMSufsf;j9hs#uy)JK_vZ;_0bxYtM)xG4TTjMGS22&H1gkX;GBA`|43&$B;`gI$~ z5$&7-R!Xe&dD(jyIN`uCZjt?hF|Lxl3bnlPHUChCscSiI;=X`fptu}*?-lvXG!JB= zR6R;+!WdEJ8%scA46nj4q*?`N6$wT3AT~0dxo9j1U;9o4qJP27TsKfWpCO~i1XPWl z;;0IjQ@jNo23fYG8eVjXRYo^=dXwao2p|9noSx>=!50DkX2N)Nv!AMRhx3$W5Kx7B zM4IV`uvZJtg?nuJxaN*#*4{lq<_Ay)%)SyGb^GzV(f<2i2YT z;>+{G)5WwM$;4gGJQ>NS)cP2#_ciY?EA@v)i&`qRo8V(#JQAQ!#x1j;G-u2e(f|wt zTywRMPZAjN1knsC$`FT9q15f{?VZ{I`6TC z8w{(}yuR+Z`TFKK z!sf@fD7h|WN1?lb0{X@;N|d@udIKRCh6qc?LZvDUyI{+#j&|nCzfg@Qn*5$wmXLC( z#5#6F>^_aGH_bl%4d&Z&{!4ZjTWbUi;$4OAvJ06l`){L`(597p5S#5R!M*74gluUS z()=gwK6$4_>;pC5RzE;NJrLz25m?u3TP*@68O404V8fvC@6_*i@;7J05y@Jaucp&I z^l>X#t0oDuWh?i4e|GOhfPLe+}QO!RdC2dTxPCgj+;(x3mPbhKut&v+* zdg*ObcJC5cV+J zj2+Kfv%VxTJPkJK*(ZM$BlF;bU7I+4aXQG@KeX8 zBWYcl_mX4@0_0?$2`ZzfwhiPa8V`z8&UHZ?r>bYdaxcgQBdDrbshf`U7ZltT+@IW> zjtoyFIU?*#Q67|xWGwj_$od*XH*m5yw9~Jf@9;t*q!{Y<>TUS^Fg+f$O53Z14Fr52A)GIF- zs={61;F2P?^95Bxu80{naVI5EmIhwLRW&)f;Ld;hMMwhk={e*T&$vq# zs!l($2PF4-00@wjeIg5uiy%i_j^SDvXDb2`uyRWfJA-o8V;DiJ5YO&5_f6|))&j_~ zI&hNPp(?Dc!GoAw zm{~Z*NNv()R^8yR8YVz#o;DniL&>@*8TB5<9!wUKohII|%QYCY`Wov-<}dwogu|&* zqJ7T8TTRUxp?`i`X?SJG{>xO^8vGpD7<>EfhB@hvw{9dSDkRT!0Nf*j;ZkoG7@Jb! z-!A>;fTq%@jswV-VMboizWCLS0!nNkx!s|7%&BeC%Yzj+j!az<(xRMgWW1p$Iz!dv zK$y?3=rg5U$t=26El1)rC}$KmMxOkkYPDAY9eh!@|`NrNmnfwWRKNp92ht1MFxq5=gbl~ zzyEsHU=#E~QwFTfNjJ1Rxj;uCw7AEIKWDGXnl6i1+zMFc;DGf;pPuzH<-f z_`wE39gEjGzy!-cT`VwDZbh{U5od#L{<-yU@(+$ZE|j2fUr<@JgtGXCh32dGabn_$ z#^PeBSfMmDBs%YQmlg%t1tO6^GvkZ;|3otdi-B|`6i?tDT)e+A61o1=3*{9zOIOYD zh(Zvp9FHWpU;PTs4telTH?Ghe_gnzFJbrw&4WnD{Xo_?pl;>bh)I;Ns+g2bv0`6A1 z$ykrun7xzv8IZEiXpBOV%yFGdJ}dAU_;s70(t#IopWmN^4cEqVG90lVho%vq)A4C; z$d#4WYd*z#$|)tTpFVyB@*D0yQ>eM-wQqbg8#jz%!CU>qQY;&>><8x1uS;B7bpn0o zDbyr`T9QB{_E6v;$r^mJMmD22;39p$?zzB$Thpy4-{~r`z;L2(xVhg0@enbp!txwV z1rW`|dfoncAkTZ}?K}OC?n6-D6uHwCmaQilUyFB^Dq}jf0%AC&o8PoziQ6TbGbmqL%$Xa+h3o2 z&x~*`_bRx&fuyTVA(_u>Yk%9DB-oSjUGm{L^sd9b3F%a9hqHNOgMS*O&f&aX0k##? zBQPn~%i7T(2dnhZ@yuqpzeS*GVnVz@K~!jisp{373^{H13jA~@-Z`e3^sM*|t6*RJ zN;$^vABtxFk9IirvHQvUr-(~;qU(2KWii~HKww&{L}`QNU8`x$3j z&ECqfQ&y_Kd^P?WKxgTPw~tT$3w^=Dl=>x6Xq_FxOgWti)-U=7f&eW2vW44|NRHFs zLxT9h|2P%k!gJ(-W8<;(cvW#s_eylHvjy2J$CT#_MmsU9(!Bzz7$fjmpz3%La#D}H z0;aO^qY?F;9pK3w%2N5f6PP|Y6z)Ccm%jE2k~R(ut$$Fd*8UjWLxYIqY;c~7+@jGp z@RRsaYwb{1fZ79WeJ&P}y;xcG3~q=DREM=$w2MIKyd5S=^GyOXRDWeCKKWvYjA1-1 zBCagz?0E1mM05KE)zUEow(^Y@FhQ4bE$~_Q`{WAz^f*nYUo%L}#gaX1X;ko`P=I~{ zJ1~mvh767~p(Mo{>uw+0Lcu-35rnM<@v#(v!5qrVOKC@P$`mGZ+q*pW2a!Lc(45y? ze;PgTqHr*^Te4=?!CS={Y9|sdP#3u=k38qQ?6#)enQyP;JWjjnL;~q^MkRyC*IZ#? zlovSmoIIwPRp5SHD0cxLF%(X8(bC-4u5dj6J!@JXP$x#iF?@T)L5du>s>n27Mg_>1 zWZU8jPDbUb^B7~sQm}_mGX({df_ZuJ8uO~#+);HNm;hU)pq~vcs3c234UXZchU>%u zTdn91xZziqMjAt+XS6e+ROC#m3H9k5iCTd=8l(;P_&x|@J0Cu(aU_sKd%Ob$l3I_n zmFU-1ACv2ju0qoI(S`E;`K&?8y6{9|E3t3DO}rOY9wPqqZtkl-LzKcxA)1%lROZdA z-FQv8U4hMUc-@?BH;@4b#;FHRiaddv@GYq1$Ta7?)U|o1o6`Me(si&gM(8_VT$YI&j@ai9p9tZ zlxK@7PX%6lM@BUIw%`mK;n}pKKtKn+_J{0Ba1gtfl2e z^aj6n7jC*=T&r_>cwBW<+~l=MIM=i;Yt5;*g!TWkew$6vOo+d%&nfz1m-A#R#nqJZ z@Ksyx$!lGtmF*ewh&&)|w)x#v&7Bm*5U$1+b;|4*b;rOf78U)OY1DCv3V6&aZKQM) zglEe3+68nri%b&9l@u$y28k`O`CXb|$28MB0WYhA?AG})Kck`LC^giQ3`hX-go5zE ziOU$XL!W~{1E7`?@I&&goW>3PK69?<0dVcU$!@G=p3s1{B&9jYcBt-L{TtHD3lkMo z$3{TG6T<~547tmELn+mjKyWU6W0`V)0m&}#Js|FtLiWJ5*ELXXkai1CsGRBo!$6c0 z_J1qg*^J-e6@1P7OP*;yP{v|BFNY^NTUZ&uRQq_BUg8AP8)I|8Vn^%;F>1Z17o&WW zmVhqKE(bUUYr0i+V$#*%civOT@btAD(Vrb@6PtdkC?ZW7^^|IF!Gy#Is!>TCERdJC zT(JwNI?MI&jfJIA$(`vb6uTo0LeBazEox#uWV(?f!3L+AzHsw_g{y;8G@Rw7>xf{U=*1V>un^ULWozGn zC6B?TWUO0t1Kq6pikkXd?r`5mR1R3ohRvWZp(ssmTX~A;iL(4U%~19EV5+}C)3szQ zdlmPKzni0~LMIDom@{d|C%N*m+Ot+;JU&padhD-)hyfF9b9LCSXLmWLqE(!iB7*1q z07+p0r~Drr+XcBMa+4>w?riM!Gx!6#Ww(+rp!+F|t@fioB2G`6b6K^8HS>L%(!Tot zu0>;b^1x{OvIO_TUtQp+XA4Kj#75gwh!u)`78|63RPq( z2r)UzI{OF$BteyN$OB{}!T-A}eNBz4%Zf7M2Yjrb%Ax+R$=U9i?|`++p|Tf%eNknoS+muj}qz@FSa84U+Tb1vl+N%6$#rj?X9sD^ccHX!DD~v9hG-s~W8~W?KSCg9LM;O&c6iL8{;zhw1gz z%)hzW_0~vCZkC9oz z%9rzzNgZ`lzo)p@dJC+O?|Xnl97tw9*>wZ8WdpU_w`?b_D5&<$mVFpcADwJMyXcpZ z`?!v2IZ?<~ilob+*Y3t`nrs>f`OcOB23dy7G24GS0b)Jmtc3;;yF zO*u1FoCytNDur=8a04#s%l+z-& zeOvs~20L##9f(t+d<%RT(@L>Tcx50|$i0r=;M9SOE*m=cC<$HmS;@gb8=T6QV{t3!fph9z!D-TfuO%nk_>(taE=VsSWk05 z`J&%Yy*zSo!sZxQ)}OA9nvuq%ZUG0n9Zhe-c4AtcfA{+}RkWOI&X7-5*kyG)>gOWsU#-=Se=Yn829(;GPc%&Ly@(53&efZJJME`BcIq(*B8lS_}F zCp&gM^~yuF+-Pc=K`BWfP}2nnac9MS%tG)zlAzpP5L z3b>d;J3^fD1p+C9HtOMar=s%Q*i+*t?{mHHa_?MZ#pbF8!BtR#N9*WtxN|gTK?lMF zkzL1G0Q}_}r1!D7y`q=U0vbYzj(XaDz&GDVDF?ECW$P3x3#=;*eR8n42WIyodbGeA zBN!jDyEi|O-)5V{Gsd2|`=Y3lEDJG^U17H?M#gX;zGFC9HwH#3;efQY_4PYn3>du9 zNK5DNjPm@{f=wS@*X)f}tY`3)$0_Vab`C5@s|3x}PBzQVH$Uz?w4mc3Qlcd;WIOQA z?VkrxKU(c*5>U+$$n)VAf^4`1qzS`3D@Hg;!-HXO!q6Cypiv*pc*9EexmY-fL4lTQ z1TerrK{*iELkfI)&mXf|5j460KtJtJQn6M+*U>SXK}1(b5I94DeuKS!8i?RybF$C= z5PbEG&drR$S`@%;Rty#0CnIr}H(N~)eVWX8j|o7ba1VYJ0Pb>Mo-3qo zvT{$$O>&UIyTmJR95uLfVcn2OUEqwC3dtkN2I_9O{=l^ZFIIS2C)SQx*q;1|<2S@~71UVgzJg8dQtv(yd+J}pW7(^%U~%w8sUB3?-fsCMQ2miBtv zSUY>U3>(lU4UTs`D7^xHy^CG$9J`z^i#!GNZ#Twmv^YEQTmiOrms>YshY&pecM=hD!I%({gC>WBYK;F2HUuWHmM}=ow z^*rowcJjErjXaPoI{Zzc3`wK3upIkjp#+lrsHMl}sCr}E1v&{WRnYh!8Z{*C;yk^# zpr%@_*Mchvz%94m_+5#;Q0bNZoLSZkX0;LI@GDBie$a5y1|i(TZ(PoO=-ppsN9qr% z41Q#4DECV)doM&_PF`Z@p7Sdm`eH&rOt)fRASa1UxgByH0h4yCKhaL=bX1$YYtT{c zXlJK8`hMY|p<*uObhE=RYH*R33B@7@AwPHBo>ecn9p(a%&zu*cG?_D=FHa!@YG(TW zfT=kQ1Nc#NG4=}5f&!E8!)Ffh&Zlo`V}2&rPk^V8D8Yqngkn3$y>@3gvaA<8&Cc2cf!ya^NrY zZ+XdhUdXniI_pU?R~SiyEkW2Or;*5R;e5;PZq-uEAAR2CaPLGOHyiFU2ltUCFKNTU zBTCwyy7U{Y_yd*lgeTd^hRCOfico2JU^)E!+`M?@^+Jq2V91V73iw9Qzx$?0{-Pv2 zbGtaz4j3C%FSq{nq?gdD3k`M~KUhTUHMvel3Nd+kQ|&gsA6YS_N4~{tpRx}Y%l9!F z%O2v+Zg~~>CI3WY#lU*P2seekU*b?Bm%O0%;lu8v)SvBRBM!_tynRsM7$?7 zS?~D#c{OeKPIW>I{EuR=~Eh!-29d8)^pqI0lJ+X9NKG8+n4(m`R%IgLz~*8LV}9H zNob<@^7~fxp7{ddI<7)&wS1ezNhZEwlwO%#+F|i<{TET`XO-k%fvc&Fy_9<+DNP45 zaDk@se&p*ly^TvX+L6CFHeGB z-57JuzZ{j&Ztg7Dcecz0A;^9Sc=ImKvy}|}w4jPJim%3`d$p^Uz`iwfX?vC%BAH}x z_y=?A+M!BXSZdg%e|E0|ncd3f##PyGt#xD9K`3sB!_dxEmh?o5Q#Cw@IACp#6aD_x z84^iD6qeJ$yfg}O#xQ1f$ZV}}FP@el_*p)ZY8y{ENizn-EjM(b*6Exx&{HY)5iLC( z(DTqL-5V%1?nZxGatH23X-xCqUnPw8;#EsYW&4s5w)V!^h!uJwTG7;uU7uXD>deD6 zsNz1oB4XY+eCS0efny-l9wA~f^pZ3u6y?FWN;-h#e932yh~c~e?}_W4pH*6BYa~I@ z6xVQ)!d9buhp4{o>>4O8`*8s4Y zKX^_e2g00V3iSZ0>=JPOOMWJX#gE;a2x4KFp`AVJgf0npiaWG1wk$SE`&5Vw_}hcx zs=>^g3)VgM+UFc^bRv5j3=$9d`s!0KXZUzBhWiZF70y`|61$|l0q1st{df3X2UEY% zW?NRbrecUkbOF9PO2XpnLeCc+pX65I75hO!SRGgwM0+Mbx$Hjpo9joG06fC$${*3U z2WR`MO8>xd^`;wmH4^}|O8iExAD!mcJ(^Tnf5Yojfwu!(kA_lC>lAakSAwD~-}*F1 zHaoRlXussyy8JG`OY`&sKZ_{w=$nb=DPk4ZlfJR}juZR!jdV`p{H?mwx^weQrw_Jr8M@ds>@9-OL{az@qu-*2AM5+w`pA(U4qH(~llJ4aL8!pDY+i^9r+(dG z(9AWm)4c0mg)`;2#uV?dvV>D5jItl6#wvqDkQ)l|&Dcd_ZDk0j-BbRm@$aRb@7|JJ zxDuBe@fmBZ!1WP(RXt~oUo9tF<`C%QCPF6faEq27CK;nazWyj>K23AS& zw)Q?WDBJvpR5x%}j=+MmSgKLnuriIwrh@Z#q)QhbW(2tU@k4sTRdA{Wb}!Kn`VOf% zwv!7z7|mF*d_-w13#V;=Z;6VJMJF{4_@x7)bylxtq%{7}>cT>u@(FK*T;N3k5S+|; ze$qs#wTAnNBe&E~{Nn}p71|%-YclM@D|*K^WHAdKYH|?KaK_@4|6GhPPn*mEPU&l#6NkGR(8i1 z7a_^MWm@X#a&b*CZM+$q@Y*YM`S0Gdq@(KnS=|k>6175}*uqauX0))0RY%w+~muU<8&h-QwWhmqG4D zf68*;h-Dy%Y3e675WMV*PywToOUY;rw&&~rRvIs z4b4A>howO?eIEcTxpsA?Cr53w3rQa-!mIAE2ybw4-p3}$xTza1$9Sj z9z2-Z9by@bBKRponT{bz}XYauh{2_St$MFnF@%rsi-$e-3#8l5d5b2}WMiLrU z5EYn$ec2@s&g~li^C7EH?rb;CP4R*L>;FoYpHK)|w`7nw75*D^)zMV4*>eo3tp&oM z;^JWd@3os`GvpETyb0sb7vsoGtb)|+FH8GaS}ETYir^V!VAAj|l~&-{V|~Qp&eVC; zI5e>SKY$xX^ci4;{~>qzkA1Nc)V?G2T$O;NmAOHWf7gxiR|BmH*v+=F?Uag$(mg-F zd&H_^MIhveO60uB6)I=&x?Mmx&{GiMOn=d{b5*Bbep_;JsPE7qyhHBre;l28SdwY` z{vSj|9l{oy!2+>xQmnV!z6C0RHHn&mOHIo-Md6Iv+agjfI0|U1L%3FE2s)x@Go{T` zYGq=JXr-7q*`$*c77>}Lph3v{yZ!ywanxbLb3gZe-Pd)VpEDWQHUtt!N-$_IfC#<7 zEkn}qtrPk!FZrmu3QK?ZaM7zC8}Mw??^aZg8Qq}Kt6U4<$k7auxeYpL^rml`o)za4 zA}E%w@}s(TyJfU6V~2#mexHJnpnM=j&`B{jAzS6fC$Lq!H*Uto#QNvtm2bcoQ#^fU zf;=L4ResC+QlD!UXUnV&)&|&pd9*8i5Cx{|lx6nwveU1LA9E+S^yps{+cv#VK_4## zCPcCHN|02+b;%52zc}FwKkN?V<3*Fz`&(f<(0w5oHAzV(6GjeU#FqV1U*GWu4P*SM zSZX|NQ^{bg{Z4IR`lKY)Kc9whd-XZNah=*I&v;!4Qp(p6d+l7C7>)JC{-U|h@?Tm> z7|AJc1kkQ2byTP7WK1#<2m_1UgnrM-x27v&g9nb9bl}WA3lX{?cWY{h?RpOIAL-zA z{w`s)h$|~F9NG}L8BE+a^L9IKnCeA*s-B;^VzfaO1ueY3LT4|gw6B!!*!3~6h`UK$ zM<7v7tf=0f@h+vh==eEvmmzf2(@u_Hv zt`a(M?p>7oJL=5qW2z_S%?EXF0l3Y`>ExDRl-(q*~WM@|-v;ivs?dL-7pHm!x zzQ^0b-S)$o&57%t+%=18{jHt%rhvh>rf14O&X1*0n zuXS_1Ah~|^Ys|>eF`xvp(#(b!N@juj)7*Ubs1DE7!r#$`Eb;uSBh7KbF`eYICY{UM zyZgLC_{G+q3cU}gg#&rjsgRt0&hQaBucr}vJiYGH{$gj1N2J>mfmnTVXG3h@Fxl27 z4>)TT^GWaMIhH{o3tzv1kT~64|MA{9{4PgO$r1YPcS4kiHMZQGfeRi#5M0t};oX*a z^!+b?Zqv*K$1nEtbMj=44dmDLbY|H(eXhV%A zy!-xAKN~`icK7J?*2}v*OJ6e9e&_qZ4$j2NOQdvv z^WR>p{G{dZQbdyxEVgqIBTEMADSm7GNbgY4#OS=UY$I2L`C{qsUm=@TI+nEQCiR6e zydpP%$C;@76&a%i-#a1KS&sM#jk=$I$K$2+%7$jJl1+{LL)}{Qvc$~sDCNO;fr4_v z4|TU(hOrBWj6}oM-gOY%N_$ZW1I^r(!q@pA8mEgRtPEGTd%7i6QhXh-xBKlTfxyxr zDp1RVMiyqH<;Y{*6#Cy(f=&$U%jqY1yc|r<_a8iFtYMHFpKsKf!J&}Ls|ra?G$Hz* z=93*fm$)t5(b!{%0F;&-P*uRHKFjQE_rNPwZ%ojW;07!;63sT+AKN z;TUr6{$-r!d2XkOlvnhw9ia(~R$12uemc1Re5#%9B}eXkg=CMmyqQY{VQ59wGXIe2 zd3$m}8A!r7_L1{h4O4LXDA6TR=rM5fzjYcT1`60Nvc4wZ-cm2;uN*o%6Ft}y;Obwu zAC7JFb!CgfE;gLej!xC}c()umGHv>uey`a&LsSiv1If&?UwKe+(I)y1vbopm;Xa!J z)T`Skq`Iw0l7>UK7Yw5xhVb7QdyLB02jU-Xe8ui^?jg-K1d0yC2vOl)$)GV+o0lRJ`uq$8>a}(BguWnrVcEIy`S=mU)lX$|KOODRZ#wkcUz*32-n*UyopKQU4acL6lruzY zsxnu96awrRu#w<}c;dBER z*sizpb97*$V&nPJYrW?8LI}e}NeZxpfbB)@b3FS0AmGPYt7@zIb;)c?lCBBZWbJjo z=Xp(jMwLU)AphmjLam2n#3Zw~3+y8>8kJ$EtQ6PX5j`tf_0IuGBV;ZG(xTx2XE!g0 zetEG6!!cB5eC5F&s%Ly2IKBq;vX%sC`u%H)4obj9=kKkvD#OFI96k@$|FiI;3rKnu z%;xI($c2vV2}#v0Af|o&PbUI_3kNqM!@yDnpdW=UGPBEuO|@6)py|!)5}+b}I{493 zbUb-VYvJ}gV~|Hds}}H-;8QaOFbPP8#zFcgM*1X|09zSCFlQd_jJwYAoD{jzM~hxX zM#3d*;LhcV2a_SxNJh|`kZ6DjfDeI!2M~v9dNJ`jAiO!v$lTWj;gi+GP|o)o z`5o)obHU&vG{wmg9)GX@kRD|rMlE)zb+(D08l70M=vR){vE%M;io#KxwqnsalCqK$Q87~;J&R7pDh3C(aVE{rI zr$97}!MFM?8$R7PT8CKk4@=5rGkeQgni$hB&ape*uBk3!OkS}M{AjGTii{YJGDvn9 z+z3qdiWv6rr<(1%`gSE0Jcd6{#$=Ky9{0{=ylT^T&(0`8|4Roo!41N}kN!?@fno5d ztV=!Y4sQ6rOtVH1=TadB~;W=rJ>xX+C(w8W7a-LyJYcj48T@O?4eI&d0(LC!J z_7BmLDZ2@~L+FHr7IECYl6==I?vzX~0y$7wpQ>nZ_X%dcxh>Je!!ByE4GNtEDB=j9 zDd_qt%FxF)HSS+VbAJ~cOGpcp5HiM0I#VO8nmGU_IK|wAsE6OcMlx_$5bzo>Sw^h9 zFkKB9Ww@r@d*&B-G;`hIR6_3Abvo*zvd#9nspztv(79A(aKfqRpNPw-AwBwMRkq%6^b~~;OvBWPLt|ZXt z;#g1Isi`_`A+Zja=IY^*nttwFF5$tXC4M123vZwz!;~+J)$`!1X>o2K^#Pn@FvpT6 zqN~T4OFqW|R;SFa5kBMwv@pw1{-Z(Vip)*V3PjXZ#c`wU(AxC$tyn!FWg&(o&fCW7 z=S0yCFxP4P=W{#v2E~De52Fpa;kfkjjtj3gD*~0#F&uGWJXa&_12MAdLQ*X@Mf<55 zZcR~`egk0msq_@Mw|jNo^<$=byJ=x^-B-hE5GI%|h6_p=^X@!W-=pDL_;L525}C-P z3=drgh#xxm^38Sul$0bW`8+#Q4+W~|*T?^GhL#u#A@q9=DA?y}R~Lx+S+?!uR{L|i zGXBEDfy|}HllgaUT|}f#nA{%XX~M&6NY=~zv^5a09Z+`1r?<}mB@_@pqVCKQhAT?5 zy-X9-UsuSo?mUd_IQDmQz(3^aPD4M3pQTt;`@%+_tZI9~lY;)g{J(a7PMtb2NCC3l za5%~7;tUI@UzKttfUqB#jmA;K@6Ki;7*XKr|Hl*zF7*3s}lL;r21) zrWjMy*vI}n4bI@6#DXF^Z}|G99KG3LS}i zBB-6AWkY334fMKL3&&ELrt8OvUH-x}@E&)CzYD+566e^KZbU&C@oY^Wikk~?+Qc&5 zS6#$-U|g1)NezAJ48}dd&Q#-EY8LjIsO@dBgzjI|SNsJvGAN9(bb`pA#T#I55i*(p{zy&xGt3 zzd{99vuZuA%Rxoq64wnT<4!=MP6f$rQM2r!>FNSKV2ke%H}+tdTEtWhGC0$%qlirK z3tlqZTxZdM-@o~l`eu|qA{*2%loQ^jnOaXHP~B=<<`di!(sIfAe^gDN`{~>QFv^SQ zAS-IW^~p;Oo8fJJqFWn$1DOfC#<;_9m)z-zaTeU zX^YxdQlK`(`wRWpow{ovHxd~?rhQ&`B=7o1_-C!VszHu4DLrm@WZ911dHd^$Gn?3> z;1cxF+HtRPxfcjoO%^9pqBEDC=&3{8ObN;02i`V-Bm%uUsA4fHq_E0~@?;Ve{y%1NX{~K*2?oF#zKW8(45e11nk$-3;jH9c-o5)(Wj9ZPElQS03D+6 ztq1xm0$z1k{;4nN@*`S!W%0=5!OBz}*yhe3_gf!U{z=(vb(k-V4Ro)+($oKaoa-AA zUAjOHuZ(}3pPre-5(qhxIc^4!k&}u(ibi!US5p%Zp7~J_vWRWYG|h1$9c3p;-w75~ zMKZ5ei%4Tf@y~(qVAt-gPr|+@t)T7+9B#I#Z!UK3p83EyvfBl=xb3I0WQ<2((be43 z7|z50M9?}zb?)=m>)mNDsB0jQNe71M4CzUsh&#y(~kk_FbcSvTvUQv zreNHbt@<1bZ*~m+dd5Tgcv>IRspuSk&Yk~N2mVUuYNl;qkx7h86Bo3F)uQ2gg9&ID zNgC+|P^^M7+}ij}Qz-A0yq(}ea>tKazr@2k5g8#cFj-e{x}pyI1xkUm_n^_L-`+gB zJ`#vh*yA?FKvACmdq-eKgbw#R((pGoulVsnY1G^SD#*wK*K;wCPEl!McK_V6$Iv{XAf8VL$g0 zZ7dI|wu=z3(*a_SwpqFTcChzyGS6jixblsSoPt(*9i6r9eHGypR~$ie2d`r#MA8^7 zCVeli(b!Xst0=B52B~jh(h~@G{bvsZpys4_wDko(x2-HM4gZhojny(cml~zX+@l<- zJcn7sI&i$0c+3rX6U1x zL6HfRC@!(wWZXFjKthg>fzCH&cWhQ%7ecqO8Opz$4wzX+B~XPF^TdBcONw}p1fO3Q z7abl2zTQqvL1F6q)vhkP+*>sT`L5G?y}5Adro|i9Z4wojf;vxRWIR%jhq*EbUe`f%KYvAlPpE8c2w- z2nXzfwR*az{hqcSGPtTV>7zi_33~OpG{qE%9H_$*y*!>{Q}3|(2rWa=7vd2(4)E*Y#i?v>1^THf+G2K5aBJcWdr(G`J~<@@SmV@a8IHT+iJ zXbC!F){^jJ#(GpZ_VieWe6h1NSk1uS4IY4rMaDMb#Iu4?qYMGBgF?t1b>3R)Dv_~Y zk>@7=1fWNRK;v&3Ob%$>bGB>&ZgyG1R?3u2DF>+_IsYGXcvSNgyjOhXK)LHc@zJ*; zAK2z^0b`U*st%X9MklIsz~{M@0L%F@m-E!x7~(>94N~lhny~6=Efn3rCD6W8gPRx& z%v=a*xQ_b8&w7JO3@h z>8PR$0L+K9JO%q!a6s;646C8uPO6KtzO!DVnO~oKfEfVM^U+}!>(}E>goN@;`e4h? zWi57suS7ZhY-@vu@j4`Be3HpoWJK7YM>%x=vu#_v)?gm60jBwpO~QiB>$sZ+rwBXY z@IlaqGrz4`b|I}M%8PF&1i*-@DCM-g`x072o)J%f*zA9{E7#TSb~OK=*yT?JO0zMD zj}#gwY+H%r$XzhVh!DrFKErqFq$IK`gH1tf5CKg~klb%FPsBL98_@}KUkxwy`qMor zBk63E&c&{&f8NSZ_NCm(W3u~!-{JLq{`DkPS?ho#u4wfXlysAARUGO4m1SuTH$~3c zn)=zXXjdQFZt=#7~@N*d&ji-)sy2hlZEmO}z|XoCbNc`>?OC z@WTE>L=eY8y2u%lLX~G6gOv#O6+5Hh(#CE|-^JEN1^o%1)?fXw))9i227mdv_~8ih zr|1Q>8|y!Wo;%=~Q6gR>IVtn0q}G;+Y=hNbBOy(CuEW~b+X&mW(X?@5-VC(2#+~ZvMec`s0vF~AjTN*#QYU4^_<_Q1p zgJbFfLGeytD?pCru&w%lXkigS}rR~nj zG3W7^@!=sX0XpRlK%g753>I~Tgai_P^;;*Xh@qhB0#R7IK5$|#6$b9f3VSAImYj;X z;TiggqX$QCSUG%oUvT`N;|G)S>~U`*xs@PUp6W=neV19+m-EzA?V-I9i+T~>SqI0I zD9Ne6T~L=5U9nrn!-4HCI&Gx-m**gy_W+$%x1rDx-oGr3JROM$&D-@`g{#gR2c{WE zJ&b>o$a;po@G09RguSJ#U-zsG(f?&2-`TdQSq7_&%~sWs&Yg2Rx8jEq<$|HQ6``(2 zx+)wu-Hd`fK0ox+g^tCGk6~%r$bSIEXg6~ODG{XDUG;gN8mZj9aft|Y{(Z=|V*^VH zfcN?8uKauwn7wrsD{LfLpX+p;r)`fI6u=PT9zi5%xg|xKj zs9nfY*V*X4TvrW3q<4@j(g_ez>J> zEh-p;`W)2P?hyHFPrQs01Lk+&%?i6{FwCWrz-4L~8~wUCnTTNxi1OW79nUTRXy`=Q z=*tWCz@7`(vN(o;j;=2#%+hz!@_?7n3MBQDLP?wImu1;3K1sRfx*~hr%&Loa(;R~& zt)P80vi-M+lU<-=e>O50gyx<&gE*N-XG)8vM5iWlx)?RKZ7;q$Yx4jUdAZq| z+n5%zFt_N48cdzQcpQ{VrubJyo{K5L=lKyp_S~0koCVttVZSJKMCq39_hQQ*|1EV( zrz7gglw}*&_dM5*Qs$2IooDUli}K{ zY0pe9fK z)giyJAV1AXnK&;kwZ4O0WU>o{lcPp!s@q{A8k;u*xyhLGmH#G5g@UM&P%MLr*a+}n z?Uaul`w4lQ3+KC1Iiv1+kT4I!G_N?tQX1?+bzYfaq`40CgLt6 z#*6+n>!qqmOG1>POx3X)pki+?86{0nU5E3lS>9^W+a~Io-CerAfL}W<^e7x6ZEL<5 z6(02smP3gi6?-~#l?heSqYmDsH1@>cF`UlrKTt0=OBwWufhQqua{B>Xk4#4K_M9v} zrli!Z>i7jIDql8#B$+L}EG08l@q+x9k~+gu#4K!!(y0zTLzY z`iJIx;#o#_?@Xlmu+aPZ!j-(3S>tSj5>a4gGgjaHw)ju%17Y%8Wux0wc$N;`mGfFK z8wn+o8E&#g`6J1dVX9V*CI&Hl%YoVl#gRRZqweCnK7?G4ZYsVm;m3Ez=Pw-ZDBkZXK{W z>f0vS1h`YzHUUqr!qr>S4i13qIxyz07J48;k-DNs{AIaB+cuuW=VNZeLkO+W;2xDp zxe0)7`Hmx?IuCca0hSLCeFHoapr9j>X{n%I`SP|blp`WHQhVUID_=v33EEU6YD3aE zCg*jT%ec~B0t~Q_pB)YUQtSjryZ43H-8+Z2Zy}-4@S7yiDfl}^F)r=mdl6p*W0ehn zkahNtaID!K$c}(CB_FXT()hL#`nQO&ryR;8pW1`q#-lbc$Mw=_P;g&FV>u&lg+}++ zd{i(qw)NX^W_9sb9;3F)L z-D7`ZmfYbhIGuS2_LpdI^4xY1SqiTSWq~>|=AbAFA?Yek7N>>u2W(rlo`#gm?ct-X zq04B+w|{vO8CHeJb0DrhgmmF39wQ5sN0ipr70&iWPvAoaD!(}tbM%8hL)dV(2N?zZ zw3namipP9%^=KtG??kCPyAAo2y2!g*zPnt~T>ka9FE+o3AfgqzCXR$y?erL#{=1}Y zOscF*^oh+(2iU_c%YF~8VO~0IJ`J{1O5NJAMLzbW={uQ7TvI$ju!jB3nL=f2$-8vO z-3!Vkk+7G^vKET}geZ-m7-PXIrT}yty#KvU@ex#Iy6fl4RHv-6$J>*b7>`Ab$*4%YKAu)|;d7v3#kCKd&#}L>jyNWsl`Uj!>NXVBOl-5?yepQ}_pIBV9cR(x zt*p=YuG}vAKjgTO1LD$H%oemY@L3s54!6(SQ=T3ys%q@?OB?m+N~ayz*9{`kyul*( znHUX9OAYMx#HxoX+3!B`0qONk&!nXoyb?yQ?OrYT**6fXa z2N#Mp@wq-QMY4#pEZt5CH9;*;6eveV%i$_Z0>Zmd)sAo{5gjH+x_#Y#N59+?o^Cf8?(ong@cpX8uFKzAECY*kQ^2)3v$pAKY5Fa*-Mm(983oP zy7neP5d7$Ow?gLGs?!h7-X;ij5I8*wK5zTw5QbIOyL#=SAAB=W{3+6eek(SoA41^j zLS5@TbxqtffPg&(Bz?iqge_=%?6;b(zr93`*~+~3Tgm#t{t!!{3>hcRN$z+iL#R92 z{p=W!cv6J8;WIXiRhlt>mtv`U^$lO72>{lf4(8+%wD|~}gs1vEaPzk{n~Sq>k7Qo# zk`}q#*f4u}RaUod)M~2kJ`N(c0o_1Vci`fhKk+NF;h=Z|rgd5$<)ZCqeUejv&NIhY ze-c8PFc^?f2xw~C&!qf!HRh(Xhiq92oD>p?(P(s2yK8R+&o}9~Q)5(}RKg>so(Vi1`9e<)Y||f6YGr+FjR_@IE)M3FGW@e;0W?9=i`h30PO0zuL zPrcDcYfhf--X~o0-if3Q(@3XHur50-T=XxY?qn1hgkosICObp&W;n{j2l$!4AcbGF z2C3~DHszIor1%(O13srm`BV&m9}4qus-_#>djNjXwiRj55~opTv^Y>Ac)QpM#!LEm zt}%J?E6ZLYh*8~+C-4+FPyZPQ~($d_aF0a{PK6Xr{N!Ht}Bzi`O5YvSPw>@9HSEj*#z zbbA;r^DJg8r{Sb#+qTzfGP?(p-DoY=e`{>rV4Lr8ZN@+(_A@psNWpd}KLlq|a&G3y zl2DZBKuNZ$1u7719dP^s8a$hPWnfu zyB>)yu1?BW%dbYlyvn5aNALPxJsvIz?3|H{5caWrcSqB=obH5zIY3mq<>s|?wdp;= zJg*Q0ef3NrqK;0PsRNb1Q=BkUbr2ITit5Xr*jOCk^!Ac8IRjyDmma$GcoKB`G4)2@~o41W0vj0L+bohj2z_#~< z=Q57Oh}6yJ*937SFE3U*tYL5-dUmC#0HQMj2wYWqV1vO`TT}C{LwS4q1R!b@JFR+l zDc>~##NdF+$rLALyrGWUg4$6;AT9wXULY;(xn+OZRP8ko@&>2&V&_srSWO2U3FG;U ztEnN$t3=9Yg%AmW0DwC1OsB^qTn|Ls`^*b!@)8GfQ?R@`e^D382?vsKx=GkG2J_Ds z5P(b)SSFPl!Q`2?-!FG^VvfL9An>Bx%`0@?Mfd7#p=AYzXJ>X*JrOuu>^%tue|HCa0=Gt;2p{mAC)0FWoooF#iH}D0a}0( zK-5@wLBwJ2I%2o&sF(#1@Ubw_sX{-h{vpDh;s;iHrDNdGRIeW@L_kyH`UFCcuCi<3 z8ytYqxywLH-BaX5Ci_2hCnKh+;ggiAwQ0OAVQwnbp_v}mrqstcnqFUkzZCMs>NfrO zXeAVbL?%x`38&$Fg%EYo*cf`#r`9F&Xs0`|e!;K+fw-C*(!aWJGT_9wbf<1Fm{fja zgZo%IBaS|NRI~%KS5zP&XURHWEQh-* z2i1&Lr5m&ev~XJng!AFr@FvV$YIHHlQ*;NMgKNv7m%({Imo<+ie5SqsqeC}T7c>L% z`c@V@ODizUJRqb?Q878=AQJt{>8&-bL~oInqP3_U1ADZC9H7v=RKd}|5AYdr?@B{p z{{kINa>ugminNDtpRvY1fAx(Or9al)VyqnQo_es{>BH?UuCv+7w+EIU^q_iL)Ne)_ zF7Z1Pn@EZtTU&z?UUX%J0C!)wzizM3ijk{NX!{|Asavm)3AriM4prAoN^ensK2!Qg z;Cd|a&8{M73ZO2H_1`s2HI&TIirx8r2#(0)eLg?n<$m#cJMl^UP(3;1ZRN)w_Dx|xn3T3IA-bQY(V8RsWJv2HOG_vr8DT%^2CwaRw zE8i?-{0j%kP8VyS(F>*3;EPa{4v&27d7tyNH9O~*8{G%b>%51pmi}$4GduMqL!T}? z#{78kqAcU*!%^Ps{khq*pdtEm0v-ab8bHc5r!g9OS3P}<;dDbYmltaCHfxeF9@&)W zZ&$y?tz*Y#c`3P?H7I`r87b6Z?5M)d)sq+3PU zZ{@iu3){oWkBvtS-&ptfdRk_tvEJYHC5VQUUq15F_SNULrI1zSb|P|rfV0O*{&ErF zewlRdy)w*f)r3K>}^R^fQxm!Bw0-Z4a8W@|ZZg{!}Eew3<*?OGQ3-(8#g9nnf zE8f4%n&eEkqx#RU%d3N} zW4Q5?(j!;wR*7C@|L0BBij0#he~YriHZb7cEp$Sy{TMS7-efksJR$k%#BaM2@pEGf z`2Q;1o*KQ?m^h|~Yhto{9fD{W9|if78rF0#F&W)y3j4R?UL!Qs*6FDQZFNWV#6*9r z%d0^bJFRLC$v@^Tgm7?G6N3|le*IHD=y!;+6miv zfBnY%D8&ba*Q9b)?MB)Y=SRii_Ck;L1DQYl$LR;*zSH2%1-)A7o476K_cOf2r9hM; zZVE4|&uS=K?EF=+UzA4`rD=Ce>bWRYJ%Cij(-ywE1m*gEcQ*Vn6sdEE;gW*J*Q-gKF{-@Ff0KWsNSuDfE5pLocFu^A}i~} zd?`}3ul)h=YMVlVr5-{~LF1)?Mfcn7GZ5ry!)QkkKmBaM+r&wM#9u8Lv5EU%-abRb z2IQc~e2`8NU5jb*JbE|{Nq6gmB5N#2Yr zeh3GyJ(JNov^%~?0nSl!Tkq->C4N|tM?jQ?L~39HrJiB?8s4$Df>*Ycc+m78!Bm;p zW3K44MOR4;TFgyWgPJw0{6kZSAT-ZimB;19`uJ|xmxM%YjG!pZnKIpBsyX~4cQGn} z7tBP;7CVI=>z;_*hFp^Gq$5+7L{sB|3)68$ zCUSDrq8@dC2fpd?YVr~Vi$!zI+&nkv2}{7wVS^5*D;hm3CkeYQ;hEZy=iN?W6_A~i zMFJ>DNl-1G}6I!;F+-lta^!L)+)bzYfhE9V?`{LrNr6T8_ybJiw z;0usyH~t>kx#+7l;_`6scMcHV^CtBf0EoKUAc4;DlDbJ54{R zHTU~FDd6^O71xig8hTbGoUxTlb?u%|WSYD0XGM z6Wmh+?lkojmouk&m1@D3s{7tehkX`)bkf)^$~EWuf{hR?t`Q8xLZ=gcVz)FMWEE!G zd8TRkRFfXOLJfaX@$kxX*TmwYY4cz%563)E8nAv+3EuSGN1CF6Nx0Kgmxcx2-4~ZeRf|6Q6wT9f-;hvWGf&(=V$O^n#nY zG_IfHRv+arg8oS{I~s;SI)QC>sxECMne)(x+?BewDaI9eW5FwQ)lPTQhq9X*@>XDo z*0^1NId?4@D5m8YR$gV2EFQBrJ04@3Uw6Ncw?GedJq5Wteymim&53$`x-e0syZkm5`;t zw%K!GiSQWc*Z_%103uH1Hjo0+oU+g*K?>$oxy08Z z&@lBOlK(O`E^YV4=?nuh1=CvG+ag zoF|4`=yR9(sc^7UcGpkAh~7f5#cH_P7ng>_$Xp*t_Zf_rn+`C#b5pZaEpIkK(AW~{ z0!r12`DW{^7AGM*srXTmPwWfqBx%NS;?Zj1r23_xGOXQ!$Sf#R9f|oet*?YofeO#u z)cc6WuLLDSQ}x|T&RzsV2$v4Fff{up=Yg)VI8|&8CSkp*zrgdXfVloOmYt26;FETw~$5h#AJ~5h`W??!GfWD z$~n((8pf%Z8Th2F{9`)<#2j62KB*lw$*0okA7=Xqov49-5|eRRytN$z#cLUfnG>7& zcKi??1*{d}m~_ksE&?*E5cu=ipbslr$(AoSQ`172lVwA|#2R!v`vchjAFf7a%z!7x z3tj_{)(})LEos4dxje@1)W=}RE8VM;PCpZGODb0I$snjwh6mU{2(xs*dvx=Ar_hAx zs@p|$tGZ}Ut-6NNSJr5zg%wmfZYb+>t*$Q-7vIU0hmEX7W%YCe%)5T8sT*i^t+O(_ z2Bg;OkjdNanc@R&F#fNvNueG(Z|OY&Kd?+v6|$(%1-%2Ccc*Y4;A@=rPVI_V5F{au z%}m6@qs-KC{X1T_8{x&aQ@*ed>9p2H_l0)wk3{=@Ig)A}mQZ@=d$aRuK@Zx?_H(fk zy87hF*fFE3B`-Dlvg_UD7$GXq2!JD~P0VTa4bqQ+`L!ka)UljGsEAL3OUi+LX?wXt zn2@71&&re5x*T>#c=^q$-sQdz{pG$vh5QTdYsCB?r75ap}vtqOo{K1qBTu5(|!_C)PgWvDivHeGGM z9q|UOVu@WgLt0GEjN94kNV`nCaAnN4KX3V+-FVK)FP-My)(sjvVCHq0eFB(kIa9ip zdV+vo98@EsYYX!8PPzGirJgvZ1%ADf=iP6fUt0tGhh_6h7R2(6Hp(+0>{c1&!oF|{ zLq~O-Ps`OcLfezv2!G$vA4mMc5Q@;_jt0Ju=X1~C2oGY-1!bM z$djb%bj9>|CUS1{M5TAQT#B+}f8k>cBK1 zs{6f@DyH9#zrK_)sCjC{yMf3sjjcSH^gqa>-06r%t*H*08Sf$X5hAz??%2RwJFpw* z6vz7E{ei)k^S5AN-~)Y?gfkdoKp-)E_y!y=-+RFB{+~oJ+|o+{RDsuN?1jB>C zIiKOafMAWsXqDg6AIeU4@q9N4lt82!O~1pA?%cGfEwYa|7P}gT?)LnY8m(<n%$Nv9=K;wo$QgPF|D5$nZmR*`3D#|bgZf!Ae z^-3up0`9(*=T0yFC=3w3NgpW!fnvebAlxMhDrbt~OSc(y872Sx`)dg1ytkM13KW<$ zsSXwMf~g@sJ8E3Z1}BSRSfH6@Qlz2K!cVz#XM@T{MT5Ve*Kj>Ro@E<3oFe@k&)*Ts zy18IOO{jF*#!cV@MqVh>`2RJjWATf(9dqx>@_Z`vS#hedYx4$7KF7xEso{^`Pt}YW z-xjw#7Uz-b=NM$4@nYhHh|P%GN%EFRF6zzddpAck+G=tU&k$puTy1el{}`G__GwiL zkCXax=Vb-W5_^hOYifSTt9t#n^-t`9}ZGz zyrxS=pH*D+44tW7Vu+hS3>9WD7IcBYq@?G6Ijy_C&bt9&4N+HI9RT)_8b0<5Z_ntt z9Z}J^GVftD_zngo`)}QLP{B*?6%2KlW`BFP#vU*$7$j8_*hG8(k*#YxW9CRkc&FTi z_t`Iq9|9BD&ocs?l#C<5F~7=BA%wCXuVX3AhA8or%M@>&?Z&#MjoCo#YPJjQ*@Hv3z)N)7mLg6Eh#l2RVM6&gv(;ZcS_of|Q7(w-%vZL$Srb}QBH zI9*d-ZHrso&b5&W@*@pT;=9uk?Q@v_h9gyt*3{vSmO5j}cjv=a1_uHF?_|iW<6)V? zplpvssSxNM%$OKF;WBEE%3h1RFJ+QDP@pxqR77s;#_&oiq2+D(RPf$`H^`LG>iQL* z3YW~ewwQt9hY@!|xu-y6{gTVgi4*e?d*o>Flce|i6Sgo}-uSD$;LKJ;UO+DOBM)cT znz&?|$;G4r=}l7+=n}Jphq}PeBvw24rsp00U7!Z3JJD1~vvAwwc#ky&cT{7CAcvrA zqZi~sr)o%XW&O!!AXFjyI0zn{_s~e^6+HT9{BID=p<;+4Z!%jGywRQ%MuOzu4&^|Z z;A4ojLuZbkygvQWkwW3!H}4mm5&Bc^OYU|s03bOc!uhA4JubB(uwY6OQrz}WF?V6R zUk+<{C^P}w*+0X*lF=&Ody4- zYs2H;OaIuE?t0aUWcAB7JcNS8NmVZkD7vt6VXbFbend9dx43g5{TW6tzGI+J`lynI z{Y&h630yLn-dCOMIpVxiMY@T|^^;=LJ4Re|bW0ur(WJ9>Sd1rjdHHwOxkn*|B!pUG zd}J3v^kh|I8^1by_y>2}8nBHY-Pz|xxhQUQJ=?J->=eoE*{kO`IldA)x_R5e@Z^0r zXiUZ+r;B!2`Mi6qsJ-~HGOUAfAE#UD^5GvL)~r}@lA?NJVB8ZQS`IiHhT*pAn5&%k zDO#X;x(Ehh97Cthz0p_UN^S?v*KpjciLLM}l*cQUo=IHKJDrs0uAQuA?ab#&b&=1( zo%_0Wg-@gOT$Cq!5O^t1_)SFsYAgogb<3N8QSj_{VS2+BF-Rn{lklqGm?<7A#fF)+ zJpIhuZSPx326nBG?Ely;riwaf;Y>joKhYZY2&|VXsyX+u#0<{gvyRFXge8k2Ntc|}*%a^nY=2F}2bLLX{ z?VsxqZ$L-u1F6?1G`VvBH{NIv&%Krb&Ah$T{eA%uvVJ^SAgaa0b1Or1lP24?t9AwS zpOJ3%+kO2aRlOgx>v_TDQ0K2bC*f}ppv0Hz>6$eSD{~uHhC!Vm`l!z_@A?z1V4yM! ztpGHs*FLSzqEtWjiwoizWA)@9Xq`eM>=&Z)J02BQ{Z?p&rbPJ)%xh(JN}}y3k{b(W zmks8vDzh4U*KO*L1q}t$I~WCLpjO-5mN~i|#io)8;ovPufq|Z=M^?3Nc&I)_Nv7#& zd7Hlh)cjaFJvAp8;JAWC{!x-(6ll)#Kr0DMJN@2@a^hYHF-fs7^|SJXR9bA7%&ss_ z2|Oi|N7Z&sxA9&qG?{Q*mroCNJ-`gbqyM>gZS#sP8TMd=A+R>eLGoM9bd*Zo4uv+l zpk2$w@B*QTF^#M8v<6a@!1c99OR_dl;Uo)31r#Ta>8Y;Xp%CL$A>%+bwnP%BR{|64 zCpueMQ`?V{H<4tBf=93U-^e%ed^e`Gz7~ZHa9XvL6A-Q_==YY-XW-c8yz=8|ftGk! z3Fs>)x=y9Ci=8POI_kb%$B4FH018#c?u1dm1S_Qaj>AhN#J5F>apt@qeZb?V6P5e= zQo+uSLJXWxk{o~KXTB~@I1LL&l8CGOA^_FC8~^>iK))9OyQn&h$XSEo=ZLcOG5a&d zTw;lupDTkC1eQ6Ug|BR!XvZHaV|bEtAse5z?ofCoaU>L%>&N|a>5TShzlCf6?xX)u z%7Etwb8X3$;e0Y<$O?APw8U#@5Ib(x4^3JAetzk6Tf9q)=P`R>hMdOV9({6e40lqw z^2FY}z#&W?S)k(Xo++2@p<}Wslokvhn=#9_23(ugTk@riZ`^hB0|= ze}tR`bM=B@;WS`LuGbA?4c(dqSroH92pK`=8_h*m1ad%vv0;);#V~{9~mb|4nlF{wt3N0Q!B^wh(YHy~#qTSe#+81(6Gr$a5=r7$f zs4d=P=a-XAlruAiO>QS5vf#s&--G#g4gZk?^h+yzDAY3RrW6*mDITA_e;A>EA?ON+ z+v}>U%UVj)97&|=wQF|b{D+Ha_Q^qJdh|zT77$CQbSmR`EKsrQD|6SZ(Bo?_MEJa{ zE-}fvdseuyMRFkI35}0W(u&{mzbOG~RD;WgBp@a9UQi-^5D!#jiamF$2sGZFL5Z<# zj58oWxWD(Gh!UlY1Lha0+94D*cu@f~F@F_qvcyjsOdz%@HwAAGR$Mv8j-dgA0OZobzy@#me-}z zn^m*hU}h8n3f^*L#f}|khdh5@Aj?@4=@$`D>wT3p5hY}@4(AM%($hD2$Y#OPUdBZ9 zGt;sW?rsCwB<0n}>I|c)4zutB~gli3)8FrbDdS=O~iIoeFIx``rl#_dd!aJ8olu!xHmtrw;hfqtkketR0ELXf=6hShFQ#4t&StL?`B>*(6! zncn~ZXHABLO6O3s={qNMb*ruivOD4KFa^yszgc)*)O-`rM+T6O(%p7K^L`8Iw zNw%qM!g0xMHCl7Y{kCT3_wM(v$HU{}^Y(ea->=v6^}MV?8Q8f9@J1l{scslH*5S}E zzu@HKpJgY4D7k`vWLr}Vh64T=yrpEED4=bkVAuvuVa9sN8{NNH;&kPY{I~k&nzz$$ zU-m62#!226M7dy)ejdZ^>`;)FQU5H{Z^<`KfhCeh$cIlc#0as@k$F>udM#uQ2tLv( zO?BReiENM?BRwBd($N5f#s<{V`0X#@|JO&M6*XE6D|BudpuKYS!O#sJ~R%;O^p zx$w5+gYTcpzA+=T$xv9irlI{R^p(;!t!|J+o-3t}GtIRjGVKLrlLz*2X%1-CRMr5hH^` zWivY)$K8}Wl>twgqi1W5=oQd`J=#ivnVTz@a5ImgNsz{GtoT zeY$>;qN``4Yl*YOYKkhb>+fTmtOsTjRE$)@oj#EkoE`kV%H%;tuNfKL*5iCQD z!N57-w&c8ICtHb5Brfn*uO`V^k-&7r$6Xkcs`TGwbp&V0Fu272mgy&i;jpL|arp1S z?70WlFx^}v);)qTRj8rJ1OzdZLw^M)2<`ipLDU?lzHx%>n~|dvY)7e^LkH5>38ki^ z6luAZVyK8FDMf_71T*0C!$mZpay0GVZ-bv9A1}w22Fjyff^Yt>;Zbp2Y#{aT>~6J7rbsV_7T*>gsR*y)^6308n^76O;G)%`tUXqAg43Y6}D7HETrBf7lu zI3M8phY^-_&Wg^C-bB#=!G^3T@-76fE^u>Li_`^_k$~=dIm*tk!3W%DtqvhM{)RD6 zzYl1hT`%da-CmoZH`~{BYv1*qb)hKZ3uKU#Vyu64M={+Jai?_)BHRRyDM!vPYVs!Y za<4mQfKJX5q)8-mAVgJ}6LWST^vb84!*Rl{^g0pTW;&oeEltp|D^FG%C?)O75?1js$&m!*CgmZ{o(7eSBVWRAj#>aC(H>}Pnu z^+iX=yy)PVhcrMJlljYJ*R7`d-Po~aoV!p*-VK18i$6iT&D>6VYo}UIZn%rFGkUNF zV?>G!%SxF6R;iE_2fnd(=CX9egM_KKUEjRnP1>PTgqYQ~&p-)!*WEJFBh-AoZNX)Y zsk9ziRVcuTWD(p?g~0p95M*3Ia=v9ha5S-MF&X|wbw6&A1IlOgj1{bRoa{g;8gW~! zBDBnvbZ2U50g{tpq^x~j5@FlI)mk*B^suNdNYE>kQ{B($r?e$AfO-nXodvUObEWct z#BMqp-RzP}-(k?&^y zI_cvR;?x&oB8{@6PB7T$r4zZep14IW!pM;#Dhr2_Grd-*o`fXu6Zg-* zbB^e&d3a*ozB^JpOn`b-pbN?5%4T$t++DYrF2gCM9R&vdv$-Va21$m*o45^fg6s>t z?K{R?BuOjb;FBC~hiTIc3b*}wQm>cf0upm7I{+k5WA=Of%eu~}k>}5H-*JxgOX+rL z^b@y?9wJP{xUs%v-{9bxWQuE|Xh{z{90E*)yk%QyusLoVFUkWiAF4flr1xSY0VkH@ zRH_qK>4VA0_d*)a>f>d6!f+ga<4SKNvu@PBh(G_2%-$g%J?xY0W33ZlC?`P~IS56o zSvX{7ohlt82~%f>YH+vBL-py9K&0@}2BWeuUygSY&n$7QixmYxPiQN_-h20TI0TV@ zLrWXv?$D%Lq+amWW4IP|xecXF6E}6Os?M+4NLNU*#G;FN5S2YA2VRF@OW78Zacboo zgJi=udAqr$DviSkWaOCv3>j{5Y3xJkZpo+F>)I9-#0rn+G^w5^#g%{JNEr<`WLWPMP-&$ zp|7Z0NdkS;T2sa6VHDLXBwa&shvUxy86RkRVbqo=Hy4KA{>4?dpZ9-juM@HIUx{C@ zatUE_KVAPLdy~yDCf-!w%#H(%*j*60zOK_ZN<1d*c6jhNenLXqL~1J2{(l$8J*e3+ z>BEJxNk!&?Yg@(@;l3X5bgAc`eUk+dI6#6U5O5Q|J?+L1ce;Cgp=NqJAq%`VjCqdu zA5^{1?byl!C1P6w)V69E=*zjKlS4dH6Qze*sS|VysFV%irkXtD*G4g>mS;QUH z(AK-1hcEf8x`>-x(u*c5y`elyljAd)2-Mj5$L8l)sRA;aqu_}nVzlkdGFwT=z`9uP9yrbcjv`g z^fPV<5+or1x@+`a^$+H2U&EGi1?q4ZBq9qk$bK!$u8whly=Y#15^I4(A~Tk0;NSc@ zG69G72J5Q-Jn#WbWFoX$2E*_^III2o;{kVk3{?Q6uG=06SKnlE*D=6-0honPWUzr5 zCJyfx<9WdaVo7dhUq_gl5WZ!ozaaM}BJgt6Df-43SL#ZHL5I**L^7P`+wSa~fyq0R zUgjVoi*u_LLYPc4rrq=qh#0)0sAHBVHi2^LBODj7C{aQ14m$MW!6*Ah2{<{yRTSlh z|I9v|{WNedY#8_+6R$hW%`cd&gukQ{p4`|udpA@zMQ)o@la>2!m?3tK;xOvZCGc|j zP=RAu&5y7i5t7nvoG(jf6hP9CU#vZTB3Y)lC49b0zciz^wu!-7I&i0e^nG3lAnsvG z#%}@_RhqH94&{RAFlpWcq)_;n)CTFuZ-PMe;7S$5>rcWBgY9xnAJRJquM30M)`F=E z@&x_I+9;=U#WC8++2cg%N7DA}=lmLn8NhEO>8){H9=4e`vqG3vQ9RP=i7LO|+_yfM zCU}eV_^Yhf3I?Y?zF2%p@^7G(%+Q4;$bfwEkKRw~`1XRIL5!&{BJ zjku)=P&i)vwq|!zvqms5f|B(?2(u?5C|_+ovI%o(8O<)&viVd{I%gu7H~@tx=gZ~* z9LNuymbkk4xhSUOeDFzzG3z6y-%N>7c5rzH>!1facxs4W;gCa)_U;UX78G1H7~DUf zsT=sLJs}V^G(5&;@d6X{l`ll$UEwv0%*(o`up&b8(I<)2Uo(Df z|0mrz=|0?RSpPB2nLvCH5oiFNCv=;-B-9KruUQk@OTk5(TJay0*2xauV2uT~SN|#} z|0gm%7ks&7$GaG4v6y$o$Vq&s^p5^9NCCx$KVO3ic1E2^g;iT>o}s5oi3am8^y|xr zW8k&)=C|I!E?kQD6`jsVuT#N*i2sp$mT<;%^l}N+elKJO@(SkfKHZD2JCE;T{us}p zGEYX2+GY|z2A%Q$I1!6b&k+HD5mb0KJ~~OKU@&~-8WUdJPi*R*;a|bnEg!r2PWb8e zQ+PM3@bTDhJ^r(>sl|Zf&lc!1=1I(d&`G}Gr2>IwyUTbeKJ8ZJ!G2da5W)_qkq7Ml zcUJ$+bEY=gZ(`ETehumbFj$H&nha2sFH7f*-%ri{j&YhGR4LSs(?NU{v!qCQAjkjH zwbJZYu3!}?>7yy2QFE$#gnzLF|6Mv%tsMMCg9de55a3&0OsQD+HXy|ew0q>~N*B#w zd(y#szo$C4mjK{4pe8!$Ok&yo{kQle%Cn#KVRPbz^0ODSKQ~NO&eP8!s*!QCo8f(Y zP-hcA9zTN{{-9cKfj@_n10qa!rDxsC>gpVar*(h-koRfNxyGpewD{mSNlFZ@vbKBU z&ucJmSxpn+kI{BLjK#cR)&pz9rh!Q0jT%c(GWxsCm{k6z>281P_<$Gc8T#l-?ly$) z>HTM2g%fW+4D?Cf{JfEQIMyja)xHMP`X2`AQvX)02P(?s=h1nj|DEc zH2jA?YW95T-c(i?u{)PaJEKnzi+psKjaqVO?y4?FZaaM=Qbb?{A!x;XHns*m|p>Xo*~>&!E^mDQ2Nsh^0#tE*WAv|)S}?#%JZTeMd<8L9a6W6jgQ;}EO=iJ^>B*yza4D-L9IK@P@T61a}Re8KWsC*{FH-d$>% z2>aIc*EDO8c7P9bAU}RwsN@87L#Ui}D|R%&yfTR0@v186v%k9VdF>4-q?=%?q5k5Y z{@(Q8fPD$~*0qerILX35C0MXZl+S{l;r*Hxw;3L4m6v6Jz|OBE>jf{R-p^i~NE-Y0 zipHN)pJ_kUd4Fe_QUCE{zgde~EbiW?il_%g_mq#HSvX!SWvaK8ikn$nk;VJqNBHsc z&Rq|?I?<{xNkUrh|8MB~GT8@3rRr4-ZIYdQw2T}d9cGep`?73b!e_TNxnF>B^z)qz&;hsAW0|b1Zg!y~|zy?)CJ%bgAtJe4U!mMak-VI@eEYs=%BlbS*c1kg3G( zD{dn}S5}^u?)4mfa(v0CNPgt(*NIA>ma|l2B|9pU)HG}MWeo-_^R+PXVCdtKO!`j> zCY2F}{5E6gNnSdd+_ZgtS2|t%`qF2d3c_j*f0;S03N=vf<%Ml7Zak9jf@r%yEqYU0 z(@Yh42eT{P2SMb(SrA1x=MyxiIp2i_v3du zk$z&loDzlM)N zqa&^XedZgQ*tFeB)zNZoM3#&6<76Le#FId2g@v9UO)?Q3KYa#SE8j1wRd|e3nM)3t zFc(E#sdF_fm#*tTCvLJ*6AO_lKbV!&_=U#d)+f5Lfqfrur=?>5oK!)|s5BlC{Q0~r z>GN$-_cRX~uQ@LFIzgFOdJkG&?^s)x1zf4dmHs2(w6_RKg@n}drZLhQMi^$U6!>$5 zlq)&CrJ#N1{&EG8#& z4S+TB;ZmSHtOU?}Uc5|G4apESNLZV18gb<`R-VhI7C_h%uH2aNA(u%}e}U$uyzdN_ zMP5ruvF1E20Ez%l3yAJE{yJ~~F-BTz98A|mM0}xiWm=h}9ina1Rj92>SEU^agELmF zV+gb@9^!c}L?s9RlI1QQ%P0t|K@>Yc^-8xO%5r zir@mt(rhW}A5P3MtcfMw2ktIhYrfIyASV?hlqwGNUN{PO?u6+2An?FGo$lVEs4;Uy z^T8|Kz20(a*X#A(Y1RJP@eUdM8vHOa3{?kq2tXHK(G5Ba$s}ts?u*kwW+#;2D4pjG zWO&BD^M({$q_6mH#pT{x$=R&o0}vc5v{wRumqEgBCcy38SKd(pZ8hYXInH{+_M)CY zvPp>}oNjJ>_-!Mb2Ff92h2p`9gDOh_Bqg z+@5L=oV4b+AV-Lh#055#T7+JYkNf6iVI7qY8I{;l9x7jb2i7Y)>DC!m)NTCNIkbeq z;j?(qG>9N6okEzJIns#J+%Qv!0<2my1JgpfXZbN3DrsHpd;MYPLKtbD57`6lCaAV$ zA>T7wN6WQnKcj!fujA0NMI#4D)Qb>1Y%`76lo>lbOlbkdB?vX$hYZnk*RQBvk-7V+ z!sc4>u0IEJUIGy0e+7m}1!_n!Sb9X5yxs+b5AL4c81A*%;>OM!mOH4O^JCrM8DnkU z@5O+~SJb5R+Id4kyh#IfWL*}R#7oZn+G19>ZAvg43lqIGtXQ1^#oBjt%*uy4JCl^E z_6y{FG<+^7D~IDvRUQ7Skp6X=#81~BITuMvELbBFBJe+sz|W)eztbl#zAUQP!wRbY zixEHJ(xC z4-T0tWg5CGgKI`zVx6|?+QD`Nq9c8+^)6(iLO z+iGqM`G?BRfjz0H3~5un&*(vOxgmH^{6bs65Y@O)2T%D>$V@G_u@!vIft)YpSTzc; zV;zG`!;c5XgkU6?oEF#yCfKam=3R~{bB(PwMxk@fRx5;XGu%o9NoWO`U;#uElxx;d zWXxsxxjF))6eG^i8+uAC;H?cW5_s0r(dZa9}wEJin;3@X?P#IiMG#qihwvfJI_te z?VMFB4YBa~W@}NTegg7S?t_$~WG(#KA?x6hTu%LC5GKDF$QcondWfKxbtPKmk*g53 zXisfm=FP;)GF0v8G;K#sUWvtq7LkRVA3dfncRl=2pp~o#dBsp0g%P2agqW0^TT3NSyHfe)y&f*-H_K|jk zOZt35Ww~@R6bcwPg>EmM+L1;cnB}$@T`|1J2j0_MyQTp|2-t#Q`7W%w6?i39LFNJh z#G&?;D=N9Dye5GYW!Z3qWcn&Shvo={3vfI+B71)}L*8dRXv?N~23z4|GfwcqEVfZH z&C!<-Ljj44wmFAgljNC@7yTH#`+>Eq{RD`^siia{6F$=o630QZXCnc0&Jz0;RCVcv zFIc4y%8w)yrhxZIRIUwl+9L7+A zQKnKqSmOPgwFMof()$IV)#XQl$FCJ^LcDw~(nOz{T{K$|{YFjX>6x|{wX&5= z{&XpqE%4AgP|zt3Ic`D|0YmOC~MK(O#r6mse>4y88^`$6-aXHJY z`!M7ChXY`7v#Qkc%dfV6J6iwHE~5RzZ_&HillJ8;5FPSk&vvJ$AE{a6bj@?xJR9ne zZ|(=jMxgv3b}VGRfm3s@gS|MpU*eRUps9vkiw;W)qnW*n5tf5u3mqc_c+g85GwNL9 zyxjPYijlG>yNe&C)CCN^*}lQ*!% zvb&Pc!L`DFUVZ3EW!&bahsadgBqRP_azb7KRl2+Ar`NL~aXG;o(gm;R#ES52aM;}Y z{_7QH|3TvNNPX;F-|f7dGhhCf{k3ODRm;{RCQk)HHstb^>xj(rh1rE0+qo-Rrm!EXE zB<<|)wiDjJW1$Cbt&b$BOF)zPRMNtKkU6MWbYv9q7(jUb1$PM7^xf&I)0Ykv%8!Yj z1ec*7>m)A6{1UCeq2|}V*p$;R6z)749vt&FnvwGD=&=h)TFJC*P4dBUqJI0j{JY13 z2Hu`o`+V7F{owgb<41HXJVq2$pE|a8k@T;Y)BT!DVdzGOgY=atoggAcJ;oc>z;Pm% z4uGuKK+#Xk0hPnUID>K)4 zV_?!fRO@)%#B*kybIq0E(a@YN|B8@*?yOIxIgZmIL$EjT2j?}_t22Ml4zK1#Y`OL3 zZkk5|0zkH>-Cem5}AuhKeoc3NhxAoqgQQHk`d$Tun`Ti0GgF^pQW+kt5 literal 0 HcmV?d00001 From 35eb83c67eae6562420ec88a8ba58b295a5b426d Mon Sep 17 00:00:00 2001 From: randypx Date: Mon, 2 Apr 2018 15:35:32 +0800 Subject: [PATCH 235/288] Fixed bug where command success feedback for delete showed null when deleting a student --- .../java/seedu/address/logic/commands/DeleteCommand.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/DeleteCommand.java b/src/main/java/seedu/address/logic/commands/DeleteCommand.java index e1182e32df6e..eebf55eabadd 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteCommand.java +++ b/src/main/java/seedu/address/logic/commands/DeleteCommand.java @@ -23,6 +23,7 @@ public class DeleteCommand extends UndoableCommand { + "Example: " + COMMAND_WORD + " 1"; public static final String MESSAGE_DELETE_PERSON_SUCCESS = "Deleted Person: %1$s"; + public static final String MESSAGE_DELETE_STUDENT_SUCCESS = "Deleted Student: %1$s"; private final Index targetIndex; @@ -39,20 +40,20 @@ public CommandResult executeUndoableCommand() { if (personToDelete != null && studentToDelete == null) { try { model.deletePerson(personToDelete); + return new CommandResult(String.format(MESSAGE_DELETE_PERSON_SUCCESS, personToDelete)); } catch (PersonNotFoundException pnfe) { throw new AssertionError("The target person cannot be missing"); } } else if (personToDelete == null && studentToDelete != null) { try { model.deleteStudent(studentToDelete); + return new CommandResult(String.format(MESSAGE_DELETE_STUDENT_SUCCESS, studentToDelete)); } catch (PersonNotFoundException pnfe) { throw new AssertionError("The target student cannot be missing"); } } else { throw new NullPointerException(); } - - return new CommandResult(String.format(MESSAGE_DELETE_PERSON_SUCCESS, personToDelete)); } @Override From 3103fd013d3077dee9240ce9760b56812489274f Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Mon, 2 Apr 2018 18:54:08 +0800 Subject: [PATCH 236/288] User Guide Update --- docs/UserGuide.adoc | 197 +++++++++++++++++++++-------- docs/images/StartupUI.jpg | Bin 0 -> 265068 bytes docs/images/appointmentAdded.jpg | Bin 0 -> 309118 bytes docs/images/appointmentRemoved.jpg | Bin 0 -> 265554 bytes docs/images/calendarDay.jpg | Bin 0 -> 326220 bytes docs/images/calendarMonth.jpg | Bin 0 -> 275358 bytes docs/images/calendarWeek.jpg | Bin 0 -> 329673 bytes docs/images/commandbox.jpg | Bin 0 -> 285857 bytes docs/images/themeDark.jpg | Bin 0 -> 259166 bytes docs/images/themeGalaxy.jpg | Bin 0 -> 379892 bytes 10 files changed, 145 insertions(+), 52 deletions(-) create mode 100644 docs/images/StartupUI.jpg create mode 100644 docs/images/appointmentAdded.jpg create mode 100644 docs/images/appointmentRemoved.jpg create mode 100644 docs/images/calendarDay.jpg create mode 100644 docs/images/calendarMonth.jpg create mode 100644 docs/images/calendarWeek.jpg create mode 100644 docs/images/commandbox.jpg create mode 100644 docs/images/themeDark.jpg create mode 100644 docs/images/themeGalaxy.jpg diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index b1278d21a8f8..8ac78f476f15 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -32,17 +32,23 @@ You can download the latest Java version link:https://java.com/en/download/[here . Copy the file to the folder you want to use as the home folder for your TeachConnect. . Double-click the file to start the app. The GUI should appear in a few seconds. + -image::UI_modified.png[width="790"] +image::StartupUI.jpg[width="800"] + Figure 1: Successful start up UI with Light Theme selected + . Type the command in the command box and press kbd:[Enter] to execute it. + e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. ++ +image::commandbox.jpg[width="800"] + Figure 2: Position of the command box ++ + . Some example commands you can try: -* *`list`* : lists all contacts -* **`add`**`n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` : adds a contact named `John Doe`. -* **`delete`**`3` : deletes the 3rd contact shown in the current list -* *`exit`* : exits the app +|`list contact`* : lists all contacts +|*`add`**`n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` : adds a contact named `John Doe`. +|*`delete`**`3` : deletes the 3rd contact shown in the current list +|`exit`* : exits the app . Refer to <> for details of each command. @@ -61,6 +67,7 @@ e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. === Viewing mannual : `help` +Accesses the User Guide for TeachConnect. + Format: `help` === Adding a contact: `add` @@ -81,7 +88,7 @@ Examples: Adding a default contact: `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` t/friend + Adding a student contact: `add student n/Betsy Crowe e/betsycrowe@example.com a/Centre Street, block 238, #02-02` -=== Forming a class `[coming in v1.3]` +=== Forming a class `[coming in v1.5]` Forms a class of students for a specified subject and time period. + Format: `form subj/SUBJECT s/START_DATE e/END_DATE i/INDEX...` @@ -97,15 +104,15 @@ Format: `form subj/SUBJECT s/START_DATE e/END_DATE i/INDEX...` Examples: -* `list` + +* `list student` + `form 1,2,5 subj/English s/18-01-2018 e/17-07-2019` + Forms an English class containing the first, second and fifth contact in the list that starts in 18 Jan 2018 to 17 July 2019. -=== Setting up an appointment : `set appointment` `[coming in v1.3]` +=== Setting up an appointment : `set_appointment` `[since v1.3]` Sets an appointment with the specified contact. + -Format: `set appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX` +Format: `set_appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX` **** * This sets an appointment with `TITLE`, from `START_DATE` at `START_TIME` to `END_DATE` at `END_TIME`, with contact at the specified `INDEX`. @@ -113,17 +120,22 @@ Format: `set appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/I * The index *must be a positive integer* `1, 2, 3, ...`. * `START_DATE` and `END_DATE` must be in the format `DD-MM-YYYY`. * `START_TIME` and `END_TIME` must be in the 24-hr format: HH:MM. +* The new appointment will be listed on both the appointment list and the TeachConnect Calendar. **** Examples: -* `set appointment t/Meet parent s/05-04-2018 10:00 e/05-04-2018 11:00 i/3` + +* `set_appointment t/Tutoring session s/02-04-2018 19:00 e/02-04-2018 20:00` + Sets an appointment on April 5th, 2018, 10am with the 3rd contact in the list. ++ +image::appointmentAdded.jpg[width="800"] + Figure 3: Appointment added successfully example ++ -=== Setting a task : `set task` `[coming in v1.3]` +=== Setting a task : `set_task` `[since v1.3]` Sets a task to be done by a deadline + -Format: `set task t/TITLE e/END_DATE END_TIME` +Format: `set_task t/TITLE e/END_DATE END_TIME` **** * Task with `TITLE` which needs to completed before `END_DATE` at `END_TIME` is added. @@ -133,25 +145,94 @@ Format: `set task t/TITLE e/END_DATE END_TIME` Examples: -* `set task t/Mark papers e/05-04-2018 10:00` + +* `set_task t/Mark papers e/05-04-2018 10:00` + Sets a task which needs to be completed before April 5th, 2018, 10am. -=== Changing GUI theme : `theme` `[coming in v1.4]` +=== Removing an appointment or a task: `remove` `[since v1.4]` + +Removes an appointment or a task by the index number used from their respective listing + +Format: `remove EVENT_TYPE INDEX` + +**** +* `EVENT_TYPE` can be either `appointment` or `task`. +* The index *must be a positive integer* `1, 2, 3, ...`. +**** + +Examples: + +* `list appointment` + +`remove appointment 2` + +Removes the appointment with the index 2 in the appointment list. ++ +image::appointmentRemoved.jpg[width="800"] + Figure 4: Remove command usage example ++ + -Changes the theme of the GUI + +=== Changing GUI theme : `theme` `[since in v1.4]` + +Changes the theme of the GUI. + Format: `theme THEME_NAME` **** * This changes the theme of the GUI to `THEME_NAME`. +* `THEME_NAME` can be `dark`, `light` or `galaxy`. + +**** +Examples: + +* `theme dark` + +Changes the theme of TeachConnect to Dark Theme. ++ +image::themeDark.jpg[width="800"] + Figure 5: GUI with Dark Theme ++ +* `theme galaxy` + +Changes the theme of TeachConnect to Galaxy Theme. ++ +image::themeGalaxy.jpg[width="800"] + Figure 5: GUI with Galaxy Theme ++ + + +=== Switching Calendar Viewmode : `calendar` `[since in v1.4]` + +Switches the Calendar view mode. + +Format: `calendar VIEW_MODE` + **** +* This changes the view mode of the TeachConnect Calendar. +* `VIEW_MODE` can be `d`, `w` or `m`, which are respective short forms for day, week and month. +**** +Examples: -=== Listing all contacts/tasks/appointments/students/themes : `list` +* `calendar d` + +Changes the view mode of TeachConnect Calendar to Day View. ++ +image::calendarDay.jpg[width="800"] + Figure 7: Calendar Day View ++ +* `calendar w` + +Changes the view mode of TeachConnect Calendar to Week View. ++ +image::calendarWeek.jpg[width="800"] + Figure 8: Calendar Week View ++ +* `calendar m` + +Changes the view mode of TeachConnect Calendar to Month View. ++ +image::calendarMonth.jpg[width="800"] + Figure 9: Calendar Month View ++ + + +=== Listing all contacts/tasks/appointments/students : `list` Shows a list of all of the specified `TYPE`. + Format: `list TYPE`. **** -* `TYPE` can be of the following: `contacts`, `students`, `guardians`, `tasks`, `appointments`. +* `TYPE` can be of the following: `contact`, `student`, `tasks`, `appointments`. * `TYPE` cannot be empty. **** @@ -161,8 +242,7 @@ Examples: * List all tasks: `list tasks` -=== Editing a contact : `edit` [will be updated by v1.4] - +=== Editing a contact : `edit` Edits an existing contact. + @@ -185,7 +265,7 @@ Edits the phone number and email address of the 1st contact to be `91234567` and * `edit 2 n/Betsy Crower t/` + Edits the name of the 2nd contact to be `Betsy Crower` and clears all existing tags. -=== Locating contacts by name: `find` [will be updated by v1.3] +=== Locating contacts by name: `find` Finds contacts whose names contain any of the given keywords. + Format: `find KEYWORD [MORE_KEYWORDS]` @@ -237,7 +317,7 @@ Selects the contact identified by the index number used in the last contact list Format: `select INDEX` **** -* Contact specified by `INDEX` is selected and is searched for in a Google search page. +* Contact specified by `INDEX` is selected. * The index refers to the index number shown in the most recent listing. * The index *must be a positive integer* `1, 2, 3, ...`. **** @@ -359,8 +439,8 @@ Exporting contacts : `export n/StudentsFile2 r/1,10 t/students p/./data` === Upcoming features `[coming soon]` -* Clear distinction between students and parents [coming in v1.3] -* Finding not only by name but by any field [coming in v1.3] +* Clear distinction between students and parents [since v1.3] +* Finding not only by name but by any field [since v1.3] * Shortcuts and Autocompletion [coming in v1.4] * A login feature [coming in v1.5] * Dynamic search [coming in v2.0] @@ -377,33 +457,46 @@ Exporting contacts : `export n/StudentsFile2 r/1,10 t/students p/./data` == Command Summary +TeachConnect Command List: + +[width="59%",cols="22%,<30%,<30%",options="header",] +|======================================================================= +|Command |Format |Example + +|*Add*|`add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...`|`add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague` + +|*Clear*|`clear`|`clear` + +|*Delete*|`delete INDEX`|`delete 3` + +|*Edit*|`edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]...`|`edit 2 n/James Lee e/jameslee@example.com` + +|*Find*|`find KEYWORD [MORE_KEYWORDS]` | `find James Jake` + +|*List*|`list TYPE` | `list students`, `list tasks` + +|*Help*|`help`|`help` + +|*Select Contact*|`select INDEX` |`select 2` + +|*Set Appointment*|`set_appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX`|`set_appointment t/Meet parent s/05-04-2018 10:00 e/05-04-2018 11:00 i/3` + +|*Set Task*|`set_task t/TITLE e/END_DATE END_TIME` |`set_task t/Mark papers d/05-04-2018 10:00` + +|*Remove*|`remove EVENT_TYPE INDEX` | `remove task 3` + +|*Change GUI theme*|`theme THEME_NAME` | `theme dark` + +|*Change Calendar View mode*|`calendar VIEW_MODE` | `calendar d` + +|*Change GUI theme*|`theme THEME_NAME` | `theme dark` + +|*Import TeachConnect File*|`import` | `import ./data/samplefile.xml` + +|*Export*|`export n/NAME r/RANGE t/TAG p/PATH` | `export n/samplefile.xml r/all t/friends p/.data` + +|*History*|`history`|`history` + +|*Undo*|`undo`|`undo` -* *Add* `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` + -e.g. `add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague` -* *Clear* : `clear` -* *Delete* : `delete INDEX` + -e.g. `delete 3` -* *Edit* : `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]...` + -e.g. `edit 2 n/James Lee e/jameslee@example.com` -* *Find* : `find KEYWORD [MORE_KEYWORDS]` + -e.g. `find James Jake` -* *List* : `list TYPE` + -e.g. `list students`, `list tasks` -* *Help* : `help` -* *Select* : `select INDEX` + -e.g.`select 2` -* *Add Appointment* `set appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX` + -e.g. `set appointment t/Meet parent s/05-04-2018 10:00 e/05-04-2018 11:00 i/3` -* *Add Task* `set task t/TITLE e/END_DATE END_TIME` + -e.g. `set task t/Mark papers d/05-04-2018 10:00` -* *Delete Schedule* : `delete schedule INDEX` + -e.g. `delete schedule 3` -* *Change GUI theme* : `theme THEME_NAME` + -e.g. `theme DARK` -* *Import TeachConnect File* : `import` + -e.g. `import ./data/samplefile.xml` -* *Export* : `export n/NAME r/RANGE t/TAG p/PATH` + -e.g. `export n/samplefile.xml r/all t/friends p/.data` -* *History* : `history` -* *Undo* : `undo` -* *Redo* : `redo` +|*Redo*|`redo`|`redo` diff --git a/docs/images/StartupUI.jpg b/docs/images/StartupUI.jpg new file mode 100644 index 0000000000000000000000000000000000000000..90daa1cb3c49f752d0d7a341697de7a339588922 GIT binary patch literal 265068 zcmeFa2UwHevNswk@C3J6l8A|PFQ3yBKSqzDKoQUs()iFB!v zE+EngMF^pH5=wX>?Y{1F_TK;foqL|=yWhF@KHs_57Zwomu9Y>DSu?+xwPr#arAorjP>~Mzkd(%yZi56;5REH1LN;I{;yrMZxD9IBT5X<=?+02VmRl{dHF?LCZq6;(k3p$e!R$)#~v@4n7Mg)Pw|PK7rP)XAt$e(sB~5N z<}D3Pt=rl-QKQxpSPm{DP75 zMqFlT6O-^2Lp;}GkA7xu5jmVF;Wuf2qwIfLLSf6_G$VWm3+zIk-)5GaI_ zLivbxLxmvAP_5EpEzlEWryM^6!;zi+O39muwsU^jal%*O4=>4V1rG@yn2ORMY=M;b z(4{IrHX4ME200j>BE#^#EzsbIna$S-#j1fs=ZXsDq=JHL)j~Gq)vVo|*9y++Ua1ibWlCPR5v7-f60m9sj!6 zfDdaCfZ_~V3RKmmC!CHQ9T%$9eZ+BX(0r^%wd{_;TLGphU11?2VYqi3 zG3M*SxBZ@xS`V&UTHW%h_^>=&0wy}CZW z0_CnU37EJ$ZWL89=K_73Dzh|Rwz6Z=7}j{t`Vn5{I?(gc@56nAh;&K7W~SlP`Xd(w zH&#DGQp=vKrCY*Jv+S=!Zb`R^{u*Xhj4DlrvW{-AU{$bYwwNhZG`{+!x+GkIkQ}k| zbuMM^b{|>KHXl3o$+h(R)^*nCa}sqDr4J!?kS)h*2We{>#D@lX<^ujGOi$484~wEf zTzZ3rj(ab8p-+&lfJd2*zRIb!QVIdFkS5`Vw#+^3 zNeo`c>BJ>dpSQ#~j7^qI?9&e?ED@DgBp2AmIjGDeJj*m@jRqm`vD*pF9p9BDy3f1eOmDN5VMFi=^{fj5)eao&>)O(Df~#nOd11~gN?%> z;C^u~3WaR3h3gE`AXS^fuTBP{%eC^}O>aLrCiXVuv)lM_2SWkDXzCwGKis-sy?Fnh!Wvns5hha^?|Fm`1~6?mB0t1AERMwOB07avQ;l- zMM5t8y`dy1d5BZMZ0nn+Q{sTj49}pd{WLMf!bOm}W!$G~bfivom1Sv2_6F6^U(qpI zx+vHq;++37)*C)O$cURwgLq8oAXWecVnRlvL-s@h1@2<8AU|`3IWSrup$%+>m!eE?otk9fCR5cjEQG6VFVT z+Am_)rE#0QKs6Dd6jY$Y%6pw=i*FL$2VLr+QYZHfbGE0PULVq;@=TdBls3)O_Y%c} zcxFw|q{|NDTA)%lvi8?t`Im{|wmtzA%(@9V2E1BNj;Lz#o-O9~7nBxS zW0IXLn0PI3aX)layXwJw_{X>y8U(#md|^CoU~D^RfM{+tITd~5T@;Kh=9y;&sZ=t@~P#25WifRBz<-@y2$)GMuP zPaa%skY!_j@F&ni$nC;kUShEbP6YMa0It!B=!2RCad&Z3)$nChF^nk8`d}67O_pwJn z)~P2F%5=i)o#zV>ZOU93t-TX1L^Fa+xb)13{JIR$Jos)!V=e5mQ{ej&=W|K6VxOW< z$BVmujcZ5PWDKN8$aatEoWv%{fh0Y@SExgSKplGKyItJ8r)Rcbzzv{Uf}3Wu3F&W_*-GvA?nJup-~H+>I(n9UiA3 z-~P)B`=6CRSXJ*0rD>qN=AG7a$1C9SBx6J$mLBTt28ao@8?eF|2|_QZXI4j$jFlgP zWOVQe8iD?w%(S0;PI6&A)9^t>in*$caWaLKvGdi-AYl?G*#+;`(L0vVbbxt5HpO9i z9ZoF!R2fb^t&LLbYjGE-w|;WGznnhtvf|m6i<;L^##xp6Ki&3g5I_yOBLgOns1hw~ zXE(p#88mQraK3X-#UlTn2A44Ng{U!P_c{F@R_^<}{(kOiEzjCM{-(yrj>T8h4&_G6w_2;p;a9Etg5p_;XV^}MuM`!1 z;yQEUI@iWu@g^KigV6H<S{sG%$WSkIWHrorc(*}QK)reJ2i`vN zaqN$DlLv!dG2x2rN#1nv^g-7(AaEKuDYnOyB;?Y3BLs59WX7d3(F%S~w;PIn|jtuMdoC8<~XoU#iF5@j&c` zGLahpf?PlZvxOS>CB8+zlzlqR7UpG2K(?a!D*F6jEpa__(qpgfGkm=jMo99nsy}cT zJiA}DAD1PSpvP+He-qK7t^~NbqB&Hr%!XmmPcOHxS~U*M#ZO!#yk$7D6mKE^#%%P~ zA#OKbe-{z^#OM}F>tf9C+q(>hNJ`XxK7)19>8raIENZ$M!*Z`N1M(CG<0y>+KTpGG z_W80J4XL`}C(*^$P1o`ejru+70d?vH=5ad}UIGvUEonkCFfQjH2CsRR4Mt3{km55C4jRu}jk+u0oMe{EIQai`&X} z(Zt?$(!>WBbZvrL@?6{bz(u9?2c|yrSVVf%Zdtx(ph=Buws((Ras$`Ms$H*DpQ;c+ ztOd;m*EpUzo5lbmaJ8~}z3%9Pmai9yFph5DvwQQs?u+*KZvw~e18FnZ6TlT6z=ks= zis9}sT*EfcabUdlh+^c(V8x4@hwq#9vB&tG9yU1LJF5~qW;4S?XhVfc%fr^xZfT}) z4efC+$dolQIb=sy+xtRnco%AD5FTWwEWkvA*c?ruK|b+to%As=rM@qgaP?Ry=-PF< zRgB+vaKji)Zd|mf2(K>_xvgAY1tB}QY}nL=tLn#}UHU%8KtR1!bs<2T(d_7_XudJ{ zjefY+43rHpeBc!=bGs5hOf1ej#p)o3;b461H*RRfb#v}>?lt~0AGCcjQoA4Ra6Oj{ z#nT`W6;L`SWw|ogsFk1Vp3avq4X-fW@$7Q9BW<;wb*0^T7?6C&(l`yHjP@7C$O}}x7js{RuBYHf)m%aC)#|a zNgD6AGAFsPXSli{N(-4II;Osr?}v4zJwDB(TBc?trUd>vDA<+s+X#_XJ!dm;dDfk* zjQK$Ar>YLuvlo)D#_HBP-5McVIpj_~kDLms>kxl(mEn}cRbEwZ)bU^gK-d>YUp-XM zGuv~s)y>h+jlE~u<ky7e(KQe9ay zw+C*|-M{l3_rf}aZv)OSD|FHiWl>KZ#J}ndmCL`&;@dbRy--(!xD2oJjhENI-I?s8 zHA$DUdLi>hucq=>)YAr_a7=PFNMY5bVuCOPny~UWlHKZZ@T((m3j!9WS)MmW$=1UU z?~=#gPC3eq#akHh2^2MbknZR@u0pWR)3}rMsi-I4G*NuJqZ}6Cw9AY~u~K`gsS=b_ zvj6mCfXrGAS*v6PljO0f4bPOG=y8E|wR(?EXfs5eI2KsUnL{t#of%o6VJs@iZaa{94Sg!a z^He#A26?p!7sVaprXI7V?5fmhmsFZP62-k#TAxq6f8>S0`%#Vx$Z>4}c~tXU|kL8BGpUk!ibZwd94pL$UnLY;UiX{+siWZ)^Qp_rdBN^ zSJYN^4|u%s-}}V^w|0g0capbIx3gjkOK_BG)BSr3G|1n(X_3zb#F7tm_f0?D(;CJ+ zqfQi(^S6fiINKkE@ZE)enq+rQ;q%6fA0j&^6%u_U*^0A(g3Ymp+O{6 zv48IeQuq&Ib|Nnv)NTk(cq0=9-TvA0Ul_p|WaZ2DhYf$&@V900{|h#>0BJOc$V4lY z$O^hl{dz{q5|=#IoNg)>8h&yZa~vR1?Zy62R||~t4m~$c6{JB%%X4XvWhw7pLw9pO z8%66cL+ddD@9($FI6hj-5J^D?s`&nAOHvY6Sh6VdN3Z-*uYat}-;L%UWBUhl{DEG7 z5a?g9>mMNg#~=BpC-X-d{y!}ZVBVY+LnP-t%gxv7BBOxW56fS_V)yOBHYf&;@3l3o zHHTz(B@N=^>y#xVdopIzer_f;vj*0H7`%DA4pf``NYdJfkVVd~UF7hZ?-upKPOW4Q z6z4w)y8F>+3h^lzDp~{+TGSP2kiD_&Rj<0RgN7I?tW7Xk!#|HKqk`TiRMQ}hJwo{U z4H{&z9ZMz21-T}J8Azt3*lr+uUl-n{kyeREfnhxq|8jLZdU!^Uk3oJeUaO}8tr z*8yk{mYs$GoSHu%d3f2I3i@*<9kvOy;kv~v2b9sXs6 zzmg5I4*G|4e>nHwOXeiVp0$%bQM^RYzb*%f$OX6<;YLSmS<%H~#of=?f8L}V^BS(V zKPB0^Mc{R;5bL~e7T4=7@Yyx#R&t`v&3vs!6Sg+a?xP36W`Xt%6>4m2ttq+lo0WlxFqa2N4)ojyzc6Z3GW0;a(D9V& z(tR4F{!kGt0=uPGf0G7z*quS)90vaxCZp;85IqI1!U%*N&srM|avp=cmGM~`F}2< z=d!9ND&rX7I5Y2;%r8uX`0ap}V|XUv4(4Qe9gpu-JF$4DA%sGzpFZ2c0gQ5JwOg{g zUAtzK^z&3UFD^}^4*3SmyJ`Dr5?gh&0R_J{Skd6_a#7m*>d3J51$cGDuXUr2BTt?qD(8l0SmmX(hD9bfT`GnS z;Lt-h1SRPDgBuFvPB8zRF=Uha>K7U$mKV920tU4^|A#o8`G^oGn>U00%c5KU zU2fn&DE<+2Dw8U@{|;8pL;e73!IHSWuoTglx)dDRPG(;L9fl@KEu#-~1$^bx87Si! zfa#o4RoU<59y+E}T7Bw7DG+4|4#eO6?z?q-jiSXt>lcb%sDa&%e$K>UWIdVAg_*Ru&Kei)TtE**u=61HQsP^~8O1K3{oh%YI zok!*p+`RSLbYyoC#_~Q7JzRq5_x2P%(rNc?`Wa*ma(cJO(b(O=!n42WVWxGO_EocX z>G6q)-poB|@Q8unGm|UiTX-_!qM(qArxxG#MMCa}QR;{(fBC#U;!>}EV$NsByGsYQ zZIdnG>+6pla(t8+KQoC?52G(_WLSJau4_}1W@H3hwmiEXZ1yYzS^bgGkF2Z9E0f8W zR_Fa6w{3gsCXLHnRZITavCPv7iwIzAHek^$1`>>_2ITSuPU^nzWGw1%j5)NTFA38h zIy+neTrB=%2AAh39q}o^GQHYkqB5y?cnI!zU}Ps4CE*{Y#}h{>x~S;7RgUI8vnU|R zHqF!K6dR3Yso3P`&9wIOQM-RsslKF+OEB0Sy1e-ENW(a}OUzJxQIp?_C(^wXKkDWJ1W(v-VktAJZgRp(Wj>I{G+G-;&iSWpIw!%@-ha zIH5kK@cz@&i9zGgt;^MX@Xn~#?^lwp^1G*Q2y8JVR)c~+(yJ2;YXD#b=I$n*laLg0 zQgG*1XLF;nMjz?eofu3`cA;|Pm<8U;{{`mqL1XI0#W%ptW zRrL`KQsP7|6r1rSC%ByecattJ(jXf0P7jbBQPABUWa1ODKKNoTGeV@JmNdvxE^74i z-z;4FSA)HL6-PQK|6$T~SVNbhX<(+eW=C_0Dj|Ie#;F`KlsZ$m8JyjWdgAf{%S$RydX9{%+taEjOMbqGj zx6$)}m-fd}?xHTGdtUq0l!El&GcUbJ}~JCQW2u- z9xPgj4LV(&A&5BPH`Fp)XrQdr@fTR0zKSu7QEn-oQ zj}4zCMc(r@oth8>0tDK)2%BWi*Hq@Z9BNx~0WS9Vs2PyZVbrpy%JIEn{&JHBF|=jh93!9F26by?x|6D= z(~YQofr+gpU)$4%QWkin*8WB>|E^LK*aHbzi z8*TCO)^_qmXho>9!o?3f%xv}jW;Qw4W9t(R>zdjW0mBjGXD$h zN{=8Vrf04wJ!BGg)pVjGf&~L!uE0%zAi^=}M$w$)NH4Ke4S1M-Oc(VVYv?8a>zr@& zb-sT}`$`|se|je5>Z9`qP6Klo{Gvk1%FI(uacjLB#6(n1Vo}BTx=<+>K7-6TOJ!cA zL0GG2PQh8G8Ko*^PHDa$l5y2~@AAp@lrbY)ufp+Xi2Ji=%dQ=4&d9XY$uN_Tj=OYbb&V+P@EonlP$zqgv>givIadb6X*bbJx*F6x_qWWbAq2=Ok=}(&+ z78a|fb37-!RWUq<%yLi3hGNfwK$gfvc*|weoaRaU5)NaVv8M)t zJa5O~oJ&eJoJTMw{e%$8G;`xa!^=$_?>t&dmADT2vz}I^^Y<5fky!kSrJNrOk z7td={P34`rg^#hhXlB1nTCG{1Pt|+7sFa*+$E)MD+^KFRDaJ2-ai=Qne&SALY=5-S zgG$2jI47j7s;P--Urt+nzrtLK;@z&Uz?Y0?NW&?3A>e%2b9fLwfvD9777rBC2@&2vObRtP?R$mLU3>s71@Fp-Rt+Rqy6Q(ot8GM z8cnyLw=baDCON1qr$~3m;v-VKP)v?*rsbgr;~5h_%b(Hy9-7NUdlUbr zQ|YE!tMYH{4T?T)B$q@`xz!dTfmJGV1GuOe2^nh=jUZ$Q(Y=Fj&j#g(XS{Kcf^t!v zP({hO_DVb@?EUmipOoxW2XhCS9P71n$cON1s8>5`VkSW8tbiQWTEpH+t}5k5vbWWn zO?!Xl%!fJQbgW|x4xekH`8?l>>_#Lp1Yc3L6HGcEV)ROLz;_%|7ZhLqoAP!PSa8Bp zCK}5`J?9TQ@u-}jo_flrez0Wc`_4q&qoE3yljku_r*9WAu3br?cmmo4s4g&w@4iW} zjyRjFgISxcuYN4s^uXR>kKqg{*nlZEC%iVVcIgKY7DCuplq%I$>UPkW3~Q||2bI(S{2snlkE&qB$zo6f#E7VEfeFz!ob zxkqs7m=Ybjh+toiUlL^OxAUS7DJwOktQ|*P`Hte$jXLr1@Re@C;8S*hUt5Eh&*;t< zs^G%zXH6yzaSh$~4JQL(de|rL4~8`mKFB6HX?+ zt1aV30YcEUCrUpGId&~AU8ILA^?YH&olB^0ws8!VrC~xU2$p(cc<*YjShDlJG=$02Qm=@inQ9W__%7&;Mf;yMZnDiKiKH))cgBqqRcK%vqq zucb_F^T(9Q;J=aq@dqv+Zgx0xFuZM`D7D#uq^dxjCbftdfJHG%UQMw3R+_x_n#t6NNu0u&8%)wa5pDx$MdWmG z2L7%PAKVlOn-vP-152OOAz1;N);rQA(k_b@WA$lWjW!iUVVftP1;0@?r6UOX$8YCW&2$w-ASQr@>v-UESR-)R>&Sz3C9Rs=;#J8tlQxoTy~VU+)0D{7QoxQ zJxv&okh(4ghB$*bF!8DCHFi=YRw?JuUJMsjDA(RIBg((CBZZ!sQ$+;k5su4p0 zax@pZ!-*=9_}EuuYN9yva|p&Y>IzTX);Vx(cVAEW`RQu$+=kCXf@4@kEn3bJL2`6Q zGN2uh%w#WuVuV))+pozUf1EC=3|2JKb26;^qH#w3?8vdH$jzN_JmnyR{+sv6_K$9RVt zg#q6HbBz87#h?epNw!Rw;US;Yy5BF;T~a+AWR1~ih%{)7OlG#}B{R$)WR}zs*YME` z$w7E%I|eg#VSs!#$Kle06~5%KoJ-i{i-dxc*$>x$DfN<$c%N&WbvyDDMc-?ZuO1lG@Z|i0| zkM8NGsa$kWf$b0INvo#Ch9l?!x9P=JgK@Uzl%!-r@{Dh6y;hc7vQI?OuTE9&@Nl!% zSUHx`+YGNwu*82shvkntx{TZ*PySw4m2ZdKbrezVyOez$H@dTbr|)OK|22;CN6h}y3EyVriP34P%HBoKEZR<=Xw5WK z8j|=Z@ci^4>}&#B@ewp~RN!>^iK zc28;Vm>@Rlq~q0@fEs))c*s8XIr2#c>nffeU4e1;r4yL4&~|qdOA5mHF)Ujbf_RO- z`Z`IM+8e(vXipZo^Pz4Q&cL;+nVo6oxP4u8GOc(h3AJ!-@J7ia*QZ3 zDlNiAYs)KZl7_3lZMBy4Rez4Z%tn_ZWYXWJwhlbVSg%^S@hQ8=f3t+VM=mkXij>U9 z--x{M@$i48HAqg|lV7@_SIfYyj&1WD)QgNQrbaL_)J-nTV-rQW2@$|NtqVI*H< zr_~^Ojg5yIlU_eNy-7~QvLHtvgY{;$L<6AfpvD#T1p`K3RAC3o0o$>`=q*z?h(;g1 zHlUnN-1o5s^_m$NH458_Wurkl<-Kwp@^G$ThP;)k)&fCSxRx42!I^$!H|+3B#gg4s;I?y@U@ia1%4pi5=K5lnH_&FFD!C@M4e{|B3gTeu_Moqt_@bH zhYf8!vt)f5BV9?6xb5}5@`KU_yW7cI&+<>75O{N2P5;tVy2DR`S5~7bh=zt=eRF-K zF4S>9#RWSx?~^QD3njA<)JK41P@*F!De5wQY=(GD_+!kjnvn5};>GHWn-_BoZX9xD zR5}xL9TJm>XCQMZ&cu_2e}hIq-Rj(o=O-t=@~59_6CKt|c-vnkt9jTs`ry$n=Cx- zU6UfsjM1fz_;G#LjhIX9yKmx%(gvzyE!5uyWzS@M?aI)^x z_)~`p3^@?< zN_84;g=lO}^$Oe_d}Drl`H^r{O06nC?rXgYPR~~xv!jBEL+$dq3^ml{@}24b{sZwa zj3GvHoeem9{8K-*+33_Kn`5~R0meepR;8sKGumV)uy*e>ItBHzUUb@k-p@e$OMeku zOO3SRsbTAM+EB~6wBli7A0zAfH#Hx{oPb{PiI^U5p;66)N$T3c?wU(nI;%VLVvBfD zTR~l2fRCExieEq~zrJ69YZ~-v(T9b=Zj0r{yai0~x)|jvboyhG`%2jH z*U!4+XS$mM$flk!1D9M!lX4Aj2XEHv-3AwRL_4-?TdzR%k3jKdAI7nz6EK2*KNRef;71Q~nIUj|;!lj~QWA55))%f$b|A!Tsu;Iec{G; zwpCaxx@@u40zH~c{MF~J7BKE)k58%~^0m_I12f&%p@Nxa;k(~T;7)S|Va3uF6gHbz zn2~2@RWRLIkF?~#+~gTF$HB3z0wA!J+ghs6c~?zgfqxQu_tiz0l5;Mda;|ie;v0-- zFilYW12;h2ARK9j1{1-Xz_1@#kNf@1t4aT2RUeIdKn_E!e@J3m zXCB?is7&ve^S`Ja*>mYNU6}QD<6c>HpqT4~YmgAQD8&FY2!)B~2^)2}cSgpON9hxb zy7w~uCm&6zF&@9I7S6Sw2l8B&l3sz10^_^tnW)ugqU-3FQuLJi%lS_NYebm%Wz~G5 z*P!Fffu@7zsX`}d5T^{_9410OgCE;j;+J6*s^`(4(#2xur0bugap-I`&)ewH(@*9+ ztq*}i(*aF+e!|2g0#B$n%iF4iwsFJanC%zxttVaCV?CnJ3T?oVp9~X1-M2M}JuAjy0-lBYLWCFsPQ|6;9*K>1h&uJ~R z^G{5gC(;!wTExYhf$A<;EyKc z`eoyK!`Ihl!c2$HHk8+;aniY;w$|0E8$!JU)I%FH!9gV)V+)W?YN{dvX^q{!$io|I zklHuXV6h1ma2d42wvGcv;48|@%)3}qKz@Q?_iZ5HNo`gRqrPoW=Cezbo*;+!h%9~^ zHI;TT+RaB;A_k^76FM^R_j-Arx_99f%4f}r;H^p*L~BNGLp9||#d!2ICQSVVTy~Hw zl<8pN6L37kS=waShToRAg@?MWC>k*r?+FXXvLolE_OQfzpt;x8KoAT&AJ=^DF775s zvfq33h0|!yU&c*E%Lp%{+h45CgKWC%Qb9QLH^x7vGYH}n6 z6!DkaWc7N2?;6bQv-vGsgJVw5tR`Iy@3<@1t28{fze90KVDb)a^~kuM@!9)IY9?l6 z*==~)traMzGRcz+$lR28)GiHjl6?KO;fJ>JS_=om>v=&1&g+C^+pGIl@21ng!aOrR zqFqsdc-Yz^$pZ1Sb}w`x*0Oel`g8kfGRM-_K$SLzZrh--y9QlTnK4ek1%cO(0cX&T zW&k=`5SQ>7!Sy$10$Ezo71ZIu%$k}&&1=zLY7;80G_Nf$u$hxy&nT{CkksJk@d^bq z1}ETG0GGU{<7#!5lfSfaBxlXYtJCMT*C2E8kYc>CQ#a$=)BaX_u=fk@7i|*zW|)jo z`sFAdeveKITi5$eW5m^heb9|RN`f2I^r0POP6EbVAg0Fb*!a$SR{wl~Ikvp_B!IvM zT=0$FL_Wm=7s6h<)DO&({NXB(nUtc>y|E}!yZo(sI2uueXcxRnNkLrj%d)yTy^%28 z4Le~zUh{7GfN^m1;qxyhlkbLKCd802^9<{8I1*Uloyx2=RExAiDDZvO)|j& zV&7t4@yUdEsqkBPIZH#Za?IVb}c}N`31JsDu%$X zIuy1PI~)Y11@|hwxm@ujagt9n%6Ga@fzHMyXb=bEF!LL1;X|PE^ph3%aw>d%1~R)k z`SWehkX}m8O`riOSco&ynZGv##0jsRYTxVWtMT>TAIJ-xcXfTA$SZfp=&>+2eQ?b_ zTeme)g4gwd#01P>Stw!dLDc5>jBWB{XB$a(Y&pncVSomSq1vY-o0^l{Z;}-Klr#j-lb{+6PSaY% z1JFx>{An5xckI6&)Y^qcW4FXXgAH?{K|ZSa+xjc@&Iot7y#cZ0_w|5tDR3B~JWjQ7GQg$N!e zMTBVRcgGabt%+0XHd`aOQ;On}@pQ+vPJ7KX#*}n<8b!YKQMW%8Qt+x+f(vos73Vz@ z&;Q#$EGWSATkrl6ED~c&y}wYo45Ne2aRh-jEqUKmp99DzD1}klVKP4eG!a}e@pXB~ zQ9&7sfSP|t6Lw#+ksAykwB=D_bas#vbyS^=H1OoIA9}}YcTtD|IadN$P+Pb&4z5aW zt#wm1!I;HK3fr(UFNlJB7y&rt`8fuB`L$^P%ztLn=Tiq%rf|l^* zML+ZnATek*_T@4q)5g=o`)Gewt%cM2W#?qOYCDON7oo;SPqIFz^F|HpNR;|1`-N`} z$$nRgJ(Ym*{u1q!ZD5Sa*w2VCg@TTX3o>e4%KBJCDNy5?J0Kax z9tX?d2K-o4r#un-q?wc3R3;F|u=@KeM!{`8?F)c~4YqSrk|r`PpER*>$rFm-TOd`k zkTdoo8I}1Z&g!Q6sl(ce=c~{+CwhSGQ&BCt3^!6Q3?{dJESg^-A@xRqK`L`UsA#8# zkj_{(hjbBqNYZRO;`EDY-K&!}dM1Z`8AC#z$MCD@p2%}Q5>ttXH46o!t4y1i*h0u> zv&eV*T+)|X&%DqX75NY@RaUxnUt1)Z^~7#(00o^DrD>{PY~aK_Lw=P&nEF51d+(qo z+jm_QM5TjLqzO?$KoC%>)Y#|(iULxDBHe)W77|72O+i4Z(m{ksml`_KJ4g^hg7lUk zgg}b>{eElaob|1<&)R$T+GpnMnePw&B6;(?Pr0AFT=#X!F@zn58{985dR~O|{0&L` zc=V8BFI zk%m%pG!SHY_;7lCIPF4U;2K}2Rnp!Vd>-m69;3H(az)@gn|wBh+RXGL^Y`8xk3LI% zZP|86mS4Kp2?|SP4}~aB)frlgHCeB~0jx&*BgEpnM$|Urk|pgDOu^6+rX3&{ zZ=sX!_tK5ylVmF2^9#xRY{Kt_8yGb}Ni{&V7*uBwqXFXUd{+Pi0=qZxXXF#Jwn3>x z`2D2;*I!a$SG|5~4chzSP%m7*xG(d3Hkyp}Y9($2t3sk4{}eyRZ&iaeyMy(y@T$WE z7`Hn2fbjs7h;*5fQ~6#6E=}+yS}dqem3LR^J`du`CfATlzM=y4#5}!kS zgy)N(+;SzdyK9eOYn$tSn?l63&sY4qTD(yZa}+{jK>*7ipG?dnuq|ki5K1YDaaQNu z1pPXhK25W5rlb(wWH5MGFMFn4exVQOQhfeq;CCfNU@H!P{!U!G!-7KutQuNBJ3n94 zgs^BJg#c-Wa9}5I?H2tcS#%zQyW=H{>-_IPi*+wg<#A^onTU|^`V!acn8gl|M$~tx z#c0eKnq1(@TsMgSSH`We0KXg&iJc1-A0KB8l^>snUaY%&LK0_& zJ|kz8t8*Qa42UsGP|oJ}=CHMj+Xap+4z&zd=Jk2c5FT6FMES|^9wFvW^gp|g@fi@m z^;S94138VBuICFYj!L|G4E2Z{#Q&k=cJPkbE01t3g&A0t1|IC3S?2ciRDK3SV)bw*K%amJUsB@+hsisrI2mj<`*yG1EMUNCI*g2 z_sR$&;&o;wlJ6b17LSsvS6Z8z=C-vWI{rk!{OHcdM<%J3A zx!*6~F;>S?F`}>EcyV$e1B%m3_Jlpex~BSFf9=JEW`gAXVKXxUA)&>ilvF|vgik=4SKWVyI0Ua5)8@B1FX`hAu?W@9 z_7ag$is#3P@^0n#H$0p(+F57}0=-+10FL5QnAap?@e`kja%8&@;`ewM!TV*Bovb@8`e}t2)CW3Cr4~;hod#VjfJQns<-wAj z_NAjM4`wnNf@Zj%{#MbRHjquK3G!%i1AfrAk~BlU3D`EM3SKj z`VOIaKZAm6lTztT^&Um~3^PZ`zh$=1kLhfoegp;snNuTTI%!v`3BMYj%T}oeCixWq zxXntxaxJv=iQPBt00uD@>esw)c7_JKsYcrSt&tNG1Qn57KC5`use~90t;1DRVGCzA zVi9l&zKSH0St!@Dhdj8=3Fb8evdGeKDP;Z59ezzwo9yN!ea)A@Atb3B3KtDBC%!P# zoz0m(KGJJt)KDMj0U3C0@zOC>{>RZXQ$2I=mHCJZ_K7u;6-V}K{fS@e8)1bUmj|yn zfzg#&8}(%&VDTnvL*F&H2+0AVd!Eu#JEU&%x?YU^MrO6wBk-Z_V^)TmCw@k=Qlr!%)$YR118m2w?I7|EQu^UdymKS~ z;|(_4Oo>?9VxXRIRd`ABzsLWFt|+52q4)&KTeAGR<#XvrW*#_7!oA3NFH0w`#~^2x z_j4^pNN1Xzjzp)6k|8A0>ZH}IPq}W@y;-A|(VU zclJeqG?NL(NA#k22;MI;#B*pAs@D?3-?8F3Kv-h^-Ldo0T3TvIodtlUdSQfTuy}7!hLBY z5I&gZqUWsVQevc%(VeZvk+`chCBCtUOBQ77TmH}9dzeXO++SUl&Yo3TnR)LJ)r?A^ z68!<;!IjWyBZC&3)JJO`o43@(sWVcrImK=F-w1zNE)Mx)q*se`Trp8FFj5D9fQ+Qv z9d%PSFRie$&N5~$w9$p~zij|rW3<1_`#xLxAo@XxlmLY2SdQq$t9g~-3`5Qe4FkY;ty3sV_>`I)a zO}DtCN!Do!$ND#su9;D_!)*+HwWn2`G>~sa>eRPoojk`x9=h}>Ec3xe3Eif z@Ci3CKfDXfr6If|$Kqm=ck8nq3Cp@>Qh;eMvEI0;EHseL=Q0eKY88fLyM9dVN{SB- z8Hbvqf$Iss1u&lJ{QxScF`D9X$9i&5^4lc?*G27f%8MtY)(;SMURXTf+n zV0v!L^P%GK6BD$Qfr-212;$jlNL^OLj7++TwcUzs&Xx}XaL2?*eE~QlzRuu;7T3=% zb-{MI#S2z$Narg}SG+uuZ;veZMcgF(QWo%5*R$8B61$@KRIZ5+qP3hDR1=@+Gj?V$5R;d2!TZ z3%dv1sjqx+DdM+->EK-5>%BKueWDT1P2$1qt(RcT*KJ8oQ;(v=W#1CGKsg8Xw@nD{;TCRH0 z*}1@hV7GHPtNCCXg1>_~x(o**&97fT$6_--&G5UFGlw*NNCIL@nvoW*bjTYV2wv2G^UU{jFp3*Ah4i z{<;&f<30tXuxyH3gX*_K@Wz|O7;0v-$>OH;hcCN+flrn9`Z?Og9`?#d^xnK@&poG# z90p>QlQ2>bCnbdRf(*ouaY)gxDpK6taw7jG|`xkz<=mCLjS6T zX)OR4llBjP=x_k<$KM~Lblk2Dnw@O!r1}kln+_4}VBoxBM^FOb)w#|bk^+cg1j4Uk z;&Og(V@D_ge~t37WIkCf?E|8sA@UHuOOhBy;Ei@?rERInt^Dri;G*BEk{?a)rY`5! z`dqphlkwY4`AQF@7Q7lQw}C zy~lCql+hj^ChAJX3j;EvoOWUKXf&%3J^Et*5@Y(E0eNCDZO*%J3o>xC7!ma zG-IHPSTj)y`qpO&R4z()mLI$MUC|#_X{wv4OGGSNhoHAB_Ypl{E{X*SprfZtsRd4ERbTR|0ru_IbzK7EIVb4B2D`ErJbztgH(^ZUC5lokT6(&FK9@$I~hdQ=!YS4L&-^vc2SKxh4A99OER!+R<;Zc%}5HfMR6KH2FX$u2+6OaF2- zrvEaDkqVfhaXM54>PbzBes6&KK}})xq~!6rqXV@Oe%cu7j1oHncd9qS9J}>toMH%tuk~Q0q<MN9!f9`GGM0ku`p2OH z&bs3jT~2o+9HhU#zjo@5q{#>0_NA_86Ed>!GcdCWEun(rna&(mH!FW+A=7Ndr6iXk z%iY|%x4*?4>@O@w=(k^(DTe8iDzPKz*Eoxgc)50~mekhgweJbyc|`AMaJ5Ws^tT+) zMpo9;ZDk?Vr5Lw@auh`v!7cT{z_sbld;sb&v}=ZBJLkV!R3}UEB1IGO7g4Vc*n@2! zVjX{a>3yBG6pt{sA_twb`LFmmG%0A z<_k}aM}6XwLN~ut{9y1av{|?SzTs32^2B;M&b@nN;PTJ7Cv_(gUp0C~R?#hujaMi} z`x=?gk_wr=6-ty<)g?L}Q#xWK%S~?l@8t849&bI3_%066sL1Uhm5>G`fj@K?GIo!* zQ2mWBa=LY+yTCj0M{wtEATb+2NtsutwGj|&>zl(`902at7GF<|kOA*|TjbN`F?$xi zyJQC7lljHS8zcaOayg&_L*xf)2V;GZG$+WOQW`034WS3*Xer5${?KjCQ9d50J^4c? z0@N&LlxSwj1a+EzeH3C#z~>KLUV819|9<(+V#^HihRV5QBSD@7ccBzmiBAEznL8;2 zD4Gvv03tD!Gd?yd|4%Za>b5_0O%DMrVM;>WE=}h~B4Gq*JAGmUP6Rul=qdLJ3~sF# z@O3F=ZdYT^e*2c_lVbN;b=$U^x7>r*3& zB#&4L@}yh`cO)L4Rpcb^A$k)3{;c2>9)#l}YIP8S=cV1E)i{Iq`GC^PX%or_0HceL z_)AIow)m?*bZ`?AP|spB!ROQ77%|W&IRvC>UgB0WALS?!;OqDfo{n3kg#ib45g5|P zWz>HdBN!VEC^wHre?nlAX-XT99#GT506+CQ&=+EH#CSZG36!U8Art}dZ;g5yKOoFZ zWlCqH9)Xv1|2Fy-gBWlX9`btyOkx3c(H}Z1g`8v7G64D~L32(83fNn^`7%C`Rd%;f*=4eSa5=Q&XB=r@RR3h@?EE-*qpH3hiZfOD@ffcW?G0=Vmc z8^8NxN&dfISk8ae^`CY9=e+)NUjMPf|JdQb`vCvkum9YyfAc#2@tgi{hxi}A=^uai zpE&2AIOp$C+CTB@Kk=*JKYr6ce$(IlCet6Z9u%wZzz+|5yjD05ai^+hleu3$GfZ_$ zI~dA?aI&BN{Qj?G*=?9fX03DVzvZ6(>fi9f0@dA{=L33nk9ZdU&>?Gql$Jo)Taait6nUO#mOS>;7b~%%p@Ufk( z5=m3fA-0tXgz{;VYqxEjU7oWo&74S2^7tN&-O$n4vvMVsA=}m->eohloS3sNX}Vl| z;+h6dhuL%Ynb**r{6GgI{0hKaK-KE$9O?mx4BIL_d+%*CC~?MXXv@8!NQaiR7eO`^ z(0A?Bg)Xye4)`*?iV_ezkf3`ulTEonEtCT$I(n1@?#^bJqHtDVX8S^mFApuZZ1E9# zZoa+xRbA5WySj--sC;H#)`#`6vKy+sj;&?IsXLfgYsZP<`$JEO(itskJsUVSrsec` z;idNP?V_UDZlMqLYNxk`TDEIjezM)VZo>bLS@?!1FK*#FwZY1Zduo zOn;%>wJy}Ao{E^7OjH?&&KdmZFfw@G>-Bm%F-z2}e#W=VeN*2&#QJ+u;4`}N#xU9Du*iBP|hvv3Qv@ewG{2HnnM!(uH+t|yrD!#Qkv#8}LEAS62L z;m{haGWqo!e?>i3F7W^Xayj&N&*qwf371&@4B~VRQB;UNJ=(sMD*nu`y_YeJY5R7j zb=7(NR4zx5OHMj!K7_`oe=ft5eLqd#ljY}N?z4{$^glUX)|;L((dKoQd|)HdiH!3O z+{9rLn&qdNpJ#KVkBfcdN>#D*)p~OIh4NDI!}OhX@$^R7Le+<`Dva)78L}NXDED6G z#VpcpzyfPYijA6?!FKsL(AmJGMfAFwcEVIDVJbjX_LrDTeyWp()BA#?CdEPnzsr56 z`~%)wq?0U`ifS}8ahirbb|2&gR__1VONf$t`gp5G( z)}Ug>+~o>Gi=84rn-myN=vKo<7gg=_rIXulX!sWTh4AExXC{pa%kcJ6>_{1G6LlN!v! z^~H8ohL;4_V0pBsqp2Y4Wju(!VNexW6VrGE34yjA+s$Q{X$Q`{2D@9g zJnTN^$iYGA1C!gQMPwXAB1;yAJQXdxp|X|VE7cV_zRUCWcr$I=4H(Ot{zxYUzqc|w zM{}h~N>(`Fa=J=r{Of9domTn?<*jbJtiZ4A`!9bH?;C;~m13b}?X@uqnBW;B zx0Ky`7oT-7|2{bIXseG=O2SF$F;h8J&G zYRckdEwiz*wVp-K>fO9_R%|d&|AqGhZynuM33Shl@^LsEuG0wdbBDHUw`S}Xt(HG9 z+b^4*^c@I^46}C5zWgrt{S%zn3A2{oJ7&$cxD2_Ifp!3y)TEPjh_Eu_w`?7--=k+V zt(3y!%ov$gvxa=_AjUB8^LR!ei&AZa;+A{vx!)pxdSmOk_E>6UG8nBeleaG*m07)k;6hweXZ zGXqLA|2YBkK(!n|`$93?2Nwh)X!@TK2ivrJRKu_T3;F>>DO3kMl2E}--2mYrAH&Jl z5q-53%|CRN&OnRl_~Xrn3Zef_+01egF<%O_h`@Dq0sxAg^SY$fKXirH{-Ouk>u4^< z4Q0~Q0LGI~KQRlIYgYcLjah@{NguNJbW@fdIi24Y0$Uxp?V$t>mtlUBniLhFm$K03 z{wYq98T=ej^K#r>`U0#x0S(5Qks!2JX*r}DEq~~iYD2amtBRpzl$Do2fvBSlps-+& z1LObVHthw3)OJ0A|!P3@&8tCMX4QJ@hQ? z^%z!?{urS1G$pF@yRMntEUtx%j0J_4%l?XUtuMIPV_X?BLes8bBqDPLN!o7Ujq7KD zo;wAL;!VDwN#LprnSLq%ABI!8JH3TrXe1FX? z!2cnKAZ>&2pDA*H_`tvj<@~?qy5+B_(wd_A+~h(0ecJ!yd$}{TVL%iaf&@+?4t6DP zBL_M|Veo>wBdw_EF0}T`U6%qaLO$uM=-hEqwpTkZB3=GJJqKkNw?A~M`F|}ly)KOx z5)R$^>{BM9ei4R5bNB*@H5`kqNWz2xt$-XT8*|)gKliaveFWy3%q)=&_(&DwaR(d)YnO{30JzM6I&;th4_ng&5B zv-Hp}Rq7`=q&t{5s|7;UCU>f>_g*U~fF&7nFStfeRR*$8Fl z;o`NM>7?s`jBiLs4)Js~P&H?^mH9ugS=+2O-f5z<(P)U4>j!mkaOO7h^6`@D<~dt3 zpk953_ojeYCJSA)whxMvCQEvV8|0G@wC)D|>NlUdWDXv%Y-i!)#sh>$rpV zikO!yQtXDN^byK)i{)8o_1=|L+m-gU$N2Z2U`-vN;522JFWj_(|HhmMoN^4b0anOhVb*d;O%)efm&ELij~Y zcYS{Lgg0s$8D@V(+6ql|T9 zHoG0Wv8}wMd90)#aM}VB?-GooUl{a;7TWa&c>MAc8h!WfU2lu;Bf5WKiXY4`Xcwam zHTHVh&g3TPi`kb7zDnxKrekPv2xP@YMzl(~RxJcNbg6-&wic87Q$uBG(%+Y047KUX z_8d$%v})*^w0Z8+|Lc#p4L*sfsSigvpk{w}Be-Ginp3C<4PpD^@ZVN#PFe5mPsZQ) zxz+vX#LYf|3(rOw5!!*6t=HrLm=?7T^{hp1$>g=1(kZ-MA=Jxz2;ug$v5Ks&Hk{NG zPV;s7aVGp#@5x_gBR@8YIFc z(QW~Df_io@-K-%U;L}5&p;BeIyNKCOJU);QcBf~qFIX2;su}Wp78VxrZp^-Q(vOGk zSUQW8PYCHiozxIjMlFHPu4SJalljgCajUOHTjy$?KD_Yk*n$<$Mp2{7 zX%a&Z`aO&7HXzuyu=66n^hcaE!}?8;25nx$E;s<>0)3j_XskUb`dH*jP&~8l(I4RccB6 zj(Xqsl~6ZN@h;K;JV{s{d{~QtFbixQ!T{DO19vL9&z+fK=$0(KkJh1aRw6ydlm_Iu zU5Mz2i~#qN$96r{)<5SAsyfxK^#hL+&|ACJO$Sg3{$Ie&{{^7scMIjh`^u0~WJO&HY~D3IwvS5)7TiOy(AqI9FriXQTT7B<=K8Q$UBvH4EiHB7 zkveCF6nfuH3O9@Bu=`9GUTH#ZQbrtPddG7a1=Hp=lV>$$(O$tjwYpO2QByP(iha`~ zm+p~Q`$u6a3-?Fo&x7FZL*OTeCUNzxJYy7Jl%olwi+?~i->B0aVyHHoy>g!Q&frE@ z$vyb4Nb}6JH%w-K(9 zpYhc3x2peue!j`xVP$fOC&u~aCilB=b$y|)dP}03(yN-{16>FTeoJUDHuI&Yp7LUh5)#N#w9QUPWzy~M1s`Xtnq5mn*q+xG)Ah`){|V{Qf`kcQSU9>D)m5nh<(hy;%KHm z_&i+8aet}s1%?;px*P37xk@0$e@1kuI+w4Bh>q_Ic=}#hsfxPg_ga*>PSf~IZo$IHsAVGaGZH%Id;yvbj!o`#*xTlVd0qs-e`ueWpDv%7VIpR z^8_Z)t+&(4&84xVd!H*e6O-xSJG`824zwQp$Y#_qhxhw0o7|~%;)l3w4)Z0u&K4GZ zCI(D-7QVxRPl25PRUMKpEDX$Hy7Rs;BWpyi%kJDI)r|i*R9~pnj0^ z(w&J`*>^ZY3=c(hTtE1M($?vlhfd@gZ1r%Y=0L1UhX3 zEE;;_Un&Nji0Y3Uf}EHJKku}?;K$x)OSkJQ)ApmZ{&J`0GB->GmlRCx!}^H}rk(*a z&zci8n+P7s_|@K=nybg}rapajtqEb8&`a)Xc1oRp8h;V?GR}~W|1D$57szY7b2*F1 z?L@4R+&%nD5~7fluixrkt_jmaXKWar(TTCd_53I>?SfS-?$`^3nT(@RZJdmoKsf0! zcA-f`;Vk0$mvOz#pk>(~!>mtOUS50X`kk?4$dSZNG{!S_Le99N>*7CUgqj#wrlNNY z$r;h_4NiP>O45V@NF?Qbv!JY_!|ci5*{7 zjO=ei$rDVm8BvZu`X-MeFYDaWm~51l-T~~5f|6CfML=_dU0RHLA$q2Nb9x1`^$rV_ zYeUr(cW-mwZTZ$XzW;4M>Ozcr(Kj;FUXj-ACNBS?7xWSg47I^3y@=Pr7Co%-{0Qg> zcI4a|^72Y#$!vd)TdjAlP1IbpgX;Ya9VXFtnKPHk=P4op<7F;xgbNesFUP2jbCr4e zbu?8w)lkUV*U|jrWaf~lx`MZHaFV{#8sr?Dfn>52pY_E~Vr*&BC^oGwOFR|5@*}%R zJUUgIk>SEM#`7yR#e7@ao*S#@q?*lDvW(V}8mj{y=pR(igg&Q?!0V+8RL2HHAZy~eZ`amUO)@|no8qDt4-*GMX*TgIqk*WSP^cLBQ}Rqwip}g zG`wroGFAaIQcg|Z#?`ogbe0zFtAWuTw@Iwf1U(8J2|`3?YKE4$K6^YWLa|-x?WiwF z<2E{aG|AOeI=-G$u*N-Np~3V_lGo<`Ot)v4-8s^H!5v3j=p|ueY0Hz-yDJ*pbKt}L zRAtLEz{!60BCw>H9naSR=4ciQ`s5mXm9@}KJN}o7seYiR3VZQT(8mSi8%NP?bR3et zAO-j1iHQTI6+H2Ny!POPh4BtCWf$&lTdpNEXZYi24lB1chZAPNiN6jiCJ7ngi^5BL zW$L5F6MMPcQ24j#0oK>8%F!zN4fT=cBQgoKKooV72=t7CnB45trfY`8r9-Wa30j5u zo$@21{N-k&U#tz!{_xfb-JI4EfcL@aNSZjYDHu3+z%_&idR|7h(9bt@Bk-BI{K(DmYtQCHqaMT)f7+ObhixRF$+EWfL~-pmiZ0 zfzI6^PKpuGT74Bi6ARPF3f~zZ$YjlqP5wGlN$mGH`a$Pd#lI?Us?P`GR`2I<+gi=ts(yA<1G^AZRo2ihskQBe z&guBpdY;za`S2S)C!$8*17tLLAk=d0bVFmU`;VQ=+)hmWZ_KeOH|T@oEPkY^nU!zF z{kFa(t>JXeIqv#1&HJkW*P4MxVV>ot;9Yd+e0j@Ic$W?{v@lN5R7Zy;MdNJ3^@mb? z&_kudj2pMJ)LqYIOl>-0HUf*cA9^vyXdv)*6DIFuJv}rm&gIj;+4)1K6T>WGNe^nT zNeK3q?x!&Uoi9-QYn()s3{C7O3G!f+a;xlT22V|$`;)6a>Xps%x$o*<(xLm_^jaND zV=cB?7EQu}2OA?J_IWE?Qo&+IGCvQE*n;{JJcY4f}U%%=-QAV2h%TFS3_H5&X z9XjvZZY0$})mc9-h2eAiKQ8K?HA*~oiGK?Om5rvJA9pw04X@`Ki*!R$tS$KKoBXT& z4S^)fhuuijS=f^$R5+Y>=6Q`Ui)(F`6zf1u%al{)b%Ql#mNKZaMP}IJQ0ab@3phqC zF^YD5ec?QT@fGdDPm)R}j@%!f-}0VA?YTnB zXknge$$jw_5WwxlK)Hg=iLAHdsU3qRMta&gXZK*US5)J^*cmN6dFtJj>C8|kmDu4q z+tiL=*xB*WP|AyyE-N^z@1^wf&?m^@onW6rlazDT=i95bj)L;~63Zl!aMJ;pdR{Ew;E|7nnZZ1E1Joz_oU4cWyGcv7X)Tl|~daW$BNgo#4%(_!nb(fBdiy4vnro<;!KSJizN#Mh$QkMI z$4_M+?Z{kQX0V#ga&dy?kdQT7B#9l4CqZl$+~ znl}OE);P?rMGAbJ`zVJE+Dp|I1u}`IGr4Z{2*UL=>c$-zYDHr0v@^Q57UV86Nl#d% z@D}xq!tPVwGu71#(G=E02!fQ(@833im9`Oe0oyL%XAt@|hTC`)<#MY6VYq=Yf+F|n zj(44Y31(2B`fB%MZ5Ew`9kMk`WDGz<^H&BR#7(g!9BwW9VOs<@&0lvwcxtGg7J>e_ zj^P{579aO?`&s4gWe1z>lCE&JgM=u0W3A@{SFz>c2@Ok#*9%gyUDH;V=ND^YZC`fE z)DD%r53Bq>I!G4yb~0qNCf_-a2ry=ce|ALy$=ny}jq&A2iU%!*a;=!4LDxTYbrRd0 zWI31-Ua5GS8JqKFW`Ug)Up^P;G-8eC?WTBQw{`s9wxzw8-}&v3^8P}S^8NU@odvo{ zQYqOH=1A%z8wWOFBe#BIfx1~Zjlb|K!8sb{cNseoJ~aq`X0H4do$~J2S<0@c@)Xu9 ziQNlymZA$ZF0rUAN@bPihZcVrXoVIQ z`tY0G*;{^Dw9ZaYAfBey!sXnE2o?>?zqtE*+{vC?vkN5st>sBys6KS5E*-rhRJthg zkSS$a+xzs*_RDqe0IHO9w{4F`otdNG)-7qFx(kBa2pQY$y=9bp{e(Wy1Oqg}oNczm zq0nW-wkeo4_T;FBgJ-#mm#vG}hQ1erO?Ls^NelIxE(IM`>X+VDs7PLjsVs;81lJ(8 zRtW)Z+?1#I-gZ6MDFSDg^1^wjN~c=wFJQXEi&~z_*x~dm+54qAWzdqN=j=OO7V#Li zR%Y6moftl6JF84Tza4*wQ|WejUW|WLH))n%^Q7>|kj1tH=uriot!X>O?f8D1zO2U+ z;m~rYhsF!^sE7Tba}*9~*Am5>#QU=Ac4x~F!n@09DDO&J(VsF|7__XcQ~l3p@3M8H z&CZ%#I{NxXZus*(Uk0efH_P(atDEpl%`iPkSgSMei_gK*h!dc z%Ldnt)fo9;IU38^>fZI8R7vOU{+2zwP3cACoN#u20TWq}Ls&n#izS z82uR{ffZX;C zt*F+T)+`}ECVt|8EQygRLHHj)%dI)kWA+YO){?z@xJx4-l}WW)f9Ql@8d~Z3AWE#K zZOx&>2s|fnlu?s#NaHR;g$E~6q^(CdW=X^1F;I=ouYIyPUR94=FQyG#oYd#{U1*Se ztjuxU?g2iM#v)O)0pa!q4h5JOrcwesPs%D?R@|1e$Z{U1=xn^e%m&AVN9+nbT*gY! z&s=ACtEsSb&+htE>v@cIAj5-EMFfwH;)6NJrgD`n+A{au-Kq}{-uDlP?3K3Mxpx0C zTl!v37zz*MYuQLbyucHo7>(G$3PzhpV0&!Ojx=IZm0{RHiC81wJ9?I@i7taH2hBcUD znG%L+EjC1-2)>y5>I+bnxou%+Gt-`UB)Y%@(4i>h(4q|1UH*^LzCzLiIa~no)UN;s zBWA(Vz>CFL9c}=6hf*j?zRJ=eHJR!ORKE&8akj~klr5HM$S*Hh>kv;AT4|IXpUq-X59eQA}NBN__^){Zcaeh zJIrdheo5xEi|%gr4Zo0TKd!g(obNTd8OqvTx9V=yQ@BEi>p%@VEE?XH!%4ex_i3!@ zWDUU`X!T6&AzR7f=4u=N@4wHaj`#Nd6v+W}>;Yt%$v&sPg4Ej_iaz{l0Tz|V|r zKY6ZZrJgshXJS9M6q$)YI<3V+G!gCT+3b)=Ef#8Vv*!7gbwxQL^!k8;?8LPQ^{CFX zbLu{c!E4|rKuH$=IEN%x-vvpmFIxq4G(S3MapCVhR}d!Vr|C58Yh*+>oo)SrU@k!{ zj$w|N;4>(qDdX>^PnhJ3_+3c_@WHZuj z1W8toavoGl8-W8tex9WJnCjuA#)`_^AM+Y#HZ4BX%U*tVVY#3oL1y-6G|wxRR2fKK z4limk<_}%fO!r7w8l0h-bP@mi-q?;ze6xz6aqOvh>Z_iUUw`)G-F<5>JeT10+v8*y z{r+@(xg{x4zaBNQvyJ@XDQfxYTYZXSjPH}T{r!6Oy0g@Y41}Yg zg%tc{;Yz&;mt{?>AWQe-g-^-KKOF60qs^tlWxrWz>`2l_9A-A3SVYYSJAirI>$5M7 zYjJGEBd~@Uogbf6yEfOyJ;TS9pM1sG|7Fi%*J2R$HD~K$Aq|7TzrbuGu)9Kiexdm4 zPPkml41f~jEEwXgkJ`zbbhPG|^*=MhqA+yj-nN5a#L4@No1X2vBw55(3SkpRv17m^ zd*ztiv?Llbt>&x^WMwWkzsFa0dMUb|95kWR+0t(l7z%ZOya(aEoGDxii+;TnZlRu5 zO?+Y}iY1V{2g0(2o7yio=|uZlJ&%z5rJb~J>&$~oJPz?~DUPNEJ~^(`1eE8HLkAe| z3G6IQQnu3+fFxsssboCJc2AR6&h>FU|L(3$wq=3KgxH>;NYE$FASx2LbW6e2yIZ_| zp6 TycbkXvw@}l8n-V;gI%QJZP(KQw+;_7z17W-HseVl5XS^F(gB>H=>1{;2EJc893On(QTGk3) zO9irBS77#&yPn%SFq0FQxpiXS3xY=iGku)8hQ}S~(V0s{Q^T-&8V4}EuzN5q(kZf} zKA|2flIV!vuvAi);py4tURd9*E&41x-A|+3Md;r*pSwJ|z z55@p&Ixp-lRoQxmm23!XZa`zzbC$K+)WuGVG`mPuu&(zJ?#X#J;WlF)2aa&rT1v^& z8m6z^R7*Oy(xk3f*{lzpICvAj~mDAp2`%DL-9r!zyaY@}nfUo|%Pkg2GLZC42xCoYI z==nV^7i+GLF7I>Nrn)z}-C+{cVjz1LJYCzO(uO(H%(-Nw+i7|v*j*7`f!?y=?UueG=^5D^b1q5Gj)Ax#a~+S=OqqIB0xu@`x9)e0hX|0-wOpxP7B3~h)S zMEJ8AxJck!hnB|J#c%HVN}L><=Z*`%_(+<&#C=u&^g=-2=GW=-J`i3+`yirrYG$hv znAR@@cuu~Fn4JWvOcBmBJ}pX~;d>I^v*43c{biu{Hm+rk#wonLqT&w#rtkWzrxr9-J6mOYiP;5mtf##bV+2ar|_X@tldZo4}qOl zfT^zE>U1Q=2i&V|3e21F^QlwTmDCX$3W(Lb>tB6J>RCl6ja3)ewm`%Gc~StGH}EyC zev6E~0q3EZk~G~~#V6zxg`#uGzUFWAuX?cNEHF*Yi-ENE@9UqO_M`}%L0~UZYr!6< zGd3`EJb;3lR(+r8h>XOSNF z4LrL|wm^7`H>hu=&UOk(en$!Ux`l7GSY3{xx8)b0djQm%j+sVhjZvre%H$mAsc%OjnTrV;ZF}BOV z9u&FEKs|A&SZ=wn{am4^Pt&9@ZqIrF{p~8*5COhcX)KbYVs63>eE2eOj7zeWfLRl5 zetUw`x~M{;g{jDK^LlV4YO=sBW&5`a|I?#_<%g6IHZRm4g3Q6r{<^Q`rH zW1FePP;C%w6LCFKZ!q@iRmA$b*G*7W?P@BxcBUi#p(VjT3rbMOZV%_;sg}(T-T9)n z7ChO*uYU2ouirR#>M=-BmgOC~4$cUBI)-pDc?~~Dn2FfYn)*a)GOVB465AOa68!!t zVUWQ-q3bMU1heHpX1)cmk^+|Ob;Ms9I*fsJoA;Bk;)zSFyJrHcb?QHUitX}lFZo_) zp4@nbX7TZAl6;s-klm*<^v6q!o+LRyXpkU;`--i+yljK1z+avQP&m*O04D`0#6wE4rgZTlByx^wE~C}%>5{?u}?Jw$6+ZpW_wzlY*30HD^-ICmFTT>m>&7A4ivdNTnP{*ppnBc18s7ZG%O?m) z0TIsAc&(#<$?Ge%#r|8rA)HTyNwQrE1JS( z7*EJt^bYgTl(a)K%`#3OF6GXwk65+xO;`*k@|%2!)Oh| zf&wIu)&4X(uGG<8{o={a6%(;9ACH<}a?-8t1H|o6vLHo@ngm`uni%ZJYZ^C+mBvgcaRoDsyqUv>7f00c zj)6KY#xSl`5^2}{6MO@>lEtY*Ez!_f)gc&g-=FqF^vfLVl0iyxR9;WJkH7)H{)a9l zfWiszj6?ueTE55TAh7X=kw@CCz=n2MDFmX8@->Eoh*n47wgtY>uB?b5U0Hn%6IdMK z4Xo}GPd!lshKCMhM90(y4xY-48uBbz5SKqut#Zn90@5Z`Na8(CWUCPfmE(0 z(wJ;XcZ^9!MWmZwA;Aqzj1@ZfT(C9Oew~ zE;b~@qahSS0x^$vnP5{{w_o3oa?{!#)4g1Bl#%NX^NOJ(We;G@>M7@ifpdc*mF2_q znkJRxW`7eQo?9WD?AEp#=NgNOo?TZTydM^z&))u&30kT1=~a_j4&IKFbP3f70U}$X zDFUrRe2ymos(TWP-OEMQtAW9|#}19PmZmCC!=pGdQU=&O%wEh@xdUQ~^k95)pae0W zU^_BYMtY6YC)*S!krMQEC6a&J=mlxgYL9t=(fEunP66we0;wsmxE}2Q38#r=UXh4Q zH2n6CbFse||B2o6hcvM?nK(*)r6o);pGaZ`3O<2O(nl9vzsE# z0gscVMuVX_XgT5uQW?RM_?1-bj)icN)ns{C#Cey(QE@LcG(x_gd?}{_EVm&pP|ud-pxt4?KLBd6F^b zZ~o?(V~lsa@5;+LasPpVE#nYDv@g6wk`I<}fo9tapPWQ*tH>_x2ivX%V0VM8_QEK# z8T8vYDjfa2Vq!;M(H%xRZb3y*nm6x&2cv7+GMSx_D^G167cL@&Z|oLc)HbtFtR7vv zSg<=r_ZS?U1WG9)9#? z@A@wMmN{?QW?Fj*;allpQSP=CxM)_%v&(`4_o?Dw0!7FIdtWMy;#psFisG8#)`jdZ zauexS&~f0c(|(q%eDj-EP&_ z*`~#iD%|pHUC91PNo{Y1f)k#2#$J@!{it#T0)a5?2+^4zk}d1H4$;n1LP>K{T}LUd zn{hoG?vhHPLzE=tosyL21qEIoVUXeq01)dJFc3FtXZZr8R{o%s^S`1OqtYm!W#!G& zCn;R0cvXLlDD6QY@rCAcOyw;{?`r~f)ohybN zW`&9oaQ(`dB-iPDm-ps!-2>4_LT6Pnu(m6}LIv!|Q#bnBa%glylu(25TfW*7{a7yBWhLS)G#>8MliSyr!FWU!vZ?^12o zV#8g!70Aj74Wd_H`?MTXB7ezU@kO&&S$mRGZgd~P9NTb!+8W3n`ZP|-s6!9=X_aZT zH49%7*YGudQOSRS(V^YLz%j1`Ahm1d7c4GLIX_t9_?0G01=N^&pA8r~g_O-m`R`erzi6U7%(9L*i8(SO5lby=kNR8Xi(erkb7 zen@mw;l}V_%~;HO-_Eo0E`J>R`cDV|SIXDCJ3eZVyiDk_s}rrESXjNEWV=w#A~zQi zGj)4GNtAMks^TVFUlABuEXhOhY}Oq!^3AHZFOBzVXWjPg#z&m*E+E~-GQQu$N>VI8 zy3N;bnu3OpqDX!dH|yTZmh$$%`&%m+5}s%=;e-ed(m7se0?V%&DG(dnN8(%lKVc#CPhsJgebWA965y> z7LGG4Etq$({N{i!JiJT1a_!_{`oN;+U@Ra5yoq5&d69aw)q2}|)nDc*JQ)ytd?ouU z@nysNja6FHgDWz<-}T+-f|LM7_~ddj{X%8JZHjLes5Jy>XlENKu-zm#eUugbcrc-q z&8ej&eSRThW7qh0Tb$_3glRSQ2k@&HRqLIXyt!crnL<@Z2l+!MV?|h^&i**6zVB}T zYI-&~Qg=5AXNlqK!e_h2!zs7Yx)o&d4f);_hdd5-4B?zsj!Jm-iRCb)`f{c>3rd6B z1P)=HZ+D11 zoJHLh!*#8E+ldd^25fIlaDLQXaE_DcD|)4cH56wjAxie07aAtT4R=%vu75b5tgNEt z!xS@8dpS>%II$#=?RGi%I~UB(0H-%!K|13H!&BYScb zKV9TGSD#|}?2WN{A-BkT(wMWS(av=hF?*m{YUD~adahKKRWXn);GZ%!ag)E^@^B~q zz`d+Yvq%)v_5zZUPjm>DY1gBpg`V~HInr&sh}OY}VCHgZdq;4On+Zrk7TMf?zR z7>^)XGDL|VWlToYFWEMfdQ0{=!w!zx#(PcC&Nq8LZh4y;+TpXRv_Kwd!=gLAVe zo$yHBt(SBz6c5Qh45epjmq{^H)VWhdnhtWd(|r`K%Xu==R&;O2+7%%)-w4}5oLN_} zDJUfjh7@(N-ltTrkDVr*?%vR0oz+e=olrR$)pBy_u8SJ?XvoEbUpYRS$fWdD8R*MD zjWHh-b+}bhT@BAp8dG%(NI?@;BG3XT1b$bxF|OtaY2rofz#+byrM@f0e3{8>&rHo< z-;utPvge}a{Ds?YQN*V4)0Em2n)GLKVrPs)%Iu+RTlpU{PmgQedHe<>`Hvf(S-o2* zQ$Gvo;#@+79os+qzQ?637GB3}V{sud+sw=242{)*k^z^Zd7)nwaC zS2JZxooL3{^(#0#S)`fFZF!&=ZxzbE z_FlGnk=0V8bZGR4To=>j%*}=ToM)M`QuVY7w&#R{Hv zo(Uuh{-^)`P940%_76OSdGAHYx&%ikHLM2tj*R{f#K33&17^ahp*UK&1^v_xtVaRx zDGT?*cQ$`QPJ5?)M>mJTH#*QU=CoTt^UIC^qaH8@nB(+ZTPTGbNH52(=3s&+R<)~C zfNoeDW|yO%%8A6oRVagp=o?V7WP9B|N_h=3|6`|B4hg;tg4jBoP|6ihpNSBnfn-6? zThMsc=l;-Ch#aep<4@P!N~kaS0W~(!iQk;ZdrP2LLkR{cmYIh0dRD_7A>1hy5hp~e z%zvbO6nfgJ@xx4N&lKh_JvGw(n4xT>2!?wImiGcj^N6H8PV}S)^1*0FB>}tQ2Nu1* z^j87a!M__yq4Q(_5XZ-+W)R(glw9*ChOcNV9$Hu6ZRk$08hVwZc+AH2J}z!|#juBr zSVU*JHQ&_I>f#>RK6~cv!F6TK`F$=4-Qm`yi-QElCm5dlY#z}cK&}z|sLns}qi=q7 z62X4WClC7%CIK9t^&oE65hMv}_k#AZdC1hSekOI$g=Gus9e)~x&K0jpZ(#X0Y*frg^BgcAikOOMN>9lqz?J5T^1QQMG#3>R2I-CU-P1$C&8%l z(J)%@ewRyQ-rGMRVl| zrY!0K`QJ%q`v1mviG4v&X8nY$hD}6HZ0c;_c2CAu@06_!b4}(YP&H_W$dUECkEeIK zG|744&dH`a=B=gY>mAvzFY!2AurRR6p5>WmhM>ei!2a2qWCNl;Xn;)V1$D*Zj)7{9 ze2vQ3>vo2ui?2tIYGB(}!qCNtQ1s+DJQ!BIwb+f{=wk^b-x!j{z1%v;gVFTdTIEhb zyG#6V9z{>(hFLPWW5;0>5$vJ_-hpy@WibuE@>1zY-^Q+4{WxFzvaM&X%{}w#SEHjX zPpQLah}RfezdU4wSc=4h-SWhNatd1KFcP;JO;IK5G#`^)1;CW4?do2GA)=Aj?L%z$ zCaVn8tWQRmvx#O)ws#&n5hTcsCS8yGesY3-s27|cvm_DUw9-R_P%3(9g1udRMWip! zCrTB(0ypE#g@%uML?e%)Yg2HmM|ZL4#Z>5wE3!Zz5O1=F(huFA)S;ZdKEZ~pm7fW9 zP9dup^KNGBmMd1_9w%&J#FcJdcnEhJl_7qa_JJ$lETCLNbRehY+|?Y(;?^^NT(p@u z9Tw-!S6TUx*Hj0TwE1r|Gn^up2eB+>$#3i?_e*Qpv1^xARh0$w^z{6tf$U;?yBh?e zDUuH26w28y8XF%TM&mU5GHempa9CSKo6Hy(S`th!5m5EJ+tc|eweZy1Em!@WXzD5N7NxzrK}!2(Cs@4stZrKgaCLKR-_Ga|UcJ!PA(mtw(0`{9C2m+7YXuTgDMb zkGOn*zJ^Z@qKCy)C`7Q`yeQ5obAv8jIWz^TPGE89b%$}ouca5;SS{vd8&4kfV6QxW zUO|rz71;emlO_QX$>wz0`Pj{I0A0OCW`4gpz%&#uCZ=YcR{n4Z)fjRiDP1M9!f}uW zPE9}aq9y2NXutPq?+%zil_&LrtTJeFZ^BBIj4piu-Rlss z58(9oGgmr>(xRLtEWrqY4Y-gAwwe=^#o=@LWX8LFC*uq?BxdgS3=DQfn3tAXULVC= zxT4+;G88VqYAe=~N9kYDB)jQIGFRQh=3ta8$?Te!%-u-$;v^HLp8c5P4Qj~q)DzeQ z^kfhcymdnhpz<16#YgTXEJsZ6DV;*yiZHRf*I#ut%h*(y?cEPOdjMxBu&a+d(pc(L zx)*m_3Nxfqci#J}3v6HU73-?2lb$+ES0{%)_AwQeZeB3V#jf1Q%G(UTdg|_x_da54 zkzX*RCpw`@dlq<;{74C#ofJH21kaNHbZr!*Bn{Tyz$aKu(%P;0SpCN(+KwI|^zB)5 z4V04f8{Y?(qOyj|O=U7K7>|QeJZnvlW7PU3o?m$$((Nq$xz8eDnbesnb*4Fr_hLp2 z7K@vlLk=YvkTHw*@wfx8HPvkhrbm3%RuvlLmd@D=caa(OzV5ANq_cRF)p7~A@1C`|eN`7u zMsj+8OH%4V!K|RPLcjL4sW$+?lFK1F-op#oJw&l3U#kBJ;ifTy&X>B1CJX`851$@R zgx|@3t8M4bI!i9Yzaf6gZJnYYq6zmX?V%kfmA;TVSe3|LC$C)+`6%#Hz`*mEB0(5%6Ft5n#^yydPaf4fqMMqV+=bN3DFY}9D z5#Wfg1wWFCuH~llgA3nngz~_Kwo!w?Uf_>(`tsbd1(j}RqC|R}gP`E_y&vV}*3XnXd1TF) z%N&)t;FGWQKt*RCNP_yg6k&tlM|14$U|Qc+P|jW%uS?twm#=NQ(1=f>vW-sjEfI$SEEIU!8bHuvt(dVxZ7;Fpo?bk10 zT5=s-TJ;Y19s{{ncmNPDL>2@FdqXMNx`R?W%#@E3#PYIk;Sj#E*h9p`y*xs%A!BTQ zZxk#u3~4kV89w<9?Z+#S$eb3}EIItBvuEs@>OO%}`4N}jJZDP&3IUzXJ1rbq`)&kf z1^I|({R>dK&>6>PHO|{#w7{&6=oObN4n87tY*1E{qqOtDjfSwRE)4I_oW@Dj97ES; zW0-0mNazhy+yhe?38`k$yZFB=PdV@>#&dWDIfm96vPX##v1TR z%(wtp@OSj~QVbKyh=AsznAIC5ZWJ%AQCw`@>?N;5r_~P^ky>kzZ&|-GvCIy>H$Muk z@1h7z(2fogENL9r$>OS9gA{56*0}GV$Aco zOz=rp?;Iu!NwSe_KnJ6bY$U>TcT1Ec-75GJ9$T%4KNEYmP91vX5PTX@<2*7gx>mF_ ze?Zl{*t;E9*cAvj?;2XGonTftb>uU}sh0O9uWDrc-44;~zBi*dAyN^~mcJY+%>UBi zdUwyZEV%!@@g6h`Y=C}mYlQ7pFyS9ilA|!@cBHjfIySVJiAU((LwlSZAe>}W&fggf zN7r)IC|SXPa?liPM6cGP_{TBBxX9uTEvit*E6L%EqCRsM->dV}a>u`{2WPL_{>tjV zxJpypeTSa>h&&3n!X2XcHMy9cq{JP`xAkDqv3ag(s1`n~8m4?2EFezFdTJt!A2G$X z_z=7eizE>mM=1R;I~7gQYr3-_ueuyeSj)B&5bQpunwO1V_|cbFXKd8wR~+aV#?LZ& zbPqL=s!Q*#;RA&^%PuaII@#`rfg#sRsg`2C09U5RXHrwoCSir_RF4n&dxJ2qHVJpY zc>nH^0pBTtPNetQ z9{lb{95{!=aD24=A8!@j1C=p>CK=IN6Y>TX?=?nl^`2~sI(my6F%PYW1{gBdq60ku zQI$lRp;Zz;Y3aQSud{!FUC6*e&`}WiKt4%FuLI((3Jm%4WorvTJGMpFJwd&S{+d7a2sYOX5_OfoD{p-Na zl`s5TSfkx+xTORPU`pSkEJ$q)vL1;6!9=f%CZd}&x1MW#GJEx)$fEz7Z2FYYu#XZ5 z3|?@9>sKWmEKa`4eQ^IOb)H6(ED^Ni2@t90uYn3rx536%>0$zviDI;=up9au>sxai z-11fGcGMD_)9O7xwH=IlWbti7`K21y$m$Z`_8m2rA}9ZNsI@G(1flyO8Uf($?gZt;O1%R`Og%z@ zl>p_Z;0Ut*D>McNM~8IG5v1V=!;FG`XOpe_Es~irrx=B-d<-`kJ3&&L*n_T>lai}a zah0lpQ@RO?g94|?(H}dW6NN!gS5o8J(OTc|h~CSN-TGj#I!RR9)Ew7^%AS zwx5t!3$rVf(-|~YSS^fnQzw*nCA3Ns5SsvjhI1Rc!n3Qxl+yd9)x|F^Nj=+so%2-f z`n#YbQEEJ8AE03%-m!aIFNy^;g(BCbeQ z|MH<9(6!JihJRVs5`Q8U$?g`7hd05Pn)0ocq)BZDSA_09>dt9plJY%#;ZA{2-cuMq z;*EDFl4LItn@H}hpJ2sVtwh3D(KeE-ZWk>u^_%0Tpa)_ycHw&uR25bBtr( z4qt!H90POLSZIW}G1B-zJa`7Vi@`0LIP8ih)j)xJEzawDfwPYMKGQfZUK+cASMw({ zc{%bPi=7a2wvhTdY0kFU-QwS*q28>5%*EwLE@ph7*H08|`FV4=J)$D|ilF<3`1r(f z?`Vv#nqO3S_d4bJwP!QSABg1_ud5-2vwW*-d^N6yHdt(hB#TQ%p>pDczjC_eE z-9QHn2LzHvbgIkxr3WIkZ5w!VLX|SJ3oIW*sp{*iiZ|+VoDpy45&p*5`~2T4O6r6M z8P(k;QtaPg9AX;XP24Yc5nvxk6I4tGV08oHcIK3o+E^qjiYseYKFH}|j$w=CQ`XNT z$8WqBXl4vqwY#(_UFM}#$HhC-Aj#?GkAiwJkH_q9cOk3rHdJ1dZwQ^1Ij_(x{>74U zT5fYk^whzYu|z3HXKU4_go14kRMDclK_*prR-PV6OjM$;=*GkNZL)JT$d?05l%C%` z_^s>*=Y{OOp8YF<=mRL7Nov;>eM%ew$$n6RceqEaQcJ_kKZv2-k;A6<@|W6IN%Zt; zfe^*_dKG+41CCSC6>D0>MZMZ=BTiqXkVA}Gq=88Mbisi18JhZs`2w4jysw$3#y^S= zQLlBp_TvxrL44M47DPZFrp@Atx|Y&1C<*mzn(p|C{r5Th&k@y(Y{xW@4;*x7aH=cN zXjlvX;)+e1&3qmk{KW1^Q}Xni#2>wyn>D*i%Ogn$B6cXr#E9TL7^VP(xt+f3OlLfa ztw{J@@8EnOIdh8#pLm?%)8u6cG17P##4&?*#FYTU$AOt{kqu5Z!-`!ai&e_!IHmbK ztMb?GX8AKr3q9a-!F%j6jZsAuMx?_{a>|`4F5SqLG3;sgNFTT*<2U+=t6&?tW#1<^ z2Z>80_1;RNANF)Bnw?mAOYmitExq>RSTj$f@i(|-CFsaxAE-JSx8-1&>xFACw?JNm z7gt4mKdz*AqWK%*qwci~j)B9D`9>$-7T& z_NUp@PTVt(uv)DozP@V@@q2Yp(D$AU=HSMQ7p+JDcsg{lINoiTFnwhX`4rLe%E&8- zc{HEt@g%0o17nsP`8Xs(CfUH_Cj>F)uzGnV7`~ULNS4K$j~^{Bq8^C4#^?Bu9BLw?80Q2)c=$2jIA!Y;TK_U! zW!bjZDt$7coV8IuOinU=C-o;p5j!xFq>aZ8ajBAS)-YFe7ayiFBkJzlw7~J1+F6U7 z%47S1!A;9eVDN&E%5!Zup^^7Urda${;>0l{itO!pqqkD`0B1mPl;)AZt&jT()cB)> zEJxm(^CNJ&dW#Qj?+wevo>H>6^VZ2mC!pP%tS1ggNUenH5Ffff9gIvq9lZH0rEPTp zdCA*jxl14hgYOy|udnw$LT(Bb_~)kwP4&f->s!Wo=n1Nwhwy1F($>=&O>8e`i`LAEH_g>|k^WL-j z?gXhOgP>@3pUjd=z_L@~+o$nYjpf_Dxr#AN>|?7E|L3u? z1`*foKEzlw**=54kRQb{ZzS?=5kx{IrR^SHcgmHFwsSP+NI$kO_}Jyz!+yS<(<0HP zpp`t^k|QFQqOHI6>pR@$GA;wn#Un10pp-iILsMbcqswPJy#^uJTK=iKkSP- z?;`cNJ)FleiT{XiqevKN09qp$;h;8~O6SR^Ly1tRAs^@9hgI|VozsF9qt|C2y*kF{ zBj)45vfrbaqx#KNvurWjk_3s8!e0F!>k1jbQ=|pF!$)$fd|HUFsRp-=VdbEZmytP^`0A)Qwc7$}q;|XK0qrcq`qnt9nQC z$-}d)2GesNbX7T8{->*8zba;bu7uGKWb!J`Ek1_*NrG$Q|5ODoz|X5Y^^2eP7Yy~k z{hv3&yB|kV#|}5snN-L`ebPiTe3+rG+q?Y`K~CBWUPtFCxL~v6pWJRb-ZR%&#Kd&2 zyQ)p*;OL$w=XZ6JeJ-LHC+$S=kuRhonP+8=?U)9BxUZ67z3DQ`CT8UJO4#w!@x56- zN-;86yrN_S*QP9D#~$P9oUUO}7*7}zj_U5b*j>2yHc5_q&hRhXUH^msNN##9j-+`X z_Xs<(wi!ejrz=D@Sd%AoZP&Zw)MNs$ck~r5UD{rmLFbMn25&hF7_=j zSc)%H#i!@oZ4Cb5S1enf)OJy2^NZ&f+IZ^EV!d;4tZqv6jjV)u{xWKTBnzB(s^Q^o zdbZP8OJQV|X`-qd?h9#0tQR@y9BeOn&S$+2Gp7kK#WHPlv^{PmCJ&x{sMBNaKzr}fra)m`BDUQ$ZE z_rYG;xl4A(EEFxA%5ggr{5{c)HBUAJBWT>DUM8II<-O>HdBgj`uJ^cfI@x*&?C+ z-HSQA?6FTlaQPYDMk(w;|8WpTs+Pdb)S;;qcwN`{3CB6O85zK;3BkUC9L%VC>@q0^xxtW0twm_BTNlW`k;%tPl7 zLn(Bwv{D)c)Pm5A6hwlq`oR1abi28^$O zS3OM7q1;eVEc*98yS*A`2aY~@;FIYo;SK~|q(a^ioR3oZLE=t2vM zyZC35cq;EnOPFc(&OB!mca?Q)SWJDzeL#>XxVC6(P;&&76OXdpn_de5WlMgh;pkzZBZ+AugxA4V!wI18YXvVk~~8K?^Y zGI;cG9DI!oPGu>y4M5;_HT*j9yHT!IUMn=eI3cLTM+yFPxh`=K^)4FK1Une{>?5{>5j}OB@K~Qk& z>rY5Lmd*gBYwQAi@1NEQj<1?1k4rUPrcm9(pkrbmO06F@YP(MMr03K2Zwhp(Xh1sS6hsO*5tC2NVij=nK zSKD6ygh(T42Vk_<)Xaad^qGHgjw)fjXeVA<6OuVa zG~m?s(r#&*uohlfb4{l}AT8pO90obrYN1MF5)Ef{c5NT$PTa#Lc2L0Hl}} zefKA1VTAT>Ck{ki0^rs^C{5Ro285}ar9tRL9uUPO#~0_oiA}JbXV8Affd$EB z6ZC{Fox{F>J~gmFbH`0a&YC&KOtUNita`Wx+~KgHVyj@BH>xlxCuC2Ia}3m z%wo3L3e8FFnN z8Mqy|DGlFYO4|Yt@zwv$Iw+M(Zf{7|)9R_bnBDz%s52l4=CsN-`kRG+GaF_cN85?R z(;x1J>(F0hdaZ#-l&MHR_irZt)$GVTExOk)Wc>O6E~~5JwJh(_!8z&{sr~?*y{zku zG&Yc`Z+cD8-a8%9d%SilY*APsjvZqR$d_ON2Aa7@y zxY+6}!al?tam2?7y>G$Zm{R6)x~QV!vl+62U`Q(BWuIaho8Vn(({%l(KNI zcM<=&uV}g^`sU}CoLs$zA5XnMn!}#t_)7gY^pk`VklMT5jqejA!voVlmzN*AJ=*-K z?pvGOkL!7S`?q0d!MX{jsI)Q?lO+{H3x_3YOg15IP6# zNF|v{d)T9b?AkvT6Hbr(r1g=R^K?bfrDjp1m-@GqVb9qPedWPE*bSGQp^OojEeWw{ zPe{h5!y~gU7s`G@?z|F|-RCJamB09A&pPLSVYtsfFBSenmZa%yCgphJL9E8mo!ghD z^0}EKC<{n-`T#&va|PBgp$-nzoG1-fFoQQJ@;s^xY~b?9-rkZu5p(TKS1ZfY5B#4P zq9eS!$)|C4cpWIx#x=~Ws5f_f+J)hYE=M8kD=!66TcbqUTACs@l3g3&$K8zTP4{;@ zKsQDF(g!AAXcc7aI)AggLBv8|FnoJbCk0Z}%IuZz4P8uS&UpQ$`Ep+8Sp&D2Zod?t*4Ag-0xx-I!*gv%$=R85 z^6#rMOC46XS+IUeinNme%%npRMb!w9ZQG>~q&}z5T7`CN$tc`;p}{n-8RTB?Zqvgg zXe4?v(+Rw!Z05Z}q!!ZXvn$AX?Tq^Am)mfUygt8rgau>aut>Xu1PbLGD*j8BV5anVw7TZAWZwYz1^aH%Qdrb`tnkfvg4qG+{tQJ z!U~P!3LaaF; znC5$I;Lw%zVEbZQD+j~Xx}G1`sitz8PhQorRyxAvjNc;|sV6k^W@Ek2cZ*PFKA=Pf zQu>$K4SI?((C-}*ZI-rjW#txTY=0L4_CR zRn1kXUNptZZzyDzkxusLTn$r%oMfI^zQZ{S_vyWB)3|Z|*C2+9*X2-A$1cwGm8CKKg5+UztpZIy_FS;{1&Qd|+e++K zal=paYz*@Qbwdsr&MPX8kN0-muC;LNe#2UJZtdYjhF$6CC?)zHS+#m` z=W|^B#P`+6LX#U!;_jocH&b%P{Op}#o!&BTdfL6X$w(L0S_?Zi^$*siA)JitSFUx4 zP#X%(sqs@avaP*f2jx>Q9WzsWC;UEob-1rJXR)t%h<>{4$pP4~S{jShu>Q#n!(rK) zVPw`|-%jDC?{1C)JN1&GA&kSu;rR3ibho&~!%JhMVLmsK*BKP=`8FNU;Y8r$mcl2| z!9O8@7U7tRr)#R!IRCSXm+`rUhDES551u+z3X%?JD(s08n@QAZ^bo1*qKM{|XVNsH zMs)J~o?8Je#(*?m+e3Ty3@@!_oYZ|E#`a7N5Z5tz5);J$Lu#(0>*ScF)}Z+FYL|}U z?8J-al@Z*VC1X>E4C*gF)k!nLN_rStd$CwqNEv_Xwn1dJZqr+F*K=1VyaUrwmq8)u zHR>GY9Wg;-FF1Pi^UM2%S92`;q_#>+s!%>z5uPP(V`1y_%2=0*l8DV=4U4P7cQVxt z_%FVG!Hi-izyoZls%}E{9`@N(JvUjs&k@tZc9ORO>pi@3N7>DVt%8qaU&JKvIY#_& zM0zQQa~#YW8M?doJGFVB=%ZXKZDNqnsW5UV@B?v?ucp*=Gj;^QO*e$`dAG;+!Sj(z zpsyaElxWO}eU(rUlP=CV2=}+^WGp9q4l_)M)R?b9|L};(u1h;;fabJS z(`l6e9Xfk^=wY)87XVS0XXC_PodzQnP{z4Hd>7iyjio?{?#6 zup_4K3LU-=J6AKFUh!$V)Wx}sCV^Ix?TZfk(1Rd4TTi|*9AhbWYRajrdCC^5mZlb8 zd`sVZ08N6r0o9mP5{Quh*HIYF7ohs-$ z?kA+ztHZnI-?Vt2!8zzBN8K0}l~k)P?PA-MK3e^Fb6F`hx-VZi$}`Hg3;ple z#_KSQ)Mcb!9YAjNf+8yO1yIfYCg1jJVw;9yO*nkIG;D|QKKfs#)szCJwIKOxT0>S? zUNEh4!V-F&5i5?>qX3qMlkZ_0o46f@!B|9e82!W!6ma2{V+}yk?^)6|!l>I0 zrI|8jz4cAq*}{|ks=~!1IiKo}qSkKiXor8RHo@9Nwk=d<=^ zg+UHLIOfl$#x~qYok~qWlU$i5y-(2F&`>3DxA0;#o12R2fU|7)Bin>evS0PRXS+V+ z?S$~^sL4Cq=%M;XblOzjQS3;zbr{Acr%Fh;!1Y`vp3XVd#EK?!_!4W&ykm5etq_50 zv68e#XsX`LB)}Q1 zVj@F*mQa%J_;6k%^j>RWZN~09gYmOmmmj1sz%R^<4h)9Ups8*E*BK`-P?#}dW2j0H zcN)G`nG$n1022A=1D!KlRZ0Il#_rDCnxgas)+wnUbo)9PQ#@+eE4y>-6=YtiKdEqP ze!EXIJh=3m9rupDiO!_MOXoMF`7t-Nb|Omn?rbfgYtzxB5{0{Ihy02_sPboj?)M0_ zhU02xWC2?=NL1FGpL;z-Nm1_E7;!T~S-bCTnZj&p{&>z)JHrWk;mt(R!Z-WdKUaj- z$Eziznl4kdQ)OCDmW`fw4MPp_J0*#IN{-O?{H|DiOUJT(+Y_nML6fEmq9jSK!6*9H zyY^D-yY7@mcZ57IH0j1|1-LQx_Eet?Iiss(E?S&**ERF>u1P1FAX$fFp&9j@_)I<* zX_0$>q_gybinG9mCPeVOzz6p2fpy)S3t4CCJ~2TS_sfU4Aj;1@bJTUX?mmTGOd$0% z8`ktaB*6nuR`;dEioJ_%QPC*aD=aYLD@f#LH*tMY#hMDzV;v>oAFVfsP2(OPd@(TQ z(tK1n|I1DknzuhWO-;<)T94JhrZ?L5S2yt8NB@}&Hs>6Y0se#C>nFq{ZW|Fln1%xQ zvsc<%yDrEnlgm1Ulm-H9iwA|f1i*R!Ib>d2;a|Y*sc!!Tk$L}kTSR6QZ~KG%A^ zr+fqK>i=3|0Eza$Uf0EXenKoUL$XcqqP(o`Ss5i$%;7zbna0ysth`FirX4mBB6G?D z)&^450xL%4M~4hYP1-%w_o=DDeR!}vNYI^6(t<-!@WK}ktnPG)zNRAq&mI;tc0baK zf{&YF>|@qt{S~0e6t0^_5?q?S&l9fCF((#W^CR6p!>|g~+KsOfT(IIDto1(qR^X*I zFvcGly?K?A!e;NV$1N3#T-=7&;T`}c`X*-2N!KvidH-T46D6P_*5?l{Bj!Z$0JwRZk?731#kF(@ zFi%9Uro`z|oHMUX9+SWIfhY{_rE+Do_vkO#gb7YJojW8YoKxETrmVcn$H&uhxywRl z$gdaC7!ODn$VUICDu8(-_?5*uA~ZyvwO`6h^mOm_nrmYw6C>a2#S^=E-H%>j!8=84 zGz|9O3Nr$WF`;lM$PiC(P#8@IX`GJEVsnP{*u2P(RS|d8-60n^j$FK>oyzj;D#Qmh zm2K@b>yg_L)90<<@jiE7%PSZ8sGN(JFAJ_`ZLBZC3$<(o7)asZ?9G;BJI>cMIP8MW zG8{RXW#;Ro|$-ynX>pH~}uM<|$nBk8Sb9YUqbn+?6IXo{*59yS- zxHssfnLXnewfgepZN}D^0XLyZ%a9r&$|V!>f#B3?dNe+j%|=g{e74m1SZC9NrMl=< zzn%(*5x%Rv&tc((XbbCsc8ZZ7d5Q8?iOm~m zQ4Lt=$Tz`R=bj=}K$~@L>V2~q^hy9ch+_|6w68hrmOw~~&P7_u8zBwdJVwWC*tWYH zO33&KZx@qhrsl)Z%{Qj9mnN9q3gFF7x@u->M;~kOr z6|))fgY^!D-%*k!-;@L>t_?L%GUp3zf}+iWmR9+Rckf~+6}wxCSHJBo6YIJe|LYyv ziPny*#~kryb9=m{Me2IFK}Hi3mM++DXkP>^4lO2o^X@st2<@A3xZGshfVPGm8FG^) z&V;U4%j_@toZoL5auBiH;M>XJ$pq;p$u1@mvB3g7yiMWhb8&|5L7hD^u zT@w@R+VaU0YEiFS)(`mlP{w~|t@V0|bqV6s7M~6U2He$~q*f zqP5)DCfnJrp#XYw1FUc$n$R|YD5pp`e=>e))+YRoM*_r~CG!^y=;z(ihaHAMEs}ta z$AQ`)+jB2?ebncsHHCA8xgcWJ7fc!ih8?cL?Ol|M-+x?>Lp6H2L+5_;-W|PR>7xwV=EFXn7;OgoU)h9C|u?lio zZI;p-QB6IH*@X=%$z`<`dfkCG)3!_SVHWBwa&sd()Ej8puLP!=h}2<*2ZjT`>rvIN zy#3%GQw6}(rSI)JM_m@)CxDU`p0QEU(g?|9O{`rZ(Z+_2cSA0iZy_Hbk95W(e74sszMhgBeB^&nSB($(TE2MTu@TNbb=g5ltiN2wOLC?h+3x*uERPllQ-7@R#rn;HfjekmAddXGU(C z&u3XI?>>lQS={>e`SPhjo|R}*cW^~u?sGOVYBCil$6PNc>^b+`Q}f9NpPhuD(SWU6 z+lR!v?jeDYa~jHS3{rd6ivO)x22%zaaDSiFLHvOIWA+E~>w5QqGJ>Cqi}dc;Y_U(F zp4&~*I@7sS-g%Win**a*CUViei*=~mFrXD{GR3infILPQDD|F%oSSRroQk=K~bM2o?sAxrO&QJHxkfvv8MaoCZ9VHFU0LJ7sCuM$^Z;havC2}Aa zKPZLdbVKO$7Y%KAo!nWS9@g04yQel|_bDyK?(Kt|OJUTAvlRMm`drQhU?TP}1M~U$8vr2p2CWsQ4fakeR*N{vjlq>ad6^P-~ zs(>kHzIVBe6-AF^#D%_$y80^+4^+TjBAIEHIc~l9ZZcOO8V@U^*rj#Z^d@|_=enCn zIC?fntuaRCMYEe;)PXa5VPP&H8PB4CPNvwZktTvrh%8%!=yBnvHZCPehS%=O+|1fT zt*>_6X>N|(J4=U=?9(@uM2s9b#&yh|3&(SK31}R@gOqwA=r1D2n4#1^kL0B@frVoQ zgnHqFP#%w&Elq^U|3aQ;uxPg83Mc^90*{3{D0^_2Wol+@jOSxx# zAvE&PT)s`d&EUmRp_|Nom)DH*k1Tg;w)*+ap4o%r+t6X6agrnbrS6{?*tmk_7)z^o zYyU{sDr|xKbwQwD;RBD!9Yi{K9163zwT&$F1jrInLP!VEAYB$@*p&Furbe)sH!fIe zg>5c&$mlK3Id#Z>uU%vLx%N)P%CpNIUaral&d$^;6ptPu;lZ6Z8uEo*Y`&B?Sr}3( z3gi^8W=GPF1Og^U>hIy9njPfNcCRFs^JO0`?9OAYmYQ zG+u+E4yeaq6dq94Vppe~g&hP5KN~R0Z~}NHTL3_Lc~}MH?aoDm-UvrUV^&q4}a_nH*Bdms-^x(K76uEbK5i{LwZ=in4Z7zHE% zf1B`o6@Kr9-*3e4bK&>t_}fSP_w$t8sH3D{_$qHX=qde*ro_*p&XRDN6bpBywEc|> z?0bT%W(;npW=`&Bl+!h0_~OC)KAi6c_^bwq6thw4uhM;d(EP2?vU=E@o`}`x2vloW zKU}u23qz1-Uy~imP5E9$+ZKWOa%SQ&Jf|x~Voq-B5d|6Qy+kv7ilpi7QSJx4zcKw^ z?7ew7lzrbnu2c#cvJ+DwB4p1xO18v=kaa4Rn2_x2L`C*36fs3YmdU;w`Au?&Ok z%vgt6`kvSIY}a+&&+~lm`}zKk-|;ng!JqLkC_d4^Wdy!D%*d|Bx{5?6QC0qC(PYq9xX0Z10rId4kDGXw@G)R#bZmUcOR z?tqB$QnYpi`G3*5+Z6zr8Vl+~d)tlUhI_^3G;n-PP9bHc8jpjdaz^7rt-e zB5DlW@d;UMS79+jnEH*zNrKEOrp(n_;6bkdDmerEo&e--)i6G0kSq$Weg2Gc__)qu zZ-!d&d4NVAAVZ982J!8%gEQ&EfBPSo>sGAjO zU~9+w7~aL3eD!E(m)FC4bSv5qfNZ|&a_LIpg}p{U48|qe)T>i2rYr}xtjbg>$yVmA zpdSf-i7kmWwedif#lFZSpd-pFh+crP82yyNBRo@!SA$Wk+TCrT^wL+4CS^glB6>;L zD3H~PpYt#`Ht5q)n+coi zvvV0rx4Tz#kFj23n6Cf9N%U_$<-h|f!mp?(z^@DLT*wmnktK$Uhxx0jqAp$?tt)gJ zA;8wzfm;3bXb?BWi3koYlRmX<;bkX?PBDZ>j(^_1n9O}i=)T?&?|gd{ogfKSFF~wq zN1oV)!~!t=Z8Rsz;ATZ_74j~SfOqT*R!Cx^+4b}Gev#@p-hCQE04)kE!d%j z$40=?EHBz3N+{6J+X0vXEt_=!W^vsi6tcMkC@BExJb4q~1@!|qhh!=Qkj~q{)}zVX za4SRyFj<)>S4ndCDG4LO4@s*f^&g+4YN92yPp_Uhus>6xc+AJH3MD~AHntLCo77b{ z=2|i!r9>n}*g{2e+tx})KB_%G(&wAnkOvQC#ixk}r7+T(zgju>)ynZ_pbI}kJm!@s zpVRiT2e!u9ZqRGMTjLD?0^of5Xs`O15x8Zb{sUyl`_poOuw1SMynl$Gi8t7i;>mIW z*GZ6^<^7;b1cz{WCR;N~tv;$i__e4D%ZRYOT8zp_9~-R`&7pRFHV|qxqDGIeJuRvo z*AnQfn0`Uasf8}=!4;V*hgFkRyxC@;T1@%dc|+}NCIeT0grTQK^8fZj)WP=jsIdX2 zL|430h^Ha6k#=ENLtw>fJv$>SSEQip38AhtMs2={{%8A)j@)Rj4|4AYF(rm32ed7r zB;T1>Hn^W?Xuvi9oSZR9k!pjxgT7qy(p|#hF`qLQ3$61aZc1%h)3|=o$-7ex&YNXx zw`;5zHaK%mn4=Zfwc37=FVs3VBGQBSzKZypt zYHhyivz5b7y9_MR8ya{1r{PBue@I?KDg6Ik7lfW)+5wR{0Y{^qqAfHOzRg5q0)z#k zx*ri^`L4g{vc2CP+4>iYN(*a(#4IO}nFfoffrQF$CfnY8R&rBEyH4x9Fk~ZFbaKY~ zBgm5a8u36M$ait}Esu8SEhl)TUF=HNw?MzWcOd4^41Qnxj6qarr>B|5HB`s>al+Bh zFsT8VGyXA#--q>rPF6p{Zr6Ht^F;JTg&gs?DS`(A@aCC2f|C@D%xAxh!TzAa5v*zZ7`PNHTPchymzUBm} zWw4`j){-nd71;0>XI&2&5%Xm@inhHeyG~lUzR1d;x*ChYySaNS_Xyj$$Gc`a{yElNr|YMN*=}C*h%q;NuJVw+SJBpP1Fsyv;UXXf{+?uY{YD}6=VIap9N1a^ zcylnJjv@&_a8ODz(13VT(0~To*~obEzyvMN0l9PB0@w}vC^79Dd+-DAzRQUk{k5MT zbkN;n&S*60K&Y9=x|H7hc2i63ey6U`C!tSmZsEB+ztm|?&63hML=eKN!GLw?Q(u{qX)zEdv{Nf^_Cv_*vlmX-#6Oc$L3wE z0=751AYhUIm_su#{6*IafPa5_GmU>8qkhC!%SGxDV9985|3xQMQi0C+p=^FBJKVuG z;n?#`?VYPDm-bZJrr&eqIeWUfBu1AMm~fl{>CkNt@9q{!{CQ*$&D(@Z>T$@Hl`HK+ zENT|9I3KhFUP%U82byLGf(@W?+bEYIvHl!{9cVa@m~tqBKa;6Hl%FwExXq2q~mQ)x1T^m4vh zAE=Xag&Gicr`r>{j85D=%$fym;bY=QuW0f%c8YEnvH!#4v+Cqnern^vYvBwB1GhIx zAL3b8Ukjia=l=3=P^2MDh<;N*$O?ekc(Fqo&>7L)y!NN(ecI4v4<7!=zxGSA$JTRBHOj9sI7pdD~OeXW1=j|{xZ=2*(~(7 z2of3gJbB9piSHw~ZKPZ7lvW zmVbHjV9kJuR3~)_GIDvF_TnpGHUt#t@uLH`DyyvXJ(5`FIKMx zZwoDf{zlPAc?m2;Hi)iWAMn2`AO9P=eJIV>xiGTjNL8FYTPPEXFqRiLQ18E0qC=^q9ot z0}d3`(11Yn;Vev$HfhI41hv2>T4r_Itx-ovNWANd0Etg4e5%Vd!J(M^T#~cVzB?mB3#~(Y@y|A0n{p1aW}z|AuZ~Cn@M!A8vQh+z8|azSke1Zs4BFWe zKzolwksi}F79Pe>%bMQPcLukt^AGi^65Q=1=K99-@u0{Zb$ExBYfB&Z6D#gkXbg>? zsFO15H8@Y}AA0&RMsLGYBL8j+KTLt}qLsQT~C*^h=zNRRmEt-$%fBDPfh7vH4!lQXi^YlnmsEWHhn$~$an%; z+6{Ds&5lj30NrZBLn}r{1XqBF{e9>^sB2kAWx00E5X#v_QZ#|X;c?=5GXpt^hf$yrSLMJb z+bN@U1rS!Ev)I<`cni^eZsp&gxHQ)jtfU zJS<#FpvrFzWtMT0X7Q4CI8ES0^bUrzvuSzc;7C-|FOs?#r^~@s^wmJM_?-BQQ^FtU zB=$7WmwqeKNuubsXp6lV;+MS7J|?SHgS+*QS53=n%9CZI61xXqpMS^N;&rma7`8Mm z`9t=#p2Suy^3$^qOYRm~c244M6-BuB6E*?v1M+FGiR;!NZbw!dpD%mD16BeiR}Sk8 z{oQ^Bz6<^S)jr6}VZl|)IH(IzCLK%z=&O+9MRkT>mrD`Nszk+o)8WfpW~p0)T%|W6 zmOq;Qd}?{6aV{b3EG87uQrn<_7=VmIHmeY%8p!Mvjt{+rTm|n>LMXP+22oZY-o8~d zwhj9J7Ht65x4zUPK9qh5&-r;{4LFedO9WyMGq%YV6!RKFPD`}?^)OQ^a?=CMMasmP zq{0~C`>9`Yyk+%Z>(4J&nw~rbYxr?QwYcl-Q&Qhv_yFY^*@rf$wuu&dcvchNEdZXic zCg$aW5w!PGv-1PXiU@~hAbrXmFS!`K<9e2qKl>CwePA7a4K)Qc30g0a<-J()^~z*@ ze)i`@uQ+cSCet6T7p5gfA|yJrhw4YZ zXBY;%E!-_D(^qXL>UZVKW9m26gLd=lkz;LzussqX_*+eNLy5+DcUO0JS`A*U0fX3k z)1)zvSxX9n1+~DwLEEHH(uQc97|%_n$)!}IFwec7$jChVCdPuJx#q$NdIA!=Cn|gH ziIR{{8EbPcfd&7^AkIHk5P%RlcdPjyRY5c?11pJUfS`6M zkvqmE>wDDP&2Pei{dB%*#P9b4`9~YLP@|AB`X(gd6|KvTHL7Ublj-sB!?{i0@3v4X z!35A*mQY;rWC)!P#B_9*VQZ}{-%%>ZRa;w_re>ZU&;~$MHbhDTCpC3$@MB#2w9xQ_ ziWG+A2(|7O+Tk6FoF@1v#fLQXl@dfs&+|z!cmHYId4u)kmQ^#Ti;sNd;6ui4#~+gR z0{Z~zLMHW#i?nbR$u_`wHTz!45DLF06ZK;Abvu$XkE7RCU_H{hh& zh&*_|e<+Y}_q%p_?s=Y&3wBozEz&S~PLM4Sl2%>0g_1-i;`MZ7bGi%BONeVeq7f*& zP|4A>qz_8YJ1NgH%LCYF3N7%ENDnHLRx#3aWY=xq|7m z6;FWn-FA19X@cRQX!UlRYk+JSfQfcsZRFa{_IF)nNf3K<|K+gY>3bM$AQj-IM*J^2 z82tfX!Nu|!r02mqw__ik*WJoo8&L)#GcWJ=ku*J||Hu+#0r1oRAS#Y#q7C*q&`E(E zMDD!`RT=^cRPl(P4*^a9{U<~}H&7llUIl)L{o`%S%K^axth-@`Hrj#c17^<*l=2<< z$198hI^tj7DE9ZS0gN5nJfK1-r+(4B2OgWhTm_ju(vMzZ`V8FiEMnGb*m&&{LY(}P zY%KtwvN-^p0NIvB{OKB9$~hHo>Jbklg+7)dVHKhNT6zKY3<0-CF9K~!f++1V^p97F z0jx`g>wjcj!i{ymWmEDuK5DZNcW0EmRexycoBAh#;{8E;!!<0JWuTUn_IGdT;X6}rzqys)@B*-d&?P87}^hI;!S_5(IKZJ=lx2T9V|Q7OW+){sy2=ff9$wfosR zMpu9yJZ?aNEPZAv8JmpscJ;mQ%bLpc#zyV=CthZrXWDc&nN^!dg8DU>NT2Xb>k=(A z;lW*7Eu-T_=R#~s#8eHKsS6At7DDkWmjdXCKt+b+sMGS#_VI5`wL|4PHkJ{rd#aPJ zVefj~&ycM?8*4?kCRU^bB&{Ex!G%Yv%G+jo%sTyk4}&~bky!es zD+MRy5*V&7#*`fyGY0VNXbo{6|Jl(`*;cE5g%wD* zA{!>_lk-1T-y5A6Y1GI<6?**NW5ZyfPL!Z&8Y3`nz_VTMq0kp_6DaICV7rruB}vN> z67M(w&(&!SlQj)U5VnQcqiQ&@n+TW>8iwlpoxjc4oSyhr?A!jZjjBN;CT?X!|rdEHDzgN=sG zECC^zo9Kg4@(FJ5v6E}Uin zQy8&@*~)L)4=$l32%;T*tUmabHotoW4@C_X!rQpdhw|7)#Y(0tQyk%57a&4n_TMd! zKhyPV8U}i-&^H=fq{vwa2o5=2X5d?A;pd#Gm?5cT(sV{@+2PWj_5qt8rA0V+I;A`s zbts#Bv@|iI9J8N=-N%_ZyTm@vtV_XrcewJC&e%St_04`xO$qg2?Q;v1s^%;o`R@2V z;hOV8#jbIJQVmyAWBaKQ3{V}`S`3!inl{o{2Lqs4a78wlWbfu1meeKTBS~I?88(#9 zXXl^0#ato-lrR1GU6l%`0c2B`h=J<(NpjB8PErfX3tgKKXB49Cn=1Ss!a&E06CH~J zD+F|WGGz_Ubj|Blx^`!On@sHB9H8)!^5<~j;BoJoju$)8^w&ouxz=6q#PfCO^dCJ= zfJ=2T=fKEVzncYiZFd^Yzoez!#7)P-my2q=0C2N&)b1FK7!t1Y) zoby$&RG@s|%2^vV#df)RQ)K-G;E&tgn_{pGYxNVz`1JJd1Wq%Bjf+RbR*O0IQx0#t zQRk0}Gljz0#;!k+IA>&{BAY)tseizXZ1=;OIBt4`U0dMAv2a`_#OV`pD)Yw;`L^=ewS3&o45#d3P zx&PLgw90inl4gjS-K0jUxY80jYjF1!_i=g}h;BNZ6#T;UE}P1NC88!a_r4P_>jtxZr>%X0 zFqUP`Qoh+$1|)lE-B)f$-KRSmN!ucST7i!YQ%?716Cv%$Q;vkAkLpI9&)cxPe}4kO zf_@#;hxr*xInyzFtU;Cf2{C&v;SARM)eJl|E;gkvjw3p#Y8pr2qe^`|idIC=6sAPF zkqs<$WPng!v-*-PrCrpZ73BjJUFQ#O1!G&<+#B%*ff}Ae_V*{7KLL^@Fi2BS;V)he zNB+*A89vc^f}~teQQ-X*j#xvo6L*~D&%$3+j# zh`V!FjT=z{fZ-1HO@OcHOT-g2(?m!1lJ}zZ$XbDw^Yu2Di~+t`rFU8jX5-ImBNC3x zF&wj}VIW%ofetXieb4|*o=qEEbF2WO`5Os2yU9jPS;vj3BsF~6L&)`PQ}Q_XT$(1* ztA4P^^$#^jk;pWzoHihOK4lGgpEf=0fF>)Y{X7tar;MYSYI)nA$t^=O=~IRg^I!na+w!fE0NNIxxtAV=as-wiU60<^#0G`7)?!ydIg>8iKO zAN1QyblN9#HSwCCeHr4*xi7j_p5=u2hFGg4g7MO=6J0xGWQ2-*Dl{xW&h3)Y;be(} zQbK#siqw|3%v1>FQ5>WPR~#Ed0TWvGQVA(<>U^EmaiQ|o=n9(_&Z;VhhvqT?uU@o# zAM@KoWkVcM;kc5Vb&0up|8^BzG))agiZ#}SKba5dTdNp5)^_yLo42p^>6jOJ=MxNl zuip8jJrb27S5xX$0=IA}Tx+0p;D|R?EZVe=h|77vF6W3fb=BTn;fAq%-SQtFx2#2l zu4ew06ea=&HUd;ICEC3=x5+PRvCRiLeWMzhk2fIFJ-rQ2mj# zguc)Dqrd2Y>VVZJxu?~_+zw3K3!C9cpH2R`c)NM{4OK5!1Q8NmP7OZjrvrSaEm zB90r!}JB@`IeidnW`K8U_vipjO zt;lY(%aljA=24x~Ax3i@(+WR-KSUqdrS89Rr6~pQ50*&-BfxHci2|8fnjNNypR1}+ z3ccEgRqR|5@@f*I`!H9ejEa*OS5qb%lKf};!ir$cc1OariDnz=)HID^DU`_Ig_2`Q z_!l2f_H`|!xj?OmHFV;(8kltqq2+_`pt!@3C@1IT=R6-|KX58D^!GDNKzJJjRt`OY zEnJOht{1G!C;0j&`c-oW(i6E1|vovWA#mWeu!tBc8Tbt2Tz&HP*W;uv(60wppuOP?t!o=vyg zzcF$~G2Er_;rKZna*IZ2B3_gdRS1;!qq!t|)5?JWgPdtwY+%Fa;7{c*<=blLvdnLn z)4sV?9hG|-wet~_3vua-)(|Zru@kmuG2sfmP;1PFq($rD4yGg};gTrB+8$+RTu@)I z0OWUYy*3sLnX|!_>9(hPx3gQGmLorSsWqQv-Aecz}QTy~_^z2$@L%Zw1;h9KwLDui+;eCb0#godQnVq9Zei>|b=W zv<>*~){B2LP*+3leIq7igw68o95h_83ec!((AP`$zgiT8d9j`Ib=S_GMf3q2oJL}iW1Vc(2S-4S#3epqz zoP)sF)kXv%+Um)E>id3A5w;a?S?i{8+l#_nE>av#Eqaeilc2n)#Gi8+zw=or7)muilMRz3IR zW7(JO&W4U-z{_F_n-A%8zXx;p>%!azpYklJEM`m6S&W#k7re7nudyMP=UiV>UOdO@ z=Rc|&kB>b#>_-sJz-Y?WJGW0T{P7q6eD$BB@y}=DUna-@C*}fU6FzWq>dDp3NJ|81 zK@M+0d65a!MRNc>)M*KxK>~o{b7JUK0Kw|FD$OUzl>&H`Pgq{7Sv@^Xs{*z=1=%@o z_9pb{Tu>*$PLzi&X>;qCr+ z#2Y*AA&T>ip}pS78(V3U(q!y<|u)EdJ&Sj@uc@3Fhi3PCmPCZ z3)i{r3iOhZGqn6U6er0W|0wKb+3A~zN>a%5>a7UUxXl5)M$e`@Q;@7ud z#*@{2dW=az3F$AH68vWDQQ1}`BtZfgRKDXm6p7-kiXZcBme=c+Eg4a4uz&V1LD1wQzW!UM$uTGE& z4Kbo&v#nEQK6fIUSglZ~*p^ot-@KS`VuF5Gk=%^J5~+=>>9g6sb#%{)d9m3~YGL-w zW%c36jjcGjWggBciYzsQ!cKU+x3bvWz%%HZatid=Ka6G#{ zIr_eHj#ZahiZlmPxs@ePY4!dC{fl|mmgn7}?BHqniRb#F56f0FT_%LQUD<+F8|L}$K<3HnLEW>w& zF}HCHby75@A&QEJy4sSJX@_KbYzjHeE4uPL!1;Yt%~9=ua@V(LnLY(elE;=+sTpru6jnUa~(6xxIM+)Qi&`TUFV;H zF+S0dBSOQ=HaV`j3D6>ooFLdUj(da~y#m9+F9y!t6Y5}`QVEXzNP*5qL)uf1PbcMD zPOR{G?mU)=bnI7iKfiKPp^qX*qMt#%G_^69b!C2n<*3xWJZNPtuJ*FO(#GH8)6mHC z9mcz>Iza=Ky@8hty(-Z<88y;X2eK25sk#7BFt(wdq=5HF@=-(xqbTo(@~edgw<@cXM=YKMXDEnhuAT7N zD?qW)z9T>ZusIpL0JNz=uwk^NAan~Z?8uvvr398a{8^iHJA#gm?h4)d%_LE7FLQ_h zBf&U&$9ohjA@T_4JO%)yF22|P&ielE!U6sWEBO}sSv2+?9K#_nk7#B?uV~_GM(2Og zxux`MYe@h1AW}VeZ{s)6DF-noC`}bm_w8uH9Y{0)WbtopIkcFYlv;q*6<>gEMQa`E zh5=b4sX$l74maO7Tni!*!)Vp0tpa2?Zp*Mv>lfX<9we1xr11WK8I^;6kWUc>DA==* z=}$C~gLkk}Zb}-g1xM!cz)?kFYEx&?kEIV3(P8Ml%gg9P0|9S^3Oe)Ep4MiKpi0zz1jYSl;v(@Mky*Arv3JYA zm4q0i^^BXJyl^c!er)y*$i&e6EM`fG!j9Mza;3AnHn+)%eLd=u^&{nxc)%zd^1!Ka zCqC>N<=kNgojQ6?gPL&xsHPalor@NT}8 zJpnogGX&%u5T}Qv4kD+TMAmn33ymk~Wp{K^UCmPOa=Ehc#@&6+?c@JPat;R{z(X{@ z?{Lx1(JlqQdBBB&tfu>B|9(%cKSCe%&qqZve#$@N6$tsJ-lPEhwao>DP3n;~#O9RG z`vwbBF8s`3`98#$upL9FQ#Y!Ukzas3!DA$AV70b=skx|Z#H_iGH|@n9WPc-;WR?K{ zo*&g?sbmzGYKfw(5+MM#_vW_-ZofK|l0xZA&Hpp-;E$w;_ptyk3wF?`!=qr3yrI;V zYGk17AaAB>{K%C%Wb?ACUS;AsE(SVC(=d5rie%fp{QIA-JN}T3Ao+c%O_Mj)4s@fe z{MNquul_v)vq9z`xgP#3e{GHa_y7Lh+7K-Kk3uikWAlIk*qv-J2X}^lYjFLeKGuJB za{ZTCukHVcE6e3UhC;GpyII%?VDOs-fNHTX8cp5S-S4 zJV5nh&s;uY>}4Z{COTNB;7`cWhO3f?2VK7yIvG4!>`t~6+NyebCU+*j@qQN&_a?&q zX>H-1xY^8<;YRY_lzMHwyzW>EnE$CWz;Ehh#@fE8h-7PhozzoYdoOIsBkrEw(yjhX znKPe|gBPf5Lxvtohd-Ukz+!C53_3H@1Rpxhol`u;d&oyj%+<{ga3{5Sp1R17Jhr^m zuGemsStGQg&`4{^kQ~;4I12LiUmPh1oqmF5*+~;sF)N%;PQk9BSTFeAWW_z?ZO(nF zOrE@Fve)-sYM;`bY|E`<#`U4DkTMroH@+Jd9dO@a2E+)1tAt@SI&xYcy}d@?C&BVU z{M_Z%1UfqJBGFlkb;DU8Upzx5u_X%%Bu^9N`a zVK$hZcz?0jQV;a3^dL83Qzmz!$p{(*znSpXs<`XbC!<2;ZAlYncu@q|a~oq{N$glJ zok1P(sR1Gqs-bMQ*RpOUV=M9>eKyp1|5>l~zLXS)^L1G{4DW8IV7arqz(S1ydqMoo zPXojADjC-p1{*v`M=LB4-})k8CTv{k<(QGWwx;d6gZ<5YI+pquC_`!@4fBhRxoZYo z$;-D$KKi{nZXtHVf|nw5^TYgfy;)EDtfOhbZ50$5*r+@2hG#mp>yIjP;(OS+&Mu9; z>ZLQA;yopQ>qoi>BY9E`mR?e+GSzM{3xA~S{{JVwM!P{rE7Ct|) z_C6QI%u-*2(93;fvu*`9PZ(JBpBQpRn66t%Eavx0n^SW%AU+*B$acX?go>9l#tz5p z0heFUw_a~G!sWipgJP52M;LR1>`tv(BZ?oR3USLBka7$l`^Q_S3$^WgvDw))K$GKJ zUNdUkIg3ovysh8J`_)WZ!un8G{T4_>R7ujrurO#8OLMR#dhdk{1%Xx+liimZq%oVW z7aZFfUS{^?*2!GL+U_xn^_~4dHpeuhBT_{HRz8;WvSl9uA1dk*ljPSGHi|Nv^SH-r zdzbYZ_|u78%Kem%Vn;3<;YHKzrA>ox)wJoVstAQ!0oiJAA6RQt@f30Ian+Xsge2?y zF(&_77^@?87w;2uY3l50?MbySvdBwsHf*ctgFAmb`582n@{#&l>D6AIe^*iEX3g?o z2aFiD_XeN?*)H!{48Zw{O7mUd>Y_SB^JsLHHhJr09DA{UV(@Mu_!XKC?whP@wz;Xqp)xig{8(8h@lc_ zr%1In1nza++1{f}=tvWif18!_-1i3M^o!f`FC;#XHr5(&vuFu@6|@i%in3*Dp~(^v zYxQ^}*nlY7Ug3udl~#a9UtqG;P9Br2|Ncs{`c<0>^ZcN2nR%v z$e@Bq(y;y+tGS1oVF!%Qt9S~R3q4WTu(`gd9SJ12Pg--3070`ff(ZhePGhR=$_eXr z%zm%4^+MniL(lLo2eqQ20*yIfr+z40=fGU3pF-*+u`IbWpi?onph563#rdStIt(D`HNwJ*t~7NZlZPx1nakajtP z+}vzf>$;K}Z4M{PsR_mx&-K+``}AVghh{AotDL#7k%IAsisM+N5fA8Tn`y^|x3hcS zIV6ry7dku6#RCoAkQcUgRzckw7vVbb7wnw{wmZ^$o?v87^_`vTkwiWn?Q4U)QR!$x zzV-|HG!uJ#jFhEUTC(Hs48(6&r@(-6iE9;*++@~3gai7E++2Wq*GJMK6+tzIZM9RkS?4j|a$Q&B6 z7f*Q-*#vo9P4=i!UA-{3u=NTq+iFqd{U~@j$|5#E8<^Fzu3SDsvo7g#NFHra)ED%y zr=ioF@wO*a{8)4p*H%0^?mMng+cU}oK|F(Q`di{0K3SEyR#VSg7t+2vH8~%Pe4i6$$IuN zAW@B3vZNDMF^ABWc!MY!u4d@!7$|?H2Y*U9(CEi)omJnuHcR@8epfn=nKh&2N|cGp z0l7_G-Rr83hkIzK(4fSd6ktIJ!;ea>dE4<8>~;pIjfE{FY}_5a{nfqG>}m1(%VldM z+m-3l4HhLMn{z&UU0m<|_aqAIyA6M~nhHD@HeH5s1%OE&8Ir`D;5ilU)^I>+_<2Ol z-tPhN;hXIa;S9rqH$jt(C7-|Y-6|*yk)26REf?W>Yxs;u#q5)Kl5OGgctfFA@h+t8 z7acaT1u>Kb5)+o)lWPcfVNqMY4vLpO*`=OWgIm}AWaY!41w>(F zlThs{Mh(1$^Ms99#gD|-?E%BaHF6)Kt}vX7$*h(h|AOTKGSs4Fx@}R;DESE=%D$rr zSsV+JzT8@R)cd)9SC`rVncu0xj*|qP%imNuPoSma>z(|)`!+Hw^xwZj-ODCKz2^g!@_KBnI25l0_U-u(83rh&O%(XZngrwApgwqwx*=3V?6(a53G3b2$ko z9xCsmbP0>$C^cRAZ__>wmIGO*_BTJ5dZeg1ALX5gyrZ8k`!W&nTv?_pue~74KwCht z-fyDe3n&!rD1Cx7gm3Ez*>Qf1Gap?mwA)y+0xR<0i^(0pY6e70i5lgBUnUAiKg-)*fbR@GxS!-7dhJaUEG@&W&n?5+knkgI7BsPHP&`;h zmXz(5KH5_i#q7z}IwS!hAhnpT@N7Fc`#2^h%rCWEz88 zsZV-i?Q$3=t!;GEOR|_>z6{ZL1?;^^zOHMqyk%_I+Q{sivYt!wOCDn|X!7{a?I_c0 zLfX=O?K8G_Uj{d!ObTZD|4NddK;aN`r05Xg9Pv%5*qkl@UTW&^h3W@@YSyj)% z0h0TF6H;y$OZG-|*$$!CK-{#LjJmm*O-d4u2{HBn5G&}41lhhvbdJLCuuoK>7J#2) zXbO;aT(=xnY{Mu%z%Ky2${gCdd2n$WIGKNY)JKbO8vO>ii}N6Ur+0Ue(gADuiB`xS zGhjS0U=m-j_xC7QWo2eNy?gCjsUNum?h`u1}u0n6D&>uAxN?}L_C zN^j+$ujl%CY9#HSrU$Y*P>G0{ELcTJz~%lNf^MiwF!5p**Tm{OWV$TZ*<7K|1u6)S zv-_O=K~vyL+nlxi&pkk`2r@Xm7`2gj?4F9_la_EWwc(l>1g zQ(F_)BR^Q|kkr*BobkE;xZhus?*DL6cXQafKpDzT^|uip4|};EV~QaccZt6;??<@&FjRCCDIWZAfr%Uur;xqV^W*y*mW}hWP+MB!(|(PdP_)IWuq!`yaf;U339%Pvk0}; zQ(yvsg(r1n-xQCh1C?T9E1y63Wt49qzeS}^RjzH%p-JXo`#MsoHv$eGbK&AmFDq}6 zYhgYJ?@Zi0^EtQU7T{kp^Eu1_IX9BsYN6;(%2?DZcje6fKy$8d$mM?8`S}b-l$4o| zY5WU!tz$j{VHAWGpl|0sz~o!J9Yb{NKz0WZ>3-#OwuGO-o_I8?rDL-3L1k*xvhz^~ z{`4{ND5@R`Mod|Yw$Bt?}0y!dzXZBygJ>wzDtJ*?muFePVnD*292OGVmuL~oAQyT%A6HfO>7m+ za_ZinqZfI5-`>Ph^YXZ|u*5ygJ4{7T8-hqAO4C}Mf$oE2|B2I^YqJ8#Mkd@@=?MAA z<;yu`p|*-$RzNoD331_+R~B^7^Q&IQdBxk=+hJxv2QrX1ki9EFyNU@Dar=lZq}ere znW)<)kz-KwED5k_6JZCWMc-b54`rUv z*AgunrC9=$N#%GXi%&}XqG1JLk~q=f&Ju@_TVYu{nqtbWMzw7UVJ zeDaoj8u#7Bks?8bah5I38wdJcD-1?(phkk*&%x0VU$#3`l=hDA_Le>9Zo2+v-I@Io z-#L>Y;}GTf523SH8(5+*nQGa=(G=r}8=5buaUz zl-_H6Q7lR_i=W!z>~ks2*2rKS`!0le%C;%!(EpP48y&8Po-ENXyMc%z(9L}i3(2B= zA6ABIRfjdvP7(H_PglOV82WH{{d_f<-*;_gMIiY4vmm#nK#AU8bj}KcvFmJwUD-}x z?1j0WWMbQFt)5E+NJaQ`ULrWu=;u<(tv&2o-DbpA+nr`I zCd!|YuZe0ZzVCE|rR#;e1UR1Ifxfx~c<&aGhQfo!5l#CU0>e8!tIj8|8`7+jnACmk z5dpm31kY5}r>Dd+Vjs{{bLJ%GycR@+*0?q!1(s`y@&obEvm*1USVP3+ft728^J(vT zIAH&az4w4>s@wNPgCZbRq}QN;AXSjwf+9^sL^=pjkuD(8YY?P20RaI4ktR|iU22eC zr1wrj?+Gyz3(}O4A&xsm6^Hb{Fh%59#fvqVfQQoq<43g z(bYLgYNeR8(ECym2vjr6ZE;=-tE=&^|Oc(mEb_nPye}ylo`}@ds;VNSJ5)q3;qy?zHUZsTue{rxdR_W%+PE5J?r%8^XupZcEydH+fW>X;#bblu01Ue_WX{p_D% zQvY#lTQlPkIciN+@}Aa9n^xs~?ae5o6KwQ8{+gz+qI=HEdMN*)u)H zH-+|P9Fo-;T`bo_rK}9soVKsZ61!NeeYJmOTW8h2(tGMLUM4Zzba^uJGT+6-<{bkC zwk0Zg6lsVA-dW@Oxkbv?<`k)l)0deqUy7Gh1wMpt%^VAu9}6wqCnwKifA z=StK>xC|}~M+@%^a5HRH>UMLs6`NaCB8trR2ivi47C#WK zd8ut_B>w^#j3^D0%=F1E&&-+Cz3W+Dyh6ssentO~D^@TDYj-YU2cf||1BW|T?J;`w znpZ`9s%XMcodGfsZ1|%HU0Nnjk7=`Nmv$d3Yp>o8R!^W}K)%U34}UFm*eF6$TlX;s zlEfOF7;-6Y@Pgg<4%|=utuftW{rR|pqf$h~suDjwQb7y_W3)F~n4TB@Htat0#u{cRFq-stTYkBh6)RV zAh}1a#zb}`8Xr!xJyQr1GSIGPe?`iZDL0-H19`#0-OkD5=%9mEL{$l=g1X6Ty!4e$aW(S8rKGu`PZ5bAAsg!eE=ZlCwxwoPS-Wv&*@lmkxoUBL(T8 zu~)fsTWjp;xIuQ7--)!?eclD31X2<6&YwDbWenMvltq##Oo`j+o|B{_xAD+i*28g$ zba(~SIJx;%Tu|;UW`WJt85zl0J?m6Ql#Pe}J+{;ji~L77vVf~&5i)nO60z}zaS#Xv z8GaD_2RBh7<1JPA5#G}TLseLT7(ep;;rd0JnpuEknwG(n{gU$SZsG&A#`9b2O4sn2 z+f8iRo<*f$md=ij>>EPQw~Hx@-D)Yc7)_(8xC?lTz{BM<7V z9nu9o$>NLK5+1x&uPxW?eXZH&t4*K8Q_ydx2fq0XAKEDGIa8gLfh&$v!j_#wfH-An z;@Rj^OhKFipTeuttEIt(xwKEd@RS}V$TD#Y_k{2%tX*WwB5$HwN09jO*QtdO$17U_ zz}GaxG~e2+lr$5zWDiBnGfL1Uw@QP3p3}OIL^V z0NvQrYDQ<*Pxg0bXYaCPJih1V)z9)Fl$`CO4ZERFKxZaJBGPd!r1aV7UZQRtYs`3| zi_cEsfR9-9cK@w=p90ke=`D$Xdnbdw@uOM2YA2h8m~M2M#-b9P-vynJloTU6FGMG& zU?z&Df_rN^ZI;4z|1w#4cq$LgheD@YWW>Q1G*h0fg6Ip7Fgm3I*X+A*o~Q0!m}^5p zC3#F}^+}C>kUGh*5ZfpciVA;xw)2!u5nVAey*F|n%lDk0HluB$viy-u~DSEgB2_GVr45asLXKQ zY4RHovPLS6?(RE2eWON^QL7hwJ8f@0TQ72o7*n-YoHv7RY}%?=gT%q88!j)3Efy)N z>tf@PMSC=MSx-k4)RDb_92X_o1va}hW?oWHn$U2{pgSBCkQd;$QfG6WZT|KLDq}l1 z(Iw{!6SEm?u&+I9vDm#W;jw1d@7{ganq`_f=%3Q$tbaKcO#iS>7|#0Umb81e(0^u^ z-{jmgpu&&+cKo#M!@$cF>rt;Vk69WL4` zzybBiuo5@6lW{oXv=&_RYU87eMXD;aJfy^u z299E{1@!Gj8}RYCn=WXltsnf;m5i(*qn;BrpSSuDP2V-Isz{V~mDHxbvx&A0As35H z?93vS7zhs#L}!-yD&mZks2Y8@c;5^?HnRQsLW4ZPh!{Uyptx21Ig7{l3dSJ4KCuZA zS#drDH5@Lf+7UtZ9Fvunh%DJ!hZ@W#wacU`G(e#^idLLgR6= zcBPiuVzgmzozzk-pS`==bL;Z7QM9i={e9Zxb$-;>;kp7r7&I$&1z5e``6(9LpGoe< z7h&N)4s560e3S_-qYZIYQyq6SctuK0j6Pmb!F8@~gdZ+Uj{$)S`W;wQsft=rZ9^w8j9MA%E)Z72#SJj~VV{!xd4|#b zQ3>C8&-~3agXWs1k>&LVPAW7XUa8z9_E==?0GJCmZ6VYO0rPyUS>Z>Gua~s^Z|rXw zHJar&#pD{z@pUOZtK`321sdp0(Dw1CmveDWEzyV-skA%i6?MZbP!c*=rGt*vmxmRM zmhjTbp=&#u$a?>$Hxk0+t1nHhzMVU8ylPo9hpJy7_Y)eyftTQP*q~{L&IZhjXNrs&rzFnzG>QaXio|Qtc5x8i(w4f(T|J%y8s! z{pk3?gVF1ut7^5c_tlo$baQ6CE{We#a;g>n1+un8>Z6l0KG~-XZWyv|ZPnq&`nF?W zC4DQm^tkznPBg!LKQ$r)aTJZO=WXXqBH$CgJ?8`ndfC&kY{9gf@(bt9_c?{@fcjE# zA5F6lB(xNn*{WStnLOVuv7W{=ZCRu8KHP_2vB)BFaQSh9;e!Lw$c6IpIE+fi#kMP3 z0Rrg!D&cSC4fTVf<6}q6L_M8S%deVWECw>$lsMQ!Do(;yu}rS$10AL`aM~ zUAk>q<+5-EX4yy6(IhtN-Un$@x{Y>U{r<_m7m3#}ZU6dCDm2LiygJjdJguRS@XBF) z{mZMUp&TEtxw1UYd*G(A`?9L1`z)8**ZcF|6xNn@ylb{LwTOMzu zH`w`n>;1@Cse_o|w-DNYP6+LP`Da_?>ZP#|I~dWP)296hH&{jKVaY(y)}QG@vJ6l`B87Pmqe4&b^v^n zFl$+O_Bc}Ag_ZF+=ps*M;G+u@z2F*Y9R1ai#rCR!kOpoE=_bJ>N>3)i1J&HMxE!r@ zIZ?fJuf3Tt0{Oi<&3bf7Ykl*CeIM0v6)lRhU3kD_z(kJHB{K)flJ6Ulrpb~qn`~{F z(00T#NIcyHcZYALFxAum7R=@vR%v!mDteZe%lHzsjeyeGALX_b|B1D1_`kFwctO7R9-=b&vXPtKwU`N+p73zw91rY-fx-p!k^m4E0FtHEO#sqKrLk3%^#+D@Lh;9=hsa#gB3B-ZodM_VKxzZ{K|pqU+@XiBI+U8=&SG8nlpr@Td{3B)+&B z+0}J--AD%Ku!a{sR>G`fZx{GUG+_v-qCwAt1bru>?z@j!zkS+RuC?m@{CdEn2fi&I zUo2(%lqDuDO&*J%jaq896hW^#Z8Qq)IZB^rSwF@uox9%ogwqKg52})0SWC6#BWu!c0=J4RhS1!ve--AyrTszOX6|CqOdavc>bZS^^u} z-n(y^3dkX23CAuTzt*%P8fL&_n==F>MZuV5&vxgx=h?G*6g@pjX8P7z-|fc} z-&KACMMTxLwFikJka#7cq~aHoCmK`=o@~yuVCYSEMyroW$awV^!mn#@>w}s}tSvib zzqk~6!jDb}VGkUh(sR8x$~bAv*sb+J>?tL0x-QTLaN!=J!Ld!8SfvqNbbnc~SH-!? zPTJcvhv}K=TrE1Gs4GcR)uhfTUh^K&pSp`Tlw`3ZEpndi3p8FCI7qPrC;5<(@yOmz zu_=Y`q*dhIA|cAXAWm^I>N^};qYVz|G-n2!9U2;$urKo*T`WDM>14@Usx%n?g=_7i z(?F+WpV!{8Lmeh8N{QQE^Xm_C>{{!)br%$`q*EI#&f(x)xxS%x*gR>Dk?=|I#PULdp7C zO)QXXdVu@u1%I~TIvuiZ6ohQOE;AeG3THAVkdS{BD((x3`TF{@bsE4=O$M!$H8(G> z0gZ-5fCNB+8rg2pLUpYsuW60~0wFkYUht+{xOIHa453#c_RfI7SKB8WUuqCXfOEBg zzv-hwQ!%X+r^4!zsh1Oy#mTF10Fqz}K*#KXn|rqwL#|u!3*@|U>=TW-^fp}jj!!i!LP{uKkJ$hUX ze$MPQr34@{k-PCr86us{XQLB(W`Y||XGvdwwiEiT4y2ep6SES%AFClV6`48^7o454 z(V>MoPmHs!VAXzZtcbJ<=a)F}IIxfJFW%;V9@*0@HJlT4`STcS1u)%$q=k3{T=g7` z1WnIwG|r8u;b%Sq2&1bFT3@k7$d@Tm$eQ5*UclL9AiL=!tGt%%HSgmb#?w??Wu8)T zuL~8{_)jnJ$pm6Al)5eCV0Gmjz%P1NBq?Y#_q^=mzW1AtI1KJI6;Y)U= z!l!L2szb+vaqcUw-QRo4*)zT}zjKM)@w3h zoA5JQJV#VaX;Kw?$nkumNDl&;II*m{hH%SUl2I@1#JVnynq7k3% zQre|!u4G{gxj!WPH`7+dqb(sVByuj=0%G1;<*~ey<>K$@tK73J10@$r~ zXeAXQxPeb8EN{{rYc1@geV5Qzn)b7@T_)y*&aIlBTPDhNqkzUlT0L{(XSFi&vY_9BE}>X-PU z130`8h9NkXyeEFLnVTJG#rHK7D7GlShET}7=+u(f`ycZCt4^Q`b;!po=6RbaN!@N6V74fM*ZA?5kepFgRIPjx0J`9H-!@sKarZnAi|h91Heh zM~$genNSl$?RaH|k#>deHHrKAH=idndQSKJB)itdb*x~NZU?Oj#B!V~;aJh5a^r81 z-bZ^hd2<~V#b&*(m!fGym^Cc9y1B)gFTDp{zR{S~0j+h#P+nc5y>O*ffGjE6rZ%+KhCT3M^@=kn&blqIFOQp?;Zz>v1V*l^m|iBd0}A53XX zVTXHUouDyy^ZOlIr#EU-0qID7;`o?s^5oZe4G`-bjLh$06I!@U&#PCt62o&c2zb3E zM@7jyxLX}uGhXqu7P)AZT2A2-P2P)fZXRH?g)zB1hVZv_D zrbfz3S9l7KQ^KW|taM`PJCXr_MC(I93GnCgYHQudM{k4ilzPpLqLarHW_AvTRnZGq z{nW8xFbv&2tmo%BFZ+cy7rTo_6Gv0q%W32Dx4G4VC>%FUGTtvs1oH3tuEtGMbSM$m zVAGKUS2;LO+6YwWb8MK_Xz@-ao1@xnZu*0F6=iBBS1x2vUhx66zM`5gV4K$3%`{7|n2nH5z)e%n;a{L(iD+~~QF`*Uo9F84*!+y? znWIyROo{IjyaPh&rPCa6BN;-nnM{yRThKOVH|uqpc5H96`V?O(UGo8PQ-s(d8tLg? zdVmaT6J=Y6R&uPpQLyyQ-ilBPubT_aDKKt~c*MJ(8?t1_(@#zIbT+o7%1;kXz0{^e zg!Ro4$)R*!EYZ5&hJXxqw+)exU|;Rp9xp{optu!-OgCbHs#2jl4a;W~X8PkK~KLO)r5Kp^@%N zNWe4L5BvXs=_Mdf3+TLcpNjz^EtPw*Mh}Mdy1rFgIjTH*7qHnc4l|OGH)@inOp7|U z!KYUtrfpC>a#G1LRJmRWgwsT^Db-DX<3od8|2L9nRcMFB@enk3vqvTvjsH?pSq*A< zOCz=UfNEI7x2*G!`9h!ojvPyc+?!f!9$XIqSM4uB(@;pX4Nya`_f!i0#7@4$UknLf zxGDjCOQ5ZvkUYm$?nw1{Y6@ixSm};^IKG&u%qq89YlF;SU3)Yt@~on)A|^l6`-8x} zz!wQRcc7V&>IodZ;Q?x74h#L^s`CsPed@_n^kG->+AQ@3?cru?DJeq>VG>qDU330$ zi^|e*%}(iRwcpGnN$c#p*E}DBd)->_W1X(u=&%2!dc|MoE&>@xVQ(QhA$-_(z2!h} z)G7U?)cCi`@-F4>mOvfQRe#Wp8o%4<+wJq>n3c6qiN*_rbMuk3dv%o&cN|`aIXKHs ze^+?%(I#>TpW0yl)k|*)8Wx%gbAN`<{$gf2dwP}r_C4#ny5ZXzESzJ9ZNqlAyquTJ zU@fBlOKc~Y8Fg6RlzE@iff-|BuQ)Tz%aW#H@hM}67d;UM+Cf9I38P6j8mday6q1xD zTA4NLx?`IT0K3)i3U*(MC`i&JG3hek%$*p@s;+6x;6_5*{9zh{xaDse*FKtQ^QH0z zce84YZ_o8G3MLM)A3$XWNlS3|@lk#@=)~qa#@bStrCAJ2pU@TAAvmNs*Kn@#+)CL% zhFh@y)ovA2XWWz_bm~}JZ9*S25O^f)d_Ti+*UeuJh1sKxz1^1F4F&}T!15i2OY<7T z2$%QJd51I5>PV@J~T5SR+XE);Wy-Zyl z3+<<4T2-wm)2A5jkoC8xJ{2#JIW+lu6`Di(JNV`_S4{zCgtM`Ys9$PCol%@7~j1eMPv~W-y|;1$J^%Zy6ceHNyYQ;_W#T| z9VDf~SRT98V|5mRKtTtkL$Q_S8Ga){kUL-N)c{vqn4cCUjLSKNyB01Fe~Pd6)1%t! z;6|1}R)+j292kRN1i$(4{xWoP*a;Wng$FULPZw<0pfV^Hm*=G#2|uewt~)#xPTN*o z0x(^hS-nqo9?P=zB+!5+K29{?1Z%VgCZU~Wnp~l>e(L$$8tSw`lYHn;l-dr*LKvl} z9D8vNomOeqj+lbd!Y{Uu=IiYZ4VOvgHy^1tbG<9o=t4DwHeoRjjOxOoaGprnN}>X6 zz(UIf2=?I+i!*$f-|~f>lj}-X!qc0opd~~>^IEX-CATaJ0^JsbS>f)qM+`%~7JY!* z@az-b1}V%gMdMr-$m+enMyXSE6C14i-XLQ88Yv;#6ttUutcIZ~h-om$h1v&j4)6Fe zcXJjN&CPbD`8`~GY4D82!+HR8!%MNYR1dY#LS?i#5zbXMI^VM?Kl7royrDe3zq;wo zLAAyV=-n%yKy??Wx}O=QG6J)(B>EQa$5)CiYOOoM7uRsB@rnvr$B?F6ukK`q+-kka zZp3iz2eqqa$|OSX#1z?`aI&MfADJ6B%)2EEE!VYkFIp>q7j9muBL|%x0}Sg>1es2o znP7ThgC^3MYI>&U+hzBt&Zz$QTJi{1`H$2EPD33UT?5xF>dz$z1GG5x;VLNOR{Ulh zQirmewa+_#KR|iSh5}%y;4i%AnR{JfG?oBrj>buUg z6B8N%;8KHIry~`c>TT?Ny%j5qsvT^tJ}|cyuDAv%D*@)vkT#uD7BfO^36QCfB5Vq< zwFMM~3YLq`M+r=I?*jw$BX2VEclCZVSf*U9jr(gA`B-O)>Day+L;7|v zfZr>v({RjB44J+hG@&-UV}aU(HZZ%8_E2{PcAO~2l1fZ`Uj`^amwB$MQS!6ND~le2)YtgefOGS%XwbFAuau?^;eML=eL0)c#S;~pmO?sgrtnECvh*h;&B~2FNAM)cxKj#q*n|zi`WmtG1pOp*0-DC3sygwf0C7Gd=l9Eh58dx+^Z(sjrjJ!|9kR~| z$WS80U>Hf2|6ZNS93{G7LKEQbq3pBYbG*m4PTH2q_8m~W{ICE%Z;dDTZ?&zx*~zzE zejFR-aFadQ!a`j5;oAJGKHFZ(jgk>u2Vj`c;m-x=UH!SEMU;h#ySxz~GjwA_vgEeT z*x^jHcXdkjh70j`u9&XH!XKc0xyV{OJBEHG@0~`9Jyf z&o*8F8p?P6ERv@WSCB2(lxxq-c6nx_lwA;JW|qojm^LXx)FR7b-b}d|y=YxJq&(vA z6tE7x@-Hsw&zJZAcx;r1qXc94fpxdE_0%ZsGYdOEal$Lmo<%QutJM(+r&4DRru*qP zMS7yS4iPf4pcWpjJ($%r6>IU8Zb-w?y#245ISBpD%pnE&f4`Z-6xMr@Lk|@fFJ@T0=-?kJK^cU;A6+1?85xJ*b*!y`3}S>D~^)~pBDgxw{lL^nRG)h zY%A9TdbyZLbDrGlH0)$q|GusXrv%VrOlH8gEd@|e0ux{%AS+!{1UhI7c1SV?XzJ>q z0gESdXF}jKoNz&tKu?sU3baUCC`te-2b%%lnxzQ=OtbE|BhD_`Be0kGu#ZR#7=X7T z69Gs>%8o|AKtw=8f*gXp1QglUslEd38lEhqGK;<;9LH6+fG4Vg;)oM*0?B!~=IbM5 zyE{(8=AnxfYLDW#g7_~q{wJN*u1-P+@}R1&4ieQ9QoB5n#vgOqnwQ1DEno4C93LXw z@Jei*=lwqZQsGX?vVaGH zN~kKqeRFI@3XH+i;N75W7A4AzmD;aQT1|_Y&fHhVLXL`@Ls8R)k;Z0YCK_Dl!A3Y) z47g2+dO}1}k=tV2t?~ZetIXa0V`IK_m)V&NW3le#<$VX%NKnG=uGx7ZU#8}bG;2|w z1Tkw5KAr?`p3EZ-K-$lAU}?@nTSvQ5ZoJr8!fRMq$<>=L{dq)>koLz<7C&5K#}ZXR zS}>SWk-u=?=m z4$Ycd7Nl}L9l$0&!Otz%g^VT+2qg~OW=haxuFwE3Q6a(KUXCBYqWt(ng~JSe+@fWE zv7Ph!;Eokc5;<~ovn0o}nJqF0^boW*T|3Qx(dPgKkCX&6w!&w<;w-YvYlxnY=8p0@ zd=Km*vJ!5vY(g1=!u&B?)@`C zZ#*n0Knc5r%#Q`q6>6`M_PR@N-t{X~2W?R~S39xqSVY8<`hf8^`yQ}I#ZOME*iQN+KACVT>E$q_- z{~>i+_?6@Dn*V>%kNnSApcz!fSj;F7JHg>M%zU-@ExcEp>)GuoZiAl^NvZ_pc@_pK@7R3NJehzoBCRfvDA-h;&(wM z2kaO016|u)=9%$zO;@o4OX)btVVrZ`yw|FH#15NA4DZ3)Z`=)q3F+cRY>5Z3%XvG6 zbLy$)gwS`rF0R3a&P)IQ-WNT5~2GS+?|zG6;jPs+3m5lws?GT5K>X9ZY$r zxSPjN=XJuZ?=Q%oP({vN6or~*d!9S`@t0%$k#P)&*h4T@UBSjL%{uN&Zr)-;-Afcl zGe<1>w`<2cT%kYc8yiJzIIY|rwyJg<&gRU<7$}R_+oK(uo+g|NU?l*tVyqON=XM^pO0V;Fx`HAy=NURScwa@{ZthkvgyHz=z<83%EF47~&Ov%f zryWLvqrw`Mdeyf}Q#gEDXDspbyr#Woe@KpKYg;6mjfcJ`01I|-(%uA$I7|bpos9@d zc+RcWJ8pj0xZ)&A;KNY(PF3JW;`sM6?^rP9aEYLlzbG}@!X;D9wb#y7jjejvXvbr0 z;c#Faj@5C4oKe|9uuNd=5P&b*1(<$!O85Zl#U(%;dlB&hKCSZuQEl{tO0?60K8)3$ zu)bRTJ%rJhWh5+ASzP+&E;SifY}E#AN(ynX;|%1Qomit6d@St`sW-A@BU{E>4U;(= zp4c#s=(vrq=lrX`06{7O3+cLKF0ku7fh`#!${k^A(+dQA96IOx#stA1*v0lHf$b^h zLfoGR3IGDUJy8KR#qmTyzXZr}V=M^WRe-Ce1MK`5*zdN}p{K{d{)Vu`@&A71?-BYv z6Mo+-zt@D{tLFdpyF)l;HMH}h$uI&f0>OO!GbgrdxI`US42g&>z!KXv%WYn`X=&SwNPJXcS>f8Xk;Ec;Mo>WgylCg0oHd@kjbd&E+ zlQZ{Q*qg_@r|x7xBN7NDoN@exz(#+K34aDzG8@3esTnpqB%jd2jy4eJS~u9453oc- z@jgq(Ud|g?Dn|`lr%=KLL>EA>3SofYi2+D2LLCQ8;6I%?xDuE|;(md2peI{^5|uhm z#2ie>MC?rfMgnm*p?lc4E$@ka1nv?n9tdm51z=}nsz8Ji_eZ4jr?c_3e|RDGNgV{Q z2wQ*?8aW537BDm=YfvDeM>7!Az<>S_>VG~l%lh+&fFNJ511bpsk}&{rcIc}h4Qo@X z$$$w0$+*!eGYtJ1fG&P|3q1jz6a)T;GbdQf3UGBBTLe7p2zWT87l@fgCh%v!KwCrG z=s6(ZKAU&P!GWY5x(uYDEs8rW6Qh2 zcJ}=58-fl}C)7}h`TYY|_t$drv2^Q#xnJc(!?zn$NY1t1e(<~)3jLxmwz(A)X|dWl zfciR7sN108H*d2B-vMp}UQYns`Aq?OCg*by7mV09@&j0<&!Tkj>`A~*RO5+Dnv*9q zV_@qWTm4GZzd+sQ=o);eFy!#H(UM6DF2;($dj_6r0PyxaV~{gI6Zu9!9)Jz{w_Tx2 z9R59*pK}H%5~6~gxJ)>r!HE8B!GAz3PZKx+r|F7(U}qF^pPisO7lUStwT(7_ z+ce&)Ek;9jM}hqi!JQ)y6!BuYajw7vA9Ph2M!lc?EAJlo$n?MAA`S9;1N4YU)zL8I z;V%#afqz|zy=HFJfvIffYR>z|0oFJsJ~VtPj(VN3i5`tlPPHUAo3camR?>2{bcAQ? z(=?OgfLcY69`?DS=keFreO2Q1Y4g6(7snnmG=yM5qm6%ZzWJB-FbtHHI0r&lJXmT&bgPu?f!#eSKzVD=4#A{Z*;d;5#<(A83*k->$1FCJc2w3?+or2Sk{Md&<6PfH z*Qz6sL25QVIUucP`k0Tbpi>A+D#{zVBS07?46k-<%5-3zuG{85Sd1oiu6 zKxamASXZs4aoim%n|yVJ>6qCKs^V9_K*iq7f!Y4u*8}ATBB14vHt^d_I>PLP1V3un zaBchXlWBXYnqFrJ?jWTr>8JL9I%qAn3K9XcghVLOq9xbD_Znntv_?M1I*c%8J1DkC zYKX^3HoUGJx&Ubk=GYnv5bDkk=+3HGtwq0w=GQJQFhHm0y&_7W{+W^AR&uHg39=_* z^G0s~;9(V23}Raa4Q;>T6}!FQ_W+xf9mO+zJ<)4$+xqE_@QB;N$4dek>U!gWO4i>1 z$<%e&*5_X!xg-1ibQ&xnj8G?f05|+ZJ%CKvK1VG?GdjC`vimmMoLKTD!S~!(GU2&6 zw~9nK2L>mYsP&03U?GBGigedz!v>U@LeR&|XIDk%`qeI{ETB?tjZi=r_A=P4ZEx(my< zm96`Htp5}Yh^}UeOBFwxRuxcdm+h2Yx4k%kgP{*hu_mbW7$)e*>WI7iV}-64Txf4% z@r2@BH?DWStQ~MCd}DSUEZWq6sgFI)I_I;=K(5*~FRPmJsqma6^AD$i7r(D1_LIC) zPz#jAQ7j5WQAXjYVK*(QCPb>q_^r)125Kg$A3_X3S53k})Y^8q2iTh^=eOWza)dPD zYomkRb}m#ur43K6J!E_Ntv;LUh^<@z{C0ur2p$z6Q-vnHt!)^+C|ChWq1WY~-Q#v6 z`}AUMWP)M)Y!V&UCalv8BP;eZD452&w$jbc+Bfkw#XIio+W4{fWh{dNZ|ZlSMv!h2 zp-#Y;6;$oe9bgu%d`)m@sk71#hAoXiEvd`Xg&E6!B?pc(@6=qMtoWCmt7Bh7=?R^t z(S`tb=8ci+pq~oMu<*8ImrW>}Mv1xMC3obmal(pEnYE%I$_FGksK5(Y9qx51v4j~8 zABt8^KWRB(+&Z3d`(77wyB75(_i7gjjX+rTAshnt!)Lk~Lu}4DxKR^PrMb#c{OJDJ z;()QDuCI?YU~3t52?5V#n?bL|iPj)Azd$z5j5rl7K2H3 z=+ybC9-rL+L-$si1c77RsaWLg-PL}>P+j(JaT2}Yu)7AK>IOWV9gQ`MVI43Uuc#Ie z0ucrl?9TCeq|Jg??p@=z(X=sSnyPV=#@iQ4vxzZF@P~qZ1c;y19|C|KFj}nr_y*ju z(sv?=w1oy6!nw| zg=HbjF`N^-g9dgVBk&~!!6gLwhG|&nglS{#NU2+W{gUs2Y7lSi-LD#4iLeTUvrATmtkQ83M8%eeQ}{NWxIDte&Fh6o%}|%hg@dl7ROvu z_SdP&az+;OCbuu_wEcSA%xm%bN&gKR25++ZaDE-k7dxuTHm*_0(o4)+lTo@R%&_9Ff^EhE}DtkpYGT z2!nHyu_1}a5-|ci=kKO}oL7=7Qd7X1V?cg;7&?NQ;U5B!=5av~OIQS$wt<(VCdbQl zC)wzormKC{G-KJE#l6&7^h`sLo&MAPaBpIdQu)7GaW`%qo1^iF?cV%#7@MD~uYiyi zKRWqsY`|3M{jWn2G*E%D%d&sWarWpyZ<`jxlvd{gtDBuWn8p@jTNb)*e0pLuJ}%b% zO3m-X&wajBzVpk8J5P)v8g75_y4}W{q7Qm|?2S8}PZa{aM}xtBom3H)0C19n6M zExMh)7~|a81g^)7!6O=6m9lfEjGv_Q4&@nMFckXQq2{rC_th=A=roKDmLDAI4yFj0 zXp)FB7)>;+udO#jRFd7}dr?;OS)7_7i5#eZcq*=62+aV@VX=_ENMfgD|D6~Ai0F^t zV-SqiiaS+;U&M<76@&#>C_L$u6c8B$Fg%HyXb8Yk`32HGkvu#7i)-8^p!?3g&>=4` ztd8W1*f|ouugLcB`*7*=Iz%Gd%g?qS6bg7K`FV~w1d+~D=}V-O3W`g6p`Ku-HEaYL z+=8Gs?p-ROxo0C6ZsAt|lZUB|g?Nx8%*nNVma2UV5zy=tnwJ z&gSU32G?GcJcor=jI}XPyaH2gI7vJ;O0$4rmGd9!8arRRQZ*gSu9*zw?q9~ixa z>QBcQDPv%fRlZqt*vAX%Zy|3D4HN7{(smWT-@HY;lN$c=UC~E|^AUQY$fUO`UkaEU zqzF36nE7$Px^-OfSpVKp_Whu2(=0iCd}fKF_g9%-W2uk+c{x3(!}OQ*gwD|FTUmpWi5K1A!w+<$$0c8P>Azo*#z+vf z61LX5sy0r?&D*ij4000ds-iY5f(wQVRW6>@kxE1LW@h$BBl~end(jQ%=c;}zQ3jZh z;_(9jXaO>6cHm=AF&osR{NUb^MbSB-?U);;Ney!zVH zc>s>1?tK`>=$)m0tKeab-2IPswI+OSwY6?D4M1_Qrp_3vM|vgQrkPn&`y z&M32EUTc{_|rF`Yncgnt8Df-pm^3nwv`I zA3Y(uu-1A>@R%mnSlv+;hzHLzQP9OW`OqQFVH!;(m$LXez6+0)6+kxNmt^N zT6)sU5nUMNsGd>dWL)oU-myD3b#Q`{uh9Jk%8A0~0_Lw}fM=-y1UZ)$hi8ZG00SB# z4Adg884W_5#vtn)j=)wA!-s(XeBy8 zHjw1bU!Zqi0OJY|d&r>+tTKf_Uk$;9K$Y?J`asRl9iSBe{5_=iL4a^Z`~} z8+QQ5T>#@E{_EEY*2|f}z*fOqB9?z7BA~EepzD5k01dG{3R_13a@L}_n=fIf+fOxJzIY- z0>9VR-)rmdE$eqA@H@czcLS^vXVQQkPv}KS>9GPV9OK-n=|Wq{$a!;YXLlPZq;lF7 zKht(E$9m9{wrU~v4(GUN6(B#>rL^$Rp>sAykf5v!n{WYw(y9mO%Fne4IFo9yQm5gU zLj8ma!nVHo~An0YtuIlLK9qYdZ-4l7aqmFS&^;;>SHhzFU5!&WT`c3MR~KzURkDHn4GBc(rLSi@+W7jLVj>`Cu~tyA*(jB zF6IhI-0#oT7LRpbGP2;Z(4R z5$MUZ7Z76aAHrtp3HNt_>cLYl#G%{K8kiKeT#7X#v@&L$$qMc_^b*v{0c9aP%|AhmVQ1s`QzbmT!; zNBR#XFqiTea_GB8V=RDVi-rdaG)q*n2#;@_;E)8E@i0acjH$5AkHEkE2$_{?@2^~mj9)jEqI4*nvQG+g&+kOs|a}I$pLVn$3A7>igf>;okqG8Y*+`jcZ~# z|Cp|(qQ;ZV(^88_kYE$m{9MOtW^o{N*Da2E6K!Hwxq1AQm>fM&)1r= zJi|bpmGrL^b|0fK*y1Myqn|L+T=ZTAhBtgf!py3&Jk;@`_QxMrqc2hM){C7bXnVu| z`if_dNb~(}&TZF25_p_f=@WU;p>eP zN0-V%QM$zBWeOutG<7AqU0+Un%7=Erx0628_Q zDk^`Xx-S@lmfpF!m=(b~I~@>L%G*AAtFfQAI&JPo1U0Kh<~@TXqRlR2-_b0f8)b_i z0SwzIHcT1IMMV>CWaySyhd6N?P7ly^MV5bow6i?hQ|72*=~$W|c0O z|L`wV?OEmNCsQ;9hxp#AV&Mcr$0AhH6qp zhr+*T*Z#pB{onpmyB7i7zYs;JkHcRo$}aW&2PSVnyt)4;0*~S>pfxGgg?(9m~=kvY_fME2Y|qj+9&F7MEa<^HzyDK&~& zn#b{^&s%4^7t?tUt9^byU`Q?{T0xaMDc8&^l%LDDd-7{p^4ewAea+_eoKJk8it!cN zHwB+;#hS6kfBbf^wxYS7S(9Lha~?gv8@U?5fwMx_v}chvA&_&v569fRq9U9=r(7no zFjji?=*_@SQew`~?^`r8=}5*x)b~R(SU4v~8o{n1yk+1+#yOFQLPch$$K?&vbBz)+ z8Oyiu8%xYm<7bMBzMOE?*8%d_4J0^JiD&pQ?ux^>>BH>e+ys-(SN9{5#Znw6r?b`n z2Yc@w*HpWv3kN|#qzKZhO78*!A|)syO$?}j)ToFw=`BDY0s_)sKtQQVl^T&=BfW`q zkkCW#2{k|xzxB?{-ur#`%^!*w+E)))=6$>NXCi5NDUkE2sBreEQj`g2jJyeJAVi0i>kVC|d*t+@-t@ zNIVxDIw*T4>z1@jIwYG&kqraQ&BX-=$0WjWD2W5b0HopYVFNO`F}-Q8JgZ3`YfNC8 zZ8bgGf?(+Bpc^UN`9TsAe0oCqkMs8AE>zhDK5*?&(2}m8PcD(@BruJ)CLt;-fdGxl z61wrPb^ej$1@H1?di~y>d{9&dty-Htn&|0o2tvNR;Yz{A6o}z}RKhYinq( z<#EVxV(4ld=62wZGYTF;AD`V_U@Wq8Yqv;$2S1Z8di2G*luH`gN*G7Va2)UYxER@e%blWdJ^TGFLuoeijKl1lH2)S zDOE_v68Ehhv2OvKa64=@5G#HLW^~%oi*!J5C(xvLE`5V=q1P#Xf}q3fjyZEx{%-dn zdJE7f5*ywV<9|tGtkTbq+qli`_@-mInCx_uTFVw?JzWj+mz2tW`N#H!@Cb<=N1g&t z0$o|Engr%+h1E)Mdw zMAo1Jj}&U{liWR-v6UmrdiKnS&=?8WrfVB-{PyG6rwfy3$asI6*6vARkN(5^qGn3q zmR@Mw)`&4PCN^e<0dIl$xMq13Cy^LUDkJl|TmKDV|485R_KzRgwfwI{;L@jeV0;~5 zx*fP#K0Z|^x%H+;3GMfs-D7!d-By=4p0}gsKwR3epA)?dH7e=t>)AY+NY7BS3;OS_Mt_Qd-ZR}t24?P_|J{Y4mr#^{p702krcPRrN?wLT|6%5{FZjQp1|I(& z#KmWV2oDI`j|JBBZaE045!Ibp;Khqup#MDs(gb`7wU`PEBQ+<3Peh7LTS>|QbG_7o zP$Y!$CL}mt1ll<=D?dRRaslnec*p=rt_9JkPSD-EhI%1&ERPC99f|`XsJh(Va;^Wa z5>=)@tpsC{U8~=LcAV84fC2)v&GUfb$CKx=@iHrcrHFJtRt+Eu8UfIS&W_mrA?g}x zt`fTI;Y&%3sQL+T$9&Xy|K4=szjSr@Z#zO*2A@j7g8J3)6Ca4>>O-D`em=BWnx8tX zL(lArzE^J8dO>|(;S8B#hnn0zG$aYgIZs%iE3$K)@27&svJ)f5p<^$HFe9zYUDoB% z)QUzOY+LsjqQ1;=fbfxjb?}E>_IsanV=yPK%g~Tr9HMsC|H`Sy>TkASc7h#k-n$fy zgl~e?LD#b6qX!>r1#0WZrq7YTVxt?~>kO;Buq9;qrFNJHR>>x$Enx|Qx4*sks8n$} z&1&YAJm9@;)&ZvVnDpys!0Wc5&*n}{Qk*0us}#F)*-#G&({?I9um_)0ewvM!mtvU4 zKWwXN;z=XtDUg4E)1*5sFg#*Yv3b?cc(6%z9Eq@jOjsFW!`dXC?U>=lqYwNfUg*(b zmP(--RZ+*G+7sau*C(1SYdRdp8{{y&v~YWTFHWqT!@KQ`C-nRViJ}gWqCD<&`(hW) zT`1XY_*R|c&c<8oXS(trcK%lZzW=EY-MORSCT4slhF`XO9%x`XpclQ`&Zk0#mufF2 z47+OFSeq$a<)IvFFey!!(j7d|(|yQUZsTCbKOEf{pmDZlr`?xzv(o2dexxJ)n}Ev> zJakoMsG#MU3uboKF2byWyMc0h*46j;pfI-sgmy#j-_+9)=?)ipD6;a z78qBP#=YGfn$F_2i=aw+Me95)2A*PR-7=kG{7#((0)81a$cw<%RIHYm?&y&Y!IUOj z7p@tshx^>@O^r*A8PR^N1QlM%wqSTi_dT=W-7~K`LDU}s z9*I$Au%vYbP9?QDueoT-C-7NC3ZLk`m5{TPGm9}w1Lv%nS2HUpd_5b`%C|dph6x(n z^|a4uWu&<)AoYtDg=|{aw{JHdf8Z3D|@L5;xByCc?rZ7eX_%uY11F-Art&w zyhrc2wTZx^$g2?&2@$)$2T$ZwRK}CmZ(O+>Z<2QPYE;rQ7ZAbr%uTT=f;v_i59|V~ zDN>k6JL>HuD%;!l9xH4&^Vi*8e4ZuD`OX!fv0{5bbE;PnT|Ki0eGb&s0e`t^b_lN< z*ldzseF#g~g#L(wG_6`{EPs6@^3}7s>$?&MXh9fhM9lNh)3`d|X(vvgu2aqC%Ier@ z8OyY(u0em5>7wRiwY-V+-Aw@fU-Q*SL<&7{As8DB&UA zI$J2*vEh~{j`G2vTrZSvrq@BBu>WOu8GntzYt1wIq zt*)f0V6LBPorR;Uwk&DD6e92`P{O+|xyF zen3y6P{j5NebTMzweMp6O+ut@)WkTLrh#5!c((r&w-aVhU(4%ma)QS4c@X=LBEjkG zL4Su$QDJi6a%2R;3e0M-nNe`vr=E^}x%g}y?4nVJjMgD#CNg7_ zs=9{Z86~CM@)~}}#4N^;mCUzs87do>NDTdqh=E>8AeI}bnoE-+K+C9kE}RgN<}+fh z1c9#u|LNYE?FTxCKR+k?&v$>l#IMu&FJtM~xcJ*Z_`mvGIKq`MYOSjLucCIr<*b>6 zfXqKOz&zyo;W_|uiwSx#g;x08sE=SoXMmo^l}V|S?aY&lg^A96 zWTH2ONM%gpt@*DI*-lk29+LuKM+x5zuI(|_DIi|H)!e_y!vn}e@)d-}*T z2Zx#z_G}eywkNS|99V8v(s?_q*&Q6Uz1VzsDTg9W(1pn3oL31yKEAxDLi^M*HRX#Y z^6j&=`9eSKKBNHCc3r+#2|gnX%e!z97rS{1d=@5H+~#$q60eSP9!VNOe6lgj3JgbO zzcqz6($#>Y5#`3gC|juuYbgrh6{t!(v__9PTAii@6rQN_N}geN>jpqcb}SkCK64}6 zq6|oM)qHXeRKoYI!se{EjwMkkZ*n-xLi~i-+ZXGj5J&>1=pS+E8 z>CKRl4GxU^T2MqOc4Ipxt)BIMWSW>zx15dRSV3Ns?b-pD$*xXfI=XS1m|Jm@mZ6v9 zrc-zXiQ2j~8l#A5k|)LnFyj4y=0-gZ@S`3ouJj(3%jT}|jys;m9#HFq>PQp>HeSg@8=GNJ_EFCUd1czE6wGfPVn1{r` zA7Ugp#$cWhcJs(agPHjpljmoDFh6iV9Wlb}n16{~V2n!1 zkqx(6yL&I~!-P1qf(?W3*hq$haCb|bpXHi{&{+4($pj(x67iF=oFmR=VRo}Ve?wTc3>GA4)9x9=aE?K;WR{Pvx_Cmo? z|C|e@>gc|F`RO&hrX|iMsIn+kDG7x~PzB$0b(>QQG<0db5y0eGlnIbdZFXn~{?&t7 zIEmsTkq@(Zxi(AY*OdefUfmz=I+V+9?e4IcMybbVxZjtvRq=U}>$$$TKiI4m+O;^GUkUBCmOr2xPLz<8<-Ik`&7~? zsc~lnimp&e+>vy;fB*NOT0g>;<4L9xoE-}Z*#f+H3V4}4PW$+7>2f+U&S1vS4qC6T zeKxymqrpe*!ymV9_YzJ!{}K3vPGi7fyy~R>GtMKu z@wKP)@EiDP+||kU6jCHVdZ{|`6z`N1_IY%HdYz6q05Sf{y9#dgs77g%NC3sQ=fHL)Sho^aXWmU!K}B`S@9J`2)#^8xB5%9p{3&BVUxqB6 z6X(#GlKE!4fzsIlV?f(HNRYlx(ukVNe5WBw&hcf1SGv3Zsl`#J)Q{wO)E0xcohQZ- z1o5+GY~~(q*m0JQcCTcA8~xQLYHa)~cp|fTwp=yXGas*h&wy2J% z6|&0@^TS-zXT6SuSkoRBg&aQGcan}YFGQPJIys9Gz_J~{K9xj1(qM8bt^R3kpxaGZ zwy?Fp;?Apt#aCT@`xaj_ZzZ4`QFEw{SvrClUOgX{tuwO4Kg`i5Q0p$t`|Qc9I^E2g zhiNOrDvG5Y>tkXYCRZ}9r?9`xiK`1WesJv;We^oIvq1ykQCHz5FnYeahuDUyXg;TF zXs8|y`$o&TuRN_0WBO??R%o4EhT7)W=dD89s(Fmic0!G%DRo=fwTl4r!zp1Qd8-+h zjggGHH^W*susHak0dim*|0WCi_J}PcRW-!lAp#Hi2@*EK#S;B{0mz+nQLtsxiLP^v{fs+R#9a;ffe+xyk}`8iY3Qed?PCo zCR4js8L05I;1X!v`Pw z0?@3F#{BF>`#P2)aZ5RE$M13O{D+61)SV(FBW@YfCw8)Lq?}Y^#tD~-<`p_(*`^%O zonaPoN*z+}5*xDRDwPO;Y5G#2mBVX2xT+P z`6zOW!~cYB`-)I_g0K#+RTS?t`&j~0WJ`)vsAvCcRbD?a3Hq-bnc>QP_DZm%nZX}E zIy8Z5yzbtrK~0IcC0 zN&E2kz>J`V_nvb;Ltw{te4H;)P#+*{mxE-Ph?OPX zQkXrMKqUH<_!@uhKc<*Pj9ZfohhLLKmG58q335&D-BXn!)}t0n*JckXBLNCN#L^Y( zP14y3L2XLg0Xl{FM&5r+DI(O%09xr{R2xeDL=zzRFQ()J)+w`#{Ui1NnL4}V=}!>P zHNaCuj%1jCQzB_szd>xW1FgHP6x6dKg3v00V;(&7ktA^Z4qDDiNQJh}p0aq%5(Q%F zQ|A92o|{2QL}%iS7d>ncyV7ll7{tj#AYHUBR$OfF0_lR`Pmqx22gHveXJ8`nPCW7Z zcRKD5^uPUuI`%*PdjOjpZi97>@Yu2(edd=gv#j(fNnb~n?;P2y%L{yEK$e2kmLG;z z$rwjdjn)h~*ivdsNmxJPFe-R9JfZIK4U&41j$4Z&w(0K8ARnYi)+-4D3?ExaFhPyU zZP`ChAsw9Ck(B0gEqwLqP4=t849&>^uJ~$f|^Bvu@yK|=@=8(;qA>%wZ zn@pIYs8-je<`{s2vLd=FeSU(>H~NIhCsgG~6PE}cpGOfDKx0v6xYFX8fl5bN{#x?+ zPtG%JpX0W<+@rV(=Hm46^@lyoGgK zNt|!gYE@uBctZr}KhJ~(H1@Aiyo-3fJWfw+au8f?!~O7+q+GgUsZb@HY*(f$4gO(1 zaAnFkV@|kcW?Jc#taRCt*6GYx9Zh$h#v%`tw}rP)%n(^YVy3r5?@- z^SuO@&<;h{RZmz+w^fZ*RmJ%jja?HuPow>vLGxa`zqZ`BK@AXd!5orh3V*5H=w@S< zx}F-U=7R3Uh~KHTOgwwtPvOJNeyHb^x~0*}H(?<6sHQX47T#nDllHOwGZ4eO>DeExkb(@g8QStlC)bR?89FTwZ_&70itdFy>+A4QQd^mfSoj1S z?jbAJP`LUn=C#b1G-ke!=TbF5p3-n@+!?%*!QgXLO>Nc4G>3^`hGycKm8FOEWcPh2 zxW**_!0T^zq@z$ud>mW=Bj$grVp`VN%uTyu zb8*QJ@g;{;PL36QQul_kr6=s_98qx&4)sZ*IpvI<@w&V{wH(49=>KPPc|lnK>*xJG<$S_=!o4)g&dy%y&6;zNsjeT2l8U0?PmAs0p26(0$_bCb=a3r zAetd&M*+(zaFru?Wqp!FLgGiDe>x7)BA1UCQ0*lVr11I_s7d+Ey#qk6g)k=A{_#y3 z{P8#gKnp(xP;S&trB1P^c{RqLpqFSw|7bOl2*qWez8EG2l%RIj0Y@ibm-WXZHUIR6 ze|@r$U*FlU(fI2+`!$0Av*@q6@gJ{e!efr~ghpUJ8zjla{t9-}`V-U{l1#)y zvBjuAumf+R$d!O?{m~oWG!3%>@S>76U_cJg{-k8-#lep zOj>;O2=)9Zdo$x;_a_L)izg?AiUC@!B0w~7A%p)f5AGw{5Oee=Y=DLd3D_lY;jU)o zo(eVc0?#Dz0f!?7+7WZih-1)7I5V@K~VE|CI`4^KU8;p8u0o zAb;FO{?FZRq(3yp1>-drEJK#oPW1NdS${LxZmMMEeL*jJ4mR4PkMCIwe$`2SgKw47 znPbAvQVL&`yP6?2NFZNG#-)ve(WarR?MrXs0t5LUxzUkytd_erzJpXn|0ZW>0!+$+ z!fj2x!vb!?N@=g(z6x{9fB!VH=ay_UXZLFoSD6rZI5No=l+_4?)?@P`vkB~Da6|v1 z)jGjk$$Xwf2SmYIzJadXL}S&h%D454wBKs=`OrvYj`tikp*UuUiFtHJm3wUtWqtJ6d1x(Kdn=jt@ro zgB0rYu$uC%OBIpR>Q>jux(zHVai?lQQejQ(qXM-9I|mN$oi5ij41HuUo67pl_|==7 zQr8+`?t0_+0WuBdaX8(GcySZIUD?c9M0x(<(Kd$ zRdn&iVnd9$qPM)a+w>`~XfWr`5ltuW;Ak8BX40Jt+ku8btldPCg7dsYMUdK!8~r!h zK`#uT>UKEWvCK;A?YAVJAsgMc$Q~*7i5FQTis#vs-0mx0UZ5Ong4eJCrNzv3vK15q zc+uMVWVtfL?5{W1P-M$Pa+$AY860_APo9o=Obc!CJ#rZ`FSC1l);#?ah_u>$@PVE= zt8tpf@01_9a?lP!d1B`19(E7y3U!NMd8>1pjzNRCFLA|N^OrU-S2)QPTJ4&$2fceBj zc{fHLHLKn2AB!Yxk}IlUB|~h0M2!dE!P}kQhTR=+QQ|8fCvc3X)ZG&CsP%*qiV74J z<9f9eJe3D1hproU&sIu=#uWsNC*kZ#=SG$NIPofNEG+Wfvh5-@Prh(}uLrHwJdd8D zUI@5KP{ujGc5Y&9_vGJ$p;~x2o5oncN_}nv_v0hIoV=egTB+7-sPVcELfP@d7zX_D zsWvcZ(&G^LyN=504moQ|HG4U>_l{%&&SpbSU-)lq_JD*7>-v`3V={J4(Q^CicYhdZ zL{%&APPvYif#<~l7R#z(=15DM}@H*5Sw6$0#S2bwo6^tfyiV$(Bn*h1`6BE^vp|E>l} zh$3A%p{M-`szn+BtrWKm{3+s~C3{p^Gk?|XY$K|?{6+NA8J{s3gL4+ODohLsla1QW zq#EN6-fD15Bl&_5fm!VE#h|i5uIWY!e;sSYV$JXlA0yh*F{bzYbH6`^@0HJ$f?YDo2ma{ zG%=g@APpTbhN$H48Q3!4R%)IM3{J?n<`9Q(#@Peit<1BYfQ^}u)^LMg!5XfhV)&tX z_3(!#gtXz?>F#$~=wdSo;*{rAlrWIIEoF+$++4t=wy0j(^MHnAoF{(dC(Tw?4-1TJ z?nje7vvD~z=;qXYk>Df2FS=fTtG~Cd%1M<6uhU98zjbN|cy%7N)6>E>T28hT^Cze5 zNX%IA8J2_HM2P0Z==Zp(AS_!G<*}!TilB&ruaWMInbB?Cc=%C#WO=_N7&ig<+jF>8Ah8 zhwSd^lqGVlDeH&)&drxy*Hs)^QFc)D=|jB6sV3nZwh3raQElynsS2-~=9U)usUGvp zh?!X@nx1FW&`^pzC&~2$=-mp!mPpKYh-#^}QzyhtF2_}|y&1m+5(TY~h2+del zC#&?@T{&mbeGB(x%`X~CRG!NXt#dZ5{(P9sW@o%mQXtYq{$sYKgQ|#Gy;72ZQ=D~T zLqVv^>ZHr6Tj_acmG)NkurGIUks4k z9;RaNCS!}{Vz=_=EY39VBPoIPodM47nZJ7Sz=z>6XHk*yd&lh9Gs=nP6dhD-NOQb{ z!yMubw0b(}AQt@_Qm=S#Bn`IYySZ$0VQVXX=~1(Q@!aMbFQ&C1Hs zLWZC50#E~$keD~1YEn@XnViqh`w|30h|LT&mo;89So&I3Kpy9drSb$09 zRc#IlBnxXuXEwnAkNXhN2W&qOj;OP+`cvckfKS~d#Rx&Yx03#ni_`810X&(&f_~A2Ix7m-%;dej{7!Q{Cv` z(2FUdeT~jbXFm9PPRyoOBT3(v`L>&T@PP4B|7J7R7-(22=62K1sQA>PQnTe>R_=w4$~+)1M65#`v2g6*cclM!ZO=Kf2- z8{)zRk|^rLO|ud*511HCkTUrHaK~}7|1K@yf8n^Zvvdwes?4~vN%=2&l6~Q8 zt`}rNsaMrS05fLh37Fqu0**42U{Sa+h{n5ZJRaSN$rf1Jj&^hxzqBpU#Nr_+^=@Uc z^RllonFdG$2X13+6006Pkhr^S)_aN>o`Q&3FL^2Qr|d=?aC7|23+a&_8>9cb{_FYT=c#I>yUV?vom+G-y>nIL9b6BKO@I~jT$!A zn466-MFwsPRaDBmPfTf*%QY_LcuSvW%?@!HL&ojN=2R-f(u;PXYz5(4mCRxv9$VIvq))D*GoTuhdq?*xs9%;-~r=@&rO*tXRCks(N|UNeU@ow_Tbe z)63@xM23#q3xjesh38^EEIu$$;}*tOmeBLYUh=^q96+q!c9Web0-)1tM-HhkX4*1x zmg6J-CZ@4d7Q@j$!oG+udHh(H%j<;rxuU@+N*dOB4s>ZaZp5fRqJi17)P5P3Q~gMk zm9C9P_0^a&K}-xt7~TLjhW-kGyRjOlZ|4?gDJ=L-Ovfn%TR9ie_mZzBRlO>H`9`AG zC&srkRNPd`#^e^ffA>Vqzq_x-odLije>Kg0@4yf=c3s8bcA6ix|NqOdOtJ(FlH5*J z;gs^Q)5<;A@oe!bEQDsccsMh?LUcN|Fa1AAD{0&`?u1;Sl#@n4S7rk z^vx|gNkOCO(7^Qfh|@Ne`&a+muqgPGyMarmhkpn(@PsE7@OsLDv;CVSldKc|=XS*i z=}!g+iwod40l}?^ZHG|++c(c|x=9|cVKSql@hA&Lh1307%*(OtQLgi&z~HS&p_jn} zJrN!4_0e>I{z$H<{(h>u!8bx7*1%90`RykNqYpGwPS_y;&8!nxRfQ&aE}iO9dGlFQ)Wx{jd?e1!Pla!dV}Uv?1dt;P^dRt(U_xB} z7l|F7tmuUiLmgnWh2QQ4;3jJ@ft8n}r4r{1J799=$tpC^By8sq2UE=I`l`}VK($(|1WwF8gUCJ9yY5J7Qp3D+UQ78Vb8p<-wqFgds zAtsO-ITnDg6J-zq63%9N25bP^*#K3e^xgkM|9DfF$LCCzY}wpdcEMLFr~j(L9G;8K z{RtwaZaW<8qEvvv9G_XXU7w9#A+Z?0@i+$3pUr$O4_&RXh@Vo9tXx9-P+j~?v7l75 z2L1T2n}h#A>P<#V%%3bV17L07<23g5pGJ~6W&8cd~Ok3&8%L#(kUSvG3J5^t{GyhIE*^p*~qaT1d6Z?EW13sf~k9tzJs~zS`SauAW(j|(EpZbL_yN84` zvAj_IN^WU3A3MpZfuk$=m_y>iB}HfBGd!z?FxewvtQe$@G=J$~>j|9+`}?g3f;8>oZz#$inI z7JnwS=LMYm9Flw8)F^>1>By+;bNJ@guD_!pIp<_R|EVLJ4=+bu%Y3_ zb~laRD4X%V8MGdr8x(Kb?PJ%U{84}P?gxehKH=|_56%K?{Yr%p(q(*6vuS&Es9YwU z9aSrR=g>(t z>^^TpLyhM>s$eb};RmL7uiTDG=%QG$*OO;x9ZqC>^xA3XMZ)gJ|PIGkBWGcY!r!b2LV*!6nbih}8`c8ir09X&Csv)`AB0r>x~U5NM7XK5SGg z8N*#y$T}!kIdlTetE+Y%sa-&#kM3ff-&EFfI@7~YZ7z5yxfyCm+$v>UM?n3z&0RiO zQSNVLMZevQn8HD~$ew1crqFK3X5nKyz}Wc7)Lym^8!gI@+jJ-0(ZaSB&+w8KFd^YW0aZnmI=5VaK2N$6wt*>SA0pYaa>ui zWCC@l8clvSWr-%L=i9g2oz#3+Y^*{ktoUC&eUxmBI!?dTJZ!8VJ!NXP<1tN$uOzDO z4H6ViAHkpiSd8JlWPz|-^&&CG&5yl25OWsYyB`O778CK9QJuz7oRg1Y6iOB_YU&*Y zx6ZZoCb8jSUvCp`UFgecs~VQtZf|7^*z@&3!&0V+(>r0?P26^QVp|ZcAa)5)rPId|6~7U4-!B}$vpFNc zPg~!ti1fyGVHy&BK8OH6e;(oQmD=)vt2X14ZJOL9AE9x>Z zU_H3|9#Di8keCoHm$DH9eD?tQAMmlLN3veY09KOc2T`jGd5Aet1i(gry*j&3H4Mfw zgIg+vKhU7?w>_LsDC{!v)R_Q5^~y~J;+gCHgtHKAiHVLexyNo)Rce}RrjPW`kX1Z!p}eK5@mIuxY!OvS z+1Y0{*U-dMHB>@Sx!{m+FSgL(DApm*#K(1qYWqX_PM5(tt>zpQJ*zjW%4y3{{pO`) zg@vx^5K_*t;_-|Yn$w_8(}X&(GMT2fL!GV>m_vC<7aT0Xxa!b@EkSx(2Xgg@W%ldQ z@UE%{$AzGGOfk3l&8-soD0aof=4UsLFi0u_e-&14CilaX?ajobY`Rihaf^d|O@AWy zJFwK-)E{vC4RVmj2bxTpfN{$!1C-7k0H7E2S@K zt~(tPVVjv4Bv)y)^@4@wEj@)6H1k+=zI^;pL$%{|OGu`09Mctsz+I6i+RB)!rc3ZM zxPbSV9ZGZjm%Y}Z$8go*+_IscpmH9gq~ml7%a=W?Su%XQp1N)jW&LwN$q^YKi#=*b z(ZO_^$5h#C>c@&DkvYjGNw9@m=Wo4wMzOfP4d&R3y$JB^)I3!#weV1l_J=td$T@6G z>Ul}Y<(zV$Z=>-4371Z{wBY-)>56 zDq$pKTTLIBZs{!#g~) zzH4x{;rThY^W;M0`L)FmAew*^Sc!|lM*yN4;!&Yb2@n}CAX*Xo%wZ%v0-H@@`3VAK z1gm27L}1@BZy~`%22c=Zv9rXpz|NzImjJ-iA*gxO2{rHna4_CjR|5pl7^?}urs39O z#7-Enpo8a~@y?{6&p$!4^d#n?K{c*%g2Yb{EdX~L@ty*eOH1sp_wnm|{2Cwsms~H% z_E|b5kers=eabFiPJ!SPf&P&&Y6ECt4Vcz(tTYKAx~Ks+F7Q4}@j8KK6DSyFuB-W+LHseo9bwuIvlAYz^+RM%gkLQlt0x`fZu@cF|FA|0dTJc-o`?IkSqmo`q+^`s^n_oa!-&~SXP7~B+! zGHq+u*aJ%(PC~loDj*a6t!U>E&uB&x;vy_rXZ)h3w=;4>;bvAM`#gN*Svn$&D{$?R zDmSS+fDUhm@uPht2ZKzgowkc*VbpGQ926hLD}_#xRL&i4|HF79=M& zyWftZCA~jP@Vf3$;&^sj;Tnbt)8x32|T#p&-obU=C`^qR;labRN|;pwU!mj`GdcVz&J6i?h+@=R|Y8nJGfP@7S+3C}1u)v%tJsAC*gvr6g8( z>$BdDvWioe1hR3d=Js=PGTziaNHe~kpnHOd^NJ9o#3-}@au&i>Y+Fiyc%>gV>%BK2 zveQ}@WqBg9i=>-dKJhQ)%5N13O25q%H=I=XRLVOKM9j`PM<;QlkB1O6tqLbsn@vwN z=ou%)&Rs6^G^Y{c+MgS@eu_9(U`^XsF=%dPemP#`nai4J+;2UtK~$?60{o+ch9dXV zYV8G6c0S568Ql9OoK?7%GM!O*7+W?yX+eyCQJvYH_}lL@KI}|qGnNX) z!tkh5Z5ZDi|DiM<)y9J6Ti4loDG;N%cl(LFyvSOO=fS4{hJaxbIexFuVgjbwW`v#| zeSO>Sb%cm<&uy3U;vYNX9i?@#3kLZ2AJ$Y=hZ`hZ3nn`; zw5BtYQs%U+uyJ@s#_$|$vQ@)y7OsS0|Hca5mE1AjnNJ`pKHtN|t zKh0mtrvW9hpmKVn=N)#TB zzAQfAc5~)~RL1KI*1O2u7J2|$cMXh7=*so1A*Sv0+91|QcSo6w#cMN~2R6KH$t? zi~Qf-ezD-3q6LL7qFTjzv|1I}}PU-Kwfb;(>oDyOusPFRtxQn}GG0==!QrY9fP!itw&Jtk& zO)(4I#5O>HmTo}HVq4Rd+GeOmDj;DedZW>!{gIB_CCCi6>`XDy$)fOQ6j<|6(euam zU7(x*fb+}hW9ZB3c-m977k&DccN2oEKH28obr7F}wc zz$2&QUH-Me=tiGXNXu+lJwY+Hd3=Tych#1}kDZRXX_Sp1zF)qD;neC-uAO5<@mM0cFe3*hS$hPJ1EKSTso34@!8|xf3zA-ZTck{3>6Z;ux+_FECK{>$En>G`n*t|AWuYJq*hX}guBAsmT z9ljSmZR3Y;3-Y#y9B^I)`iP$(d&C>Srm`NF-)U-Dk0G+EXEyut9=-@Ztj`oLEx2Mb zbmguES{OE*$7QlGjuU5^)xTi(r&t|ou=m`C$6 z4;At$F*AU=9V_%zB8OOiYDC&STre1sBd3fXufC*Zk(ReS*=$JeI z*7PK=Dk%v7cUf}vgxWJNs?w1LXSfHH4KQ8GPqXl2J%_O2Q&CRAA)zY6--=(TTFM|} zXIPxyx{oW5qM`#N;dk%?MF7u38Bp7M3HIzB>0$>4=acBm+m}VJm)FP~w@H%dzHM>3 z##xRpAcJ)mppi3lI5T@5HEf!9St_J_=k#%H^rf9`POq*0X~ll~V+iJY1_zeDWrqpx z-3sR5G{8=;)>nPTa_8neaJahspmnqG`1H2=3X8x!^+m8BrK_l=($)rmS5Or5mLq$6 zlEL)|w+$Z)6EVSY$-0*Z_gBUcX$p#4OTu9B#6Jih*(v4CfK&@flKQY)Mq|I16ZJUMs@q zlX)NS`_JNEJK{ta(wu~vZj=}k)Nf?mwVt{5 z+kXDkMc*NyI+qJ;G z?w>Y{@&|+t9~Z9eM&zX&Ib|)DCbt$D`JpYiQzZiW5DX3K7)AKQ`Ap`1n@Z7x_lh7Y1)Iik1 z+n>mV3c}hl&xXATP=&d7QX1?6fEe$v)Bet9Vx~*YUQhbu5xm}OAMKuzRjQwmmpx88 z->1%eJ4t%z3TJa^A4 zPt+Bk#VOhlb|HIyUhc)%>d80v8 z6a}P76Qa_k2~q?CK@kuU5NT4QA|N0j(n5`ZbfhVufS~jq>7CH4bOGrkq1S{ONb&A- z?z}T+$~klHyyu;J=efT>c%A?|d+%rMwbuTYPr*tB8%DF6d#RK=i9U#>0nx5j%ufn8 zNIb*(F{|PkM;o}XT*8=`dp=+pX`jy@3;UcX&$psh1jK3vuZ7rAgvklw**xrH5DCmQ z@&X*yW_r(5@G#>E|4+8Vf&yCYSDVzneYLL_@|Cm&Ii~N~asG0$S>l^^%;op7u=`P5 z+)#on4p%-y0A#2oIuMt9mGB`*M~p+iKr5YPmq~QL7=L|rqQ>11_tNX>qiW88&bXw# zvDck)Uf6EL7Qv4R7*%B*dbG&jn`xp*gW?n7@n%b_kEyiP&!*TPAw*yQS6h zuf|*<)Z(3B(Lir%qW!(XtPC_%Sq?{u6HVSu@w7eD(LUbFabGPq5P3TNCeyX<752fK z{UvbXg6C#1TBJ{cO}4RcJ?TWI@pIj%<5w*Quc()fVfT)cXt)LkSMMP2;t-n|u~USy zosOpK4R}~M#4hIxSnp>?!ILbH6cZz%XLnm~$}wr$@YgQ57`mY*T`g14JRi^&o?X0V z78i`Zqe|;2omw8z7c|tLa2V;=d`a!r@gnAwFQ$y`SXDlMUHTx^bm_59zvYR8&DdtT zkKz?rCp5B2iXdP3GK~g>pY5}++xO(GoCw=$;F}n=J6s(un4X?8>sWv=) z>)Gsp3in=)LlO|}6KM>1n|DaMl1$dJ*)~2VRw-5Kiz;#SLmEGBHuHEJ=n|FZ2w3#l zQnWLeP_WlgwxRu5;%Rw|Hc@~6VX6?r1_K06^)_R(zwk=X-%y(vtZ@f-XIj+O^us>L<2VR)65Owj$cWa|A z##%Xt&cwL#>Uc{}#T_O>$V96pH)>2G`-$lOhL?D5T=c2y!Zy%Y8DL8$x!B@@7Cgh6 zBngvK7k1cs$c20_7-U7Pc1=va-d?epQ*eq4-*y-UOklym%)YM)YDMtJ+{Q!}2gxF) z*$W6rk3hdlsv=fPr+i)2h5qgSr)vq7Xav(QxI?R{Au9CoO8@BA{ss4F z@}ePQcZUj9hDfcZkvxRa!n1`7%A$&%RmXM|t>w+HPk3H3t%$2Bt(1y8t@7bweLPTbW)|l$1eMNP`m1H{KTjOd+QTh#vO6_zN+ zLqqy9-t_KBWZ0LYMLYKU!?r8%E_ZHq27~)#2nP-3L;n5pAV@|nGAEa2SQu9BGGhFmQ z_D@7i;kE++R|$q+YaWc}L@QRArsgC`j2Xdt$5h&neYYQe#(q0^G89-oY5^f3$NaiN zDLB_3%SBJEnSAhT{B^dTS>(L*D0nPCU0Qb0OuP*CokodY--m?Qb&$^89}wGYPtf zBTXhG!>=24%Z=#UB{EzaX20eXx9)27m|!DmVk1}$z2B)}8j;QOWw3Yq613XZ7$vAK zempY|rd*h}&bgd^rq9BnhAPXzT7(^R#t`hT!l9%My-4XyqsMu6?GUv0``Ow&7`t*b ztQ~VrS7Yy1eJF}rUgLHNr>z=bxx&ymReGpjXPbxrW%(ekzWzOuG_ENjQ~4XD99ja{ z&y4%7{s$Bpka4!}MWA!0eMI(vEm=DJrJ}hT8X6J99EO;&-X#qJ9WwYx_Y!T@uDeWbrGrYw>8dD;y+M}4ib2YAxa$3?mrgD2gJ#%k8d4_|8<{9 zhbM@xDCj{yBH;x|2e_Cc224C_4kY3^$X@`@>ih}d+^Kt%2Y6cAu>E_iVvX~^C3D#Z z094~#3hOa9$2=*@1&mFnd~5~Wk~91MRr&Ql;@FD}BJ7}35)a6qNi>&h3ruI{$r)>6 zS1T*0mw#-Y$MRhSotJ6EMPmHF;8V~|A25z0@UpS5%r~I(VY?h$vw(ivN2-y38Go;? zEe$+@(vP|@7=HExxjeF_*njXay_~$OzBSF2qwxH#5>G^^ZavZc9rM=oiaN4dzEj;r zAE<}E0dxCH0*M5bGP}K{&`(SnW?I+q6uV24tqpC#t>zxyv@zoaa65qJ)yD;l`Km1( z;=EF`5??E4b8ncp_OjpiDEJ7$I$Rv0as6|Bm30wXf!vA#9?9efvtdyg2gQxG%C{qO zlK|o*;~t0c58w3q#I4nr)DwAmTjKGDA`6>OlVSgA0!82bT>3MI6`xhjpgf z){MLZ%15f7!;yr zggLCgEXl5vz>R)VDbh!0W|+LaU}|b&SJmkg`S}wQ3xHyA+cO6&ey1h02<3Pt*m)Si zv%QG{&)MwstZdxTH?$_|&4Z((#Wz$PARm5KG?*3YY{7uui8}D((#Fk4KuqVjImX2+ zQgmhKwUzFBu1XH*s@&mNn6UC98WFf266Bs?>l>}b+~_nlCO>1XAOkv(?C>`oEvGM0 zb)FZbmZn<$Y5bWaNX{q8hcDiT>fVx+Lm;TN02j~mVs6_ zmkLkUQ9j2Xv6OWwA5{PJnFcRc*x>B}Ix7MK<5XP;JR7#q5?|iDwG-L*4p$EA7UP%a zAKQRF4LPn$xrW@H?&jbCZRH{5$caE;Kuy#n$t1N4YEn9Pca}?u(5a^3bP4DF`sW9O z4?Q-X%vaKE#bx^UDddDY7TTGnWsKgMOs+4}bXyyW*-&#}QX;U+(m~eEK7CPWd zgMRM;)iPf`hLqJ;+m2qD_(;pdVEjx|Ql3k*)_-X2u0 zpxTuFv+AKaqH{2+3US((FZs)OdZGQu%#2uec4Epa+nUbtnSUbqaQe@kV)(hQs0(ay>p~)LK-xhlF6nT6*q@iMr-M7pMGrE= zm58j0K~zrsYRC4+9ZV#)#AOs|Dyn}LXWsVu8du}S z4J6CA7ckDj>6IEG%Ho7PJI+_$vqck^cRZiTP`>aNaTcAMHZ}8bK8TQFunHP20VxSY z?CnINDm*^mJlpGR;@qMsH$c=4c@D06zl50Zg94z<}!bx#wp)OJ0KMz4!fod$lWn>_wvd~RyOPO;?6!EjoxfwQk}&RX4A zT8c~Fla{>oYf~fRnqxL~=cJY{ed({bq(jx^jeACP)sov>alk%lfU-;l!ULfUmcQ=6 z1!4yF-sueWX42E&(QlRqn<7i*;puwhA__wvrV*+!Dnk=$B00S_5pQw*-qVdGmqtAaEhuQYw&n+eB`%h@Ox|?;tNR`Sl84a=wQ(PFDcH0Se2`Yk!+E0kgH}ifw z?t#KWrQ(4~KG8mjNxkdt)3pzRc!dN}<}L_!3KU+5K?W-`5@MQ%>^!C{8!=o@7K0xB z6s$_Mq`pyE)G9Rl@M`|W<_`(%kA>VZ2}Aiy?%Dio)_bOkmV*|u$~hTLHh5?RMO1@m z4YzC&^SvTRu*X>0k;~y?+`iqXN5K1tgNVuVySokXxe<-nnCUksU{-h<1KlKCN?WdF zud#UAA&pO4c~3uC^0QS%sDrKZEZsFVn^pL2r3UX9;*E-0FVSse-KZG?s557*N4zw3 z^A4Rd8t8GVcG|lqvTQryaVvS3fz8(e%ua&hFl}uU6Lo6o?O|Cz#livwwLvD zejk`*FYBs#^R<-bD(7O-qmf0NU?@q|4!6-t(?;Q+5Zj+-7DrSgoF>czM{07uLIae4_n4%bi+)~hL%hcxDjYEO=ca(3+)d1n$KRB ze!k3AL0i*(+9|4T>HgsL^s4B=lU3bAYmd~7k|fI$SAU(AAp_$eg2Q231K#pmHoJX^)shnz8d~J;)$r_VQ>CK|0zN)8_4ZMau)!N<2gEr+zKfnE&VYTDG9O`JwBxe3 zaoZM$`#hDFsKUC%27O|AUCF+d`jbdSsb@{E-@bUUIJBXrNH1^grIDiLRZ%yM@?*#p z<_Hw#TcFoeDr|#j5uaN~1p2dYaMFZWk7W_!mxV;r7Bu)67H{RvMm@dRCb{}G)uUMA zoUaF74b_o|lZYlMWvwYBW@q>1+ZosCd_D5;4Cgsrnl5#F*20szcOm*CxyY+M5h*>ch02UJ(LtoeBET;cgT)_bglX4|^P z1`w$x_0iEu4rjl(V;ESt@?IJ1q0G3r+%%W$1k!8Hmy}+b$s!{9Eot({2sK=l# z!5s{$hp-b6NbC&cL?BOwTVeOSrz3o+^*gYdioQlG**`NC@5|5O6)o0Hv-2r+hVgCr zc&AmXdFi&pqNk1tKyYwQF2L;qowG${nT4u;{m&iKQQgt&Z|>Ru2-}s8sr=4*n_93* zh){kQfcFe7X^=ph0S47aD8>f0D@V+x;u-2mIn!+doi*`(!9N^7PM!8?dUfes3(|p^ zeZjtWysB=yYHr7ZwVsk&re_J%6s82*FIx)WB|;!p=xI9M_Bw&ssin*(FqyHC!dFrk z)HlP{4Lip#e%*`fvb^Fy?JqUrf0w9`Fi2a5nQht*s#uYcBV=L_1S#| zcCKs5L30Avt(jD1S4UsHy(w>w{3f$;;1ZwMC1%f@HIi=O=1B^S5Gs)TPZPnvOb-9R z>HIx79hz=v#Y!jaoCBf?72*bEvrnu;g!t0g@gEF-HW^>uH9Y2R%_kP z?VCh?D*xnhI3sKa=2QQ6CN)5mKS}-QyD&Io9+*4a6 z(2_5hs1NUIhJH^=$_S1$<*Z2gXae##6~Je}_8EPZB#&7Z5hxmE8ImXjsD&31>$x{qixs zTX*A`9#l4AOd*n2qtF3c0hYsP=&uLk6Nk1FP23x%sOhuC1$_lAevUMW&j&Q4REaPAtX}wJ=s+HkS+wbxhVaGm3SbT&l2t@kpLagCX6%3lPji`0C@?!hE%` zgXcF)n`%o;2&U`M@8%mGJM>w+u}wx#fr=X(jELKB<`(SKom6eN6eW~rz$aQLGC-%+ ztzX*iaYN#HkNA7HjtqCdrlv0Pygeue18Svajf4x>9rg|5Cf*P2Qt*6CTvjso2O8~; z&)v7>#fCsM4?q~`LVnY^BvW$w!1uZVr0wN6Dc)aqr0#)w)7$kqV0X0vbF(_U zZL7q2k^;dIjpEoCS%)z$?b(bUXf}*H^6 zdIn2A`8Viq#j332UF9*si0HCWI$<1;i!?F75W(o-17x?t4JGe|nI7u+Q$5V_9^~yH zuxIL`V?Mf(tuy@!!XZ7v|B5b{kg0-Oe(&li+sC!S)agNrQ;olO-~TyLWnheT9xibR zxB!&nRW$&OLljRR*2GtO&MCo;?wyA$t{1VCSpZ^>K8Ka3<_n0}Xkw-emXl-&YgnM4 zk>BCY7PT0Ft$OmH5}9~zsm#+>Iq-^@iFw}#rR0PPRD>WV zJv?JVx>$hju9!SOK&p$!AtwmH&kKJY!!Vb;crEN9FWHmhS^{ zA}`)Kg2Fy)XFRm#?b((Rz~@nXK6a4(94qyUr)Y)L1Hc&?QN9nLKa_8fl<-$fQ;jqi zB9A5b0=|hmwY@sN(>;Bp#9#{A+nH3P=)h zOZiy%S_jCpNeSN>gPUlr_TH}dIunwTEBIM-H;owrQcUDqpz0C)Q^l#}3zsQ58}*XV zBtE;A#7Pre;it6et3=nkRrfRD$e)}o_buA_>wXFn3}&XElk8}z zGXiUFL%bi+Faxi3OyIl$j;386c~{HD3*%7PXuDXqbw#dP>^M1+a()cGA%-|KP2W0{ z^#mrt64CCx%c;J@XO-%!ebg1C0VySIdpPP)056slMbdHypxDOBjKdJ?Ye`0Ah_eRi8ALGNJZrS%Q8VjZ^H-!(1!UkUcKNbVDNIkyW-bE@{5>l-d<%JY)p!W z;v<^TyY4mRd%TX_Yqd{2Pru+iZach&pR2|UPL6gSP34pqtQ%J)=VV@CWAl8YEqbFg zu%M_tmTHye!HN3ZteE47&`&;>JT<*xl?B>kq%Qd#NeiuQ+g`=P4M1ix2)rF~QZsXQ zdcV~7e2;rYyFSt=YCdGjOvSu~3=lCB5u=pzu6CF+c!@A*^|aycKsGs3Zfeqhysx6K z-e0ow)<_*gL^|#}!ZwBjs8zq3zf{@iq|3Vg=!t#Z!yQ0LZ;a`5ZyTE$=!H|~uGfI( zpbKyMXc6P|d}jF}?pQ4j@%^MRqmwCe{PG#Q^TZo+ zFV$bO4H*~u-o*QtdJ;WJT0`41even~k5(vZRFx&K&CSsW)2}?~nJRkoMrB2yf+9`n zO}mcw?D7GJ@zCQx;i}5%V!zigt*v>)tDj%x3W$CEhCxNmjpqV6&B<4Sc%M+-Rkr?p zMg!w0dx6pZ>W!fa2X=9@+w#BQ%^NCL1W8OA6z!4?O4|gA$ZzF8okmkZNFwTx1aaiu z?TT?RcQX^E>boG`nJbLjBICb7*5J4Llzw0l@#Dyy*_R7;?V0C}hg+Y6G^>|d1alOY zlQ4*8P0Cf02M!#i|2Sew;%v$X{=&N^B@JV=Hz&DVVpLVY3U(-N8AI~>66Gru?}5J9 zPg4}>YN z&6A0&J|c(Ri2sBL{Ddc4WoV9ojX^D9G-XnxFdQUvTNY`BBL_oQ3+&@Rf2akq{3y{SQ+&%QDo z^A*j_60zqVqkI%kuws^N1*E%pngE17D%7-pAU_`!qRh8;!B#0~_Wrm>b(87$msqjN z^T!HQV~yI+G=Yr-hff%6RYX#2irjvZvsY;ad zg+}I9M7d4U*WVzA);Z~6!S4!uvL!kDvjVIZRy|K?x5)}aG`hrFgh*4M*)xHWixe1h z7lugK`jCS&C%JNEU$g~?7V>z!h*f@Ny9}8?0_>$OQ)nBM)?y?1V3E^5B^UXbZ#TXE z7u8JZ0O(38rgmqt5N%5mjtS%e1s<8*_GjY9-R97Pcj3ims>^-W-|Se3ekunRVKTZy~iw zN3tK}{u{)iEcg;i(*SnGFfdxGS>;Yfzj&5tqr^z_xa&JB8gYswhJi*wIc1PhQv;u& zp|1wwr<_Bj*Fwbk-bNko?ss~>MW9xxltQ=MiMJeJ6=np(iWtVJRWWpZt%S$SugLC| zkDI$a>WVtE#cikP*Gq9RXwMGh1;Y5;P6vXyh@_RF9$mJEUzI%!Q5OkTelGMZC}>B8 z$B}r()MTF0=DlBiU7m;Hr+q-<|1jDh2;hy@N0bv8Ujkv&ri_(qo{6c&U`|KAU!dKB zv5z%>i)1N>Inmo-YG;!lW1*;zznqR{2%Avm#2H75b7J*|I|3hen^W-5V^hEKMoY%E zbR(T{$W{O_jX1Y}^N*ry49-a#zgbS|?~S#nvkvEv(a~H}0do`V+(eKBexr1|5-kK5 z%>GSFj#%nl6YECe!(yg0e5dHgfgYd_rfSC>#;%Q@N2{%Lei7$B)u;QRXE^17L4vr% zCm~qH_cvCn4MM!U-+PdcM-b1o9oE>*At>s#k_+@Yq6YyRM|2Dzd>te>&w1ZUslHcjVDuCJOQ%Z5)gG-gs0AR(RdgFgY|=;T7}giiV8Iz*6yO(hn} z?Rz7fB#EJ;Qs%Z}yJTN(FDv25^1Ge=+gYHM-n=8+sjF}{*tDp8yNC4_@o%w)T zufR6|V+3sfB&X_^UoT1!)Ma!}IAj<|XRCjMux^M}$pXYsPaa}H1}KSe6;BCKU!X9) z*QbPNs{)<>;@=>`EEpGMpS~|;4<^t#{|0q#ctn6&0Z}C@1AzVf;SmthJ0K`>fNv*f zF8N||D23V#aB-}g&3Jngg=QavuD)g4Fi3bZyF?~{n;y5XPd-GxA=tjH$9#iZ0Wc(_j{w- zp}`8d5zv=|p%mdN+4;#dj-W@;ILNyP5Ag*#V_lG-G&OHSmNE8h>m>rCzGShyYwyGn zYS-EZ4wRFr0AP}1Ni}+q_7_~k0!Q9j>X?i1@ypY)b;tOzCxhsN&<62*sxn7nnORrz* z;aN82No+&|`NM(pS&|xFyQ8`d8Jx~2jbvPxvQMlwUFUD4r10fRsc$+i?`6{UzBP!7 zOM{#q~Oc zZ#A`_u3cEnt5Q9?EYH_XFpu`0KoxE=Kd#p@b39WhF<#)TT; zk|LUJSXyww1UnTz)sG(D*F1lCA9GAN)>%?+FwWC6%FibIMw?jKYf7IK`a|YF@5;Sb z=7Q&USqXqC;d~2~(97sk1W<7CRcKN9gvEqLXVsW}l8XANNFH9P7PID7JkHF`I@Z z;9%&*o>3Ank`UCa?UrP!T+W`ZJ$AJw?(+v9-dC?>6Z}GHATEPm3%a3cHvkT$uLc4Q zgxIvctQe7ZAz}&xZDK40-)<+{2zE`2tgS~4m)_{W4-13~Buz7J*d!EaBzkzyBaMAb z4=XADwo&jlbb53HGro7F3)tiCjO)WjpMD>&aJ-A(Jkq4!V;LIY{lGqV=W%Mx2m>eS z79rFRvvZzwcjOzcmw?hLuNkehxNMfMmN1(&63W=+^1ZA(MSn#S9qs?Z}&4s@r? zraRvQ2~nSp8q>Btbj8yhZKf>fp7{o#iK-y-u31_h54(D-yt8FCW>Gn;N~Y{oZOU zM&bOf@!2NYYS6M`LiGtCPx>b*4ZuU;@BH~g*A-A;_$OW0Gye(djK{XnzjOXVv-e!kr6TF5uvLQx1R=|cIn~_zW?*$8PIDG zcfkX|$|B-F{GnFtXkr>|@I=@5^BPx16SaTxN}8)I1}ErR1=4Av2k8MJlRFio(i?7- z-@k`Htq#6b#i#c+6N0<3_0KAcpnm~g|MkBa3+9pNaM4KobuioPsw|r_U$xqOWcJ-1 zcD>+c!I!+Hof?2Q&p%X=;QTdfi)}UPtKVj<_`cLzRJVrvS9&ufa)VfG~tFguRHQcmZfV--ti1@W&|q zF_->W4}a_$|Nq)sHNxF62rOlg@*5;U7`OdPf4BNSy-!ks_eqh&f0t^?MQE5eGd!rZ zyp8=we)uE$MGsQBrMUWNPz$%3-+A+xC}kEiLZC-YrHjLxE{RUP!4gGIY&&{}yt?ft zu9nh9|Alk@!kBW`$6*Us(&e#)8lSsLzOB$~L6Wea6>%JK1VCnkUlVD+#1v4*TL8Pt z_BRH`KxLE`_JnefP6qT!H2(5Pp4QxFzd`m3zddtjJkQk_?jiZq8M3>1HfhQ+*+ zY6?qJDR~1*Bp?6*+`s&iQm{@7xiIKAC_QpV{)Pxp^9}x&tNrD-p6P!_{BetajN-q{ zjz8w&e{H!48!t4Km?c(FPy7Hjg75jiU{k;TyrScfPYGt|qaoj$O)sa#`n-yA2^!Ci z5enbX67O!l+$-+bh|K@E^oSu&_n>5;{&kHfO+WAQtr^T0IFXjKq=5{J0T zIA!5AR~BdC{VX-#*CsX};|NaRPk=q5umk^mC&PuJmji8vRc}B8tky!kdWwEy_c(#`nMOcW62e#$y@CuCOH&C^Kp?1s+OiNrIjT7anq= zTKz-uRm|jdFb4KHm?(+psU#`=29??Z`NGJPjoK2f|G*-|WC1Y?w6lW!HPk(UBJdRr z!pd(@_D#TIC2toX*8a_2rnp@M>N6%Jt z>xzEE-Me8wSgYb{U8C|Bu*sm=Mto;v&Z^{k5@%D=+0T-v6nn%opMaHaE^f)U?3l_< zNX|`nNsGsK+z8cBpDD?DaY^GeBaFva==)H^om}4wqa@hnbZE$6h(t~V_dVf?#LZXK zuMr==N7Zty^{{5*OgA2nqHJ~L)bUnpcvBNXB$456D~CIrHGOlpD;~_~&UFWTb8Uut z-GaBH&NxiMsklf+N%;iRQ)S-a{5oE#{zcU7#}872CPv;1cGMX)BHSIU^4E^4jl`;! z*~OVO#Rl%T450+q z&WIEds4@u7>V$CIV`rLisv=;^A7#j*=caMC-)653s}!R9l^gDh106Jh?>;fPi_ zJLiIpWaZD0$VT4!#%MO{wOIB*HPafr(P!H{Q&X+HUuy1obmQL}TSb$2OY}7R{8{&4 zTMQZR5rvpFA%?ImxA#24RCK$o*0r&}LDTBz(@(6oV0J*> zZ)Kk*96vQl>9ZFX)PEZzk(it2)j}~$0&@0FAS6&RgOb?66gd@cN7f!hs|)b< z+|t;OhOZdice`HjmLP0-6l%_beu75;_aO+OG!-3 zWea!#Ir~d@43tlWlqW)aFebC?eQc=@d6CkXQI`ftg)mm!pQd>fiUZVx9_SKG6u{)u z*8vq?Gm=QhY6-MtuuM6IY}|&BMltLv0e&Ysp+F7x9BKzpHvqD?7psWc*EF+ZbmAj#1zH)n7K;p?e^_Qpm zH&?-X3!Q8dul@!Z;^zA$+DI`k|MkiK)rEkY&fF;94Ep1i{}|;zCdU6-%KrnGpRhhg zIczIt>m1@z+lg_cp2mdjB+Usjgkt9pUi2Y<*;j}<^@KnA<)FHHw~QDZ7TTcYj!s!h zp1OO}{{_^&>l^DPg=ZXtzZ^$51M|@9rmSs?l!RO}7|q|SEzyH;J=VedA%5VIoFvGw z|Mj&#hhjV2eCzvKxg`?@qG;Al5}hqva3M6af3Ej8$m=lnhs)~>+)yDu&7oJi#HiYXYG-OcnB6{Pa$oF` zQtB(vizuv67FBEw&8dpKuNPr-zOuNTAc>Og3O{PK5hr)*x^)Ld_OCu4;@@l*TzI1k zGlj_D=G&Ss{&d=r{?j2PI|Cc}o14!Awf^Z4&6V-0ysxwxZQd?;&{$K8HM!s_@n+*L z+tw-3?OoCjr|C406^;ySo44Owt#f|gGi!ltJ1*5T)6F?>z0z7kd<}I#EImEYrKO6b zX-j7?oqnRq6O^ezpCDgbs#X>ymYU1g!#@4a^~0VxgFsbY##?z4V4|Ujohdr$WS`%l z2D^%X=(zvA&*$GBXXF`EAIpQP^pKsROC z{@;g6C~kE6F~pWo7SAeSG1aKl!u%XMOyC$p5`Pn~5QQwA)ht1}VJL z*Bd$;MHXyHfzGInvfrQ^>#Ybz9`L2#pjxdle;Ya$Jp&u>gisQ^4e%G9I5yI4-#HeT zyY?IO-FlD`VL$%;uUE4y#{T4C8`+9zR3&Nc-9*_)9Lu6YQHP>ys1q%2PnkCVAFy3V z1OsBzWE8QVsIct-VIWpQamen~0YKK>D(pAt3P2Rh0Y=rG=gGf)uK$(ajk$@cfF?W$ zKS+)|0?etj`8{O1C_`;fkgp5itP3>VDIYXdz-cJl{hi3E>dkHlH+qNZfm!oB$Mxim zJM~UXZTb<$A@|wSXg={iR_gUmKHQm9eo+Omj&uBnneO+-WoJj;l5Bp&D5Y5hope5Y zUP&%MEyOA_nKVh<$rZNl>; zWG9Yh2)$nMqFj>i=~VOM$Jt^p2jBsU`v=VY#W}xvwejbBPh(3a%$bU!8VwTyPJ2fX z6c3+}tM;9L`5d|>p&4Qtu3_rIVWy(hvWHU!oF*R~iXlg+V@;yb4t@t9?epqHV)kxkN$mf5T?%!hLTl7$o`zw>;W!_>CoQ=ei*S&9R{p?r>SD0u^ zdVVssqRknlW0L!1@4OLR=nZd|s6(JP6AlI|Gmz|nf%f%vEGIxSO;)QEj6U+As>+9q zAH2^>3U-Vr;0TKfbV)k{a!Uf^Oc-dMOcD@AH8_o!1zbqgP@7;lSZ6wCY5*&CDR$w$ zl{{T}UDd7V*NBC0sOr%7{^$LNUFvRM9;MR!SV^;ld^BfR=flBB?HfJipg-6)@264~+f(@eQY1R)X z6pA}41a!;3-9I;=VC!J@6HwpEBpgv_6S91z@z9V8F&O$NdI3)pA$_ONbnU`RPO`PF zo0clg{GO(+4pqM~-nj!z1s^>uC2-^sQh;_>c*RZ_&-Kv~!4b|wRi~4yRDBvQ^ys9G zn2%VQ=4s!%!xTAyjQXUB1zxVsG_!hw3b1J?ON3u^qLKqK75An!ktQ^Wrk(x3W7Q?6 zeG5WOpO>=`TR#s?Bb3SN&ET zjDa9K-v%v{Xdeu-q$hMBeVuSt>!!1vnc1@hXM_66(aH@IGoEMB;@pI#+I53iW7aJg z8-xwVg|^*PTW}QY;1ukTpogpf1{u`+ly+F#;&yjr+FQP{%ebfhg5$**9hIII7ODfm z%?{#&S<0}2f6)=;6h8f}_m)2x|e;GN47DctvuH!Hs3c=@)-vB>AOCA+|+A`cTJ5u(iq?WKlwVO>a`I3%p0xo z!~2Q>^aXe>i9+E_Lmcc-@Hs=LVgK|8AlYq{Ad_SOgHX0fnxkx>PZ|!AgqOstlzr3@?q|iLKhF2Z`2BgZlCd4*OEEV*Y=?1&7Fz`c2fY0(Bh?aL zYFCc^sAq-r@bKHb5(2&W&WruT8SrQ2e$%|7ih4Hnh`ja0r#Zp{;4qLw5montBFaM~&^e(wh+rlh! z2=N~E5*h_7rLWJ@#7iBi5`q`}p6{C}SKGc2buQuvBq2G^#Jp^~bW`i;Qs}9s{Bek5 zCc#rRQvavBwxZ7HGVSB#^`&d!)fbUJ+UeDNf&R@IIG+E5e}7^V2bYt~4&(Y^=~`8U zt4M-x`I(Iv^hr$-BBF@{hlrvG5k#7ka|0wOe1zYiHVSifgqDfBbopq}r5hpf#(Yd# zSK_r zC#1ckUvxVhG(=66(9^#dm}_v~Fuo43SCvD_IZ5NrIiDKv9_7MsyP|gHztp=7xc({V zxGWsbVOuBacs=qV;;%tp)%OgBl=t;5o1fr4FT=|Qx?E}woDB)tlPW?1ebz>*0 zNgNLjllct-Spqg93;`8i=vNG;^RxGdAG+75UcEUj%jHU5xSJqveH^N~<}ZY=dcP3) zWM#b4@z(ti+g)t@;hNakG)J?ziXe9()_H0L9h}tSXLV?XYfAg(SOL4F;hgHq8!qNq zdt@W3JD!C@wK;+hTYwlVn50#WC&8wsJOi#q_uU^6NQmdZt0Luin(5YugII4`rHYTK zj>Qv8E(n{EFXzVI95H>Ui&(bPP4KQ>DN{sV@HHQ=L=uFTbJ45r#Cjwxn6}H$*_wNR zD79J2c;l@{>SAh)=?NIaQ>YxeK=CnIn!6X;UsM$%I$cUJsu?*1UFyFIedo3`PR-)_7wKjCjTZv6@u)bvi0# z`^T*ZZdl8R-12t{rj*9o+1*#eiAYVN-Pt)kimFx+XC}LQ$vQmlhzw z57vAgeXzGtc007HxrDw}Q^Y%-Uj00{|AzBnPNo3gG~d+{Oy-4dYig?(GG0j}CT7aR z-Zn~WQu+yd5i$n0o3Il!e@Ime6sVnVSjlaEosX-0CCy_MmU}ur;!8q8g|78zU+F`%g!xQUXF9DOo~Fvba?g8 z?lVqz2ZtuI-U>W>E6vY7Isn%+*ydu^OJC zQB+hEq&ESTE&?i5T12G_h*W7&=|n(!Ckg`61q759q(~+G}kUTf{UPuXYPd+vEIKX~#0nRAXg=9u63%KN=9F{tIb=}J;9b(+WS@daNyQk+L- zLg%IE#;KL45xGa$!kFVfeu6B95s`yXdKD{|ScME^@&PxQGhyu%sRS^5>*PiNz4UOCijU*N|R_>EUk*qo{^?a@!H4Al@t_x7aBdbj;xGPsrt!Ae;1{S~^6@P*>ksIAWP00M$ zg5~_cy%x2(UN`szHx(Up#7@Bix+p~p4}6pp){4t`PQdO-YZ5TRUF z4}`XyLco?rxhatbd71VecF-!X-SelH!Te z6GGc&K93y9HehEoq!IBE=^NeSfBiv2n(A;}xMS681a9uya z(6QMP9ksgJT@yhc*PaLe&fP40@DSEKEM*)!9PmvPT=qGzd+oS<;4_D*Y8y}Uigi6* z!u5*c1<|!@x~T=Ob)7CqiSJwgA_FFpfZu9sJUz0*et4(PiNYR&@(6P%b7)zQs%)Im z0(;0<!z{iy^tGS<44lFH3RT46@vYUt$vm?x=XOQZjo8Q+VuKBX z;k@c}Q}im=TL~F3u7eFRt;swAe7H4oijbVMJ=36xEdR8=`&HH5g^~fS>yi4Ikt^60gXDYz zL+G}G5iXQOe^P<-N8!gGTr2^?KYU#3R4Z!(N(r|5Dfy>gh-kZpZ!)=Q@au7k7sGeDuIir_jvX?TXdCuS-5JYV$yyo) zS~Q2Z0{;vE>F-JpTgJa*?9Dwx((_8aOP&=?T6hdpSgcj@|DoVaF_eag4<*+iHjCh4 z=uORfAkY7}8-BEva)mx z9tbtn|Kkmpe~N$pf2bgI5r96fpbuv?bLu87{j({mcQ|)WjRVO*uER}O`wPCz4-??s zSpa^cO&q9%ZFB(rhj4txnY=uY{zD*i-iRlQJHQX{K!T8;WP9BHDn}XMz${{U*joA;H#f5`QXhv4ut)vAb~fsT}+D?KIBc^*}Zw`GDvr` zU@`T4Z|6$#c7*5|^s;2P`1R1JeXbiSJ6YNQ(*s^2TTEn}$!qf_wZfAn$gNjjan(LQ zK}Nak;3i1vej>EJCge$=*V!GtEC&Z@o#!5zKMSyv+lzCT|5;IwJ;O(%!rSLXpxwEf zYinb!l`@8GFk1vo(5^ep!6ukk@Qnyq2A(>A#;Ovse@h69MClU3YKRy8ZhZVPeKEc* z{VF~^6Xg;6(ZAx^(}Xz5M8h}_L)wDO_+2eEipc;ftkY{&f^ND_*G;3Qt)a!;q|^vfKu_7kN$@A-5Ci-XcdSx`D2Lj!JVl~aIf^D3BVi=+X>xE}ykiu)%hJd4aG z+VT@LISk(T`V)jLY!c63tQiuXt9|Lp(pYoLAo&fNJfb_x$_<>zAIrI0sBPGXKM z*ao2W0s!noBDCG8+Jyrksmr+ta9}e7oAJ6m*X|q)uLo;UBEk-mLl5`3Ncvt@UZD}N zXYIJ*MtTFBO4u_Ph9BQSy8Kcio7@+BgW z)MWCq8T$(FfEb*<<-Gx?+(>F1&;`!p-}d|K>6guHgx6|Ei>9M`7ak3Gt|mw(a^O1| zx6(WSLDCJPSgu`GKcv{HaDl>`^6LMLa$L#s zFP$!J81VE5GVk6yNEtIJ1=4~(U~)qr@%2|9N2H!92}6LS3LRsQd0@pK*bcmQ7rK<-DW8_7$b4tfc2|^ z)xj9n2(pjb{)1D(i~yg@=^n_|p!Q%4QTgdlPdrJ%(F)`E}LI{mts6C@HNINnCO zKwQ=?mj()|nHh}+Lu_>P%&0Az0{F~i`n+=F1g77w`(F(Sw;UxIo=c5iJY%#Eay8>c zw{#1IMR04J=1X$%n_WBLDD|XZIP^jC&R+mssqhZ2 zJziAqApoly=!Cq7RDqjls7XqP#R?P(h19v+_NcVOsQ&RC-#X0!6)T=R2BoX34joDN z#i-A4hacV|4nTPqTjX`FD8~}oC-f|5R9}%_jPQ+&#a?O0#8 zI1_#=R4@Gnb-L_8y~v<&@SfaLz%&%1=DYs}3sa!0{7QJD0QT&E?zjUBKdI zK4#u2O5S}UVQmr0l?*QD>fjyr(?@tAn|2YI_5qCeR5ls40fTJh%HcrHvoNdz&$J-eP#2yGM$x{m`=pl&Nu3PakXj@L4)Y9&j$rDKz3kWJyO1jkdxDr7BF?B3Ww9x7jG)-~_M3zj#>5dBbMP_Q2M(_5=E z%G77I4DC0wgxN>C$9shv<>^K^gQ?jI3i|XHa#+=5jk`Mg-O5MQ1vhZZ;{biE(#SRp zMDBsn^Wn9_-9?#*Xh`M2PEEk3*9Y=dzt6s*T)E4x=`U|QzX;R{Q zX}6^tZEE9x2Z`tKx(3MCbK*tC(a;h6y* z)>$+oxsPdgzk?7ODfa}L{{!{1I=-(Gx6|i{kW@=+dLp@X?-tj}bD6V;e1~b5Otd*C zTHjA_lx5D%&47d!oPq(r104p#eAt16nahuC3+ozbocgv6sQh-R3U7DQ3&y^WjP4ow z>Jh?CF*h6Za{DJ}b;kjag`~TBLv_Z#hmtDwn0d7J`+;_6Eq#@<@$;#?I_-o6m9AV~ zx3ppww1%szL{?4FCwGCFQvIvb{qL0&V(XwtRJ_JPfz$}+8UThQ;P*2A8GPTrcg%lK zOt*(kAhYP}j?h0!DHK2Xhp_6pzv$jFzxoOC2_+^iJo!6}W60kFsz<%JcI{ypNbEq` zPtey6TJkLbVR~O6v;F`p+Oomr71LVmirIMm#>+|bMnQ4Bmk;}3kxbRQzFhcyXXDX) z0hQ$IE}I62#*nbyz!qJEZd|d^pxJ!SSZ)m~vU%DjW5E0_kjV(bjvX?|LP*@jNa7k7 zE>A%iHedlb3(YbUKS9xB{9{nqH#zb?jP!m5_7vb$_@NL(rhxnez2$6B@}?nOrHO!S z8?C``(E!|Wwj9=+@rzuQQZ!%=Pp>$UWmW!q{JW#WkEZTu*&MwxN9N+lR32>;M_c5P zd+@7kb>tcyd6h>V^-(l&6iFRLkw+2qQTE^{b8?h50y1t#ZsEV_7FI~YaVgm11`?gA zpIK$~OCE!`%NQZIEj>=d=Sh*#VyKvsQGke*{s1WBcZSV<7cVK@Zd?Y`yRvt}1u`2b z7MlU68nx^n`tNh`bz~)J@X8u&n-Xyi!Ou#%yUocCfDFuwfQsAUG!kaPzujA z>lCa&r)I_Vx?FY0PK&SoUXSSh(dUW~}}jcS`!jeVQ?^%6RS)8NHO$nKXCl_qdG z|EqvYL<_@_?KQ(g`j!J^`RFprSVbOh2)PWI@^Q)<8eS*=I&;JfRR!!- zo05UZG2vNcbO0UE24Rx3?CiHV(@BR2(Qx&ZM5zN!UI zsq}ixah)5kYh$7TH4)r!bo2n3Wi zK~;Tzq{z_6y*Fv%DTg_|xGnF4TV3=W@?gSkrjKLIlcRZWcij~_7f7whAgHw3 znSUooJWaL2za$vwr-}Si(38I+Fpp4_|CgvU{tqEC|7^7AMbGw)JqDnLg8)i2-#F_( z|3mVTg$96FgR#qZQ3@a0L`PC5>SDn(P0j?hieedGfdv3P;&6rW#DObB#Ls;+;EIvo z1)O1syJ#q(k*nrgMK9+dS}#JsDxE4UGhKRCGFG`=r}`XLNwcup1-g1(z5hT(D;?dN zOrszf(-T(N$*C+QxT<1d4#mL7(~3#ZoRxGwd{Vd^)Hx$=-;^!3Djd~!C+B{nDQ){_ zwV)Rp)d=YoBmJPnj>04?M#VVMPBy1_W8OjDY4a9j!V}XMc_#uf9m(tDa+9c=j=RVQq?@rc{R z8eC=nEX}J^G5*f34xswV2K1?^gN*mQI$ya@WKez|g|)+9R)SgA#B<|*f*uY?_#a<2 zU-J2wzFZ~wa3;Tf-pa~~=jNwN(V1boo(|pt=LDW&Kb+Qc(sKWi!w}o-WiJL)3r`-$ z8-K@hpo5AQkxJ5rX^uQb5wMD~=lh28*eFP=6uJW3;){M=dp;(#NI0jq5_hmHB2mrp+gcTQ_(W z;RTb+8oF`eY&A4=}VFPu_xKP6vqrqlf04ghAhF~EDathu(B zi{q^uX3eBb?%gGPb#SmON4cDHaANRVN4bnQ>1;eAUpRbgF(mio!wTmWd`!3>lt1_- zxg*HH>x871p-u8Voezn(>nY!qQER#OS}&;Tc;3#Xj9C(#)m+eyeFr5A zhHLZ%RqdKorbOMD73p=vjsPjjngqBWbcd$|S;XG6XPI8VW+2gRx&DkAIxc=5=>9m{ z)y9#nAwYN1W4TFBM0?&`5u-gWW`bj^n5qoLL)v{Da^_ceH_ndRl?4!NL>B!Ldlus- zlL_aUx*VibE32yOlF43IjOJ<*^vy9ZnmkS)5A;a|-I_7@)Ud&uzxZ@s^N#qEnsl+x z^!k|NlE=6MF)fhddY_~J2te$oAg^hYgf?Zw zkb5jxa0mEMFj&$q5ycdztatC^`*$+}9BSgreRxk&cryIZ2WUXbU|VwRT1-=y8`AMN zg5%yTfw$>D0YKIjvN){S0zmYA(`o_q9T3D}lv0t6dgUPsR-ldH3@q}G6WyB!K>1hw zXYG7Xtl8`$HUXI4?+*EeuQeLzPgazr`4>f^#$T0)emz$3pt*s%e*-e70|5Lw07~+V zv{0Zy6N1ko({u2X13kEYQ7S_G`gMT=9>`V~0Or@(IQhc^2B3|v#E|%8v=2|Lf;aX7 zgg@7B$1magS1BWvae%Nh9k>YkN{pB2-LiwRJq8%&#vtqmKVbjy||HY zlMe@c8u>Nr_jjf8yAhcGb%=izRGOyxwo2Y1D{&F;yTSL*eE*B!68N{5x8MEE06#1J z1jzvxX;k9GnTP&U^D3|#xGf8AfW@l(b{=DXH-Lt}4)AZ&RL}fj{BVU74*u;t{$U-A zZ2WD2Tz{P<`I(~!39O@|2YK{H{-VA1cb4wxjr`TLADPyFxWyis)}uZ0$l3YNI*~`F z^~kgyd98m5fR4hCqd4-{K=*H9+EE<&FA0sKguwrY2?6`5kX)yNX3NTSp;zb2%N9hOA-JK9B{>p+XyOY)o>f@jdm<>6ai0rQppRR^H{U?Tu@?i}mza|EOV zv}pDZAcx0Rx`l?xQn0VNl!yKZ@{67Mgt=Mp>wusZ*gAA1m_f%hw^7nAZu+-bH;I0t zFLw78$*e#)IsqF)z3f>;CEV~a=iJ~Y4psf9Ui4^2E{QZ;sG2&ho{#s2H>`%P2OoZpRWgDTkMmG$fe7_L2$5w_x(0%vnxLrOX zUYCa`Um?C4-KD*l{nh&%%?HG}VV*}YTdt^c**B|#uBl#{qn)1`10Qhs*^T;n;>Nz1 zGve+UKT8bY7<7PPctRYRsm2R^p-6zIplX!9Z>kY-G z{^{+VH*d3Nzwf8IXn)JbB3S=ooRZ%-E~aIl1glDn#d0x}eXPU6&rDBCBnD{mO`6`h zRKc}&WwWEMOkXQkNR8#m^MFzMe16OLsuXp?PY^iCb;%Xa-BO5!uZkgTkrS3{Y_N&U z107jUi>|4<^{t^?iL4^1WIE>%UjwqXvb3zyY)jkuY8!*ba!)Hrp<>f%?d6jh6K@F) zYOYWzAL=Ua0!4ljzZ4s7)u&HsbB{EekV+!nUz?ieW)dj4O$e!Ys8*wkWt2YvWVWp3(UYjjXJ$nwAaz!j zXYcZ#ADi3+SJM2ZQ zG_gu&)0I1!MYUcdOLB0lVme8~7dkMx%XN;3RKu5~I&M2?YmF3Byz3zt3d%hR)u}nd zx|m}-)^D7&b_2IDgZ^UccNa(KXsH}cCX^(*8T6crv9a@+g|cVpc^_lEi5B1y=y+g< z1|gw^Xf{6sCrYR>x&=vZZnpG!*}y0CmB_S)7b)|@%zI9i$3H>WA2)rvEqBg3u9!Wq zD*s`(kV{w5(_#JHfhFXmKc$iv%@;^CoSrP~C&(#YJxHQI^`7_D0;;E5zJAP5VBSDE z;e8y7^sN(Oel`8FO4>ol3Xg_-l79tG>h+FO$TWA7UU|B0E-tM#xO_aL$;**;?hWY+ zDR=&$xM}sU+--~Db601tkQCK)KhR;}ysgQ&IiIwqhIeWOQ&#kI*rE6X>6LNC^PA?1 zZdF%i^+QnB2G<$i6y3Wr>$=_@6byPyXuNWmNz#}Frrpa4sH0F{bGuOpHD)m9sjDBW zAFUW#t_!poCTjOPlPCuYmR za(>`wLI_NrU_Ad8i~aeVsxBXurK!7K>P3FUo_S`SF-E>cG9j8_1mv8tz3g9pf^eZs z(I#tR+EDnK+0AK#W2QYlPZQ!@5|1&<&9Y=os5~e46!&)LYC!Ak#FIJ^_4{n$co@B( z9loQLCVYP^Sb=?<_>>V>{#>%K5V|7wNxY12J5b<*w#MBP8DLEXqJ+`pC|Y>D6?2K{qQKG=yw##Fr>~1Jk5P6dS`1f zB7n({>hK+j>aiRI(|dK*{#Z|K8sVi#skgVtx54gf`3%w7i_SbRJ6eTIJw{~;%)StJ`g+w#)8}de0ld@l9JHg-h zb3n==stlEfNai9;j)@|z*+p5FYCT@&LBp_K^-`W3^$3aJ32&@a+*AuiMbo)giS6s2 zPix`Kq{qaVnXe>SjAuCxpnz=UVlgvir$0NXlCw1Wra-py`Zdegx7S%7)`hW5ga@ER zot9@dYnM<4T5C=d28VR=&h<||ibfbJN_~Polh1E7(L~o@KXux&<0F=G)>wZ_>Xn}g zHj0AKmpt2nw{@OeQaD~y?c2-V%T#qeqI&Xk$7PYoj0=j^eK%>OFU})K4A%P^vf2!l z#kk^nF;8c}*fdLV7MZk`DssPWeHD7+{i&HX=A<_@?4QMSc3vZ1PaJTTqX;rT8h3qp zcVX{$<{2?kKS8WyKH|hIWwe~o%oG^ta>iKL@EAvzaLCZ3^%cX{N{-zyHM#$}P2faO#oIUDC!YK2*X}_G?`skvFB&ORFv4R&#eR(5 zSgKQDC+jEJY#IzBueL8U-4OBn+O$wts_3G`}Lj`nxsCA^`|4_{Te4Ez|3ahoPLy8|GCC2)H!xgxt9|CWwuClN;|vTnS>~eh zt_r3-(T!v3_178 zvd~Ssq@Qq7n^AOi1QUWkw|`<(I|r4j+xG$y=tY|MEgOm!|;L|J>Vd~Ka>eTp}1P&NC( zj~^~2xo;HLg?h;{M1D-do0PU``2jb1rJ0HY1{ZtD2#?jeh|?d!f~=J-z9>yXzxdhY zLt)1Oo?7tvAD#v>?QhaW@GPZfk`r!8`vED=a&Zy&nx+=sy@+A$+Tf1VxmqHOeu^WW z9((1@{?I|#AkE3ay$WI;Izr|m#$Yy>mXnx_4H~lSJuBafO`y!%#6Qi3>S%k9NePhz^?r?6`r2cjGTcO@^M~95m)MN3{foUJ@6H%jZ z#;LScW{6lG8F28Ie*9P`7C*t^b^2B*k6mU?xnber++>YC zGxZ+jS=V#swr7hg4B4MwpX{$1@J=bpchwuIV77vqHS8ms%;2^o{)Pq>-^!N|q9qQi zYr@0zW&M|;rQf<=>j2TXJ~Bko*UNrffsZG#EhJE9HCP;oO=cvyTG&pc&dph@K;!}@ z$X9EL=oy-eUQTzaCoo7#yZC9Z=zZ>3SGQ8;kS6w;^I<$4ngzLWN_G!3BOR-xKY86U zC}h#Nw;KQ%owgZd>yH+PPy_PR$svfG?@RFxn;Rk`v*DDJH>*7^YpG~?7s~L}Sz#SS zgw|v>#~ysHX3wmyOt1=9OtpHXMj88kEK1V~lLt)L#xZ+y9-RC}%+pVUtBF)pniuWM zl=~ess$bz>Pzp~-Xb|XQ)DyWl&21|qFl!0`59-YhOk!9D{Pq&tAwuFW^pq5G@u0)(I8-?sw)hrtUUO^X0=q%OeTh){!VQy5F6 zVK?>|CBXaJNdR?=!~i%rRT_rv7-15J?VUgYqGb%^J4GW7Tx3N_~; zTav(vD|-jvuR*hozl;8tVZW!}*>r}tf)z2yU5RA?-Cd%K79hg!`#ZH52d7#YXw=zV zzJqpSdYGj!Io9JtxtfD_H6Sv6BwZb=hzUi(f-VOOi)^?J*HsTMyyOaKqr0li`kKNM zw*%Tn6yy~xYHGNaosZ5}G-jHT*Iym&^$?DvT!ve3|Cy5&$saFj>H>#p`k z{HBj3d#)c${{-C|&=^;7Nwj#x&lx?o_4zZoZrKIS9B_tcGusjJbWrZmN0_}GuCGds z24xlWtl;$dT1kUh{s!+;K#YH469<2Vv^}J1^HE4SUlN>cq~HM8Ylxdcd*=W(UKjT2>! zZklN48Bdr=7C5lL-`+#lP#c~#aqgIAl`}xJqF*##8mhO*AeLdK2vK%e4(9vhmbfwF zN5);`?#l^gSv}!Dy5HQs)p@ERFkC)vSt2H{C^Jrd-$ccK3RGY1Pym$A{a;6gv?ac{!^Vxe3VQ$nq7GhPHR-8mX%X zA9E(4&$#{Nfshyc%japkr~;^s{-(7GtSlFmlQ28!u|6Z+$FMEk>*@(VPBO%y&2Z*9 zGw2IM1yR-|bLJq$5w~9JM*$sqsFp#??{Wj5A3pb(30dTz8F23=DH8=TToGt%ATO5H z;vcoXJ>kQTObqP@Q#4*gt{ua|qAQIF6{i|( zumY>%g;9q0W2}-*JI;luuGKg+pR#RN`yBzf}e&_ zetsD~n8S7!m1HQMk~gm@WCzX3QWGla*VeAaLzw;O@MA9ngjP6(h&FjdQ&_VO!W(M8c zPY{*KMHaXV9k@8MyiT+**46cBYykXBO-}Y1^!QeL@>qKc zf{D0cfIHmw$qnKACUQ+YJ5ky}u2a9Vt)6aK?}kY0#ZSkci#_@Yq9RlHJs=u#reGqV z8zH-7n!#)%haK4l1?y3zg46<*u?uA{Bps)Q7FOE)PbzV?^U8GA@-O`}7?--oQJcaFV1-)WP}4 zQ?(3vQR>ve9}PQ+7Vjif$MyO8h9w()5lE>jxqYc*D88RU;Xny&iA0D=&lU);5|&5> z-8i`kf+_K`D~<~@-nG1{S^} z8X3TXk9nPg+caCMJvo{LJC(e}(lgl0o*&U;`WBVCerawS@h~$khp}qs>HIr`I6u_% z{={CnO(^LOk#;tU61$GT_JgLpZm!8`U*y&slGAh$48Qe6GfezuE0tx*v4@~N#m*nh zSe4a9ESzykfqHD!9ehp^PtmL?i`gcau^sYbO+0Sj53fFZB1rgc->G%^#&Gj?nJ89FTgXj zY9(hn&#IVXV^cZ0>IG?oze3aRh@wvVnP75=p7}TAL4r-m`r4!n#wWh!PhY z4gGGLvzpjwjfCXAeU>l_m4)W+AY7Y;$rnktAs4Dzxj1_>>}9Hg+zMO2Z9APao>Y(5 z;CWmhIY@J3&f(?pt26GM{EREG^L(Qs3S73Iy@I;QlZk!&NZOA1f*w8QW4@2$z-K2j zQ=fE~Civ+V6!Vm?4R}B##}~*#hskaT7AWVX`r2U$VKPs{P)W(#n~zm2yYOF-qO@g# z!srFL@a=Gc0v!zt!O_&ghrX~lNE{$FzupFEp8?-$;Kob{=|g!%t;QPVgfMJVsK(*fn1Ku{p6;Q(2L6V53u270b!Od;TDg zj16()AvN5Z{m~^Pr7Uc;9BuJPtzVnyjv3)j95}xCKMoDj}-F{G6`kC1?xthGrj)9GpNqh`7 zi4~9df(V*s!2udyPQ<%eDcYfq`KPLQ=MuMiy6Wb`m3TY)*yk^ulX~{Fl6;(WakQQh z%SGo^*yaehCb;8kZ$g|>e7ht6-! z5W;A~;+=pGN(=^}m;Oi5$_dG~p*OGE!*-TL$uFRQM1~oF@&1?#P|X7EEk91x^5e=v zX-G!`&jr_{p4Z*E&Y{mj9i_&$!MMYJsi#sghua={VUD%(I>-$|I!>7 zP16Etk2D){vnYVjS22-@!f+AyMq#S}sDA&1I~_50NQ0=m7hv7Xpkv_rOS{;AzQt>S zrVYHuXAYe4FVf98$oQrcwPIF4zYy%>w5eAJ?A+vekxkhURR`L~uX;GdLMG47UYcdx zrflVqaj^K}Gm`U})luY`O*juF`*_x4N;!844Dy`9IbzD)M&hY4AH7eASLIX_@}}=E z9EKYPGU`h^y6A^?$F@CrNa{qa==ppXy!&1KWo~fwtQ3!19=QQalxSsCP6^IC*^EC|kb$jlIcHcR2FPz>ffHR;SeGaHBlSGS&WjZ6* z64`w`QQ3@@X&b)^tz>?i#8yd4J!G*(`i>T3#Mo z6FYa_g|)TdtLfZT$<<@Aqo2SSE#k^uB0VnYZo`1wBiM%}12Gd~%DrzAUaO+kZxHK2 z$P|`1(R$VsK^qi(LLzqP6qAXnWZA=LuB34hb8{;~BTtsFc`c->uAzK#JNK~snOi@F z{eERJrWmSHkLxRQ%7)guZP07v?Dc%G5sB>N@p6CmLC(6CCJM|_p2lSw)RbiGu#N!Q z9+;wFzMcfTdr$`(28gVf4R^p=MD#*^8NuN&(R!#H5y{4c!0_X8Lr6ArO1Y03vk1FJ zQDq-2E?Ya@FbY)U5qeH_EP04{5*Ob-09Fkr$Q#3^UYkjLn9P0GxEeeX4 zi}%}VZ&f^c;!fsfU++uP{uc^Y%)J%~`(YIj>g9B%VSpC&qy|TC z)JmJ+1IL7fL8JFs?w589q%Q@1&2xhXD@YM-W<&$cFMq;KK#dVE#mB|hAoomO$1QeM zhtZ<=t!dw1$dkTyjFol6jPj*87b|gvfCOB!ZX;aUSg4%LG*i4rrAf*=%Nj$mLRx{S zas8N{+YehnmUA=O^{eotyDDt7QEE!L?(*Ih4O0n-;?b(ghOS!AHnm29siowcy-`P% z@Qrn0k}zgX@^JN7MWx7R^U1Er;*cgsEs*V(hpova3c?VtJAl{D6m_b~;t2*q*8=py zU9e+I&)mgNUHf=K%;f88Ph`~1>x<{4tQ5IfeVBuh7>#8G_KGq03GfMf1%TAXWuDvDMNo^8c==ve^wcdwR~EoiA%yncjs zIkk12g2^>akGOJk1LEC1^|~)8DvP|D^fVY^40l!im6K@ck2UDNiP41FUX@*1f2$}; z0T7?wUu@xI!G+Y#`a5Y>X*8(Ip1D*NsvWiUNv^E+a_kG9D{-x^`fg6Bm3yNYoE6q? zKT<|2vczgAk?@?G&1&1~WkvPft{O{s$~Wo<;hXR%uCfyk$%6`4@FG>X34LPN2d`vy z?@K8vqvz8WQp9y$qoiI>-ieL`U9O^|VOfkSb|Uy!VFbv)3l~2RUFa4=g+!0GUfpjL1C}MCUaBokM@j&VBx}6bH!1hUBf~ z3L>PSBDw)QlOZYDNc)WhXhU+hRVthvlT>1=G!UeAzG!BZopf5_cI zRKK?BO{AkrRb*sz$FLz4;5{ng`$Ngcp|x7UIPzBOO*GWF$j6MtoQNN9?{~iv@5bZq zj%tO+a=E$Pd( zgvX%IydNIN+Fdr7`I=`KA|K_m@tXAHBT=K-FnRrhCr4%clV@Y`lTuTv37$+lay~B5 zSqO;SZfp~{{a#K2>lB!b4zCb`CWUY~wzN7>r{p#FzD?AZQvH^C@n(_cu8UZz;WsXJ zIoe`BGav^w=shR}e`Bw`GKzOOkP`4ag~=ns_8m41GJW5%es?aMA-~EdGU`e||9( zH{qv=%U#_9NQRMQ#@^o1Qs`q8V`XJ>a1}xP)7#C_`A*m^)jMi2UAG>e^8Tvzurlfp zJ+?FK-12R~ZyS~xY64`R62K$z?mt`0&B2FJAH zcr{)B!$HFD&<=Z7sI|xfjkiiOzY?3rSI;+s@Q4WOG4pWSEVDIifiMm}T z22wSuqC4e0BJpozMKYI4U#-w+xuY3_v%by&TVFRX>OJ1|mQU6W_m=Kv6_ zodAlY!Zi1Y&a;PLEd0eboOVf=dkNM1+05iUGj#1q>h)EXyW7RJTm9p*O|?la=y7Bd zN~F|&R3<$omq$u+wX2=~#GI8HS1jUg@ytZ{v&~Z4Nc*nqBYbO1&wrtexbrLB!+-Si zsBUvqzxgjVWB-@yHmfiOaqCgP%QrK+zcgEc+}mCE>CJDM8{7cfxo!~c?J&0tmOf>M z3%%LDkQpuj`Zs+5S#6spwBYdanWrZnwuG} z##0oYI)Cd{=M->a!MI-q9RAtQKdRmo`&}7;sN<^MUqX#JEr5JQ70Lc9g{M>UU7N7C z+NGtK>ul$MDpscUf2(5hALIIR=?+34`IKKXc&h$G8mk+@C;CKvbhda zph29_KztJ5PFGG!^u7BUxhPEayyhp!lCW>+t0>LLC%tRT&0W8fd0KS8@FSd`CP@?oTANJIHUnV_37E1Ezs6{8K%X03n^NXS`J zxL)q$E)vj!CLKUre}cq1VVFlN@NF8{!5X+dhG^ikcu0XJA86wd#=k#Og~a0nBmD#c zsd@A~p!}zhuU-8U^e3GNR%C?UBQ!3OZGi05Z|{Z+SG3c=Pl-Gvz-P^Y)q92$K#+h( zVY_=UV6>`$+qp*u>dVM(vbg_4IIz@>N|9S@{{5tWUO=M6rUdp)9*|Zl2gVEj&3!gN z$#n8yGOP&r-{!xt9mFpE1Z^DxN=&dMlI?zu0)|{_0b4{J!1vMtYKOD^ra->N7r1k~ zU&tJOJKJM_m=-XGd*~-#5y4%Wod|#gO<`>EC#Yu=@|)+L^}8WLN0Gn3p+7u=0^N146(%XN zKLWU|_jAbKJT8^r4sfja_c!y0`3Dvy_-H8|Ev2KSbYzwOM_8qV0G5?VG=8RKvKH7s zeER?J>gwT7zKVM3Ypb@(_ZQ0@@wZJt8h*y_qU}19zs}o&)Ylgl!Mf&w;oJ{Epkps6 z?HQ}iMJuigLJQIanvD5_BRdS*w3C4ij>lV`LC4&i5c=P)jeG>V`}26O{w#>!e?EK* z-zUh+^ru556<- zj6lxm0smMTgdBoKqinnY##&8nas%MPemn1`jj^HTB9`tbMg0xBDq*7X6ZA$Cap_!*n4g@>* zxu*p(8=;4Q-kmL&qvPPNmo^66QkN!rZ`A$3a9G6Mmw2+diEiUE?P+fEqe?Z(y!Kn- zxe_NmV&}ssT5Dbx zg&%8y*Ry9}^Xx!D}aEsiE&Oj=jr_p{oOg$K&xDLeoJFR z{;ao^-H<+G5q5qvqHGU-2QUHoi@^+riDVRv-aRG=UM3n|ua;rT`w@}zCC;P^f9=DW zSO!wjX*v2~y)JdZ&g5@dS4S+=Wjk|r({q%ZVP%L&C-Nl{B`&(AK)r0)xH8_!-StYw z?M<2E9kyRCrU&K$2qOMgf0{Oh3lU$)90Tsfd|MA_i6Oo#h^rdxrigx)=^AMf7m9Ss zudd0r#zb#u(1_aqsEjw98n;{Mzxzv0_}^Tt|K7`dlpj9I5C3=PhyPt%KdYRzEr%lN zkt!vJ5Ef`D?m;qx0Y=H7{RQNVQ+T3JVp4X$WQBL;)Q<~I7rzGBsV1bW@PqtnOlJdW zDA!~UJnBo6d1Enl7M67U(~+@}G0qTCuOtEoF&{5=o0ARi*&%;d4;OTyY`iJ6<>W|@ z#d=mB_3m2QeA#f2De-mHXU|O!`JyaZHiv@v@F4qTorPM%i76k_=t27IfwbQvr)U_3 z+zo6;71QSx4-L6e>aa_^rZf&+&THXog`EogP&Y)* zzJJTg><%Cx)KzsD4m-GS_?>a~EMHZpTBxmMDZf54LkcEzSnSmq3%(szSvNO*MoQqGlBd@BKRE zK6f1ChsgQ^y^UOv@XuVYc0`GS+My(2p%ut@I{#3Kgvnr44<9|3d~`>qx8WTvd#Ld9)#W}~S#t?$g{uetFZSLuEUI-&7cB)7Q3;ZR zf`H_VND`1Fi!30qR77%4MJxdU$pQjOlq9hz$vNj(WF+UDs)z+uly|Pa-RG>m`|jQ6 zp4<01r_aNW`Zbx;IX}lYz7gK{9qJ@pQzr+%TsjP8x*W*Rb&GG1gJO6TMHmYEmR&*;%PdH?+PhHS zBg3mKUEc8J`~ZMCAPHV!IomkxbH$p+M{BK$?GsGg8!pN=b{wW$aAa^ayHsL(_-_y; z)iB`L;ARn9-uGK$HpZfGijagIQT$-5c+ziZ}sSMGY zh-N_Qw55^7p14sB+1)5KE;7|j#!m_A=>qE*4red1Vk=H0u?YU)hY^`;?ge5D(tVeF zL+1z_fzWRdJ0C_G2zz{+j_n$NXqDdQh8s!@N04ilIkV#x_NE(uxnbut?lS&88iSHwTKHr(kvU4$TnmH-#OZMtqExdcX+4CEnr`nT%^`v%eQmd(ISa6+)P_%LI2aLQU*St?hj^6K;6AfapXd1wo}$SAHqy^M9CY#~gV zd0TMj-gaQ;#mx3*sO?(}^Lv-Ixaxh(C1h*li>25jx19O(hdb+IE9!oOIor-1E(Y6U z#b+k>6WuL>us%pYIz`II8l{_`ygV6w0;7qY#K=60>mBuxY~?QsP%&WEe?-X7O?dAE z39;vbzaNW@p9sMBHSp0Mt?0vCDquzYTrpOB;Qq8H&p*dU0*DY5X6I+rphbeSuh7>B z3bfKPJnTf~7FK7ho^J_3Zz{45&sF%*A<`z4!2R&s(OP=ShhDsEvx_gK?*PwrLo6bu zLb}pP;yMKW@Gyd|)_cyT9N6E-!x7h~3tIh8qHRN5OZi#KNIwvdA2_uZv%; z^rjt7V=B38g0k#zrn^UFKlX(tN~BqF9aW6dqm6{kjm*I_I7-Qc5#`SQrqjgOgq^NI z$@+7tGc%70oeWkO<*@IWU~aNj$_nSey`DlM)a(+_84BjagT0-n%Jahb}O?lDmZ&vsy4SXb$I;Bka zN4VChs0d4BTv@ljCtmx6=bU%5F>gZVy-J0~49g32fyk#32C?UM%v(+GA7!(4`yhne zZ(R%~d%NY8lTO*&QJr>A_;IGb7k@DB8b7L-#Pi9r`(7mA@tJBy9lRV!W{W4Mu|!MB ztrQI@=9xKmjniJPb3ETxno5X+HkzAe#Fi~u3)R5dV?JDOtnTN&A>QrOt9XCd14>I# z4fG!z(hxai0JcMbjCoJ}1B?k8zU(<+mc~T3h5A*T#uHXiBYSuD-K;#caI4%6{<=8q zo>Mf}K7vW4U9Q1gk7TbCPz#`p2e5KLHe=TRKNV#C7g7G!o#Zys8Ft|LoagDnK}w=X&^$Sgf#{YXEU?n`Zpnk zb=6Ay{71_gYUD==5$L$l=h!t^FURW9o0IhYt1DM)aAgNqd*R9-T=~SSbK&Z2{LhUK za*>tsZa)+tlfknCZqB3Wtf^U?S@cI(kwOIm+SzY!jlu&|z@y(!ey&%Jp` zZgHPWu=Pz+6kE~j`PmWGBVd4>DNtf3UP310Lg>I)d;nIm;tFkp_^|y3Wpqyd23_NY zqUUTb)58EDjP`F(Gx(goY3HUsFdIb}$h@BbD3qOY{g{7u2NQCh=}yz86M!LVR!zr= zDV_Rp;d}vX&o$^O(|>{cO^^qB8OXK{!@0^-^W_~H-UHTqa?wP?x6GR9Qm+SSqJhQO2KqwIj6eS~8*~4qc#s^KB|h>z{k6Dcs~fYGp^kAv zU&mD>+|3T~wrzf>_im)WNH0(1*=t%Xw$n0@K}OF*hk$-3?h+6SYzM~N+`innya@+j zVzV+>1zw9^qrckDCs%Na6_jy*caiDu?(N6iDhWA)cVQ!~x!7^{Fo+9cpqI2z4Mm5^ zEHTvsc(U=|pi4{$K%B_>c1mhSx&e+prybMNz_OgBAJYOPs3ri;hN1ujCOrY;F8mF` zoRI=LhDt)ajGat_O-zR(c}3}Hr30Bw5$JD_AHZ2!<^XVBen+@KU^krYGvOXaS^ScU zkV*BES+)5OKaL*p)0-Ol6btR1$Sj5a{Tu%62Z*P?KIO-`0rnLGQ+Nk-H2>}u|Lzl9 zq+531V0TczK`e%0J%9I((SP>|>%M_kYYZ64)f!*f@s+RmTYq-tEB@`oxbnwWXWms@ zaTQnm-+}2>>~<9&|Cyj%EEK` z;+JvqGY4(J9U7LB!l-G05w&6)y@|_+mU^|!9gCOwFd5hM9`PzP%YY9bQeF?`(1IX` z%+IfAsByJc-JdvfQeg=XrFEYU79n`~!D}s~(k2pKh@;F-zYjGhjkssU$WS`ME3)U^ zhMchywH={gR(9)0GWsIGGLph?NEnhL`-A#mMum@`$h|VkM zRv&v-zSzn5yII4D`DBObv(ctm^UFAi^6a$4k&A;WS6JcJB&_jKW@FE|T_c^wVpD|S z2VepLdKIlv)S09lwY;YI{ZWm#V^w;6|0g=q3IfLr2o0OWf`1a}r^ZKUqYf{bkM#_> zmXq_>!aJUhrxi+d4c)*L!eC%CtDV*T`RtyTU;y&7w2$tLAXGL4^kk3utIV#cyEID6Y} zDDT=Fvo9S4VwsQ!r^RSGI2!yM*`L2MAiZP}J2H4UKPb-Pd}E+U=Vt=j11HQtb1?g@ z2ZjB(yAb(ioB(p89Uhv-G2%m&+4sXnbMv%P?5Ta0OV-voe*K87Jwm`@=7T|N@T~9s z#M6NB>N>tg>}+LKKKK{n`H$j--r1D1ri{ZIoZ^vf*JW=pM~$CUL{>Gsp^sn#IjPre z81$7Yo=N~z{V=pw-^&=3pmH|r^22Mt`sH}l)o(G9V{{iW zx2@~9B%>R|M7FH{UlR^j2a(jP4lS#C$0$x0O(*N^i%HC=^`N)o$tuEA+d9L?-w2mj#fyae#?*=6s;I10rB z!j4GM8ub>-(P3$9L&u89jtY1P4iVB=nWn;eq*?XyGs$hK2Chn^tsiq#FBq--et5ll z0h5(0&uU4<)XwmAL;8zrwe2oIxP6P2Lp4;jMc)MPc*G3wGz8pw_v!jx0s*K8FQ3Ae z(1f^vvoYRJ1en#a^|E00d1;W;v)3dth9!#AH!pyJM9=tuaToi zrg7#83{3jos?S(-4_6qjF}s|IRG^^kVy1xF9^6__@HU*=Ham%mlbY*VOUvSj{qVYP zu`rw$95bS2AdNrHHYrJ(Wjb4l39qAOkN<$@Qf}S8=qS!sQIJ$t_DG`eJHXi{`cp&s z>i4&6z(ogCT4S>00J3`-bTa{#^k?5-)pDq5r)c5gQ2~3^+uVsOZ!zZ zg|k@aQcTI<9c@K*0Wgd^LDZ|9XFU(oZZjhloNk>OqU|-XpXTrX z2DR9Nm%vJ2EL?wnd8C-l=K*cu8^UgcSM!l4o4tu>8`pFSi>lh3skIryPBmTT)Vt)f zH9kU7&iiP1-pt5@yUJ`(e}eYrG+H}K6LOOycHGM5+zK@;h7)JdhuBYj|aMz=^Gy^t9``E?{V4F ztYin;!9>~-Pl4Z{T;}4ZttfkjX;@XJpq*3P4mo5|WwEv;xam(mX{j0Qw41 z8FB{q5ljeOtmH#x;b<(DsxEIg{;Mr1T?~AzXh>X}gw{h*L}jWAJ1;JvVro>gl`;~? zd^23j`oUPYLUh7t`^b;7;%q0d`l4E-)h>FL6WWT9F$|C6~=vp%f#LsoY@^}BRUb(|mU$ZpB_=AQLq(|@`@7`BQ9fjOZ zI33AHdPhrRji9KXIWXAh{xLbSNg%yWpDd|ip&jR!Yo$P;-_BI^4_)s+bIbqenwNev z;v9bgI%$s6U9Z>zh(4R1xrh`ZB$M z4!@ldPDzapR|BXRaO`;Qo%va?QLXsJ0`a>+nF57wO4lb#iw+s&5U_2VmS|~jVXH5* zFnE+n&an_QEXn_)$gH zbe6go9_;x=2Vq)mD5X=WG87w}D!p*}6-$@c*S-)dEry@Bb?WRrZ!r{(AEy(W8e*xc zhUc02R)!~rv*!6(@9uTFL^T|Rt(C(ArxS89++B;9Cf>f6Hsp7RmPW+!gC-w23w(ZR z0W(oG)!T2-m7eV<8z*J9Zz-XGJM$%On$zM)s$WXJ$jWFPl3jcn6x4M$enx2kqSY&cR>9#6zEvwoJ3DBA1| zvP!kOd~~fLN#a|?p~zULKJPR9)uTZ!mSwSk3ckBoO(buQ4MC4p=B#lK1osx6z{p(q zL0w(rhfQtHddSQu79oPJ$^%2-%j*7%b*dPc;HYL*!f%jv(iFC4o`RX%awUFt&S|>* z7!kxshnA(>ugQ6ZuoKBifiY8Qce81V-IXt)Ik%PxOD8=sk#CU6}ED*mJL{ z=4}c18DRW^ZTo54UKTJzdf3lXfIBOS!EQOc7}W=W}(E8jc~;(pRDb4f%(-%elam zR_@8c>8?ouhJ6(8Vp-yio%NsG(D*}lfP9H9Hy5JONu_@{V+u*^a8g-^)!hT;|2?Kx zHoAo;16dJ2&GgFct4PO!BKK>mny})XXqiP=A^=~opd$ur){Z@zSRRQSh@YP8PJcU{ zll4;5{R6)cAf>+!gGem-Kq+x|T9(0g!Pa7p4{J-j!@Wy9SfOt?NfXx!K420Fy&dMU*j&9_$p_uxpi}Vc|QA&WT`+kz1u;G7P6`ZAW!(+w3_BweaNG@pkc|# zyxlBL+_~s9>yfL!cZh9bXu772p*qJgAvO3>3*jP6RJhJ0(JZMx21QSpRxW$O8-C5M zv6Sn+Ky$n+J$MK!h$MiNsWgtQprq4>;cye*pZp-17T zm(E8oWxQ*e5ly_?!_DaRMh;ProtpLod+kCk9d1}lOQBUfbF3T*!?#SyO1@DFQjVp) z@*kpQud``7$9Gpb1vF|x&@IT`1t9Ng-9Sag&*uP+@_ovKI$wnY*7wzKdua?*W_|`J z4uP8Sa@?U*Zlr|sX#E$79koRlzL72Z7;Z5^MZQ;g5(Z}HsY+mb&aN)Lo7U38X!d-| z3)hFfa?A6=Q9=*DvkJ!bFuP0buyoGfLETJTaUg~ytBl%J^ti$#w~n?BXSsjd^WsonJfAE?=){r)H1NN z;CLqeq_-F!kC*Ql(cN~PvaA18tfynC@UB}Bnxu- zf;7xevVM%Gb<6KT)a~z1592sL^)`W4-S)YJn!Pll8p$komXg)T+Du3H3}V}K>}2iQ z1&#{@ zOgi&*q|>B0<>)ZzE(0Gf@YO;YqOHNDS>KP-*Tt-_z}n7@zI*%mV$>^;idI@z(pDos z#Ot6Vov>n0v{Qg*ZSTwH)}Vm>w@+v!Njrb!%<`;VP?9c#5hs!pql*erHAvA>{ieDx za}<%Gu!r7cj|c1f{-Osf%3}-}`XJYy)eW{nNa6}_z7x`=S>T%+YXi#k*Z#gMdRn!F z-s~(*6P(;{FU}wi*BXrQg)EV~hjdRLjY?II@)MY;-BPt<$k+_ky8aa{t zgRU=6_?LNgO~Z}eY-j4uCF%|7dV=I7fGN?+h4NMjY@KF`a0OIix2*)N-7kXTM+|4W z$pw0UXganRk0K=XjZo~(UUTqvVwp}x8Y3H++{mwA^HxVaYdpY6kze|o#dI-gQW%Ex zn~=Z`uhU|6*wT&^o<@|QXvM{xu^PKw-OZuz7UJTAkCo~cfYij)pSRCW2426NS1cmJ zM0Xj|@p0=yDcyku`kLd*@|tLhXFbv-djBXbFv;MAi8csX+(*p%ts6JrA96{zMswI` z?}<38^96*N`~h%_VF;F~?P6#bka@exvHx`q{QdA%;R)W$NUdC4B$Mpy)GW&8xl%StfoN`=V(73f!u@_ZM zRFwO`e^VB&Fb*}>2r=9^ot%+m$u<%DG{*Mhu+!k+C3D2Bx6aQrK{P8BmJt0#(vS7z zOGZ58e~kF`{jeJ1sVJA*wh&Ovx+X7_u;{@q%uQ*uJ(Sx)O`_04vrrsUwGL_YUx}pa zkk`ZwjJsk`*|SnPTUFHtH?n)qvV550Lma*I^aF8E&|=FZ4Nf_mrkqGzNxtE`0UHY_ z#i&wXV7wlCpebw#`paXsrk2MqYpGIg6c0^IF@}#NRpb=fuOl`0` z6;e?BQCB;0WgQo9$Is92Y>ElsC7r0*oIXceE%PuLmNX#kBc-Z7O{MD))699bU#ppA z=m@?^;><4)LEx8#VFzY|vmIpED1Ro_~|?AY0BV+Xe!m<%%( znIh*&(1mW204rJ1A3k7>r^XO;>_L22@?8+CziCshUnh{fmnTd4O_1KU>a$o*j;^q- zEIO2`*!>Dh_*5dBLi7P-zqk&NBz2ZHQEA_nDUb~xX$PYn9_8eW5woh%^YRaWF2dvc z{`#3@1g&(AQ7u*$rDz1plHp-N?<|Zq#jH)kLyz|ePJ5?Maf2f(+KD~oVOH^sYpB$` zJAL%-lzz2!h+i&C@3T;fGPK5MU0xpz{60ysBWo&cNuq+6wmOer8Vj7iydn9{kqgj2 z`kO7A6Hqv@FxfqrOTMUWI-qt|s|x1xOcPP?1_bMf32{DDIGoJC=+(6W^||yL0L(EO zCj!<^cQwbAzkw!zL(cz$KNj|V;X4F{QG?eKmv9!5TBdzK{pl|c0|feh4mEAGKo3^_ zl=cIj%(SCOb#9J^ep`8|UkaQ|f4z(>66QNcf-!)*Ur`#%ox6209E3CQV_JudQ|fbJdqgBF6XK3&D|u?r{J?-@{aR=bRt0AH zCg;wP(BOd3G{nO9p$jCt42!L3o+~!$U)1xzTNQHDtY3P`k zMsf8C1d##&Xz1+^-V&Ar$CiC&Iaub4D%gK2KquJlP<<$ zyB$C)dJ=ht>qr#?YWZfx>!rZN^*SBkW3f?12ROwi(I`N#;KiH2=`Rg&*+GW|lEDcJr$rCg9^MRMf15KOvb8*-B4yEHV8-dbzNIhMEGz@Svy~$8(=Te6BkhcWp0>`#&7DrP!BsV!!aIVB%s63 zHLzsXU~IG!R%+wa9jHBiN=LJfHJvj?|LYsejQ7vr{H>vX*8f?yo^q`t(B6n$;5!uV z$skqop@&jT$g}jR8C=*y=wh5U&|C46t_i`poqfOh)PHUiSO2S527I+wuiVm=2fjLN zuFln~5aKE@{AVHbRkU;!EnP)RSJBc{v~(3MT}4a(M@CD3gUl^#f&P76?Ia7if+L_o zdY=ZMyOyGffmyeB`V$ANHI{b4iQYGnfUMtw@aKXEPJz|alYB^lU}?mthl#$+3xoR> zs!2J>9Pkl&fzW~z$>@`l;1_npsjE6pa`I`;KPU3 z;g!_#^t4C481ADe&>CLW)7NRiH~VaD{ZczT+QpE@&CtzEYeq4B?vVWdse8hfzDyX& zq7g7MBx`45N83RpAQwunoJCOZ{WS;#BKeyCSI5T5p`w#R>yW9sFWR-Zy)2+BK+vPE zcDaA~&pjZ_w_IIgw_tAa*+A* z)x-YV$#u16e>r%sOyg=h{r5ob%4=MC+N%TQzhxy?&hg4QUOC6BF!bMQ9#@g$|L>8b z5JzUc{1Q{woV!L8BRldS4BsK!)Fx5Sl(y;l%a@k-40dyxnWRVFDT;IB1vuBEURd+6 zk6k1^F&K}?AuRg*Q-`iwGpS;$g>cZ+L00CA@LE(Gi%gTNc8L>WQ1O+{^qHzM-lRl(=OqEh1@-k`&*Rq7r-lFNQwpkjG?e&4d-DSIflk8+h_=Q>x6 zx$|kqntb~`>!cKxB!_lCIpOY2(%{A-S1X1XBzlv*9@ zU_jWKD{16BB}%%o`^~Gxw+7Uf;o*(+NYf%) zH)8cC2YO89D)>(IhqCvT$&~Yov`9#3ev*(%(i)>G_QB)ZN6v?J7YvUm*B0;_*=J1A z-klfoxo{(uOan;pPIpsvJ-AHX`o3WDJ9f)x;+R44VtDHUb-mb%l$@%XgpNV+N+rhP zGqQ)GR5rykulRed1)g(&IQ`*c#Z1fEYQvv)26gtku4DSCKD3wLiyFDnf$d&i3Qk0| z(lDOLM%!W*^5-#fn5oq3h41A=V@dI%Y~C-dB!1kl=q^W})aj*pXPJ=)Ih6G|-eG(( z5Y3a_&0=Z0dM_eEvp}Kn$Kxd~Idu}=9h0ciuojd@`v7V4WJ2Y1>P4G}7Y%IBEOMjz zoBn}d2ek#Kpy03O?w(bBQl!lC6LcU7zARogKJ#+ePBHP6(jdI;nvI9x4W?Gr=&z2> zB%T!F*<(sXJSsZzMh1_dCfb)8dYNU#SpD2r=mdmP(muzDlpKvc59}BANQp*^g|B#S zC;cqw(MEXroD4WxHSLfZzE%-?^2RK1RZ-Ve{uc*t7W+iOW?QUDBqvuqa-kDJ2&sEj z`E&H-6MIdgV(gHutLmCof~Cm^gJ<+>giZ)`8^Ts_xl~AKqcA$W)lat<`tDKs)Eb7k z`6vx60eP!q9dsB>{h37lPKQQ$R8lhcBa4CkCO4CLGUDHPMR#YXXEfffc2b#JW@g$65 z+ITE@N;nTEUfwMX<#y|znM+co;Qh28ksSYQeuyP|f!PKmwp)%`Dn~=I18fAfoY>q%? z-d%Q<>$R6kU9}bw(lj<+Q8CNHqYo;os#V;CgG`RUvFJ3+Ki0pN)wvwiP(v*o|9pTw zFrUuEau1eT@wAsKp#hzq2@z5oVIDh4ub2nV++h}I9+?Gm7VLjjAd98?tU^F>A1@+o z7J2ZgsNN{U(Avwc-y?x)_|Eq0QQ}+rKKdxW=SbbThRO^dmbyB{SUSs0&y5(WYbi>! zWxMzvjHvPb(-e3u&zOD|?Cm$WkGi;rZOkmgL#SHrq2n;`n>Sr<93J3*i;^2C=RD&z zS|hl*H)|%TZ6!nLBU5B)7?sPIOCekcG;AyiL)plqECR64ToGiAp}gt26=Su5Q+F?1&0oQ~qgN4FER zH2YDG?2Dw@vt!;W5RunLi)nw(TYvJ|{9BD(UOf>Kl$A<>Jh>k!aaz{2>guY;9@O}7 zvr)LRE>5i}Yy~4#Y0{~il{8+te_i?4tv}!_jx_X9T#TcqK}hq2fkXd9-XNUW2wc_gqK~#5EnpFGG6C*2ytyOndEd{Ml|Cu`7SI_$Ufy9pPX=05i znXVleZR=`RCK{}+KmII|0O8>jNM!VhTl9HOx3TAiH7bH!l?7bimp9B{y^ z1M^Q|*ZgikdesQq!x^)a6gEc>c)~NK+8t}!g%(+A<0Vfrjr(={X z0cwyyKBP+Zn~3F}oMWUL0a+a`IgThI!Y-tW`PBln!8^Nr$FWvtYsL)*L!r~i|)Gr>fNm#1# zKXTSHAQ>UuPfQ_ud{k)sbtpM5e54nkW=)zT=FbfqM}?y{S{WaX!-{s@W+ZYOzrps* zqn)bi;$_*M{OC$#@qx9L$UHt4$yh!JO=9wg^Vn5LoCNP53mHv!(IK1!;q&HU{DUvw znV0y-!~uIlw4r5bJKy<9-DydKf~Q6cX(-xxVr%(Z$g(x+ctn_?h` zc6jI=B^&g^HUs54;U~YN*kY11< zpP}el%dG}|!G;LmFXx`SdkYzG1*ZvsyUCCTZo_|ik{q5KT`KR0=bPYJR<0Pg(rdv@ z5JaTH!T>4440xT$SVv0yL8XtU9@mHWrSj2uO5;mSfNGAuTCbqXH<3_(t2oPlSgNJDt2d0Sf_I?mHsA^ zIz(h|JQa{jxU+?$v{`v$%QKkkem42!y@RMl=f-M^1)hHw!{Zn92<^?c3>W>NYJJ8Gc6x^Y>3Pt78w{d<{> zVb$|scj>7tUpt|NxdBYl#A_t~2?xX57?tB2uV_)S(vfh#o?42eFO`Ru`srjx5_QXu zAJ{n?ul@$P1|n>kURgLcE(I9r?3n4^cz zoQPk!^A2SBcj?z_w}II?3I0X=@_qV z5Z2~Qd+ANgeK*i&{EXl`40kButTi=*GDTXaGWvCuXQfR!@G68$x8Gg#s3MZI4N6@Z zo?~F`?iJEbmnx)IPLgkV)F)|~T}jRT_K(VElGn;Dt`}qFYbKX23mWfLRza7#*VA^i zmAQp6R*~&mzM*}I)t;ajLQaOp7tXiXt=PvyT1fA}15cPpBX2fa))xKn4(I>){GEhj zw-BbZ?qzYm9VfwJ#JJt9#als=5-rl1;m&|kX=>~-b})U9NJetoVD5-F8Zu?$E4f>YNppGQ0<}Pvt<2UMxQ&@jRESn` z+xc+e9)Iu#g77#yd2$3XTr!w10h*xqq=x^eZoeDV3x&5k<#$-LzldGeL2eb zPfs{WxW>8ts4Q#2k^A-XHa7-}bNpmRK8lrf*}2ZhoyQu5+^tWRix&9YNI`_;y1#I0 zjnw^-$4jo{L|_bT>?2=C*Yb4nBfajP)7O|ryH?5l^Tsn_Z}!QfcSWs)uPW1`uq9sE ziTWecGR-|`1!{oWdye8ZRoSq1AF--LN~VaHVkm40qI&I#dsZT+j*FtFE?qk=e>95x z2EFIzY_b~}K*SFrPUY*yhtM(NjGKgiWu2oFy6o1=#;0a;jWj88|t<9O7J`1 zSH+6GW5xSfV*J4=DY1Fs4pss=vVLlE>qX@#llDErbarO7wZ|`6EofTArC!CVYlxT* z>YKzl908Ir?BUs42tO-Dfhsk6AAs^Vli%w%+Gr7UOib5Vi41*@RLo4A1o0aGYT7Su zK4@2echN4z)z|pQ+Qml}?TNzc`rKo4^BXkJz*1CS?5;5KH^|&*F4MSwvnVLjlXmel zgNI^x_l{{FYNK8MGlcU@e#EtJPs12RTvVy|0yqdP$e;W&U49+RF)VNY;MaWuxc~?( z{ko6Xs1G5sPZe1tiX6z&PP;YZ5ZQ{cFjboU~%Wo`hD&wl6!yK>cq6Fgf z^6PRhzG+b1qS2|dD&%wHlE^LfGa1x41*93`UZZj^0|6$coFVLHw4DpacHXpyKx!Nw z0Lu!N6OWKO8Qk@CkM3qJd{Q@x`MJz z+N{LWO&Z{4TyZh~u4M7D(;Ye3^#mbh)l1x$JbEIO6CT0w)No-Q>j~{i;cFdT^&4iQ zVAe=r!}V5kKBb|ZS9pIBLraRjoplOe3_fqP@nPs;zd^^b`*kphRzts-Wgb=Cs>*xY zw6*P3aW~(-zjvKwF@@-+6liBaVa4IP74+`0)|*13dL(zgq#gaC(Exs)bEy)yEu1c@ zKZ2A!&2rTzrD@`fti5ffAll~9Z&2)EnSY>CWzA(JobO!_B)_q7^cPn;#SBkco=+E(O{i8DfukQd{+GF< zXTEDP7`kdlQ5x&qS#*AJ;foPFR|Y{sE;<`; z35iz|9Lxa%^qQFwH*~2%*M!Fi?3m+BwN|`SElzElP~eCM zVSR?k;Ebo%wK>HrBpJCsBOfLxe~pb}`!!x)RuW7{G(~7IPb1AU*<=a*1fXK3&w`H^ zc#ap!Itna>=KCjtdqwpWRjZ#x1G+YLGNSw5Bxf%#)9W9@AW3$5`>ora_V#**HWp*W zkspupG)o(Dzn!`}Rj9Afh--R%u-=Hok!~{GbyKyul$+k?c`-oC;ZS}lx1wJ6Y9@{; z)gIMt#(wLKT@7f3`K7nGPlK;|-il>T@t#4W?&XZ-T-roq^6b$9`aR4VOgg75sgr|P zrh`&MQ~atoG-}H=oW1?g0q>bb%&GLdx6i*3vn`F@QqqpvIE_OB5a*gzp$KH7? z2}V}ZQ?{}2L>C7^vb)_MKh8!_Als^~w|Q~b(b_w$_YG;cqOIQK8vB+`6&7?5Zc z6YF!y?H@4&%b{K*xBet0caZ;LH+wJG-YFM}v27}6jN%i*q+c_rOsx0GnD)FeF*s8R zD|Q+b*fFV0M)I}MT7;aWitUPtIYPq7?ebN9^Ni=`OrLA!CL9g0sFpuwCPo{ln6bgo z@Fi*g6%)qJKFt#DBrP2?VJfm2lUMO{vcZrk^N2k<6+Qd_*=|;?-3{-OOXq;_T#6A7 zto9VRb{ZoTf*NUK+LO;=kdU#BYn=``?GDfQph7zJMmBZLq%YjB}OgcOxS(QIEP zDkp~J@udkcat|YJ#O>mM;q7Pjh-4|30dJ;29F1k;jncXh^@`7;-#tubjc5Bj+}xeY zJG^^Jjc=foe8|zHz>GgrRidf?io*vl{jl7oSfW>r zO?d|MHWBgzm$?j;qVfStW`kq+{=LEYWX=-bGK@YYiRrpJ>c$7l^9ViDQHH?fc94`a8VoPUdWp z!qc{>KC-PNYklok)7%+>muYj^0!FbkANULIQu}{UvxBrPc7@ctNJX4gRyodXmC$*6 z*AdHYXw*irM09Kzb;nWxwt^553Xnc=wG5RA`D9eV{Eh@;&?hQP% zE6<2CopVj^!R;F=&F2&(AcPJ=1zuN~i6FsPwZ3ES-3 z=oF2uHUPD-P(R6`bqO22m{^Kd%iatP+Vp2RqEx^Sh^1*4VETB$1O`2+Q=j?JIJ(q z2nhNe8y3B)3b|G7Padu3U^tGV+HG6vJ0MuF@_KnEoA@n9(Fs@dyoSh0-q${E`~Gu_ zIG5n~aPfJSInxlH2=ZSQWo_g$PpOmGo@srKu;Ut~UZK>?ebjW~EI?hWZF*q(^1_M& zh{`ZU(J4@?J)`zfEG6>tatET*R{Lh6T(M$wZ#ijyEoHu0%Pd7w<(}^D!_Rj~Zc}b9 z5E`&wW;Ak$^bBSYO}mQDAo?r8ZzB^OFpS>D7<)vHQQ+w-B==obo-8#dd}2Byd6#?> zV};z0G3L6JN}pl14$sfu-p+m)a2uqz@IM~k$E#Z#&!@xBlQigLM@~6UCyjWEd8~Z> z80;^w(dk%K5m;Iw<`3z>%7^4?7#ky`JRSHrp&Q2&RI2222ABO0_XJ!HY0=6@>?0Yc zX-B10KKdI}q0L(Ns%7R$v;uN zKDXU{%@!QOeuNsCKWh7XuSMER&}n99NJ$D?is#8!#!lX@!j zhChO&j@SEk^M)y0>ptGDA9ZThIXdXs!27l9L-%8=k=agW0KezgrZq3gmtuxNoIu*dB z?&q_uPd1Mvc9*kC0ZCYkT#e3+n@|g1M~L5{a=mJn%Ca(6SyI&!wZ%u0O5FA3UM7TS z9|Pv?f9@Zs{K~Z@?P5mCEH>rfuh^-|>vIhEi|& zxaZW?sr%79&I#qP95fl)Na&-7>)W+cU5_{kfDi@21VVY$WQv<6X)v@ zg4K&ZnI`~GL}!yRjq9d8sn=?`Ouh_$IFeP>Ni+j0ySsv}U*LK#u|hd%1;z)Q3k0k? z!ZMm>q~^*$mbSiclbnn#UYMU%-V<8#)2bN+fnF2jXZj(e?;`iB9DJ>Ex`PMJoUAO* zCdpnIym0x(Ty8~lw~6OSi8iL@r>D5-p#9l)k#@(@^74vn7O#!Ru;*66QN^Ik(nlAj zY4&#L%#)|>jEti!6&Cd8xB7*4PlckB8AH>?J8>h$6OF>C8B5dGHP9Q6C#44_9i|2D z0cFoLrD;d6J-nZkd(z@)gA5-Y&({L{DB9;a%$% z5exKV*qjHAte21MeiWEfHm`{_VDvm-Wx27QAUE=26(lA>{^6$M<65<1(}3Kl+&cvm z9;JF)Iki~0jlIin5XGLP7}M@rkpiSrbqR7TMnJ{*Lhj+^{NU^x_myg6moQ{gn7%Ye zc&Fcu_(?6!#v60XF_!e(?-6_V(=880kJjxwcYS6g2b!d(&+LRw9gy}hd2N!ke-z#* z`VF$G8lA?i9rqc?&N6bbeV$QlX?(3G5ZK+aUh9EONM{c>n^gOW8xJ1XB?B_U*B<)s zI^7SubDtm>tkl2cHU_q>Y-#%Kt<_Bq7}cFOsR?soB@*S5n`^a@Jtfji7(qhPl9lee z{y~IMzu@UImQ%JcY4IL>=egWK5sGq+Pn{2N(F6&E7B!^==U*R-Uc2lZ`9&?V=i-OJ zk)^99wQoH)P%HRRX_v6?7Q{P#7J3hFNgDdK;6srLE18d+8s-b#a@*q$pQx$I zmegIAV#Nh2{b$sXb~^@@!=HpaY`>|ut+D#vIVk`bNv>R~8q-J1urbGi!P6x9`wair zx(_Q9u_xV&O23};e8GB`3;(1u_Q_l+`MulQXnIuG?7tJUwS853W!F8)*Vj2-Zn*H| z>B4JkUhd<$T+%O+RdsgnivHkhLK5%Q`Hq~~$R^k$+}LpT0^gp?-}1hH-v2Nu&dg>~ z)Bc0N6V)bb*2krvPvNd-o1Ma_u=U4bDVHt-W%i(Oh57?C`ya>qgj>`J{is|!OaIN4 zPq)LRKFVc(u2K==-1j~9flTfFtQRjYH}^fOI1`c`J$-k5?fw%#uK!bF`#Z7z1+ZiO zbp6`;Ppa}C12|1CI#= zo^8xO_3!NZ7mI<_`~Fq+pG-vp-%O~_31q_yf@y?5r$ofBgSPA%EQd$6dgOg^_{rk1PJ4ZM1J74#s0w7+%sHxd1xK zafFWJ2(1+a27!*y1GW95!vDG*IZAho{y0!2CT8G*%9B9#>FACEm8Cy+47fT7_#JeN zgZ|Wc+3UwSjUO^x@Zger6`R2*bfdJ1`))r@SpL!T;1f(dynOtpMJ|epiC*xRaO-N|i+wh3E_zww*NgtC_ zGLc!?Ik|cH1!d(Gl~vVWYigTYTHD$?zIS#F3=R#CjQ$!MpT*A2FDx!CudL#?cXsy( z`^1C8Kj=CFqWc%J{!ZDyp^F2c>nP9$#~A*g>&Q_bV5j3aMt@%R_^Ip03=cgxFUY-O z3qvHTU zK$KES6lA_ngA4vEH4DDNr5HwXAT#2_HiTy3Y`%8QRM}w-@VIm-TYkY>tyLa6RMl=# zi{*UdU0Zj_xNmv)f1P}OWb)q>G3}dc9z@r2I(pYbZOh(Sa_tmLMaao7chqmo8Zaw! z^Xmk$v2bzW?#)Tn*c}M%%n^PN-LdXtMzb;zl?;?p4e3c=wEj+L)l*SBvn$D=ZSBrHr>l@LhveFl{G=qFpe)SeVn zv}7d>^wuBK8ZBg7S3UfKMDgsV4px0?fAlqkTzQ{dq~+FGsUvev=%oQUfCi$!KuM!= z`*s-Pwjwmt19@?nw+i9W4bgLeHAxXC?Rc)$uzr2vEm;Dt{mMlT77m5c6{0^1* zQ#xxSu^Q{jiFH_C`0NN_s7x(B4+9fZ@6xqTUr`CnR%EEUK;?M!SVGb}ZzM_EL%&1^x!P|B7 zYfb1q;qM0*H0uKUB?rVwnqZTnQ>RcQw%~4p54B>n_)r zD$$3(v*oEKF1h2z_HOx(tZBx##yVl1q%MAW_oCXbek%P=Ye`{6Bh|ASlycCgPpKh$ zl1zwwvrBIp*~W$I_^%X?9Iuqtn6uY;;2#a&pq(f?=}8;HjI5 z3lTN3JoTuyD)gB!GIz%}f18qAT)pq%+)Qt=U?En!-yM3h{FT~uI!y&j=md|S;Qdyy zN6K9noP^;@#(a7T^PilXKa6Z<0u6HBxX%A}TH3yO)k<=JZmnECL)mNK^uq1YwIWe3 zcL@SS)48+$JSiZMnfMxiU5)*7pd-*>7v z-r7GRzpxhQo;h>(b!6_w#J+T+Q#0q{wspCgAv9on!YVOlj8dq)Je180pSj~xl~``x zm^x(MX3In=qJbQtJQ_`>vQe2smjH4!g3awdI*x>*&pVQ4yt!i^_ZZ8W}Kh)0wgO!r%r zd%mE7b}PGcOU4lo`=M!=auk_IX|5f7ntIX+c8-`qQY4O#&PnyOMG~!M33<|cn6RBx zJ$Ki}F%QDQ$f1a?;ItFZ$WO`MsL%Nmwhg4Kfu2MP$stf<0Cve2a*wDvg9)=0uivRS z%Wi?2&M11i?+-~^$lk5~xypmrQYZ~ga}6ncLoei1>ZoS#Ny8k&JjkAf*o4#6RW2 z4v)s$I$>-nf`pAa^TXZX(XD0NJ@T2Rnu8y$~^7VR(B zk+w+fliD{!O@+%@Uy3~e?J-F#(LlueG*G27g#-N(O!QNPQ=dru(%@OO6(1&_u=AL+ z5on=;@e1h<6OsysPh1~0V@_R;>8?#28PSvH(^ma#So8z=?9Td;pT=5Tpnu(uY|}u^ zaH7~~IQ0ry5;qzhC`FPc!-v)6=U6X|S`ElRDgyZ##@9C=>U~b?j&EhY;1)exRa?k1 z^YXcb<{yyZrSkoR+NzFb=RlKLuk?y&c_4!W4JGxD|A|HAZ_WKLy!uEAWi?Hcr{+0cn}U9AgthgCA=B zAq{lV4~L|-P6^RKx)~^gqLo1ApL5;lDRFoxBo1;F?qW2S0iQuYj=-+4gM8PTPaC~z zyySRTIh0P1m+B1GMP*mMNZt+SN^)@RroOYY7tUh|E`m1+kqxkzNC?h|26~fD_mg~m z2EwM3F+R~C8B$@E= zCL$cB7G)A>AaKC`EDba~=iU>$cF!C^_)wdZvS+ABMD{Pw_2(dvhL9$NoFk&tycHEZ zt&Gnkix5j^(Tu(V9kugR;fDUom}451a3s{`%yehYR57LgPEiRbE8~iV-o(36)TVC?iwR1-tD7%_tC`@qdf@GWeDyz zn1d`}6nc8AnFb2?hld6R%|PgWku`?5ykeNoLT}=|lb!gt8~g3fPSxWL&n#p|=%S7{ z3Fl!=A69=Q`jO5P!}KTx73`6X68K?6xSCcD@$^>H{!fc#@L1L8bEABb{qYN6#}6%B z508m+@7e+F#lU=n8H^Q1aP0ON>4m@8FlbhJX$39UbCysj7`!g>#Y5;~ z2b(eWv7|sA(FPY!c=NN~XtoU>){Y8myol?4PXpm)BaMjm(n&?m-@nv~rL0ssZOmQN z))T%w_W4oBotwq4HY?1Y>C4`+5>BYKlr^@5hX_w^hy?r^u&kQi+@OIbda8+4!&R>1 z9p5dLfhNMrw77>@jyAg=4RkHXjW*fXT74|u9V7F}s2R=nXsmQk-gg@RT>ozRO8bEs z!`Clg_3l~cOFyB}pOF4cDoxiV)u z5wYj)6S#zzJYXGDdAVS(e5p|yNJwlAGxaI1VdKa6@TBNgPBtZ=KdJkE+sc?!OuQn5 zD6&L|A)v|Ts*p<970W<-8tA=JAWCQ*V1N`21nu1tqQLp4sCjegOLH>oXEVuulx!~< z0pIvLRv7j*II9ZW7J& zR`&PdV=8Uwg=aV>4Y15_u{*-$H>H1ehIltGaqrRp9rygffFsFsR%fkDaBjt}pPwrE zYu9<$D_FWx7GfK!%W57!;isL3_b zS}#U3YN_!rPFc!G4E ze67BW65q&oqjZ8hvf1+PQPZ+(t((z6l;9!sm4~fwAfmiRxzw#{ep~&G@f}=IUC4BS9@B2s`=hGJMt^ z3h$FJA}yea1&}`LZf9uNMy7IR<<4<-X)BjS-&<+hW2B8`{%%Ug}wNPrDmhCHBI7yTS>MSBF(mE$?Qd83kPYpcvl zw=Rq~-g$ydTVWh_b6e+^>k3F-t(Q> ze9+6wY<@*+op~!$V7-L9(fVa~^~R+N>m;&=r(h0+fzl1cT&azH^2J*Bmr@&vlc|t( zb?r?*;Z$|uozK_uqqgNd$IAkp@OJGQ$0;dc;aIs58?&t9MvX%Wt_Vr zq^I+CsN-?&dDAdvy`nbGtr-RZK`YMfPtR_lXL z$DPsLCaabbOOSDix#>3;@C=UqE!o{^#)#$Dijc|BqDtOiNu`s>6WwBD(z6#@Oq&ag zZg(F0G~vMQQ2IbM;@-@Z(CmJzBl#iHx5}?#%195T$^g1c+QR#$*M0+yl=etBr{_9 z62DqVJ^ED6*2>Q~_oYOhdYS>7OF0SQfX|vB0YA~%f1;XDh>9pP?|!pn{@Y}RzBdq6da0@&*2zDU@~ zQam_@s-WY9O*7W`Mev75BMe__v+szMX|fcAb@Ltjem2srv!hEGAJ&%NC_!z436Zob zov{{b5UfPdS+7V3^BB_zsT-Isgv55DJDh#u)KM{mmu&LDM<-{3K+X!K~) z!Pm`HV2%bd7Z7)v8ij$dijJ`B!_ux^XZ_cV%Z80<7_@a*wJ{ES?D;P;%up2JP%zhnbnJ5?qZ~RJ*iS_FIsN~ zTt-+GB`92j@`W zVX}O_0m*xLymn>3C#!9yF4DZ=q-?cbH1={-XLLqau=mmxe$<1^aGj3?G4mInQmk?s zaj4{7#F4dF8mLKix0s{C)xzuJLb=QXS7Ba#-h1H_vUAUxk9NERiDn1MYTa7d3F--2 z{ODqZEJHW&!)KIfAo*4eVJBtu35XNtT+BMFQLF7~ymZ3x*n*3xkM{R1U2t7JEYurE zH#jV8?td0}#wKfnc%vcalrDvj@;+@I5@>ivk0a4lfBzc7pt@RZ
      1W$!CAP~y{H z-#htBwj;Ps`>Qjk-E%mW3-*(+rGdOgUsPbe7;AB7v~$nVKvm|UUNT(1R!zn$DM19J z2r613HGgE}_{SC|eS_~!*PF#wJ6=sU1VRRwDUK~6ho~|UsLg&WMKhI%1taU0Pp+to*{O(=j)ugT-$WNS6 zFy_?gY;H>cgoW7MG%XPc#T6HMpX#%lb?(t0yvI>8lyc&8NdN1C{1)zWpH9k}L7cuT zf+N6X_WJ~ANM)UB_e8h&g+aj|0zHud%HwUrUd!1Hl|_V2+ou8Lk%MN~)`H!He zzXeDA{{ElO6S_B)c$Xab7<4v+L;pH1C-FL?9}RRfqJeImlLqSJhi|<$gV?bj$oGYS z2^Uwuhgz)uHtt63zM`7=@EsHGL5<*EcBHUuYdHyFlAy@B~xKvuA)pX2l@Ohv#cmnK>@>q z&usMmrVm3SinSFJKXpPHtT%p??lfUnXGOTCuIei{l8Xze42gf!1df02{G<8(Ruror zSn6cbHca&2zd&cWzJ>H0+DS~e_`9k={#`rR=4ye>cGx#M;i6bShkvMwn13iS|1_>3 zs~?bR5i%lt0r7W@_BREkxcb6)&;9c6D*WaG@wY7eF=YSd!f!78){cLm-rrpK&4s_s zfPTxuZ&~=Sm4)1YUP^`frmQjTs;J*TPfHts2_9Xn*$E}0?19o*SA9-=!a1i)n#vgAwyX()sDe<9Zt>cR*Y zRjEN#=>OegA*HgIoh@KBp?q!TS18fe8@)3JEDj2afc&ZO!yf5bO87f~E_l*G+Aue; z#_1nq{t=J;ccMm|eAw4-`H)Fu^pDNF5?(5A8j4Jugkv7X{Hbh>a)Yn%M|S8X%mUTH zOY0f>A2h=MRPbJkO$&+hEI<_vB(tMhAQAExD*se=(ZDA7H~;>Sk>C9L-&6j;Xa0j; zz7(j6SG|R2X+F2%F8}P5aWqDAp!U*;{9W_#CMdgERL!OKA7YsiNX{G*xP| zKbrb!vvAn?pU=F$L<2oXQu(O5`(JaZI`{hyNhUOq!9y)BbHAC8-|Ni(OV*hSI+6I` zo#}yqjxJT!1>y|EoCnr={>fPEU@&7FCTK%lF(Av5W1;tkIQ0h|YT`Gqh4jtZf>F-p z#7L94#o4l6-?Q(%k2ct0BR}9osOl%-b8EKB*7wIW>^XM@c{9Kcm!{m^o8TV--_W<9 z`~RH_>gZnEqHw8gan6SZ6O&2@8<*(>i*j?EyClkq=jMIW=e?D(=BURL21DXaPi^{+ z?J*8Db={p-K@K@)M(p+VvR|S^LguGmY>`f^(m;ovwJ1~6Kc6aLDWr785P>{9(^$m8 zSv$zuh7m;ykX@UlU@l`V(C_{Kdmi}xuR*6Y06LxV^C4x+;5xQ-)bU2to2oPr$$HzZD35G*HfU_3wlvl=BP2{-ij^o6UJ)DIaRM`=Z`G_kc*l9QDxBiZP6V#7 zcZH{qJ)#fn#>o&g8Y!h@b_YDe9D6ufv(Vak)vcmOunS-8QjsSh;4LP~(scbw2Vd`8 zkG)E?LENSF-OInkdgEKo5R#l#qpn+zD-Kp;%EeGhL=W6nGolpLETzp+IBh|M-i|Za zPc^OE(TaPoe5sVbUHitifik}+_tGIRnOk)Bcnww}fUfYVx2%o9d>h;^SC2JS@Z~|+ zXN@e7DmJx{Zz63hmWBRli4iOBm69qND2x=7>4>^Y>>%AED$hXP2CC-z#!;=5@Q{=d z&myZC(V9ER(stQW znZfSMx2e8!obRqT@s-5eQi{m}vn%9d@zziXSuz-@<+!1D%55zApvh=2a&$VznY9G6 zzJAv@K4(L!0%Jh6Oi#Txhi82=K9uqtYEhMO$}i^WMH4w0uQCw! zqTU?lgs;1KK-&=6`Gu=OKbJs%7E6Rr70fsZI@0KeTdZUcrGaLO5U0EZqJemuFF0!- zxpkYKN})=-SCca@vQ-MCM5f!nS~q&xiFe=3oUdOWpcs7-Lxnej0H^=$b9lstJk}Lr zSv#DKn?|bf*a}od8noQ#IWLgY@gr*!lz3$>J3yulO%y}5KwjG_H2zdnow8lKGceKJ zz+>qWuj5GZE`Pu>^SWK9;g*NO_+m}5OT57C0_69Jr-z~xrvQljlo%=v{uDA%eFMj^ z-o_rKCX%nX*Af0GRzV`KnB`~DckNlRD`W4jv#3POkQGU$zM6z2O6Xp<5&u)FRInjf zuhRY0Qy!(vX>Xt8dwjYA);u7NYCh2jk+;Et)gz-!7D^ZI4LfP&?L1%KtgM=@^oOR{7MXDkS-ER5&k$f_R)5J3tIcgC4Gq6kIjc>+Xoi|;|y=Z)F@%nJQ+8K}7(eyMY(tXe8n7goyZ~|;1 zc6)rkDp5T+LagxWe=4Gu}tQ*T05UlK^uU>;!ksVRQu=&}Gf?FCl6H|va3cf$Tvxxgo2=7?w) zQ*JY+{YdY|v~|KH8R(dA-@xR7nwR5%n$wSB$jLh7n?iU5H3Sg~CQ1Wqjpw@#HK}aJ z23>*Xw1==L+|lF&pVB^Ylga2%Z8~8Q0W7GFQm#gG*DpUxdg}CX`c-L9Uvc1kV@0Vm z^9B^vwY2^L{l($Eks7rxrgoznz9qKhuDb38#Tl^^C6-!I;}ZmAKbaG&&iRdCX_n#Y zsSvkPKBB{WH7Tek!w)<+NdhEWmuv=L0BiMIFSQ{e4%xo}IyogbBG4#LE5|WK?V@w?{JILg z@o;iDNNhe1gzD*wM&q7QaKqD>S6mMr`X#6J z%{y@#54P0`p2=@-@Xsw;QZ7=G;ZE)>uo1`!$w0eVgK&|-&9Tfx{+AZ(i`H%tTE}KX zudf9&3I$(!_Un)vBc+^Q<O5de9;2C`_;Qy<70O&fROMUK;2WAm@MdosvpYxB~nr@luDulOHE- z6^DmgonN)+muVMyrr&fP&E=O5|KWHiNlGW*Pv-byO}31CNbaVOt1v|dJrAof??B_s z*ok7`DD*=EqhshdFZx(kMO$OMt0Cirou2ZplN)0ThJx~oXO`3%^f5rtEgX36T_6k6 zb0ZJrStTQ8-}YWk)s?u(@VVNkGrYlu1y=mW^6zK|yh=GJr?LUw-Sk_suCT2T4DaE2;}MhM+RRGhoda+-(fqGGQD_7EYHR7P#}Z zx>Ww)vZc1$f@$ItP!%)X8#<|q?S`k2H*nmurSQS_lcMhe*=JXF#dY-__X|1)q`G|h z@lt59rU*pv9w9FE03JJQrqMr6nG#N*|^ zsX)UktSW$%I*|&Em1+KZoFy|s?^NEkazKO8mCCIYX99*&t*H7+CRqtxd@(w!9kx(^ z)R^TGLym^sszr?dpnQi4S5i4KyR`EgS%zg$08+A|A6K8)OR2B&*;P-n1{$dwHh|y@ zH1P14<*FRmICqCNG<a+gdD_O3B!SipR5SccjF`|OHX$um zRbcpIFar)P^!QPi$PCWV#Gad}I9ii~|wkZs*0g#$Ml z?xJQtyC!92P#a1z9C~1oYW3FYxuF2a^wsXU;Z2SxVy1Ge zZNGS3JOG=*;7l>}ur?J0fyu%EO9S!qjhGD-yO}Yr z57+wbxVlTm#&Jo=&Ye4cyuoqq{5rRP`l`b>^VuH;J)#LSNtGY0DvJx2C&rwd*BP-EFWcFT^Da5nT zP@%!KdOjeHdlrJbBQs$|}xkaUcu54KMZ43kB^S25j>s&XAk*w0MuyxA$ z^u1{_WZvqjtEItOv$N4cmj*7Y@lJm}sVz{^C)aXae|tiwagk`t-0Q&>m#d>6nIes^ zmQHDSG3D+s4|`<{MWDazlX)++%;m-?Y%vDj{3%(lSh%_q86ah1lo0)9p!}hb@4QH+ z=u3fsqekbQcbTeNu=%4g>Y|=MdgavI%&mUeJ?xq;EO4%M6hlS8-JnD%_BUvI3@66d zq49u+C+$vw!75H%Xi9*3DfeiVQDltPR^_VKUu! zN)N}h{Cw7vNH)GYgf8Nv^ozK()(kuN1w#8geeK{vySMJ=*zfZvb%iq4EFl%B4VhV^ zG0j<5Or)BPzpKl+3t|tWj(=_Vxa49it-W|f#z!R-Q+>C{jWSMENcbr z6!3h)icq@DWj>E-g%Yp4Zcnlm|420W2IDL3H(v->^b@VCjXy?S?^n~W;X44ioFVr> zb*bOLxcfbHgetsE?(2F(WbT`KyB8lTWv%_HRFEOvjNPFAnx(Jhfdl_janNAAkpy1exILu+#(`^Q?Bw+*w!Y`GE>%JFn+ec_?|Y za}PD;g8erC;Dag&whXR*tRemtM~Ey~QGyB7M1c0!Q#aqdil`bAb!YzGxi->h2I#Zz zfU49+G_%e@UKta0dQ=h-Pdlus!xIbPO8PouXm4-ziZK=Eosz_s$oEtUq#x-*(R@}iM`*<%5-`2pPm?mV;K201vnMFVXhs8N>q zE&?P1zI`6RK@$)PU*%lF(i}{285RpTYBtMgAWrgoz#7;dbj}6|ldGh%pw(jV@O!wlOsU{x_dM1G^G$-juK^?r-x16O&dk5ZXD8d-gDhQuSu))K_ zcEA4^j~+&(x}Mrg(H(otsNOrtUhIchmm)p!<-9{=$nXuY8r?-R6T_NE3Ui?MS4YL4 zboB?Oe)xXv>bJS84CmfStTOFjz|>A47h$8gb8-F}mFcIV)b)-&50Si6dYf$?UrC=* zx?U{w^|2DvS(Kz>hNpQ?A*2rC&1${N`!|z!_Q_l*EKe#PMbL^j!6hOE>prgt3I$8q z23)X(NXZGXT(M{A{606GMCbw1`^L9HzYI?&AlGaKhO+9)gU@mrR>obG{+udNeG=8j z4>}Xa0Jnu@;}9+EY((B>o$LL(>N2C1}bBv^}UJVL+EEM48Q&IMdukHMjW zO!!-tBS|yvY-6kMb?qZ&rH(%eTzdZc+qvCy9^>T+{8iH_h4SUVaO~91@zg9=RBWu+ zo7lK9s<|K&A;?hkx&uExb3T?K$-aoWqNm8%KS27&h(}53Vhv&k#Msp2XA|U_NY#Sr5XYThpbJY#MPg zVbYZri@c}$L^2U_Mq6@}f!kNVFEx1CUIlUn_l2i(QCmiL4OLACG;FGpP9Bd|qD&!) z9zX5Qco?kil$%pgo~EB>Kdkh$br$CA-tJYa8Vq>hZX5O;UfI_UVF@&%RKh@(L{F>1 z%9b4Ghnx0a(%jBR{zznvY|yj8oWIhm!@p*u+=4l{#SjBoH+fA1U9UjB=!e)t!ZZZp zwVl}+91~+^*AnXoQ^b@~Ek5SUiBtE#*MFk)+t4GLW7vSqR2(H_8@5;naJYMMTXuUU z@BTom(#to8fsqGHC_80oCm$nRX;k?wHK%~ndJ}QRBNH{A)(4t|2Y6~Ykg$u&#Efso zSP#1>B=4!_o$6Js8M#>NO1^Xy_Cz)5Ri7dvgE|bs)hf8Z9hmanYKAbss5`5_`fKI# zirN0@#*z&E&G8(_X@;j<7!zX^W zJ8>$pzYy0~j3;3~Anb1Sfz#sgP2+UFujb_{@s-fa-~G`!o21fDJD&y!il@r_ZKxvk zgD1oT^setbZ+qeGq30A(>{@581LUHuN!+5IV8-*DuW2<`t}}OIifZn7H`U|SC_;?< zOhi#nobbt6scl3A<*mTZmKjVqikc_>jLb_qC3aQwy~n2~jWsxjCKMA{4Hwe;3hAig z6&mi_yE7(i5&CG3z2^4y?`KAihmb@9m4KYzdqEdknrfv=l2HX0k?v=%7*uLcX4EVT zq$Gr;n4t|$8>nQcyvxc2EGq?4^(D#MIvc0I01a~lZtn`UiLeM{&#sJL`+5U^PS%P` zx}kkIb?@w27BC=xBpc&I+htzE1b(W43zpM`@zI;5&XjPT*h|*dR&1J{{1;_|kF#Cv zIP*BjAH$}=AIJ(0eLNs}5l1##aZCyP5`Kty?cUe)r!;2b(M z69Akux!_|imA;SAmx)2s*Tp7_B_FN4wrf0lU2w*f28tZG)G?*a|Jblcp!BgHsmOUhO&t7@BhidI_3+lsd-%o6)hj8*$YSwRpR0SIA;zL*QB zwUoYA0e0>wM}j9Y(%?;#Q=T04kg<2Y0AZAjRzW|Yfw+K#n~aM;t@CrUuWBxCp>pz; z^D-k=)Xru8Csu%zbkBs5qs_s4%b3H{<^ncJP3#A!OCW3g=v{^4FEmiAPVy&s&AnZ9 z{RlCXBl-I_>Q_0{aOpPi%7t_k4V0@|uxI)2otx=GPv+4;K#pDYO#nQ_j>uCRhXD5- zkff4(+E=s*ihJfxP6-QztlP)XKzfTP!2I^w6Ee4tMUzq-c4|?;jQ#a%`23KXEDdBQ z2|qMa^h1yZl7XzZXuwQ0IS5G`4%{$0INdS0>#%;`=-}K_peXDaj%M`yPtM%-t9T0gT8{WtJ#01j=-zW*q$TSpxUy0J#B|Y(8HS!vBAPj`~y?E z3)h)qSza7R`@$~!`onnxMey1QF7lrFE4<#ZEORo#(vf{b5o9nRsorEMoO_$m1h~ca zBr)=VTZOvKreyZ3lKILDGdCB{+3?>7%U)~uyI82Q=;d_X1!Gg|<}jOyG@_4b(_b}? z7*Sf(A8=2kydVug?(D$L_ed19hN)>v)t(_Yv;f3aQ+nw`?;kQ zax>8m&#p&_N6&orR;dp5svNGD$t1qjat`85t4;}wseC1T6z)AQs1iZB2UygkV7>5N zp(*$b=?)DvH{3A>Z&F3u`D$F4^nHG1R|Kz=aN*$4)3$&#rl8=Dq3p16ILieb`t9CX zx8`Pn*Z={i@+|uW#;%YSiQ~p!KY8?CMI}?YEMc8sAk8o9^m1)(gqkSUh|{tQ$fn=$ zwcOC)u1h0E)J30k)D`r(ol!Vy2#&LXk2|+Qj=`9H9h%cmH`We7+vRUpSDS6#g_hsQ z|CsRV`{ZNmxjep2=Qha92MkUhOh@fUGsI&>Tlw8918ihe;_J+z9~cLM3Ts&RlIl9-w?)+jj;8*wU$Yvn04GX>tw-am2p*JZX;i)X%oh8ypimvUvTV@pycy|M z7;FV390&IRVum&y=z_BLx1;bl&OL3lsf;$qt)3@%XsaUd^^UnH!8PL6US}7^?6fHeu9;QScOnHo;2U3#@ zip1ZGaq)ME?#-KiAgspvLYix*lb-K1WqYua&nrlSxzLZtD&XVD{j}Sfg)G4upGT5! z-CHwF)7pZPdyP)Ya$g>EgN8PD7FZ_@8dMr<(`a=79Opk1!=F4;kHnYqjo0P>Ep^+^ZwP+OR&1lv@iy8M*M7U0AKdO?rSzJk9 z9`f+rQrC9ZRa20A%lq4M*Z7wu)?$bk5M*RuGjwksFu-QtHSdGsJmBP4jlA$tARLWy zoGD`W;h9o}TG5@K6B0j4O?|P(pQdVZ1)v5Z5)y%^wfqeJa&6vR`4bbV;Km*|8&?H<+rZCHr1`Xb=IH-P@GnP@DO??tyZf3CErs0 zkkEsG*AjH(wQbm@#MZAl!f?+FtjX|+M2#oSd3yJ!4H^Uh0X zqBv$_)Puwp$p2-iLaSdU(4uI%xFO_SR-B$dYkkjo-6;VkrKn9hX_e7I(_*F&uaFCz|k-P zSR0(l4bYMB>X0{r(zS^M^(UJ_?$#gTlQX0EPs=XzZAAGWpUZ{?!+;Ln*Xm9b+g}&Q zht9S7L&A#e1DJ~?^lSvjeYJ)VPo6vo?9A%yye9juVGWBQUT}D~Ue7=Zbo}{LPRB*D zo4G;mVtmxC&IaD}kf;EinxpkBLH9?CH4nfCh~j5CN2^Seo;X>paSd0DOt1OFtx!UH z=niOU7%;hf3ufL_JMS|CXKg_mxVUD%8*jcMIP@UIaSHUoL0jq{F-e3JS-X!=)6&^7hK{hCSbknnGG!s)|Ax;ZiS4h&J8`_K`N z7QBET3`$6P|9un=U#W0dv2>8VlOWz?X?`_O5oN+*BoNl7*A*W!H8ni7h4wlCX99+F zQF00!fVk}>A%_>9;^4&dee3Ydz!$0J_|d51^P?}e7$>C>nNHOn;jYN99*f2_qf=hL+SWz=-V?o}{R#%FzOmYqG28#nq+Ax*$&K(RZ>Mj_v}YwDp@o^XWuk>-~t z%%T7sRMA`uycI&ZyVd73Vm%uhaN>#Ig+Vm~(YUaz>l?F=7)q}~?mpcopP>VC|2qH( z^jE(t@bG=^KA@M>gMl|K0C5$i(eT}rOIaU0jeM$?Zx-}cAFVc>YR^ep*^=3D=z!zy zlfqr$GnrJ0#N*-$P7m;3R*R&t=crzXK_qrqvj!vaJdQ#C9qHP@ULOZBctCZ-(|E}B zE;gWM!DhYY*|W&6FOie!dWr`CE9rru{X>*5iqg$a5sg5*ssZ)7a1nqiwkP4smHFLH z?e}X3;>M^&gVC~;%k%uMr|&xHGZEGt+cC*R2yj0W5t>Eqg;pm;D8w*pQj&9=#zPu5 zKFL0-dUErfYyNVlf7;Y3qMn1@WeG6`~qe(rHmPHo9gFB{lTA>1a6zQ`v24Nd! zgp{hKNVB@wKDlQ;1<^n5;aa2c?_nfLuEr%;2cp8fS>5PbJzn{xlv{LNnhK$JVtt=S z{?)dMiZ+|vadRXaqaq$b=4c_<6QLxtKwZ2~SmXH>QPaB0FA@6&*Yo-upOu(dGo~2? z&8sbOAD$2;bNCQEBIJ5zA`?vch1W)jbb!V9-olV`H#_NTTW-MgzQUYjha~b7hTE*( z!B8hbGbzC-NO}tet+U&ipfV=mBi3faHd^dHcX$DQI5gixU(Vz?_o=SsVo9SI>kK-| z&YBe(XA6zqhh3!eWMu8TY`D`okHH}ZR#A*yP zA=`Uaqc`@GL;u`EqS^fjMaKu~pHiGtbKQxaKRe6M@Hn->t#WVQ`QW5}F)naapM)-3 zha~{g4dgs{2&X5Xq$JfVi|mKK0EFz6Z$!J4fmwY+r9rsO!X4~o>$7L+BZ zyIl!>QUgSkxA@{aJ$R?zRYVg!1+KMzwemWaX#VjJXL@i7S)7uhaRqoM2H#Va5=36N zW72b5%?G1qiA_7D;4Ud?LI+4&=ZBnDfZ~^5?hm<5ZWcRKV`1(|4$0UaiQ#6^yID0g znS+T*RH#(aq#u~f1D~l5wIW;|CEEwgqS&h6@ffP`dwpDgKScu-NAsIK${@_03-CrA z2OfTs+Sf==9GeBdeNJp?q6*;E5_uDyTn=;6xcgtq>E0Ljy3%{xV+DE#-sI?x1m+|& zX&M)5-Xw-%my8nS?&V(^<%n%+IwKgCg4-f0>!Goc#80Y}s@6H`ShuxT25<6ptK0*G zRuZ&|~_>h_hM}-#6ck;Fa`_lh!!v(eL_SPu3R1` zhSESr5$%{8gTm1dgP%tzSI|?J+dUEf;kSDv&MI7<9ypaZpNVwc8ll9m2T5r8E#{N% z5OoZQVP3P)il;vQlqmfF!QOjDHM#$LqF7M@5orQKKtQD{Razn{^?78>N`JZ#woH^^xomuPd7g?+op5!U{ zm2deJH4hi3!a3{Kn;MK&3zk;|Po+x+n|$wQ*X>0%-g=8*uHMY>?%630lnm=FmCP)d zhgxkoB|qHj;SqXBr^Bd8r?{b2AMq-lf#qg$=(J7t{K%8MRzRv9C^plFw6b!%ISOd{ zsABAXq@+{Vn7oDG%+(iUDd(_n@+n!3`onm7!X|5f^{&`oq*^dbno5Dtk{4Ma@rtOOsHP3okt>8|c`$M+6_SKNDL)cRArlmLj z5D}X*KOEbihupcNaoOe8jpt#dqDcjlpR!U9w%|VwFk-)vv$~`dB7GNNl|+8@`d5?W|@Gm;pwWBgp(vJP1(vfb`R%3#3b6%@G;Kxt{mLMPDyjP2=J<8U9 z!Z=1Za9Tl)r6lda-jcaq^_{t|XXRhZ*pBF5H8OjMyZtEkbm=41r0&?Ef_@8yWZ>~VVsmm zsP2JZfo^cS_2$CMH)LX?UV zp?sN^xirE~&Y`hN$n+?^Jj!s-mCrhtHPq141eNEwBAPFtId_q3STn$szK-nI#8Shi})dzQgeEh(QH<_ z1p{^yJBXVZ)~6SE<_v+bP}NJTaQZBc-k7dQu0QUoiUPJ&8-%0msX zL$(qOqLE8Y$V;t;L^$aM0Ur^jqEPLZam;*0Xw1q*34!|32THoVU@B+FDa5#ZJ$iqH z%nwwHxe>fA0L4z@Mqk!-aZ|^{AU{-Un{-s3y+E6lRC@Sn+X?i`#6*0JVNbyY*M`?M*BQJ(SAHa? z6a(L9f^@z0GoMhQFulJisqx+u*$J*Ltq-eVLwxGbN#FTRtab*@>;N1orUI*?I@FQN ziNV8^$MFNp6#WtXi72J;d>?b^p;wh@aZgtx5sJ^G>9&ruG(3z3D&>^MJsYRN={$YY zT@ziaAIzVh6eWAiSBnY5`v&^H1HZai!VKKvq_&-5BOT0cUQ9H2=ah`YjA>pZtvfss ziZUmFRv*Z8bZ~K14@terX+YsmQ2>K%z)!HTc{ni+@=-Fbd_6$`^)ZAxcs-hzfvNTK zWzTp|XluO*?#rT!*{pG9Y-{|>gt%;mGbfobUA=8$^CB+pZCQuYus=CK>-!4O2bIDw z1N~Jd++x%shX9ei7gcEf77JqNbFlk5H=g^kCr|R=Wab%r`j3|(ekLQ;$c}R~PQUS` z0}zYXBB!5BPc{c9-pLbovpRncsK+5D9Zi$i?sD0l+J)vlH7-nhz@BfR)7Wx&i?@%R zXc1)H_%xr})1{D??P}c@+p^uEIv}}XU;%6o2d0tEOfRIOpv)EM`c^ggONqmvn<^Kp zm(})kIke|*#Fpw;oW}QGgYZ#-q&Flycr_IQ7Rv>M%4~JV!o2*r`rbb6 zA~4|3b`x{SBW^@bTu&G+gCyNX%6eYLLHpU(`Vy!R=*R6Bjp@>n?Pi3Yd182J?%$P%`P)%`)+BU zq(ZO3y>Pgx$k&_sym^4J-?HZ#k}PEK=5Qn&T~i!(kifEzX?$C5HMdaTXqj4&hGGeC zN_t=any!mKL|XBDs}zl4oM6@qz2=n@!GM+e``i-tavM$Dn(3-U6r;c_dcbt{({-mR zrr>Zx%ZZL&KX^G%5=5#;TYS$ClOu}x4JWK zR%1_0dA9nJ2aW2I$FS^0!aDKyubo!B?r94wE$9B84wjps24Si#m~hr~Xj$3Mbn(gf zigygfPVSnfnH}4s&u)KexIDgNWR8N^bkFHO<=_h_JZ9C3B6`VKtdRpXU%NFl*ZH~} zK?#(cFwh0$%LI%v>1s`ShtDVsqX+ou369C(*;goh%b&Wx+;%kGdgJpcnO-OhbdEL% zs+Xd&v*HSZg^6t3eKYRz`7q26CYNGNM^pH$1OLU-iHqX*_m3iP-8$lq-k;J7d{C%~ zYX(_CuD-V}$KHARHwb$E&xRuz_1iQ21aTGa7IA6P%vmGLMi{ecC`1NmBLf32B#AZw z;z0l`+zY%7!wpDq@x?m(Lg$CB=`r;YPezNjQ->eX1sqhD0a<8r4&jjvbg4L6fSgVg z{b2zk2+(>)e|5D*JySQ3zj*rbby26){#&0;9gAsr{v4Qa6-_N#o0?YrG!j2=Ekv;J z;lAf*fLonE>9^Ve-vQ2zrAiPLdUAd_X^d0FutUDx(?q`zk?h$=pyd^??yQ=NEqAM{qnK5w#RY0%=!Z z#Ws55_)~D*VdfUhoQRxygq}gq%*CWYPX^S({wSz!3uoO}Qa zQ#DT75V{q9NbK);@A(_vU-qi&@#i-;F?uzcJTIfTj6*KmQ?WxsTUp@3#i6p1gUZ z0tofMLo?SysuGC3|w9O2|lquYr{^R-;&%k)mGptLb;&^gO6C$$A?XVINdmc$F_E>CUsx!MLm-yQnrvaXew(A4vx2{JeUPir!J?8 zU+W=<-nzw8Nx5y)LPlIHcF(w;WBtF`yg9pEyfw+*XK-7m+C|}ZWzxZi5f(=!Z$1Ww zOLDGak6^wF7%_+`?ZklZqz&RUyNK~684%&2viX->Gs2p6?1bDRUqovpv1NZt?OTS% zLC*(EP(6X0e@)eyI+z!HJlU#TZW9*zWW4$yU&RxD%l?ffPbp^omD*Aw>ah(1}s1u3TByV^>zej;pR05 zhbAhEzrYl4qy*A2K0ameUh1rGwRT?g0skkvy!nx&?nx8Zfdad{O!q-Y-!FS=K-78d z|L^4F{}PFK1OY7INtXdQ5KyLF@2S3CZBGV5${WC9ep2@r-Dr%hqHVCkvTel1bt&4G z6cN&Yj?K{8Y3v-Lfx=H405cLb-&XjAcDFNr$>}yE*BNE-v<&)KbXNA?y)%68`W4uw zrKqr;PSG*1*WJ|HcPW8)`LB8%U53FKlsM;u2|~%lznGc{GwkJGDQu?TMQt8&H(Vw;oN@XL-2G4ZYYm2otFF;V78X z-`w}Q+xPaUt?y;h&Vo2$5*168D%s#H5vrfS7c_j-9yXjPJz;V-G`sM+@BLagE~wJX zLQH;^>W+w`a3a9d2;WL_$Vd-~^NE$8)P26Q4Y0^x!4vHc;TGwt>iq81Qoci6d03t|4gdFU0kd^zux5)EY3Z+f|5Bkf2vQ+)X@wUQMWwCGlF1H6uFCqHr zhvqJ4XMG-VqzKV|jzM8*VByS8%t)9QUPfn9GeRH&_rA9wT!trM~X1#O=B4_8~hT;$)oP@St{k1L^aEzN6LWOJ<~=r<&9Pb?tAVQzaTc%Tjc*xC&WcktDUY>^zudKSH;}L#gT=A;oQ-0n{_~k;UO$eK}a>9A) z1vC--wj8=;%T8n;&MC7jEDii9)XLi86!tkdWkt2x2P`~r>wxF0kEPlc^+w*R5MtnI!RvKt#!$%bGV~v#-!myrl=c?Vj zmhFUFgx`@Vq{x$s`W$xh>pqi&uHY*_;o>{q%JWKrAk@e!Wt)mLdu zR>s1z09sP9Z*d$L$M8!9Qu<=1b5Km1=0W*7tRJL2J@(!-It>L!FT?i~g+Hw4Uc-p= z0y9%eVQppP6Ak2SRueo5x#$$ATo68s9aNKzV?7uBc$OOL@n(*XS;fqRV&|+B?F?om z+J3b6EknQcCVR(ZikVaUcO)8BjJ9pJ%Wp0zXjax`f9*Sy-Y4A zptZ?1d9&8!^E(X89J2;&q-Kr%M@JgM65f7mOS_D^oPsXG;TNu({i=W3d~tK3SVIN# z6ccx^%4Br&_z;z;h&)TxMG>8%z30yvnN1+1NPgZt?_wp&hr}P))bjRxJ?p^Ii|wyU zTmAq#8Mj!tPO$xm<%xS_qckc}I3ce)CzG^-A_Y{+YM&=Uhz(NE7>__Y`e; z0N5Wr5o}I&BOuMlF+di!I6;*<*E-caG=mOwc2eh2DfJhsEoF*5FM1w{8M2-V7FWQl z!oZGD8R zH=TX$gW?q}DtrZb35k5q{u$0v4RpgsI zNM)NBYqPlWgN^^aU|F+1G_XBR{pY=oRQyH8|7ClrJ;UxupPOjp8S z)OkePuwQ?zUTbZbyVDc(?CwH)5s|N!vup9x!s4~HY+ml3)xG5hyZmt%fo^_E{A8`h zQ<1NSGTpdk(|*kXd_!>6^nsg|X{4)5M)VdR7tuPywubLl?=-40L+V~Kc==6b zOYu7 zON%ZUHT2b#+ZUM(4Yevfs$4AJ1jGwo`se2|9?|y?7=?{2>(kQAejHXgxJ4l zbkr3Rq|_56|Dy9MqygePzuN&k>GufaUvxmx=D=<`-mI4TuaO#rhghwC5YGun{il<2 zRzjk0SIKN#I<9TD5nY+7Y=Qb4ki4^^yB#_(*WYMcFW)pYX zu+80#=}qTI@e;hV&^8By-$^+o|6PB)Mev%+id}oampVdlC4lTuGl+ua8~C3qOs5Ja z!P>1XV^~4Ej~S%;bMEnWdyeIjS?rhS3A^3Sa?IOMvdKl0XJ64StL4t0bJ>q4jZr6yswFhPi;`kR2q|*=1yG10(`@fvR5ZOuDma8J}P; zydwW4nIkCF!#FMrbhaM)obGIaomZXCDq^m7K-AVtb}s_h9jd^a1&y-@P$hgHF$e@!c6iW~tSC0Iu!f54QlDjyLA8w*f<(F-XH!hGG;vF%6~j zZo53yr4wU*wRA!*d5qmnS>M7w>NlOYa>2EcYo-U)wqu7dH@I#HY0R(6O)}piH$#3d zS&%WD{_Bl)L&DU@Wn@CO9622~1nQ!3Osgp3-rfq^7Mk?_xc%#8iMCOQAT>9TZH~kM%(~1iyy+(OnS%##;~Z>tQ*;DdnXsg@i=5a@l2K2(7|FX?eI zYry?g#Dp51zjk(aU;R{c3W){Iu#Zn}kv59HrFGjYJT)*7gGQq<~=ZS(9jvsEF) z$K?6h_bG@t+DpXe3ms)V9jjWuinm|~2Y-C@}=eWnNrcB)~#g#-w;Hx-5R73TwG75g_`<5{w+JoEJn?VFE|s0(dv`un8blM+A;hA`(UpZ01KvpSB< zGjB=cmgOH5vrmjH@Z20wo-TE^d^=gMt6cP?()0AAr(Q+_mmvWAh!hWxk|5;Z;E@O? zLNiV5#BRnyy)@3(AZ_;Hc$$|pE?)Tkci$^q-??6>($O(j(pV7c+&S-5WE?9kiz8Y! zN;YVS0F|R8gI9J5mmJPZo1~vJppRSPb1^PkH7u?nez<1T+4-a{bspn#V2~dmfdrSV zt9auM2)DxA56x;O<hIa`$ zh^p+J2V-@~d6w)UJGh#suzL;BvN!iOQOV)3TBn-xB<=7*eR*{Z%IvaW$ZT(O>=(uL z=-O@_Y8dS1#I${M>~nFIU68*OG`ok%Y58~eZiHFDiw4~8dGd>{j^pe?j+`47n_~uL zE+H<6l7iI7b~kyVR|Hx2nbmD$hz85?VT8I4n!v>Gmd3Uw!fLagNAc`%>5hP_#9za>hDc#NIld!x>8{SMjUCTxhc+S0Cu-*`Mz8Adrt?i;w zcT&9!sgH0JF4fNGhugg$@#rhjJrkT>N)8t@WeOlo9kC3k^js%$*K%DCt7uxuTge(x z-<&A4%o0sp^_`k-+^}doai30V!!jpis{*SagmD9Ug(~scnZzfz$oJ8+&{f)6E_EO` z(aJhPgXfo8#{)A_f7LH48WdA9j@H%PE<&gdJqR-XX3Nr?fmwrPJw;F^H9Hq*X&A=24s`_yBl<*b$6BofAu>^COG8c#yIRlx@vq-K z;!$U!XE*y5I6Rnc^C_eKXgwVlq`dSO9s4i8tvR z^nJkQDK&|Jdt%{?ewO_3O&!~2Ch8IdZTH_IG`#0?M0gu$(|7R`wiMD z=iK`7yB9ooh!!f^Z??kyilf0-m0~1pkMrnI27RR=R{?l zPI!YtlcZf2kIjSwv*0?Yv%gkf+=;zwB5=+j^Z&Ar`p=5xvHwB?l0wBcBO{1KHoYu}ET_1Y+FZ-nQko z|Nbp&E;C9h=x?>SwjRiyQZI5ElXGl!>2_Yr$XP(tlJ1|^|NGBi-(aST_IMwwbrRLA zMN3k*O}G7z1S*xFrw{J!?H)aXViQ*41OG+4FA(%^`RDsYH1`2S8;d-$Kt|EDf!}Qz zoG2PanEHfxD2LppNa3HmyPexjL_1$eo3r1)+wx-R^4zkZoMdeY(BOAbFbjS>4RQ=y z+smcvm;9+edG_ts3xz3Udfo|qdrHw!=y{Z? zVqZIKOr$9D=fKlV34cQ~Z*56t16o zOhEN|5w&_pu8>Ayv~L;v()lS&%TW-|c4SE#M;83UOlfx1#=9j!=n(_vH3V2yQyOw zUy1Gpdi1W4H+TRQDv2&8!}Z484)H#l1A*lsQD;J?G2ENjAae zoQEk`W~X9@=yfOMF2kk756HRM>%VXP@P0BfqLMNM*Q7Z-JC2SY`cpH!lf33@|gW1XU9RZVTh52MpwJ~qrhiNU%U&e7EusnU8q)BxJp=_Ns)K)mTjdFh- zNiTV@#qibJ#>#ri7Z7!HKGrL3YHyp7?lBfHxxYC)kl&PNYFRrPXMuKlbbO#?g=49&fPXQPnkQwyCq6@2pe5GyLlNw-9N1L(CV6_G>PU=&OMGi3n5y-(Ogj#0b3| zj$yg=!G}(ofw$@RHH~lV1AZV<(U^+iav+px69bAya8|jBjud13Li+h>qnD%?9w+q+ zz3ghLoW*9&;&nkckV<;#HHiR=onnq7Q34LSNe4 zWoI{cwJ~e50%L`5OWHWhaluN68HCVo%MO9BHCWifCgOjw!-YH|{OLf-cb3xnRX3+{ zUL6G>t`0I-^^3divR<*gq4_BJ-uI0jJt%3_&ompt!Z|JFmJ0Y&n~4PJpNs?$^2yN>k%ixh(I&PbNS-;gbld( zQbjbBh1`@_ft;S~;4%Qcq0r>_xO7IZD4ji4+8SzQK0%#Sd9F+N(A_S z3=F$8$+kz)kiS0_`p<{{c@Y1Mh<~QWKWoH4i{(GN#y{KVKOw9g=}b_l zKZN3-4AhY{gwCs}eb>cPx##64X#Aa{-7?-bo=%#Lty> zWJ2rV;~k6jAsy{o{W<%w|8D)uig$SHRQ^xTrt_?+rwNnOeHXw2Z3SpT%B(rB;>~@7 zv>VDzzs7yI!h@JxHgXtcvjlN`wKzZfbc&fxL&z{b2L-J+S?ASRZx%N^(hz+A z*!Kdb>ed9pcxkZu7ljl`wvfyO1OzvkaD!V}GFAyj6RXXkPXJpim$RKWg>SstO1yEY zb@^J=?xT|g6;QsPx;cT$RE>NNQ@HpVn>l zN=10PJy6Wv@0^AQJ~J{ZOO|!x5{E>(*>@C_$hIC(xeBevu6}B8m-cku`jhwGtp6{% zkAU-wA$u$23p5Hm@TFd$GLDd-C?Ddr-|QLpaikG8Mdk7>hWcqe&eZl38e3_ItK?=r zd?AtVzWCCvdLE;JgbA_srl?E5PgZy`u&H^0pPR7wVeEXWr3h(Eo&`_w(I^>cpoC$G%f~xDn)?em249q?yhllAC7T+CMDSwr1lcw3I9*R^kW)>xze{>Yh zJRQb(-T+Jm0lpSDs48UQ62rWw&9p4!{07lA;OR8?`$gA!7dMAQOuuxEi=p=Lv_xW; z4{Whrgf^7TMQ*5?aXms~FfUq)9zH`&dIf2^fe&w}+DmtTd#|`2bfRZL(AxfkHK6lj zH74NGGS@ba7e8R~ZGIfFZo+TieKX92vp)FV+K4XJ)I)!aQ|Wy#z)@W+nP#ddJD1YF zGg55zGT{SF3PJx<_Ak0$4A`)4Px8Blh4MVv%tOkw;qMQodY=a#5c1vc)~r;G>A6!q z(z`j3dM*`QG>6eq>#+McR=Rn1$&X{y_bLE3&d9u3=}YnqRBl8ajUGc`!N zB(QvTGP-bnH(WeCY|UeBw!A6J{;>N~&Gn-V+d9G^HaL@z{~)-KUMU)5&u8;P>88WO|e1n0jVbgTh#LCfcBeLqX#)%>4(dpP>T&u0(~-~#d5ncE(F6&LtV#O7!`!GjAN zWGCEjA|rHGX))4L&^@E5sdT8+rh{dRTcx6hb7M2ebvg>-WWY$S0&xkia6WEV(M~a) zeP#B8MN?2OXa3Lq4MS0*)I}(naUonOOqe_1YgHqS>Tu9Lm9XGH9f|N;JRPj!!o5~o zwt(!ESq3rI!>^Akcew>QfwG#^ghY~gPn15K==p1+anMK!EIcCMWgY;7#%Mak{wbZuGkh;l)UVnoGeZ-x=7vk+Q0$mA~A1 zV|d({2;;>UT+h_)`S0{s+y6wq7&`Ni;Ev84^vCJhNnM@Iw4!90nP(qwYDa&0XCZ9& zly2yaa&4sz^HO6Nc9F%|vasIl^ln$P&Zv0IV{I$DCy82~l!mqBJQ8v$Kh05pFWGYI zMf#Cjkd<#c3jJ}V+3XD(>qA8X7669{SNxJ^yV~hcHMQejF-*3&p`v~M1^1#11&cyR zCj%I4dg~?%;t=F(Tt7_{AcJ?!+lc3LmfBpz4`#ReRb~@zYF{M>oNbks3Ct(KBq{zYP{Q-E)4I|*pA#(w$5%NJe-fXOr~CA^&V{X9;#pV8PZ&-hKXe3o!GnEBGB1F??se_M zjI@DZ;Db|88VeV4{WWosMsM{O9WeufWl0B`i~t>V$r}yW9F_llR8R%wC%qWahsmG= z#Mt2Gq)&{9wcYvlz|h?t>pYA29wA^ypU-#VVHwQ&Q%Wv@etmk{R+?DzbwZXbxyoXD zpT$ypGV+PtEiM&@jDGToCwj>@vaf6wx$)QpwG>l?$8t)E6yZ%70FdaKK5>SYx0z+{n~ zf>I}!ZIuCF&K8m;^AsK|2^V!Ge$)B4(0vnt|e$ZOHwgk>g3w=%7x#A4Ck ze39foW%F?(s{r@rCZJcO2|d2v3V<8lP671z7ytEVSH^(SA)2u7kWf`%AJ= zG8vVWxsJE^0aI4b!rfRZc`cuOVHgI*J1r#K*%Jd=x&P({wEpD=i>!7 zbS8xS7hMSqFiAKEFWUf15gk(cON8?!<|p(sEfudNa>ywTT&6Y5+mLTs>88h$NBSIc zdo{K})EBM0q}rSxWOY}_=3N$mA0uN{0^|HRv9@(oaz^<-J95q;|8?{!SD)QPacs+? zuam#<-e>xG(&+5;_JfzHA@?Uxr8ULksI-0yP5z)ZePZ_)of6$f`(<+H@4g(SgL!?D zT=brykl7`)?~iz`s7R9VMJlYQijxFaB&*y1MF;g=Jho8veMt$jFDPmcuJY; z`LWrj<5iOB6?d)kzeASz*WSoF=ap>n-5hUKD)VM~Fwm_qufSSi)t(vonPK87cW@!R z+_GY-uFI1l=+})`o5AlqjDMc`*A-QR-OPGgoGOzyzo`^A!C}gArEO@ad*|xy8ye!n zKm0Dy38nnJMAx9!!aJ%nlcg7Je*e%$G*RLx4Rc&f!B(Yguhuub> zOM3vD`u1!HlRH)7B(EKWcs(iCB6XI$)zN;ZjWEZa~Et9 zKHc%h;5s+mcFEt6){2${p7p7Wh+o2!2j8pe5`=dWb#nBYhFn6wIy^Z&s=Xul;K%(Z z(mE=qERLOkSkWE-xo+Zs(loA|AHFK&-B&^{dn*6G-=~^=snw=OiSJDJE{6?}1gS_2wyl5uCfBQ@OQ?e`mRc>nLm zMV}Ge3)*u6Xw2JsV~~Sr?t|ukj}o;QBXj2Vr6Ze-08|H3=ovyka%jnl(B@Mfd}<WZ{((n@*8=&(dJtAv<%CPFZfwzyAFheq?Mfh4sl4Q!7-`2Mp0Wu? zz^$5>Iol|kir>HkYP&#Lhy#6xoO#$R+{ZqX?_79P|%kDvFCjKw|jm1{f8Vv}Lh z?c8LwRyp8IwG-URmFzw`fO z3#-9q=D!r?AJJQ?f{y090y$VNL$1poZXB*c`5g9WLga^k(T%4S|3&wC_9wtB-U8w1 zyXWb#TA^|v7QY;eaRlV^#$B#mV18iT@Ri1Io8}{*NZ()C)8^IFB~|Zd?7?TxkYouU zd>3JFysKTQu02gvl;|xXx;KEY+^H|`KC9))vdU2O`fTKS06Tx;3&hlsFAZIlUGC94 zJ$+0=7Yu+-A>HQHNyX&!7l?~XssZpYkYloct8aP2_LiF-krFmu`N@C!E=1f(Gzovk zo$xIokYa<_pr|-QcxhMshG)C@6sA?=h`JqM>yX)=5P^a%k^^HO?`qi@_&tc{@Vnkc zUoR)|Vs*%r- zzZsR2;r>J`5DT3pO~3TY0#ly01^KFbqw3!lr>1%7AF^=+0%-!1hQyOH*;7zw{K*yWbiPb1lfs@Z{8L@0AfQ&Ry2rZiO=aLS%LGP zUtxBRb$GI(BbD}plPRlf6yl1WrR^^L?g?VW=5*!Ixk5RE#bC{WFxY2|>#Gf)W}l4e z+NzyhVaCLA$Usa(4C?x2*xK$a18J%T;5Nks4`w8EAj8|wlhYyH%#moPu|qK?c&9JM z1|6Eq$s#w|gP$N)HtnTeKg9^pG2eJsqNCgI<&Z7_AO5s}cmzcItp;VleiFB2#mofg zi#4kb{~dQ69=`j6PEp~g?N{nk`d%QNe|m7eLPN~+_MnDub)ZIl3*6B=zb&l{OR~-{ z|1wTn(D}1HTQ_OB`vCcidAYrkh@vs@EbAs*^}A(5_Qz!jV)=6H%hvr?0XQ8MgZTyOV2DAG|=I}oSHmAHgBAaZ<)j6z~58xQUw%smqCC-;%ZUyVD)A%`cm%N0XPA!wXA-e?kZbAT}$%ue9+T7PJeC^F9m% z&gU!7U(ddZR7D(`Khu__#5}J%@<0}RAG(o{>iNZPQHZ@!uVLZv*8X@^dD?Mkv}bn9 z*K)vI<{q_8))%JHbUaAtB8{Smi}=iCz~aN~_!ddN7^}*oPvl4nBrPf;G>YfpIycQp zB9UFvku&ayUE`$h9LN_5m_wvX4j{NETdANH2)#^|AzmSLbI;oRiK(*HI;}dR-N-EQ zEQwmN8`PuoC%|lQkzicSsz>1)BIJQhh5lSLmJp&%ul+QzMya>nC2IAVE}S9y zq*owB$d%$6Bkx-EOBttU?=O%zFFocQ^-TO(`_k#P0Au;4Etq(|{4*J3*7mbL2ak6h z8@6~UJMNX%N%MYSA33ln{yg)H$C8uW9;uviikwgCCd#K*(Z*~XemJ4LP4brAQFva--`%t_&8y4@OWwpJV3G0 zd+tliVLtJK{x%z1*(4YF7ra3SGDx6%0k@~ajj9ka~G$L)Z(QU6v;6$8mh zkt|n?oF3YxrRmw=>Hf1Uq5o5kW7q25HtwIXF7m62Qb&+zIYMr3EwYw6&O}3>L^%*&`ZC|w>PaE0cHf7_m6@93d2wJ*(<6#t8LXlBmaNNgUm zRB)64D9-(@cfX9deUe_EHw|F|pJgYax^>>CFdp#>7MA`#i+8p=JiloR@o_~_SvrM7 zX_xg+nv>W>g{(~Of1|TidwU=BC3TH^8jm8_cLhU$oYugQ+(hW?>H#~Yp2T_LGOsl- zQK{|fkAz0(oSwE=G z$#jkx96t5n-e=~~!e^ToR`}F-H(==4Pg{rqeDZ5P3*fiNB+(Tj5I-CIw0$ zmR5}Dp0k{NXMsrigyrK@e2mwT819IWTgquP==g8!y?Hd$@BcSGC5g(C>{&udlFF8K zDj`V|LJX!zwvdFun3ts}Ybc6P)*>c**2$hE*>__JS%w+Q7-n%_@9+7Y-{<{V&iDR& z@B99q``qWe{~*ordbzIWwLP!L^YMHCp=!BjD%_TrisLz+@9iO?NbWMk{3(UuY9_nLWGo+=cC)h28@~?`n1OOh@~CqC z>c;tdCN6gT&VI>6&D7V@@kX$~HnPZ6cvu}5)jZI*x$fvsx_kzb`*^Q%0QIAr-4D+y zOUoONv=A;^0!)q-a$`LthM$Nel-lAZJOrqy7Jn1;Ii^bO&$3&}BHnK4kJ|R1n;TKy z0{RAf=!}=)^doqhG5reT9o*@lp=Dp)LA0W6QX_LO$te3*d7_A!S&7t9t|p`XYI^4J z25Pq>xYzL{YcA^1*ifKH;V}p*U^RCRJt;$l6%RSZJCCc9`sy;3ei*2*nbYY)Xw!Os zOhMV{vN2o2^(UQg{ZenHx71w#=b1UPzXH@vp-bdgw+>a+q;j=X=0 z&?=YCL$@WfMQ&7g=(Y5i_Z7;ocOD$l{7$mcIr32MT&vLjwW90VH?3f_q)Cq!)IQ8Z z(%1eP-YMKcYNOt1dx7oaxt#Cr-||MC<9FzkiW)FP1;P2S`>FcOeNVvJBQw&a8L2gw z$_ZTBYPR}ssVNQIuHx=tKg$}BR|Ewd*_m;NyV%(s;$>lOxlS915smAyOm=5*L07{Z zr#7`SQo)%;c~Pn@((i8O$>G8^GhB%|z%?$yZlLwLlavf&FAy8t(Z;?7Rni%) zeFE(<9sXEpOW94;ETxH)SUCD62XWFUFGn@O`Q}{-xih1J_tI&5gUKvR&Q8YrjeNqm zHPyGlc)mY->uk=L`e`lgTV!f7Bl2^wd%?Ks%w3a@S{J8+v`>LuZVyzirz}pD1=+C` zjm*oY%`X3j>G#LfV z6X+e-R8nk>uBZIywoiI~Sz>IaT&1kX?z~@5dxKP#uAjHI0Bd}2Ol4OVq%SvM%CPllTywHxFh)7>YgBXdU05)9 z%hkYeoK$@VpBP!8%FTU297OZBik%{JEzxLtE;@~CXkV*3RsHMfM3w&T^Mdv|H3GF2nNu1wa=oFwbDl)naS# ziL;oHT|;n!Czqh|21GwHJw1k`)G;z4N7Nv$p`shvNmf9GT9Xw=-n4n#i|M*_>(OxD z>707OsZj6k5POtiIL)ssajAlUM51(_`uKcQO|0j+U?ylT}_k$~Ra!R&iUeE$YFmzE~X@ z!SfOt3V)4!`dZ zACsTi11BY6G>gbdp%@!qzN}&2r=>=U))kdC#Su5Ut|T-c4!hzNk3VC=Rf`qGj^Gby zI*@^2BxeP=wGqL(xXC`8bwZ}B~tQzdjkKr3AbufOloLm0IkalRVdTzyR3VIO?M7d z8Pvc}^y9bG2qOW^ZvxCwl!XnLgx=6M`HdBtxUvF+&%-(vY-Bqy84a2TG;|3R#g1Hn zF=GE%%ptKDPU<_F0khpIH@NN)b&knb@eE_&=j!M?rPP_8LJ! znnToRjYq)f?@?4Geaa(HurJh{?AttsY<-A(g|Sq93h$1`h^N{QmAGGj@NhJ6p%qM1 zfM7T)JllbB;+@4~(~H@fxekw^7ZAZoDRg+D4SztWvkT>x@1>*@@vF`!*uK)H53a^A&j>5O%~S~#)Fk|6w6^Tp${w5cGqbgCS@ z87LM)BoiFs>zXYglp$8=Xw^KDFHWKuaPI=`Wsm9NHDrI8z+;Xr53A-L5g4tVRi; z?Txz?622GrxjB@42I1vjm!j0Z{zkaKwyK%?#%Mm^Y+^kE2GW-fr@nj7c!iFWHriwPKRMhPE4^xKI@)5(@OarbS*t z#9HjP_8%PmDU`2u{w+eb$F8yMF>LJ+rwbY3MhQ^83RZIPDvh|LEj3yL+dwE9^|W*4 zSinsJT{n0sO`tBE{vUFxc3~iNlx2E@?F*db}6{I6b$b!Mh%z}MGSwf|VM-iM(cc_?*74uQ%(9LuWMk z3{LZWUFMG2SXHG9t?j^01c10xQKvcchQ%11bOYK2Q`0aF5nA)i=~2a6I~>G0-~NkEd@`;#)y~Z#(=`gv?+LV zBrEx_#aU|bl#QfF?D)k`&zrLbjbm0`8oKRY{k0A%Y~i1Z^WY~^@T6NSPf?$CU=bL{ zeEKD-_vxr{X_6V`gNBiJ4(_GsmslAMvkX78pLZ}{bxw%&h~BC2e^^CPw74$<T5;ShKDhs=LMPkqL`7z8U+bItbg{rF-~~ z@W-xy)?usZp_~E3rb#sh!{#0bhV8~ccK@R~*595pgyk3bM)5XQ9VoXx4=GqEX^`oj zH!Yd-5yeMcZf$UW_Nq-y=$7e4`)-Kzu z$~?>jd$}f<82FsZ`8u^x0mj(lqXF&@jZ~QesdIGd2t+WlPV3lVhF3iBz`Ul5`;L zFF@zb{JV!T|E?RIR9oNlwQ081Y;s>62U_Z8Ia%y=hBKvt&7$A?#9=|~ zm{di=FI|;+GkYPs_afPWLjQ(k`Qv76@xb3akd$#@14B?)T!H-l?aqq1(Jpq*V$KIa zy;l`MU^%;R#k8t}j$biD9bvXJ&y!o8CMp22(l{C3Wy9)t1CI6>JD}=Qo<%)2U72;N zZDI;xN@@SYY=Yq9e}5>F8|GAtpgOKaEAf9EkvJwRnu7lB41fF))A=$t#`W3VD6wp_ zOj!Ddx17@ydo`+j4m8mGA90!uJB%9XvN)$EZ|?8%Rn4x!cYF00r4;$^!OiU;;gNq} z-u#<-CI7Cj$$!W1y+`LWb))r}wGM!GcMz4gU64dcOY(B7b{v*;+O*g3-K`kg5(Jk3 zzUTM8F&aDFe$QR;2-Toa0`nL}d4`>KaR}VRfU8TgK*U;|E@P>vM@83(RFUVN-1*TI zZvI62r5oFwDvwem`G<75G)Wg50Z;QF zQc95L;*3tU;c+$*VII2jOgc#)wPlH*0K$18@RtoGa03Jus@zqo+eEDlpl!Yoc8`2# z*_=CQb*b9EJVcuPh>OU8C$gzRU87^_QTa#(TsiLh zE2c{2xx2fiJC$~|IS&|Pf1*g}y93xGvH_ru<`+GJ&FA3IEZ)Eu@ARZH*{Y&F6TV6f zYD^~43%$s^%(fcTwp-8QvI6y(0{xI-J)C4H9=1JJp76m%>>Qa8RaiGRl`gOl$xQv& z5r1K!S?a)#OUu$FC1>rtZfS#c9CEc|vXd&W`V^E=O{XHHl0^d=4JOHx9!quwyO6GE zO+wk$FV*en5lq}>QQEl++A)le@L&DdW6)rJ9yBjqw&e@ZsamStS_^@60e8e{*lz^N zU(l8+E>~+g7T;$KHeA0a*dn?W=`1y!l;1QiEC9FDKHBYGTK~X)O*2+qAQn3sJvjE} zuA`_f1`Nuc2cT7shTw;{jOXx4vySN#^hbmdRjUe0ytBTMV2a~1JyWSx#e3|BKL?Bo zu)G7~)X-cPILQdqH#~p8f-De9_rfR}>PcJ+LEk=GjWdpqmw~T+Ww3Ptdk#jD%oQ~o5Dhg7uOp6!`$?5=?Hf6~VEm@!>GgM8H~m zE5$8-hUqGC(t?4ycaWuaGG54i_gQKV~xL4_t1$y1@h z#$$R1MpPz4Q}WE35-$=DWpY{CIB%DKn98?7G@Z3sC?<@SI+~Qkbd7#(bvkxB z=!?*BAS?DIRR0}cl-)}705hY6Z2K;AI3<=3Bl{BLmVMZ|y}a+%*vUQ@TC>?E797gsGIrdk||s$=31Q$Ik6SlD*wS*OWw)-g2gjbvq9J)F#4n=4P$U<&CDi1~A!Z-y2v);cZ{-F_|FO5>3M*a1 zHD@%jf6cn=`>LKA2PWt7!P>%O%#Hu3DG$6Lry`mHRDZlq1^rrD_PveM!FSH}h##94 z%ZbKBQ3F$Ly8qF)T=`1T?wuh0$LSML3JyJn8Syi}{B_|RJD*D(fS5zhFk6YV17Ktn zvApQr3%mAK?u``7Ej+zf@0~9*PMw#~?yUJK;AwN9?gjBEu=ROgX2ilLRv=O5sx2E0 zLn>pUH04s7X_>-l%~#Se)oZU$xlglHyNO<5+nAfmZPHSl6mL}ErsiAKgkJBWtLBWl zBn_CJxka1|J03UoYyy^Ng!urVv;fc)?cZ?H%~&?{J!Vf+1)fV=7NcFMTE|azi$cy8 zVZv6kcD+p2TKK5)$>Gj(|Ik(6XZVR2s3M(MH2JwsgxQTRa|~V9=KL7Ps2iytzGZ}L z;?dI^TozyQ`QiwBQ*fPa#Hq@!eHaHYD=^?y!a9RS(+NYU!t;lw=_+( zIQ^VkYjlWys=@CAhSMi7{@FHloYi&+F3pW zk#X;hEnO};_W-3M#>^hr`Y1K#3pdzo9=o_htC_aosANqB=69fbFz`$k`Y95jAwAjz z1MkQ1eQ5P6ut9kH-c26lX$kpNTRyM(`?YAd;%d>0nckq@U7H2EfdTv}4$4i-MLN5c z;x&%!0VH2Kt1;(8KDQu7M;7UYgWFNw6r_+UAOOwXXz(*PY|?VWu!3o zGC|;sgak3ql@`Kq$^^VA{Q%~CLjCq6X$KZw7VX0SnP zsQe$Rh2$LDI_5a3o756J#M|05L>-wJcl9QUnm%fYwJYUIjP80ix*$)+6e@P33>igh_ z>8$Tvs|KDZga>^ra}z*yA9uo)%Il3cA_4;5M--=i^J>x45xZCq6UVDs7!QsZD0NGp zX~_N+H+V85INm@L#^z6V262=73i!#l@QEC#!ndWCPmn6rG_Igxr8_j^v5B(%A%qY; zx@sNeIfpx56&nFu6ckmKizqVbhZUeMQmUu{;teU;D!$uw(HXTB&y)kM?`?~dw}%z~ zI)nUpM#c}5%-9WPr62Q4+FtOlEAzX$Y6Eb_bRP`6zv=YygS<<}Tq+*kZu69d9c+cc z&YPLBWW%uT7^MpYk{_W-^1?Cfk;{7eI*gRu2!;dWE&Nv~b%gmvfUu1?hQUw9Ql&qR z{}FTPLB~=m!D?7ldpA&{lqN35&ulsQldrrYw1b99(}CWPRkVo*2u;f@dOX$U*H$BO zR%Ea2Xu_^LFy0L$f4{e2s?ym0tLDSrT6(t|1ltz4Z&$~C zy?KAPC(6L086qJ;Vcb*@S>fB9a15mjIFJP~YA6nBkZZ@o;j?|LBl|%v*q}_fGfF9S z2!4Hi*W@2GPpVYsQxGKtkvL%mq7Loef<0ip$XlK87Ux7?y$yY$^WOhrc;M0~z2M|8 zm2opfPL!pcVRmn;Mq#C}!`h0})=4ex{jZj5ifs3+umb9l3XWe@W>kZ8KDSDZpYOmKaE0ZloX? ziFFe6%e`}k0Vp;nf#jT733v45z39E@cI`fv$~&mDP`x#NB1#1gOzYJE=ce;b%XL29 zfgNFrmhZs0s8ua0c3(yO>(A?%pTxx%a+(H^>Lb!qya`mvIbuEyFjUbxlqyDU&DlK6 zu^#u#%Br7qwmX!7bRNIEZphc#Z7u>ieuskm_CFVd`G62y_|ldi$&|@1>Rf>O@^chW zi**45RFdf+#B!1yS8w^JH_n4zKIccU`t+o_!oR_z_PRBr^#ZWz)Sm1Do@XD_vCz1 zK58db~~OZ8n#3#kpD)HC8SyfiQD4-nY9LuR`soDMc@kC|(EJ{@k7&$|%3 z(4L~t=H?qmejVD!0{HLIZ1qe*MgmrNkPeS&f$zCEnX2go*|)}1!iE)jKO7PLro+Er zAie6k3P?oukmCe`s$NaGRZF@UMra=HPhqWi)|{w0L`*HT6GNkrZjJIknry#VAV@3B zeLdjx*u@B4m(^sYsWSU*IXs>?q%4`IDRyt#{(joJJQ7w?V;q(61pPD3XSbIv4VVO= zS0S88W;0yOJ2nR5uaj7S3p2GA$(j$TA=|3Rz*ARtxBZeUQB=DjwI(8XEiYrQL=ZOo z|I5GnUkmv0DHDw!*$B_hS6vkH_(0qq2y;{MdcD508RyMvxUK>99Av7h)$avwVv2Fm{?A%LibNZ@> zx-aAL2ERkoL8RYg6ELo?){%@;vTN;J=OhI_CCAy zog|IL^@a!-8AX-BEnS?1s4}Rf=t-`}cUN8T5rUDf8u^ey7~C%>dkmP*V2q2kt22| z8s2l{oq_#kRgX9U`&a2zIM9AJs9wHK5)Cmq50X(tQ!=iKk|lwV-;G&3^}4Ss&z z;73;0%PF7RAB;bk#+UdH$;s7XownU0ND9>BhKmTA5Y?3C_2b->N3kCsS{k?aLxqi} z4dMdx9#>{$k9G>^3|gd$5MGu+7d~?F(QlGkgEmBvT3${5oYB7iif*iwcYHNTN2Y&S z+(xFIUqNn=^yz%4$>!GP^kLNG@{@btD=Mt`-yJKm&AAo&EtGthh5T``_d)nMeRI>0 zFa@5aJj0ik)!TCE0W5L1RMPos6rgE#O)a)(O6+CSNOq;K8~d!t`-CK#M9^P;k-KYB zD4vXbH%&v@p%E$#`O-e6ar=JULZxO|a}^OD`87A>s3{oC6VcYkH%xWro!`W%GxFfB9>Sn*(hx~6JqPXD z!j0mt6z;lFdJIOX6p`Y6q^TtZaE}_x93J zS-+F}!czS5ocohw-rusc>UbE}fxhWbQ!3*%!IS!SS~(MS4s(-9K4?DXj}c>DQe^RXyy>65LWCqk{X<-iUSHqR8JwoVat52IC^l2@K$RJyXu z3X?PZl=U1qn{RT(86&=T5PRbgBh9GSJ23Ne%x?w9#2xs@3Mm!M?T=O}#x`97`E=2Q zr8b(Q6TZ|9|8z3pDyWC^k!nO)NXF*C0=&2CFfonJY!cl1)7C2BC9H})HAeX;8>e)x z8m|Jh!nMy%r!fYuj&jM@`E7?EFIj8piP|^2p9y_CnK}e};QJ_teut4u)ILDJM}j}z zICy;F7RFN%dGUjEUJ>%@zFk6B+S(j`2hhxDS60^uI^rKJ%+kb@#x1JWEgV1Gv`C6` z?vEd}Hax<8A<5=tXDU zikOyuX-ud!AzKiY-=TM4R@91#5!}JC1%K6GCEq}+i68uOQ(f+^4z1q{qNmj+K4cT^ zyS9Y&PvbIQ*d&|Gm-yhv160Fn406%c`r*di9!q6f+P~bx7P`HYh4egMdP|F4{Oy8^ zsqxLiD3VfVD+>uaIrHlN;h!s$G$dI=LLRU$T%fy7c|?krp2KK?@%3`rgmcs!n^NHT zT{V|{Xtf^{ZEG0u$s50)d+J)&CpN7`uPNUad5&08?qbVBugxd+8!uhuiI7yc<>9T&<3u*ogxqs|r&nw+%;_bFlN#39oP01X zH`n^uSlBxbYvlLWBd6}~G8bC9$mdgcmI{H97woA!K;K6~yq@q7T)^`8tdGd6uQlBm zSt_<{x>^{QxC65+4N-jAF3VB`zk?1ym6FXv9X||StKe6E%&rU_cztvhaKk^=dC-f8jR7Mg!7=;npW#6ks3xeXDNLw(z0I~?WK30xs>+s ztbRpqM|+??BPoJ{9Z47~+jbit*?}dQj{nA`G3A(Jn`yhrdKLDWba{}}aSC&Oh5y}$ z5#&>%)LkLB=r#8n>S^j?C&6WF2j<~%5Ztj6hFgQ1R&w=p78)988g!RM2izcaKCMxksFk~> z9)*>_hr1PQ9eCQ+0BcX}crrKJdNFxs9Z!|5jj*0i+FohI9ie*ESAAb(&3)=2-#Qet z_SlCdBQ5v9ATb$rD|a+IVOqpl$3uD3BY)K@{f4paQSvlps!Mwp=FU%y43xQ$oZ!0c z>cYP^XlD^uBAF%2E#&KSflUH4Ee$g=rpnU%tUz^Zyyt|CM?Jto^q*nB4J7&`=fOO< z4>ob`I#>}`&vx*K-hRr@*_pbmQ@F$P0S;U~1M?MFW^HU>Mjbm9NpqwEf+uB^Y%#3K zJ6)^SMU*U$ZM3_D)G_J0=V`L>`dTQ#_tD3s8^yiA@9j&+MW4` zoXdMu5*{A#tCtQDJal2^x?+FE`B%zbd3CxGxypMIsu11|0YD;U?Kjw~8~^}9ASI(U z4Eva^-nrl=Y}NYE&E4XDKdo1#RrHl3+q~7wuFC1Q^VMg7=feFz6IiftAn7pm@?*Ex zJs1b&q6^z6!s*c#;v2sS+rs99(3I5oAMnvUf3a-fCX{0D{wwOhzxwPyrxW}um+G(2 z{69?)}OpC6PKPctZyp6Bl=@gEZavqbZe5Px?*#eY-h8DfuX8`hw{A zZo%Qz!Yy~-^X0?E&RGKiHd?gh2V69JjA|DXW(^Ld>%HSE^}{#Y@61}>y86WW@I~RK zZ&|x419ru1{I265KZ$J;-{)L4`&z0!*QLMB_x_4dbh7G=#*+^&*8g_7Rilt|F_t_&zWZCFdW0|v|lCldd z-n)~x<=-SHkC$Z^)#wgZ>^-(-7RX|M{-Zhnm_K1=a6=}oGXFdyTwv~a{46aVuB<7Q zR>55Ui9Jrg3QF%atWH}dGrQe(Q(OZ?O=LMIrS?rd{Bcq6zWotzzHxLTC4fY! zrtLe_E>5I35i~L+8KiRH!{~jJaY!Ym7TmIACav_5+ZF9TpT0-lqv|Hw1{^A%NN6fPq5WB64YAOfI52={oV{E! zSoO`i*t0aj2v=H=ol&q>N!}z%O>1yHO)pPh>M5KzQ5tqHm>aYD`t?Se$o-Qe2q~#F zzXF9JyFDIM+1OS;4%s;Q0<&8&H+lFkXj8?X4>ejIEHm-k!my+75k;pU#&H8dug#YxRYH7OHNHyits7Q9#UDRrJv2Pj2t9bLG=9T8uBe5=B7LvUl6)Uk zihuU5wnv`MP8u-m#hHCfX(Elw-qrgi)Ms#xD=BU@9$w{dZjv)!=d^+|TweD5*<#wF z+npC5TUpcV9p&d=U=iQzOXnF(WW4r%Xxc8*WN{g{iM{f<08c%s8ZuW)-G66_#`ojh z#6jB;i%VSEwxn2kFQ8Q!`6HI1Y3hx%({!Gmno~*8uz+Xv7|MqAOWKr9k{rQl;=o#v zqHUa?BWI=y$y)aa>6=Q;!xIjkzb{Vof68KnhUeF;bhGEXhON0Bp2$DfmlYqk zzP&E$%&^J6yL}5@etV|lghpOkm+M%5Zf@dSJ6!bsQII<+u*XhmUz%V~>P=3Td%WqL z$(zs+f@zfb1x49a0-_LdHZ{Y_**{)WWaZt`I-L+lGferre!8`sHAN!z9o^$}gmn+! zJ}G&+?}j>z?P|ADr9;PzeJ3u4@W%qOBmLC^g$101x_k|w?UaGYN_}lC(?7D z>U*s#FmCqt+qdu4nwm4xY7E{(^_S%_*!%LoNbyv^()oMN)2AFxHabV8HhIlQY}U$L zD*AcUY3V-kex_Gt{66zDt-V34_QEC!zQdbZE?dzYH*zK_bCfE%yj>nab3JP>c3AQXb=8F28>OU^c?m76pM~Qr| zqh^HhS~Fw3+B2$q`(x_L>FB`e80hMeyi~bkC%z4sZ~DvgGkqO9;N|c}d5cyM;xJmY zQEe>8DfO%0OGWp8I&O8#?y{qq@c_$gD-9$|$HMF3kp!;w4)G?q2=n}y&Dh7Y?UVWK zLxq>UKENb&+`BLZo7b0NqH^nrCldF)lBuY!S8o9rFi7x~cHg0;`ZVZCD0KlWv@;3PV}XZLVAvG4uJba8YPJu8psa z*$wBd6Qiq8Bc~x=j2bm`Dt0%_a>+Okt>qXA5mkINOfUbL&6_i!`PrrOnd*HuZJ_9dC z5AXxKKMya}?SsDddG5e$!5RB5+bx_asrh}H@h$h=e*oY5v-8*B0`Pm=r|{c?We}aigA7uH z6e4zDzwP?K`jN%A#5w~l!*swI`$E`($#LcXg4TJ!+xGxgQ&KvBS|;`Br%`;sg3bBh zrKV7{_}~9|rGRU`bXqtQM3%R11)`*Y6jcPCdR&}d!x+fGbHFDbQgO^Mc@#)uN})Ub zLtBRJ@pGeak}8OSH7;z4GxnH)_}3ZGkGbVqzCV(%_9rz%>t|g+BHUrZ^gp<Va}N z{Y(NY;F;#)7GFWHB*C!}4ullo-oJ4Tu~h3i;A_5%1pWDv0|?mv&=|_Am90%K`oSI8 z>Zk2GeV|y$2SUm4Ek7Dg7ke0Lm?5JW2dwZ+R**mWk4-6Ug*rb&6COLTm*IV@@a=uT zIw3$+roD5_Uyk%oM*hc^Xys@y1A&QIAo@pbTpTd3E{e{}#k9pPcA=j9qly2%DSsO7 zJAaM#U!(ok+Wu>8|Fx6ljUdd#6Ac7^= zH@p$f%*PHydVW~UY!ur^_KhmVANWogj>*lD-oM*W4D)sB(AQXvwXGyD2R9gDywY9YoXW$2kWc9Tc(cS6UIU*^fFmJ}AEQX7Bi>8eB5} zsEOa4;169Ln%!c>xF915XnpkV0sUx#po^`9%WZ_1hqLV)QJs^%C2z(>@=c6n_!lA4c5UbgTONLd{n&Y5~pq&<4#3+&AcN$8Zos0F-32!)Td&Ur-$2t0P4cf2Ru5^ufAjQbKm|QQ~C3MQ9 z@0S&x->P*-BM>}JOocxL>N}f+)4uEONx5rS`K+NtpXHFDw`{_AHGD|FNo)^UJi*8$nhacpV?heoA z2lCb>Y0XB+%@Kw}rd#Vos81&4uPO+fPM-|G@y%O3vbvsr-#&RpIu6t5sdoRR^qJLO znBF;r#OU0&!iRSrFo!WohP~Sy5tDVN=t4bpM@NrmLQ@DKC(pqz_4r~<9j_dnQin+O zrUiDf+%iA?rLKVYRIW+Y2&SZbXOpH7k zR381g1+>xQCR3d5-grII``q=(Pwn&QlGbq!Qf%Y=Ml}t^?V>H$tErl|nD|kuD!#i( zDO&pe-b0q$E!C|O%TjNIlPpiC_qUMSj~&Z;*_X0vMZz;A z@g#Ntt;l$6*G4e?QB?KV9oVUpUFLOv`aSVK|Fu{mhfOvRw?gc|;f_~`3+lD9bX z)_?MM#D@=88}7hh={qn<@db+9);u(^0H=S-*R`T);pp_X9T*ncUjK75;ia-ZNz7ev z=4E)_lEoT`ebo0tTX)PO$|wP-t*rzmeFwJj`_E59P9{VJ`fiB+6v`jO&4DI{z6Tv^ zDByElqTtuoWEfjOAhPSvk28N}52L7i04B!01G6YXb%I8+0X%EwiPg!0AtE$4i=eH6 ze7Vd&zu<2+JIch_;nR|soS6Vo;wUx4l>lX<&hP1)a{$iN|MT;-OG(bq1mGV3(qY&( zLs|-SQ2=Bm@;UweK*s*v3n))cgKmG3`GYh0*WmnlaAdomSne~i3^;T)y&=V>$k#$Y z^89&&`sHe+f$>so{)LPP*?51hrNm~qOKjNZY39k)GtjS5Gny~zDOBu8PlY$4Xu_qP z47mur$KRL^g&NZpEpi^gc&_XLnUZvqgwBZm;ct8Q%a3-SG1HZa+JIkhEyBIQJJtHy zlIMs96Dyo(kE^8vK(cB76A;s}>0G$59>TkeArRKI&)=6DCqpjTa<;eT++%krcMoT2V?iEq>I*I#fponk-=x})jsRl zWj{DuA(pGW+Fvkr(69k2fm(3k{^RNV2?6iM>hp%IbiF7~C(Ej;p3zGK^DE6_0n-0S z5a+@GEA7`Z^Vkk-P#oauU5E>!j?JCJ;y0)eS?3BVCUSB=fzM^T_C>|~5do6bo*0$J zyWcJ`%K|0{L>>pSscoN0;EKL@qhR|V*l#m_0Pl^N5cu*a4{R^yx|{I{!WZ3*m;4t z2XhEO>CLz!IQu{J>m&in&L{z69cim(i&dSr4WB=vz+6-y!`r}tWbN3^icVh&CfU@8 zP8i)r$2RttZ@(Eo){8spnt~oTf402;@?_;#_=#$yvzd}Y_onc z^$={KPLz>Zcgj_@{19@`wL;kMQ{{cTdHaf!)HzMnBLlpo#v9~{CHy4OtNs~j(UyGI z`Mu4UlU2@Zt%@P{?kS5n-L80DCris9J3eX~OK^IY(|d|dI@I)go91g8;rxCcH)M{` zA6e6OpxV&Rqhlv?W3UJ0J8;7T7b^N4`%mAN`dXZ}vKexAH0Z}oZncp#MVrkAP~o6T zfGAJ4x2)><6?%QZ!iZn>V04A8O|{(g8&VTX^2WCl(TB^KrJok>DW4>~mN&z%x|M zz_g9{m9lu6Y44*Cx63PHMRFdVH-5vhepNQlC;aFea*SEO^h;{|ZcRu2`k3Ei?z*HH(oYMW^+8U%_qL%Q-6u6Ca1uiR|A4!J==ZmljSkp3u+J~GK=1Twf8VzWXmyp^~&1zXUZ(Sq7quKDUr z5jt4d1cIfYTB=h8TaZio?McPyN4xuZbG}b(WR!g*Bh~RYHXOivA@rh%45dL63JuvcNNA^nZ@HB8pIBQ6h=X^@w zzzY}vCVegkr#3%LXRO+F8fyX|Yt#C50$ffynebN$z%5#*@NRi8r5A$7EPVye#rfRWZWmcKFMn zUKT8J82zZDYVD)M&sG%6ar5&Tr*_5!YQ20x{o-cjfwfBB#`sC&yQ=C}D(=u% zA#xUpWS!U3zJA82m*(SyoSaYd1+eYzyO}eC3Xy;7F`5X9)1?y?-)oK3f=5}u5Hs0p^pHIaH#i$&5m@ zY~S^coji%W?=n{dlM--kcvE+*b1Uim$k(9>)3TuUB>(XoD6bWWv2jQMwwEn&epzH5V> zquDd_Xc>QJtFiQ0?Qec)TY{_ugh9Pogq_{Kk{?4Vcgfp2`mvn2T9we3*e$1!<450E zu%0BCdrolM_I>-K#*`x?qA4s-SCz^3=6{C${nz*ZuV8@TZx9Q$>8^{g2?Ic8SeStO z%^KwGs{cSRz$^yJ(oT6~3;$o|$|;fI9s;7Mxp*MFvor+AAvrEa=#_wLr0(=Rw_hMS z*tWw6_@G$$wBdhhNVQ?tA}uleQ5>_Mlzzlm(2qG?cu+b(Qh1g?l!U@h$;80B>wpRw z=pZ~qNq(MvN=)yZA?i7^<~`63)g2xE@O>oSZU%Bf`3!~}A~C{R)qvnJ> zz-?2-dKsTZs{^>ozpJ6_F$)S?XLb1nf~o(8f1qOrI{i*h6yXHi@Vb_-j1;H81|*`XHj;oX#Oiv_xq^r4^_b9U~__K3%AP zQvJ~PF_q`<=B(YR3o66pOx!-t!S{)GEp`Z&MgiUKe@{@bL({*SK>$wKCi-*iL1n6~h` z-E$q7BVUqw?L4jZ14F!7g-s{&8tQr3>=5YCXEb%?TaQ2Sy4<@-;N;+>^ zKlMSdjq`Lpin1I_(I4fAs@YCfnGoaltoE{eUl^aMs$beloRRI4%U7nuBky6Dqp@V2 zChfuF2@B55Uh&gVW}$;|nULJCe%}wI$<>hyKbR$nw8N>d~bQMXNz2Od?qq{Z!U%E@7rOM%SrZP2t+Asiy3|!8 z2@pKRi<>180&GHrVx@FVX*drjS)KD$7v1RSpK7qwIWq~9 z9>!G$)aqctkn-a2aZVx3PPXzDN%@uFxZIF=+WhPwQSSYw;bXCH+Q|CjGB4KrA~}Jb zgNYNOR!_;OwRT;fm}d_=a@WM|C0Hc=zMtA@Rs$0z;YnIgoBXysbgnW9DJg!w7=2kT z@&Sc@;|H=mG1Ip$fk`ie2%26zZNU71H`rRhXXdlpu9Uerk2H>(J+C$FY2H4*`O~>mKO%Ch4`0%` zv>O7eu>I)v!5&TILiy6#xlN^Arg4Zm?`vJF%FPj>ai(926FW@NbK?01Tim?5(t+*T`Lim}f+JB!4S z_XkPTCMIp4OijJ2wLZ!Yy~@jEy$LGf3WV*sA=zMCTMqz?0#iXl?XW)pu%*_|J@kG+ z`^Ze(k?3NYjVPi87+lKSUf$wo z=kPtK-SgA)vm14XRmt{WnIbb|jXrkwmi1hCPJQ0^I~PhsSFTc^2jQG>oGSZFNl5SQ z_n4sSM(4`@SRneKJ3trJrL|&w7{X1C-WN)xU%(HvL|VJnIU>(LwYPMC=TuaxI`PFU z^-=E%NWfF^Jb};8W$`j*sRPWU%nojDl-7b=vOC)JQg3csa~1hg)1QswaFdz&18z zB|NW-FdJAz&?XvBG;#RJ3|bB5j1;;vTy%)9Gu^Dl?p6#l8@zbQ`|OSP5lz?S6WQ)Xxwzq;YqIqki9%Mm5s>93Cxf8W5qm>%L&mFnoaM5lB(KE6|! zw5p(_B>iTKj8T-QJnzi=A9QIxuMlU6+6&3zk(`1PB=)HyL`#jI^4`|olyQT}lL>5z z$g+Bc(5JigUaA~Ma{Lty{#X_@yg#<}2aGvK;x6XM6w{WZg*=TOSCa9~#-XpHXWuUg zOUQE5qrPhIIZt2^uHK7Thad7Bdos(+kHq?=D|d?!bXtJ$QN>Ys6Qh?5N-PnzelX|S z-b5+g(t#Sj45hD1@G>>B+w&FRTEW1)3_*B@SM>Hy=(PKg#U%<{YS%^YbzQWbUj<{Opz1kcFw zx z^k8Fv;XzJ6;lz6jzizjFuWwJpaUi$l`0_7Mwf`0x>b9pOgG1n>3y3_YDGgdE4obVC zN~pZ7c12km-+ghHt5$J}oL45uNlN$xi~veJ@GI6RToTN_&MDi(rhh~J=J3wJagwx~ z+l)xq<&{=|z;fFZiFv$E+?`zN2#YrxGCiN)%(e0AK+1Pfd^>ItN$wT;2rD|Di$X9v zdUz~4z4TKl=*ffGQbCft4O{Y+Yk2A3S*>aA%g0A0toGlK%+qh)H_)8xc1jM|h8A!3 zAyqz|0=ujO!v#D7mx!%?r>HUB`4C92AY03_?@4rw!c(bvc5iB02Kd^}N6iS}^2bS+ z0Rm|=i4BuG)wi;0IE;jkiNz6yti`s?CS8FkIpx`Y30edGT|1)i2f zn|P$ma_SB_ErTN*7sT;mwzGK1;TR0}^NsTFByuJ(T&-wF6f6u7hNY9 z)0Z*E`rCgsgS4|=VJTqgMr=jg@C&}J9zd)}gkUtB5fm%fK(E~Vl zl2SlFus=d7JviA$Dza&zxl^WrKQ7+MkLog*%P78iYXcB>RIVM_xq+CtD+$^C3R!zR zf$qpz)D}06D4I{Ua4TxQY?>8x9KO#GmR=Iof(+NaRgWo(PkpV|^lJJ-#2nbU3gdNNNw zz4;_^y|Do2i!cAS4x@7>vZ6E;RdUvq`9_zLL_JlHUvk$(2yZ`s#UDYb_k^RT<^uhl z31|sWR5nSbdK*i8^sn(sx1;xc^ zr_3|5oi#=ts~BZ3RWI@KUfWri+sz+wU_s?Z{#*=0voalaqAl-`>wLEh;POgqy!pzw z@~};tVd%&S`O7d}70R&_=vVmxfgQ;dLZi~JP3 zjHI1FslVrjNNDr4Zn%~Jhyhj8ylQcj1egu5pQZIuFv9ld<2YCzjJkiA3(+Z`oKb44 zS2vt~lS047l+Fu1A5oa|^bxB@Gu7b49E9AD&H{6J>4gKE!x=HboS}ud$w*^MgV7W9W zj-KXvN7OEQ>U`@ovsEi?RkZc{jw%n2((R`KA{d*}1trsMw$<2tyNPD&v2&TasbutUIT%OkYw#nvZq}OgQ zxj$q2$n!=RW2|r&cI7qg`Tc= z!cd>Fs%cd!7u!?bbh_X{8A*q9`W-l~%aXML3LVk+NvuPaP+s&iXwAM~{Y{^RV^7I5 zn8H#?2?_bnZhTLTpXYN#+Tp=1@=;L@x|Uh?(m=p7S}F97d2sj1{?!BaFTq@4OovqO zV7B5RM~ccRky@?H9}d2YZJ&EkbII-E~g_df0ZOTAY*JmH{Y{#}jQva#io7-oW% zKD$R)fXzM`RQOg(3Q%8)CG|lr7D3bO70)agqawBHt3utFo}7<))O#kp9sh9^9LBaU z#2xuy;jMhoYNan#IMMWb`lLe3KFr>M(=AQ7ArgsZsGaEI5|ZoY96hr{lEk|f5*0~( zq{%XA*bKAornGk)SAXDsB}vaEg_EA4@`ce9i5G)>*Tm;lzZmtd5=o!D)oAmPUP=DyehP?=D`*@if@QHP@?J!?E!>Z+Tp;Tg>xq zV`+Vd@3!`jWe+nLQnoCckqqvDOie<}3?8O3E;aN1a&Nq-@=vYYNY}{T3zsN0Sfx~+ zR-0;{jhVGoEzxG0e$=2!~2fj1M>q>JM(eqGzxSPi~tBjS)F=?2hWfrB56+TMiWO%uBV8#MW8Q+;NS=c{!4cxyUbA|u5GZ9mm+m*ECh?0)XG$7yIEm*z31>gu5i(MNo3c9>Vh_ zxu!zz#4fDXQkH+U^RW$cOQ)5ti%}^uf98<;_bK37;J{JqW|Z~L{Ch^B>JeM~h_p{x2gn{*$lZJ>Z6 zpo5tpbrjwH1$uyj&-^5+oW_EeH%NdD!{pdE*v2yhg7@FJtycgsRN&}Jz4L)7eLA3L zrJo4XshzSZ^bg%Gt>I| z`YZOh_}+f?sV#7?zcYhN|3_YfIL6UztU)vv;-EXVo={zuF5TjN)J^Uex1z?T2kNy9 zjNMOh-9Rt}(BPeyY!Yp4QKr=53nhS=EJ~ppog^e3H_IlVwyqO!n7H^0G?mb7ex-B- zjdn{U7K!MwRpzGW%{`Npxkf`p#~Tr_0Txp5U6MSr5Z@$fiVU8o#h%xt7HhC5q~o>U z;x`}NjW#>7Toozj^MIRIiiav{H1Xga7m9o&bzPP?T-+cfVKP!*_c_?KCy%S%%^Eoz zZpu$It^-xnw|=*<^v+Di>&zI(ScRXq`&L$w$lbd8#+~fd9;)Qa``z6cq`vucn9epi zKLd*l(;3It^<6ekt!`x@=r^dHg*fWV@&p9Zv_alnooKlLvhKyAjeN%f6vzF^D+dHX zLqvS8d`IJR>1Sfi^sNawREfJO+VVaoExN#bou%#t;GllXuFk(WBVfP{tC?DTsq^g% zIjSRDfvYj{MkC6Ccv!aAz>}d}DG{BD*>x5Ov;-zK(v@tlJ*h|LSE$C$llB?O=BF@3 zy7n!l4v_Nei1p>nvL{SL{Y+EbhJB7$5(tXk6eL@kgDk-&8-)D*opZF5R)cKz9jjur zS76rtV!>t2_4f0<>acuR`?zLAtyr4e&C}7rXUx<=HOC_$x9M0~9SDUE^Rnwn(PSxs79LZ5o(t&x z_!G@pR*3&uU;-s4q^@zrJq8L!c4M%$UmyUc*$JFU8v%w27KXQpG$O$c0G(sl-)c&K z{mWnd^4DPaYm)q5S{X#LF!0jfx@&O105kV8RfAKCEph`bJ$Z za&_l~tp!8*Ui>8|N|o-ar5#mm;i*S=gA&{?1!{4fZ50=*mAdVV)NA?a%)k&PI-m;h z`0|by0EM&vM&+_QnFWq4`o10hRd;}pR!(DCvjtyUlIb(+;l-<+IM{7leeRjm)DsUtnuNk@rd?+G^mO38Qv)~~ z@9kEvRc{rJ&2Fqt9Zk&ok|H)HOVey5tK7h+C;nn3sDMd8%2B#{v&gM}$MdsMgjXl7 zBpfys*u;&0!EVp%ZDEXdZh9Sl^n$F>^3~lAl-$9I5qxH|s@hZUE>rI%Z5CuCFGcL8 ze7J-Cw)R7*2M+s&WAG#Z?JLo4)wd8SvD7h$4?|ZwGLJi3Fs@7Tr1qWB(1)+>(q}M{zOve;}w6C_A(U%8uuC(o1Y#o)%Rr*Xs;dy6G^RIs|Z*G$m== z=tF0F+Q@tfKtH{!m|}H)Nj7s6$9FF?w8B&Yz7Gj2Q1v=$gG8BZBRDIf$h?#qg!!at z3pPEI8puz*>H4f2|`1LeXOc9E!iEKDIYu7SiG0*z)eEpGI2mLLxO2fJ_^bODB32Dsn z9Tp_FS>i@Y+HL*2uM!>?M%Q(-M-&KkS!~;9$G1I6S+f-jZ(T2D(8rHEf$gpk&q>Y! zhW5%0;*p(mGq*nc+`|!UJ$9Wu^ANU>h}V9`c$r1CuaUoWkN&uxnxhx{i%aE-mM_Yg z*RyI@0p?IgOv`A5QkIE5ejXXCL>c~eOTW65SKH;htlpY$aLdQsv@wp3MoYUFm*!2> zY|dmcNJQP_eCOJy8=PoA(t9sgmWPUpDPaLlv4Nl`irQw`;gD7%g_nEYif*r{Y0BB~ z0oE&;yeSjx*vm^CM?nF~c$Su-c8k+Ql%wx4T;PjLGQ-r8ky+@g$8vIA;9&OvvGH9i zj99+sV(u_pN~0)S8sd#AHr|2c5(~|1oq$$9|obhjwjG?6e^)<*? zQK8df%<9gb!P|46taCiLg#$M=8PCiH^mCPet0idpsf4Nwjr0V=ynTI^jtq4@Z4L!8 zbh`yccmr}s1HVA!p&?*fhI8sU>&y=PR$PuvpUGT(mI@SnY%@Pnmm9|_MNS{> znVb98hbF0?lwWcLD-KfaaKsVi<7(pP?Q+BF6koFHpoC3`1{i^M@k@TUM%&jyEBo}- zYL-OpUk`=ip3`6Py#P4>5X69_y+LsnB2*p!Il9N0hdj!pI?Azi=4dFdl>wJP?!yKm zR5f_w;HQxd3IrXmmnxDjKv^^pJb0)v=uGaW2}7_FJDpXwd_1x!;TCjbg+tF~o^i(r zy?EYzJ^It#s~1#t?r;IhKa9#(9Klq6&i;$1K0}3v>{Qd6-cMP|^VgqzyjvWA08aG_ znc%Vp2nUI&uV^Daut9&Z#>CO%?*7~lW!uo%Lt&-YRP$2DZ`A1i7SaC8c=(s-_Rsvz zG)`2&A1;Z%t72hpV#D$mWSN@D#v2#e2p0da*ifJ^Av(fUxys9 z4Z|=JU~FEThC0eaUhp}VX=lCp=Ugl-dOeK|f3&1SwV9N&lZc9R=-)MwYf4i1hII3P zwiY{JUa3bw0mZ39g-AWqNY}?nW)5RF;Bzb8^})BQWDdz3NCvI27T8zVpra;`;p_rz zQKRrW2jVAm_Fz0K7k-rB1LfXs1&LBu7 zX-qL=Uy7FcQ)+@E74Bj`<}dn+sv&inYAS+^stKZ-YLhIttfV^*SwSSG9$>rqUte(u zy#bRTwEq5r3dxWUP5fm|Lt>T_QcUTsE?3;D_a8YuUK8QUSRO;1_4CK(wz6yGDS}Z@ zOU<{3#O|f)8sRb-kIsjL380Ad=dLC{fyGsdh347A^XHX57QC)b_|y;_ziQpj>$hiY zwZHq=D*<@?2=|Mg-_3RWUze(bVhnrE4c*H;J^O}gxEAn2{CoEe0XYm(FrcqgBmhVr z@c>FpN{!;H5HFb35@M|v(4k@>sp~I-Ssl_S#+v4`kk9NV()3%`?#-B5Mi$l{aDQ?* zYDIqF8uym0xnd)b=wJxp4h{bYzh(pVE?oOms+;>Lf|u-@Z5u zsT+`M0unC^;>0Mm($fq@=r^x2B@YHhM_tE@rnI*_#7z5cMl4eA$SFCpbTlc92k_wE zni-jm79X0aJ!jexvl3fA^XB%tNGw2j{sp=RATGy&Ujw6mfdDgydIm|k2JyhMr+vkeD_6JNg?rKF7?V9 z$2=%)z^0tBMGAwSY_aK|yTY76J7BleS+tS#X?(Yx6zOoI(Dsrau7pCEM}O*7TYwa- z6QxU*gXM)^~(OG)dNfbC? zIi;*fC!UY`O2Hb}#9fLUE_?a>)RCuCTH(I}S(VeB*_By!4Exhpb=1|JHdoCvBD<_C#04UK!2Y=Ts{dgZjKqESmmjn%wEtflj&V`3(4N^XP zGO%c?b{UU3ge0~<-SYJDGrg9kF(KEIcF3{wRXU5?e%apm{MpWoJUh7jt|i((MSoRG ze;m+MIv9BS8x2Wu1a}jl`Y8TJJ$dmGINfAFp2(R<3h3b4vrVS~Z)*>O55n0F>iQFY zG}0^9pAIMBEsuH9{sT+66RShIukZ^*0FKI8%nh#_h|V3248yXJ({Tt276V+WW+0oa z&(FZs;e?^R4`3m8`f7W2-rT}=j)BXPz*P?sI`T?2N6MABq8D12rF-d}rCwhT3iz?- znZNy1y3?U}@Gj*`tB*|?Alx%fiblTa5WYJ5^T@veDr$EciRw@MKKXRh#C;&-ATDWqlPQVyjtn`a z8ad}3#gAj#dPJE)8|-#~5R|{YL6s@LO#4oo;^DiPhZc~7 zVD!aD+JYR&yv|kc$wJ@2+S0?kCr*dEc-X_uf+RKF3Voe;B<>J3bG(&|NPXr?^;0QMenPEi5FgA2po_FOcR=D5DE zKU(b8sJ6<V<(z!+;;YBb(5*$YUA5Z92CQuz*$l?&p7lPa^XSjrU*xkuGc#0 zMS0+8=(6vGda;-I1FTrVHwa|XbZ&0Foc#l<)w9aN;0N(4lX1KOQo6P3n&3PMhIv@9aS_PI1X|t%QPW0sM^2z6nGv_+9K7Mi< z|2@h5`=-46*OJN_>iy<3!VevM#SFY~OxYW*4@l{W-NBs%wrAl-N0o<~T*`>%0SbGr z>b5=r(Vre_h3BLCSg$qHPXrciB=2r}nA7ydO=_VMj@FZK3h1e)tzooyT7eFJV* zW*pfis-HgzsB|sVbU`H_Ya?$I<_GJ^ke&IoZD0{`1`+^-Nvt_s%vFszT4!`f1+%DU z`O!B}JF(#x$kRoD^RNTH9gXRhVxOtR$b^h9>ALW>eXz>tYHkhc)cHczA#bSPT2Zd97FAY0Y$GeribaJW$*xF&>4IL;_|xWtDkHGR6xJPRX=xZ5)O3m3z9%?sM|& zDF~7aJ@?q*b?tK^wHR97#lui&ddgVB?N%VyP%$UZ^7xzEe)h% zo74`03NPBEBQB?J3!lPNx|1WIIX@n5mLOcN=-dX|`{W2A2$aJ%?BSR2)|l4CkJSLs z2scL5DF6!1b6YJ$W3CGNwPaTZE2O0*?a>4LLTPDG0z=r z;U_o0CbnGEZHTM&*y`!a1(0qS2Br~3AkLtTT>>`~U>wt__aOK?IrXE3#S=o_H+=&H zR9YiDT@1;Y$#}w7VRm#Zn%I4!cCreFs&#T(k%I-NjcY{tYiBz0(A7{gy}Q-XFxpc zIVg{wSx--tn}|G^g?7s>FCk3yGN#K&6&zQmZzX+>)fBxnO`O9gzH%Z@z;`!NrThdPv>bm@M|pgHmBTyzet=!v8^mh=_O#`M*jY&fc!Q+{>Cd!e3>t1U(=MgC{iq#YnXI+e=Ex4|h*4E*kMk5C`nXs4B^S83OenO{l z4Yc1$LrA6y_BqP_qgEf?GJgfNRL_kQ*Ev(FGz|+d?@QzJ5^sz?)sRmNg<+2Fe^ez-+87Y2^B8y|dD3d|D&1Cx<_ zj%4RuU_;9L@xLRpC{l*M2E#9di9Z+)If1bkS8cg=43rr3fNIb*SVFM? zcLUgHy+;t+0>G@==-+HKZ1@MS)kwgPgu#GLVw7(?Oyf>||5IP}}#QUm#B8@nfp7ClSqzu|LRo(?%;-U{#2= z+9t+;-hdlpqR-lW`En$*L6 z2QVewobN6Y4UQ@U`0=zIEMNvAGO&F#j!4aM$Ag~q&P$x^V#Ap^Wd5<&^%RW1A z*%Vs=TNFbMAO{5}-G>2k?ic*UN&c`sAgdPXsQc7k1&H&NmyUQ4r_cfLx-^`0KK(cm zj0xI+?Qa388ZM$^VBKA&(QsLsWrqGny@oOZ32gHV_i99 z*E7{6*Uk{n(z_fO}E1wQ?n--Z&%dl$l zt6HRGe4;Zf@S!4xIw7{|VC(nZ`)PQ^kFi!xk<^=DEfJXN-yF>MY@A7AQFz@nW+49t zAw2{R0PPc|ssV9_=f#PHsM#o#_+hmo@ZK~6F9BP94Z&n70*Amm2x4OLFVKf95~FP} zVx0w;cei0!_wgb1(VK|<9q?<0zdrSUwl};XQOeBgCZfxO>A#yHlCa;6 z`XUFxfAoO?b&OP@hw`P;aK0Hf)nL|sN^OU6&v&q8lX75Yxo4Sa@)lMp3dafPz06Vf zID~G__!|SuPuHJTI1mJs4p0GLhXfz-*4pAiqL%NXT8NdnzkOz^$>Z!LyEh`SG3pAB zM8ZzfNeW)cZRym0N_h@RZfOEFqm^M5Q_h8#WFs5P;%D4lFU4GU5}bW=mYNlWy~8=B z>esxuJI&sCLHu2VH>_Z4)=R6yXUm@KF7vtEN5P51LWVAcPQT80y13(yR1dWlU{OtS zquH3KkIt38LW)95;0qiV-6%>`NdsYXsBr7_Q%mJ#iom5+S+WR_zZ75sigv}4nPc2L z1Gn9DF1If-VJRz|;8Luj&r@G~==NNGNb~WDkH2GA!&87zrCyC!_vDN$p4{|lN?npA zf^CaiEg9m9S}aB1CO;*kY>B->_D!yvo9p=yM2s{Hsd|*_2v8&BtKaS#wwjJZDf2z% z?>%yQ9#Qx@OQb-M-sv zsxSTVSU%PmIQaoZS)gnX2?neOX+X1?K;?7M8V@4{vB6FOWr&s@3?NNKDG3CcL_xCG z;jMtZL;`?FJUMUw3v~21{|Is5wSy}ozd*Z~47#5p3?ybqC{V<^l?x~$0M-^a5DdV& zZV42<5G`+H1Pj6VrvY5R3eu4ds3QPA41Zn!um1mQ{QduA{{1me7W#*&u7eG3F~cj{ zTRz8jmDWk5giw5bD{PA?&!Q%J`M`S@fW!a3PL0wF08a6kNc=4n_^+s$M~H_R_IWP& z-(|FVXGCNQ;uyggI5FSjX}*|5KTFZ{QS=D+Eu-Z^l*clva8^7s6;tqFLVqCMny|d9q@yykcgy*#>FT^9@nArtOM@bi z1Rib@&wK;cmW1Jj5iLdPoPKqOVM=~8XMezuzBU_q5GqjBZyUsV7;Iut}qEj&+O&=Sz6`){C{>Z!(pV% zU95G^cu_Wgz4b+f!nDN<&17=1RYZ%2E*4VEXF}B7g==7Q(WXn{7rl;jCn}0; z4KNjT*@oEJyV;wUO*;i*FSTW(pKG=p9ZH@lB?Nf+J{oKi-5r(`fiP@T*Kwrwdc;?u z1hZ`4+@=RnlzGc`D>*I;pQz*BpMC`**=d?R_C5#H>v(2r=y}RjP0M?w!SkG3TYndgMQI_Tj zgcp7ez(LjyJWcf!YaU7Y6`JdCafa7rK9l#SV3FA{6^C+P}CFx>AVIJ0jL^u;Pmx?!v$L`HtiE}Su1mM9}jz4fv9?3Ev?Vj_E7C! z-A!xR-7cmRAY>sQIL!#S>4iX1g^@%6>C=h#$VJYeoH-5~=nHIrqN~tDUgq)TZHZ<2 zYYz|1%Rop9KcNvxe@B#OXpy3d#|=sLRJC)5>@gY_OcNP3W?fs>a-~i#5+L^J6o9+( zM#UVD_GzA?%mN~`iSwxE}U#dHSi)xtc!PbtLSTF`>0Kvz%gB9)=IL1yHz zQPmFGer5DjATsA(dC1vH0f(^tC%D&nOY8-CdmY-3%-G8en~J-Lt5|JxaSqB~4b{O_ zKBeP+BOYtX`NX>0ptFSg$?rnGY^++cW0qIK+^A8p}gG4qLwI^pur)NfJtnGRX%RsIh19kb2WxM6D7vkPLq&=uu- zuHo3a1Nby}$vhovv(`G!CYpL!6}qS-YacJMNe}mROPn>=s|BrPzPh2?3PaFd>ngn6l<=xo!Q&=IYqr5hI` z>Kg{@AH+y=-sO;k^J3{M#lxfsXth_FzJxF_E1H{R3e2)ZZIC{IrzG1#^WeNk8`v>3 zEz$vuz{$TgRp;5nLGakiOq+&(>dJ_c3t@8UwYht>EF3Z)y{By&IC~KzD?W`XyN3KZEoT#AG=;T z;%rqG+iNUEd%wQw^NHdkni?DrQ_=52-Bl_R&`B;JdEk_B8eDj&?c2h|0QJ+y(&~8~ z*h>!3P8sW1S~#gE-}K5lPuq1bC@rzm=h(0jf-A+ZWck@nG>B7$6uBz^PN4d&xFpdO zmY-q#>!Zg}m8=P?uOGR_b^!35%#U9O4-n^o%u=Q8FVM3swekiaJ#>96{nWLH?Qc+r z1BR*Fq(|wC0GiOmmK4_xsgA>k68K@=BSc_{EiHHmU_xsOaKP>aR0V(gk%NZ;C_R?2 z3Oh^8K-ddR`+=*oZjKqAtrp-~oj9&A$-LqQUH3e^Ol#e{q;F9fQZczx zwy)cq(_QQ@($*SG--_<;6vIHa1LiMbrDI~ezV84ACs#)yhQpEqWvY%^A-wsHZ>FLz zrv5A*iin8)=wBQTS_qIPQk3GC^6*b9Wh!DiTkE1n`OE6cO!F$wtdw~>U3o**m-1;& zUO#}(4^)CJ4qb%GJoMF}pTt9+R*!wHt}KHHy;F_)oR@QttUj+_iOz?D@ytTf(e|~R zO*U{8+UYQ)%$Z%A{Z7Y7ui16Jc}&&Z#9@h=M^KGMq_nJG_fOJBHK?-|SXZQD}z zN}o1>kxZt_Am-a;kWVU6t*AAxgN025&qy=eJ=QJpVfYyz4$=-940z(i8MK#^`R4NT z1FksszdrEa*-M5-AHmCpbwDNg`F$ z5yy1y-PKs<)w@DTmB&*g>dGmJPlhhq(=}+}k{e#vw&Vh!><9V%w~V4U7E8t)2d0LN zY*OZFhHd@(a;IZp8(+S`TBx#s)P?i}2@h9HUScliSuvTvwSIkIA9xEn4&>P?z(?yw z0^@c#B17g=ersnGY`OQq8Gq*hc0vg#Y9fLB$={oh15zi5A|R`52iqOY0`#q_e}R;~ z0%?(Z3BR>KbsClk8yFxarbPl(SI#IPt2zTAprZcX8q*pWQ+>F^+YR4O$D5uYiMUYGDc~9Eyan5z z<{}&jp7e1d-@snjK=${6{22}jeUNelZgpLK-8=| zaUF>XTn7?Lbd>=5OYrxPV(tpmCt;?)Kxux0L{@+~*ivHntF#Zp=g977?_!BE%=t4Ntfhw7l zk~cCmK&tkOdj7q7>dxc~9mqWRovK=`9=CXYhO0rZOB64fJ=tt=oKsZvpt=~EuseS0 zSMFLKLKrrK|^J+iCXoni55~EAX5s?`Mma_w{;p2FW0iFg6me z4i<*$K%h+DwjX|&NL6vy*nbDX(@<~)`vdh63WL+!r9q->I=y6Achl(Gfr2`jlP|YF zza!Lw(s6f4hkn%m+=2Z+NlsnZ1n)7VlWME?;6iZ2QP?sU_!P+1nd|>ctKQZ}#DG2$ z0VaPazrl^CTb!x6WK>;)ydLWGXikT};o+KiLHOe*ML9=c9n46?D>(|2{Z1h%DfZXd zxTYh=+66Zw1P~*Fy&OsYJK$Xcu;HISU4$PW)c~g&v^m2`ZTL>p5lMXuf@PCnSjh(t zeVxBRF^Xr4*17gL%7B952H+h|bEJc}-KB#KGI&A*cKb+~OpQ#I*&Qe7N!FOl! zBZ-Lbz767%xD{}(}K+&ZERzNh&5oz;rcN;Oq zas;XKLqjnw8~r04+t}ecjPZFxiQLi_{Wwi$yIg@IkVkjs2L6*>7R{)>t@~6B3;{t>y3gdLi!Z zmBIR2(4|)yDIlE;IOl0PVj%}i4lECl_acjsv-l~gMt}5jovGR|yok2r%e;yXjSvs_ z!qp{#E0p!Gj$cYN3Qc@{p!ZH$NU$nvbGYm{T0T0sb`D;hxNZK2hgARL^BKl5wLMM# z!$UIup^NNw@31!g^A;G-{L==E5=p~|DwfvtDKga&DTen=*MTUh#iBkiAIx|6uREqnhfwbx{xmv4DznBq%7- zQM#0fymSEt=_S&n8F~p)f>h}O0t!M@Ksu2wHPS_z)X)h*I)MZP0x6#L?lJb=@4LVI zefyq$&K={9JI)^r8JLx|*00RpoX>pbGn@XYIrso*L=TE$vtIbYFRzhmc)VwepC_29dLzq%K@sxQq%;82@ zE90gH?AdziwwLirg0agz4Uz42<0qjz0=`yvI2Pn+YUGJ1D73dq<=z$6E z`;8xn07DhIZ~Pr)KYT2ot3>U1j-tNXDVuQr$G=3101}`1R8Fe)(U&5smih1r$@n*o z-k+};go*xp3BK849iD^CA-xkKd9sNjIo$*OJA?8s|AyWsU8H^u1gM+4PXN%?0bziT zlHj@+k+%6|%`NcK395}_oW_yb1^-OVC+TdBY|d00+F|+?!J(>W+unZY&_ z+-7PMWPiRdjLA!i^K|^h7k@W%ow1FUTtb{6AgqZ8gj4%nmIv+Gn=4hkx`r9{IqmN6>27h#rS8S1-aP!X6ao=+O z4Y}8Y_PDY0Ji7le?Hu_6k+z&1JbqyQYc^N(LDi3EIS&sMmuQk&25(s_-NCJ zq=gDE^1_`5oiVbL$^PeB1x&|6)Ljp8lE$Nz-0phBnuv$h`4KGicOq0o(Qr&IAhD89 zHbFnbF}^&2igxN>Ma2j*Xv@}SbTnq(xK^l*=W%=GqjepKF(M+S2g}F`fa;34=2w`R z*|?u8v;beOJ7VSfNJHYXxt+c3jV!@eT|bewwJNkADYG)y#XXitY9sRBf`&2FPY@%; z7qW7Xl{VeBez6J>H>RgJ9wH}8_yj0Xf|zr9sT1s^z@6!u{`s2KX;grcSz7*^IjK!% zjnGEC8TLX}LffsBmwCc?!T>7xrVQ6 z8F6heqe?brj(#5hsNXoeCD7q(neoDYwz}=Y>c^g?3M(1|;{AMaiRzFnG`@X0D z%Z#52CV_8CL8SF~8ayQKH%;|I9ljsXgGV2tVh*-c?hsv@vJN%I24E&WOEUf5G3b$h%VS62i|f^NFpR!$PGPMgWbNMR zz(u;>G*5RghrrulwT9bM*OCoyR7zG(o;lifp32V(m?`&)H=tE1dx3PKgoA%>k)^3C zi_|pzd%U}`@TZcjKqtjYB)0ahO?`TSWgl!I6dSkWphN%6;ic2J#ni@d>j>%W{qIMT z(@3gLFTffgu@6&U7s8-4Y!w(d-6s4}i@s-p>&0^kTe;mP1?CebYEPd&0vJ3 zN%?NT5qw_M{_R&nLfO24+33NRuW!-jT}Pa3-DqSCO?BC+q6jXH;Kg3>3l2CC&$vR* zJ&5;puyeo+s{W=iYT2`dRL>Sbr0H#K;`l|9b!1l%b>PGu*$n(@w9^vKy_0$gUspEm zdah))#f+n%enTjoU*b?fQ1Vo`a&mnO9p-`|7V57Wy7lv$e)nLyluYfZXhHu?+U3Gv2u{8T zC@ZMXiu2e}W(!;{JE!Lk0UJhGU}r36_$zHe@1CT5s0=*Z9gByRb=-~3QhnW&5?e7N ze#-wI6%^-F#`v9fCdjUN_2+81stFN*|F4~coUFog{SY+`+X(FNjHeMS1WZYX(iF9<+B6z{e|{kI_I--F^rD^FUdEy0S}69lXZ} z#T#QxQ3MjUH8!$E<;tDSti9Ucm8a(XCZtjAua_^~>*Hr#XTnxduM@dV+|BaEwa_=7{JO5P+;8U^j%7zY@VdjO+ zrrZJ3OzseI<$dj`$0l6hwML{8QI_<01I*fX75UO%ficGZ3mSC4E@l;edo9Pyymy|{ zd3e5;QyB=oXE-pSfb8N0Y3=$Nf(-SljRfBIvlS;&pvk{I<+;w@tD;wD1QeEE*!q){ zL#`2yIzSAYQd@GSRN<_L1m_vkp>@mq^{-?K+CG-QJ^iio%-&fX<}A%ZBjxiTGV!&1 zv?P4#EYzKPX_u%Sjr9)7MG$tA7R=u6?amVe3eyien3mb-I*y#%oq3EsfGG)B=gD<>eY0l8nh$C&Q%NsI)1%IY!lyx|4$w2ULXb6%M)EL6;@p#60-9 z!~aB-@3|>s7h>9wB+$XfK1!B#53aZiYeHL2?#iC44KC~EiK@}vetf%!VdCmtaT-4m zU{c(nN|=U@P>yc7=Ww#%IpndA#q5pY)He2eI0;-uM~O9IA{=QpwnLq_J5LHY9x1~O zd8fWJ`_^`wk`&?;i1FmwaA!O$zx#*!1H4URW1Qi%V3SpxdFB(gjQhR&4lju~h}Ak? zwldY7H3`Xkt6cg=IPLp$GLHi@OG4cR?|4j$yoQ!P#++P=0G|cSVYFxAZ<=u+9A=OQ zk!@%^ADM&k6~9m?FX5P;<$o)RU~9|zP4kF_%sB@q_|dj%JOMz22EfX00(ed&Ps*Pa z7p5l=${%37gEvrc@q^)jEfQd3FY5iKDUPL{_W%={z)Mye@B_dZZchRrG>&^b_;ahtk)kqOL`vaAER`kCv^6$TAnp(7N1Oco^0c zu&@XAFuL)03NT@RAI>ndusK!U`WnEYB9Miu4Qqog8-CcC_Z9$4w|T8JuzW>tv|TaF zIFBuad2*X@ALvNO%4A6}7qn!prsx6}u~6s42?ChO3VdK!mg5%nLS0(urB9xDYliDT z_IxZE73gX`-k-l#DM`Ih41_!>%MenN7BxE5))jz>9Vt1oNTN_6E;65NOY~peXadE1 z2!4r6_tkQO*CymRgXi9Iy*o9n^ofo~+Hw)EHpsly1z`rZd7liyn^MOY_w)o769fPa z+PB?Kt1h1>FFjvHsSSQs&?T$9b$-K;A?D~(kIHnb_=Ff-oTP{aeZL%SX)f%Sy#k*P zXqYELf1Knmqsi=xI(S4c4+;P#&$jWv(wBi=3N5J%SNQ_88$Kzwvt*s$y`}zYu*ysz zqBDB~Wd|mT0^WP;6{~}4B;B`pQ|*}Kc)O>=@oaZKY&^V( z9<#h}Ol4BT`z|B82OWC0@W#DiYuGF~}!W2Rgk-3rWyo$M!;85{KBoZJIEgMZVQsx}hY zfQfJiUHMJp358%Z8!!y`o_xEYVsooa2TOVPAo0pWP?H=1XK`K2D=@F~-DAvH&JtmWLCJk}{{ag#y!4v}N`GmPUqf(~^R6KBGxdn5bBKHm#vrKx!WJV1ESA?q zMr>P_lb_$b4b)#}!o!gzP^BP3^i9;;xpQhilTkhHE4!>Al9OaDlIkLLq#ELZnp z*ugI7*4}s1V+;2=N-S{@cw!09SV+TBwCX9BFhbOnf1T!k!A-)YvFa6hy zJ`z2h_AF5dObD>{PH$4)qm~S*T^xLTbvgaxRQ^S+g7?NT?0uxIn3Ibo06JSaag1DA zjHLxf5q6vA8Rx-@hqWU3u2dJX+Dq_6@MeMq!db zU2g&2AhN<8UIPajjg7$W>##%JO@m2grZM*M*8{RgZ=@W(kjtGnPxOViGf6C#u*AsbpI}`<1oOvFM?rZ{)c{RM3!HkB%OF+gY@7CnO zg=;sOCb9Js1DVfFJ}x`ryfVwZ!l1LuNoI8Cr?KfFkE)5k0X&MH4qexGvpL7=2S7v? zSNGqpq@P4Tyq;+^>+|CcqKJUj01mlhm{7+_@3sRrxG_Fghpgk3oj2R?vRn_!m??O+ zbEVx!x>tM`ayn{hyGE>!@TO(#0b_k=)x|9L7cO;hg0J_{|d z5;%z-XduxOkpP>#D(vjZtoG5(ihDBX@@>Xh{)=Qxgw}kIAvpKXPq4!vY6M2|6`tO* z(o2V1(Cd`iiTxQxc}n%QYxmFGXsMoVU$$`yIMd7s(HKzRg@0Aaw$$hXPY_B4#VlcBN%|I_LAu?M+JLGdfzWaOCoWNxek8PI(t7gr+ zd-Wq#9ku&xo|14SlSfm_f;4Ji1gfDS<`)T0lmN#(3z53I^Ap{obXeu7)F(Nkr`GIy zS=&?cX%NOIcnqyx10gENZ>vhriJ_LnoEk`f;1I-LLWZ4H^SO)8v%}U7b8d=LJz*Kq30#D@pv)4q zJRBVWX4^ivpbOi^Rm#4VS*h~AoX+oK=5`2Ro)PTkq}zm8P&3)4Y^5M-V}4Gn{Uq_Hjm!+vh%^p-fO%i?~iQ}H3gpc zWj6e@7IGa#r>s}LAt&{RZ2z(B(}-T3=2sZCwTkli&J0>aznH-(KcNg@6rzZ3lbzHv z&Ul|aaBa}u3^6cZ>+My=&puv-@hM+{26h5V2C;U)PNce_t7g7@X~iek6c3Y*rp2)C ziHZ+!g3lf}!cU!;a)#sxdtMbVw3+>chY%Fa$7 z39S1~BQ95WlDFmwm_TqnF_(1SHslG>6$7~ln>p#gyQ158qN;7D^!MKC$$0C({=+}r z%bHC<$>1J&1$f>Y)G`g2`0?} z?cUYfDf4-usxN@6E)#9XEGR(FiDB?e$hSJZ_iZ)os2^TL;i=)60{5jZbFOo{;qw#YHskIGNhtK2RzfZIG8Mz!I*V`IFw*Cto6hYz^THgWN;^oz>PzAsvn?=t5_jyC!%@GPwL%Z$GlL_itp}Kv*qXTCXI*)yQ^8>p)`pm<`vpn>>Np|u;7-HPG9qY+B|+H}Pcmp? zzf7zTS{dEu^BrN88>LN+_^6pQ6r=_*qXHpBJu(XX3>ogwdvYahBU7$g&$D!P^L$lX zx{NNLMruuii>4Vf^V!crj3TPe1eOlyx%*0el!%D(>ZIfTN5z% z*1W->ywhZ#`(4~jqm0f)6-I9(yI-vNF}Ga4+>4A3VxM^iq~h2A+rvO##H}wh<1CipqEWO zN%%-iZ(^8)>&eBZP2=THGf&?tNRf3&o(Z`4&TH?P5b0xU4wY#OSjO6TPaFjbFPfgR zfm!ufJ^;J6{McDz-HG)w7P}MPX3yYc`n^opE~A~E>IEF(qEy@C%Jr6$fq+?1zd3*QO+?g52Qe{q;JR z68dxHzV8}Nbd9++XfIti z*KOzGv77y~aQw^O$2|E6j)X8E3-~O{8WS?Hx3;~6xggmM!F$QSESLNcgnJgEUSZu) zA?jfv5MiIxtW;e@&%4IY4MabuE%0@j07Lb3BGC%!$s2cdku0!#TUtq}YFyAdORzqm zG`Z!8*&hnVv8DF6R^X;?{$AgaVC7#KO`16Or}I1Y)#}~$W!?57_e~!cOjK+XeJUG< z3kXn|PgC9lhUn#Q8eTszqg&XSi4fUB;!XGVPi{vKRza5q`=42wtKSb7xiS;b5-C)? z0Rf_Jydi+sfV&~Ji1ukD*$iky0y?+j7q>iytB`fL9jeI|A;%%Ss>U>>cj>F$9wHm1 zjKTmRIm@gI=t>wz1qu--(>%HW?MeeWdYLzI2!W!*ieVf}LvI$CMuy1`6sy7kg8%(x zY7mm-zyHnYOsTq zuhVp74|2OQSG9jEebRQQ&n4#}l(v-r1QI_WccOB5T z+VN?F^Lzt0?%yRqB;f6hwjB6X6#g8Rt{%Xc90>I8e%G2{1tiJov2SyiUH~X@t%J&u zLn~}f_O;VU-))N>)vWqMqr@wU@61{~pBvmg7=t20<$FxuIUBsb+Bl0Ife=&y;%fvP z-u|fN5-Ch0w8*tSaDkf;mQK^yGUA!*D9(=gWG-kOR9ybOTsQwzr)UHd0h|EG+s;d3 zhH(PRhOsk<&Z|avqW#{Qes%NMfw#;|#i)XI`Zp=bOx`^0K+$Py0^|;Lh?}i-k<39d zuf`+qiV$PXtx#1%OUfUh;M^=@#K8hkG0x_2=!IvlF zh^4mQ)|}6sHjZHSeRUzU6f>8ce5dt!?Ym-%@z$ltbOXubpv+d8)}uWIH~TH)A_d#M zB<&8$E+AhW>{oRF+MWiM^}tx0aM(yD_(B+e$Q`sQhr4CPfGK;-&T*x#jb4g~@G|Tg ztYPO~MNFUn5aS@^x!H0Gna#Ol(h_iEq?e#|Ek1&QaC}Nj*TD8p@559d>$K^a(z}Eg zkV??sP$6W@vUQo{hnTO+dndMiW|8SB(rNlKwLZ<0l%WBc&2kN0*&AWDrnU7OIsYZp z6GFS-X=?ZvUcCuW#Q!(E$cWf+x(@F*ax*})s&vP`m-e-fp%9@2(J_=LL|EEHNr(UM z$v!LY#>4lnE&isN1yeZdmNT~DK)n1@9R-{>@RQr_y`sZCWcMEw0RR)2ccKa%^8>d{ zJh_LwMnK`V@UctiWI_BYaydzE(KJTwd{yuHv0l3LB&3+j$Opz<2D^qfQFPhz;%x9? zEKwf6)v+K)47wTXAenH$Y0l&Ft2^$(L`ST}!cs&re|4kJG`0#Ue`a2$)zDC+LyOgF zTK7&C5n7bf^jvZSVYBhPu)d*4Ey&6H^nBrWCc8W)`qb}Hj(0u-jmj<=qhE)0Qt6wB zP?9K2Uc05OcHB9le?WR>uA+-xsU|#4SmZmPXr{d!fADEfN7v>z z{gyvJOxz5$QML5Um@lfBuh*->nOv^mzfO{g`L6WVv1 zTl6PX`f!FgOgPuUp{jsKbSRxep8CVq%GbZd;bBX}9rY&uUTZn2q?E&|^sx{%3JRNY zcmt9U#y$q!dAh$;mu1-cDitcNT_X6bKO$g_pYTfU>yR+To*gyt-9kcG_jWb3?kabH zXMWAtYH&jrGArdY&q=@1#B=aL?r9oDAj z*b0(J3-Sdf3A(fU;n!8R zefek<=0mI=(T;F-x2KIGOOpWayoZ>v)UW%RDT=&3sgNzK_*LR7@0tt$O3jNBk|H^T z*h_G*#8ZnZiFBP!o)OCGOpWo>;m53VRy`wGac={8*UlEb=nvSqk7O9VpJ)6s%1Lqh z){(o7M%Ge)ueK7PgGOFz=Z0#O?vaVv*+&%18K+1zUe;*I+ubZ?ceF{7;`!J5^ z;YmdOa5pHiO@^S4>R61;zFCnE(>?e_iaStwsNwB>J@YtIrN8!S5#8zu(6O}FGpVx^ zQmfUjBJ>Dv7VB{UVpA0Nhtp*5-+vXg@L4DMjF_50rSRR2vfjOY*%)IZ*(;*r&*ooe zOyq|KR{e5f+Xv(fXQg}it`q0Wi076hBeuzA#jqzVxE#v;qwT}`YTlGve*KRA^W##p zJ?_4THWXwXD8Uwt4q;q|TmTXw*OqsgdxWwFpYA_tiCR8N1>NIP=y#OjKRA^EQ}lT= zEYhW!Rp;uG?zXw1l4I7I67aE2kq9A$hL{r9Fu6Wkz+SxYD;Ef}J5QoUZ1rv|tGm4_ zjfj7d|T{cVVMQ%$HyulG@FKc*mZAG};+8db)2z ziaol~F#Q>UZYPCz%DkI5@@s1J%W(dqYh^&^j;huFfAv?sMN?=Z@s&nLh=z8u!sYIT z-FW{TfQwU?cX+a=cID#z=mj%n8XDw}-Kiof)1U+Xt+=w`viXzo7X6ev3*F(tp;CEK zhe3=;4HZS6Vt}Y-4<_E6YZD@Y5>&5Qws1S#%I?>E#g?}AB`DU!@Q+R3Ax6escO~sw zk~StnCWiB|p!Y}I~N4amWw<)|hrGPEC-QrI^0&Y=0nf7t*TChhSG9T$)7O1=e{4(AP!@j~RiTWQ{&H zdyW1N2GDz^vS2G>5f*-#=rgM|9-@VG)p!DcA>#HdZ*DT8S?41UJ85>RqH@mbmJ1hL*C?Lo%o0vMefSXuKTXc%^3XX z=TkF|F*@^2kncI`tC5%5OfTr6Cslb~$c?OCqZ=)Q^d;q?8eOvW5tXY>J-c#d_MO>P7 z=kR`6)RtiMR^q8zI9tJmFE47n4DB||XI5K7v7wg16y3e8hiy&Jee1b_(SGUYHMa#3 zK5i9PXuHV|f785*MpAsiLsjJ4*jD5AyK{FllS&{P+(~V_BAefrFnQu%%b%*Ly@_XS)J}1|C)^3N%!JQS*wIC zQdz?6Y$Lbpj)dSHJ*BFCY3a)raX-_1-0H5-ZiE2|s#LdOYU5;*Gfa!BQ3gI)vy}Oh z`bfJDs&*#lf;%B3?%H9BXgtbOl)!QbRI;ZR5#4{&IGDcuO;hM?hFkgPeQS(`-dJ@E zsb7o~6v-4?XSDnPG%isF@9zRhPmCa9=^poEQ%|xW{!h+%K9Idg`%@w;9SD(CPg1C- zbf{No3pJhsr-mU5nY0NeG70@DLH2*X;D7rVnC!uOA;g=EWC`T#eg~KrwWL4=(1s{W zJw|F5wP(L=;?RQYH_h_$uuXG=1I4082|c#>w~2!PWsc19GoMbiG?i6EBE;TV+s18( zPnPT+y`3mL``K?(w5ahbbqb*1wZ)N~sKZTb;RlVX-?Gz~#CD@>-8UL^28>I0Y-SBj z=Hx~1{CwIHNo4|-8GQ%Ph}Ul(_T7-E4@A4SfoH1|LxZLkfgs+IqzK>@!$E;N`>joNn zntnEcD=vLlWc29u#9V;tP2vV{Q`ONBeL}}BfS;aiy9vv|EHswtiycMkMHeP27u^YB zP<)@pX0IdKn)Qw*|5Oud3Pn8wJY33jBz9o&lJX;Lt1~vXi{UBEA8INoE}k26zMbo5 zKn@qrg63CcnjmBuYDp-T8hQXC)2IL0<25P|bbK@p$6q$YBQ=Y7*3vsdbE@&^R6~mt< zkb6e%=r9l8xkJaw;~Yq?;pHU^f`~UvU&ApufPx4D|N671JWi`i;K9#1N)1lcd78Xy zIKMo&F%)bz{`YGrv%_1ACR}nrZm9F;YY9zV1v5H<4Bq(le?C=}i2*^$J@)xYT?PjN-_xs2SBTHj zbgX`q`Yjt6Je+Sv8Sgt_J;|(rfVqzdgtyCvfh|BUA^5khwl}M)a-jxshb&ctY~yZ@ zrldcb8_H-j8Ru+aNWd&dxWe1TB;n6krkx)VY$FK{T?po#0~OsZwFw+lJbQKQaqS<` zlk$ILU)FSd7AsMdd^)V1*fw^b7`@b7!2|iB*;oL%rI&M6T~}TXefG=~K6#_^JG4Lj zPnD3B@yICZB^O3rJR(|*e7mr=La}DlPtD20@d=&kw-Gb%vv<7HUu;0UV+l&Pi^7qN zqFA?aW8anN@_f$e-mFaO<_7Vdbbm>Mfz;@2=&WsPvwO);INlKO3y-4V7z6-8K!5d< zQZ5p+Y(yy~71sCprAwXr;}s&M;%|R>=V5Q2W*+_l4$Kz@*t=CZVbhCshAFkPV6Lsa zQ|J)c^CxW?<*x2cR<7Mxtu#6T$}|s;;C*IA9HbfYSG&X3O9qxaes@W(Ij|IFwnU9w z$~B;z4>Wsj7PDNFw{ng_WS7@%;2e#Y;lm3)jtl(DQV82Fv-CWHiyvSA8tEZ@s&H4b zoUG6My!GUo$nAW63*nn&5@l@=T*XMfY!tl|uVL7DWl(Vc8$np` z*zFsOdTNGhH-KXRW+uWPNHIeqlqK^e6M7@FI?dAN;~3Hp2@0?d={)i)Jg#D-A?0M3XDb7XGfgk&6*JH&_J{GztcJLEQ{?(qCtfAsZza*A}@-1ff0kbGdJ1CHwCt+^~C*GRR zM$>zlE|pJwFK$YfRkx3sF?h}7qkoG#O>?z#n!!S`^Scr@ zxro<=5ZxfNN*xdm_>wXeaFU|TU4b5lBvu^6jdY`bnA(hEY6!!jyq3Av3PS;o@xPd0 zCqAjc<+vDe)1xKBX`%kB*O1K~R{ry4#~ETbgf$BsYm0Zq51xn4il-pJn0$b20RaeX z?dlVm9BQoA3VCy)wyv=X)mKyVBCZ;C|%N{_$~u#-O@kq}k`Z$;~sBP!9)}Pce^Kc#AvF zmls8x5xfXcB2|^mfHiow9>3T%sBS~lB4l+ho~@9*mB;lA2mRUTr={p(3fp<&%c53w zl&9zb0Sv}pj5Oe1{&h66BV1yl`%TnBIL-tGTdm-KL>+amBpzyn8CIQ-=A^n%i_@_Z}*GMgbX5T~8vA z-N8SkK$aKDLI@A)cq^)z+ClBwYeCj&ZZzOPE{d}##l0TyA7&H(Vh#TBrA98pjTkrS z;s0?-ZZt4q;V#l29y7V_bZ}R7&}d~uRx*1UA^bnTq~I3+;;szx3O)Agk2>vzV2||G zEJTIY)8R_lr4LPRn26gT_ohZa*1-Siu0~4z82x+sWWnEDy83ZGsSgf_Z$dBu;o=UI=iMRmp1uYHYXMN4Ng5 zXsw{+y?+d z*3P463{Hm>5fToU6S@{S2#k@HZ5Ki`#}CRr$i2(-b=i_YD5aV349@2ktvm_vg5N!< zkB{pyGBxP6z1%8dv|7UKF;nOHmy-sa{_yv-L)@wRbqD~#3zGd zriepwF>_Ol^r;YaB1ac)8N%TDym`uY!?47%*Jm;?t~%KMJ9F>VH_i-o#f4{l%7otA zSLwDC8a+DtIqQiojA%h0c8__;rc68cPS(HD_xDvz@Jdxb%aNve%Zp7*kRm!-T$a}4 z(vxK9Y$VH}iI{^Swokvebp=(yBWp=pRyjO%)fs{@*qh1PeVGQOUoTCz1ya(ew_s(5 z`ahH{@IdZ)sVGU-^P=_U5v!~3j3u1|_{|5k%%@L^-#nbn3S_Jc-OzB@_Djm^E#w{X zH934`WO5Z3P(B6?bM66sZs^nxgA;|!Qv8^Hm2Igw8-JOwZ>an7;zOEgu*-xOCtU=L z0dO#!UHMnFQ+k-4E8?cQ_pa`F-LbgEJ^~lF)J!p>GL67LO`F@yEyC?L z2o>cQrTa5n?tGvb(q!Sp*&36Ki9!}YU-^{jnaNr0@f`_2ik_Z(v3*@&+LZX0^EUUs zhd*EAM1CnQ&AY05@~bMDLq6m5mHc3x{$10my*2WcwNCD=xZ1@SI{h(Z9UT-q8}yWY z5-0gOvP|xWm&%~eZyGkFETBs(e@L8Y6PSakci9T#vl4z4Z)Zcf(KzYpZ>8at1IfM@ zNnNLSBHP&xZD2>eh}cC=eVOMhs+BRXE zuEmvUnaQ>xUerV0RGKfXIq~Qy)guSS=7pR;>?32tZn_~j!I%@uko=74__%w(QoOstqY+s*s!!I)sg?a#7K3A_P#EWK7;oViE?$d3Szle%%v{D0-kZ z%p+)Yb0;cfKw(C0Q}mZe{P1S{q$hrC=k9NsNyU;9O*zw*u>IBNi`Ydy*PkJtcsKxo zF)Q=noqOAE;o)DATr(Rz3kySQ`jhm#-j%bpUmpm>=s1Czxt>L)H`IBfYUJLAf^e?y z_3)9MVAhapcw&s_W!D7(%@o6zY~W3k+#&PuFamU5s>N*au?fWr8n7otoed~{XXQI) zAwN1()NEBW_Jh1m$(Qs)u@M^{wcxb?XCgtBiP+6X>c~0~uhA%SJAY%P5IW`bL>?cn z(_{VuP-boJ2$PxsyDUy;?plxS?8-t_)X);*m^!HvLyaqK6>ZH^ zMR_QHP0-o2iF(QkbWvjj#Ocy@6Yv6`0JNS!tPK^3L0p05cfc?CgK+NpdiQHck3VZ$ znn_iA&_xO`YlCkIC|1TETHsMHsR~r|f&g)(jOb~E&x|?IbvcpE`xv9tTzAZrf&Scq zc=nl2;bvRq$C8INmg~9O4#x7UQP~m3uOC}i9-0ELpQid4aO6#hR>t^-uZvu2B^&4y zzcE<$j`?y^1I+S|+keo}e7(%fqB;RMs%lF~dL1bG5Pjy7B8Y2^4%Ypxky2S;bnaQL z7}{{bVDz}3aWtQ;O@IJv_VnuItdtQ$e53$|b)Y-m8 zd$8w;11M#uIckWHvj9@mgCA~uf+7x$C?mcLQor~Eg0zY>cGJ6qj&SY3rv%b1+)+#+ zN-ZuGv@V`?#cyH|RoX00TUong1ztq_+XOj7!9AVbd+c?sKKorwt=-fQzA8A}?Axb# z&Juf7n>s20hW~GpzW+B;HrGp4TB7WWFG>;jipnDuEwWU-4ZZhV{;xH?guLDjWB$rbC45!F#<=1CfC zOF$cvQbm?NykMq@zE0qHN!D<{R$P!hrz1;B_Xd25EJG2q^?OeCXTG*?%#lCbyIMEA zy}XT0 zTs(Y5R~Z|z^&g3J*kh{DJWNjIa*(o?eYXenviX!1=9I zI{6>E?uh5?UQ2hslJrJmj}~JeuBt+e#`l{OtxDCM%e!5#pf3fDP_j?XbvgA}??%u2 zzJd+8pKA3yEF@Yi4bx8(#KVQ?V ze{@}Wtl=DZ&E&CTl?n~p+yZrAL1EOxPrL2{)2|X`O~JdcagX=a`%zD%FFW~9Nok&2 zR$P|toSoBg^-Am7<*oYc=cnLk_l^Hh76-5p{dtlc4)uv@{(;J9GqXEem-S?ZY<0}% zPg%U#(@`0u@y?T`yis<=u$(r;itBdjbIXd=_8Q%EeW%FVd=vy&@GOx=aY1u|SdNGT0~JvC_`ONcMc1BT+{p3dXs>eMMe8D; zw61}qWTHdz!LMBa4vat1>O>})vGegKlU=By#6X8a>-lL-!7o*FFEZ~Hgm((iJ36bl z$5TGl;?8x#tA#o!O1drMl99HMd8FAT$zfPM*)e~&PY7vEJD%R_dylC+Y}i)%N85D^n9;IY6Ln$ykz;Lr+^C&TA`^3( zz!k@@LSE0#^X7@L#3AU&kMN;l2*{X5Id}4IjkUV}g>hCkg(ubbcXD2AN~dl>9)t)H ztMbWe#F}E)Ja*E9%rItRaB%**Jjc2ERjP^2u-rmfv(UM5T0lWp#bf}2H^8Y##$E1P z7Uph;lmJ|zvm}qL-FqP6zhrMe5smSp-5{Qutq^8c{QS-A_#-&aUgX=M*Y&|Vo`O7kR!}A!)$G~o9VUVQ^Z{ddW%I5?8RN9S zipUC1;==-RMK{qT%O|afo=;6+p)IwMQt*U`B6*R)kh6Vdt_!SVyD|`#Sq+&L$8m9J zQHq1X`=vO$FAPIcO6XTqGlKLm9iE-bcxYG1Y1zj7%uX-~m~JjiYt z#r>Mksb$1k>m9&Sk_h`4e)Hq|l*jd%2NjuEhA(QFFSXAVA6<3PH=5B~t>?JNlfmT@ z6$#@jeEx&}mq{?iXjV5-cA|^@doN8t|2@NHeW=Hv_+`xe>={8NBXyB&-*sj$ms1mL z7gj$o$2rTp4F1Ea#OcgGSKIQSSso3NEF0hhBh00-(+#aCn<29)SC{H1MB_2-01u z{1dX2`yEhet0w8t{Cmke2Lq4pa|b;6%>Etc$F+XBZNGEpYP+*y6rQ*-b33XK>Vccw z@S8tc_g-aN(YkQ=)qEHqyl8*|(BvaNQKxKgQeJ|eDv({5^sb(JI03S#A4{~Xz0>cx z@-3}~S4$Au{FC#z3LU=j=MW6;YpfJ@Z-zpay|&n*qF5RIX&aQ zrfH3DZ88f7;Bqd~AFwPc)5qU5SAKaW&KyOMg)pJ2oBAxB*(SK|*x6@G|AW2v4r=OO z|HM&5kRnQ#ssf@QAksuiP*em2L_;LONUSs1f&EK zN(iL5=X1B*@7;T6e!JiO&CdRD$H|OiFz0Y`&inm5&#R?tc-%}>-`L+}`@C3T&eMN` z^8g~qHsF?dw~+T|Xj|oS2}0UWr7q?f;?PO;S+#C!jKpj4UQS*2)|Zq8#kHj!eViuN zixbC6W~ZkzDwY$0!_BUY@RPOLU|os;5MkS3-1w4f-Qc}?Vn-aY^RZ>RYL_ja&YNGb zFF_Xq+=*#GS$KXbKx>7SJ7~&J?7O5IQ%e2V!Q+4jO^%>b9pz2)-xsyRnbwuOU$fG4 zq786ce21AvH+3I(@ObClKs{^rE8yu?QvQ}P{;)CMgVDW!F)~0mzh#PQOl_VcxJQwJ zjw%G8?zC&DxN&2(ipX@t*cB$Bk5%j*f?*hQM|@G_TJV!FcT=Bz6>I>H zqmCCv(Sv$A(I*vGiY;$E(y@QIeK`4UT)#x2^R>09vK?l7I&BY5=E$QmCZk7)VuXZO zg_?x`oU{_?Agr35D7I%^|G|4n&8J;FKb-NaO@C$o`xgOo7%)*h9_xX#Mh~aq`Fg>$ zDmPqkJI4tzKQ-N4JQIFEeb%4_+5}QHjr~iS6oZ&b&i!4i6g@E1Axb~sHTh_))2d8m zx0KK!sgx*W*tNVDM!72}oKwr`+XdIaxY~H^!Mtrefc3?+aH6hoR|>oR^y}MaLX@5s z+lXA?vAw*!{N4>57}K%JuNwUQrXH94`p2l^XV2Wnq!zbtPNwSzdRh5-c<8lB70`+C zbn4!1H4I8M_X4K9z0_VPqBjhnnu0?V)D&9inR7a5_Pa*%I{;Zo zECZ7*MKY%>h862evLhnVBaw1YdQ-b>p-N;^J?u$sW84Ocso|wMR%9oXGa<6$ym}8k zXFO0C^H3UE{7FxKFUsTKafhjR{%p>;sV)5p=Q*!^O_>BMC84sY0*-K(FV2?}6@r(c zIE~$7ZJ(|Y6781Ii8})BPv2fSu(3vb(j$|l&9QR5&$F$#yy?YiaU9|Et7qBSWJ6$E zG9=uNB1aQRqyXYN0Zl>3$49jB5qk>)Xo-NU{(3N?G}cnCPdXq{r7&Y?|EljBZ;*(@ z)$8|?en?sXOpQM@&R{{{PQL?nRONosMm#JG`Uzu3tVP0iR;EFSY!nw%5@@9y?N?Si zZWahU?&~|gV+R4pmukxps*G08d+Cj}*4HFAa-@?Kk!vpIx55-9`JRrpEoND^AlV7e zqR557vxEy8U%IGvHV6Q^Sm}ewP8c}roKBADmgz=QK7ml57~Od5O&E_z8qH}Q{y0|7 z@6+7ARIl<$!~!ZpfvG}APK<23NWz2RoQ~=$i#XTsq^M&J0tWakvLGMO08PRi zeH1Szj~EZ|$Ln?cG{4(Zt@*8HF4EcdLBP)3k)iA5OBXU%=vM=62{x2(^1$6=RgBLt zBrafDt$Hm--?kueaRo&d3*Bn*cawcR*!(Lw~lnxmY-dt#}~Cy*aoghrm8aV^l~101py4L_EYk)E}cu2ux`g)mJKEh>jji! z(!jTka@UkCsQb-VGF@-nIcXJ6y;i50mh{J^65bP|iyfMJd%>syeM&ZBEi19JGXavm zIQ!&{%d=-F!u3(5Q(Ctl-%nhK_OYG65>^VczCKpU$Wh!-AmsPVCyMxrIj=GRs)QM~{;=>gXuXGoSVE^zAX2dA_5S}k< z{v=^HWVOxrYr>1lrR>v{b1C#)PzMldWo11Axm=j7jEnDt@e=ztkDgAy9hGz9*sLD1 zVbUw*J$8Lez0W!S_^o9XWk=!HE1gdMcl+9n=H+M5`lw>%y@tBP4ao6=y)_uiBQ8|~ zX8sIb@Tc@*TYX)yRrqEjN(RzKpO3h%Q9r(eaAC1u+nM6~y@34{xY^+K=#lW5gI9+Y z8q{-0oFb<1yY%~MKmG1qE@VuAflsMcAm`lX(cKL5xmpA94x22E(-qYMrOABN=lZ@u z+l`^C0!v(=ZAR$9JFh)RKwFr~W;TniQABOj8kjlBfv~4sIqt>wInVJRsIXV4#)r(w zO6aFlv?vxk0MCya2U!At9+q#xWZw9QWXKVw5jLlmAG36We)WtAP~Jgt=1w|b;;~T2 zNL&zO1o|jyt;JGFTC(dCs?&33mIK#siZSWOeo`)8%tz~;^a46)fFk&7vF$2!rkk6Z zB5i$12LNRCmiwxPX5(-)tTm+dlwVU5AIODFm2N@`FT! z+K~*>YRnr?W6is$e6>itVx$y;iO*gR!G%kFZqXFK$S$0Ay2?n8<|e~2JE3q)?J9Ku z%tRku>oONZ-0!~YHFy=^4=GqlrD%Qn(Qe)sk99xpkNN%y*Q0RSRi>_uUVK?B23DOd zejy_xB)(P2Qq6oIS?$5%uyGqn02tD>-Wis0#;@(62+a$}(u0)TT%>f+odADgImr;( z&P!IpM?A*6d?YKcxG;eGC^gdIh)W0PVpKlXNhGnC_WC@1@(n6yS16tF_f0B*FX*_~ z0&Bz#$Lu>TlRMw=OW{s$aFH!3tNG0tPXnvW=TpTzv{tnfQ$!N2J(5g~mYF^6?tV)A zyaJxl7N>5*-|S9F>jv}}#D%Wvn)TZ^6Y4gO^D_b^H{(bBjy0%^lO#K`1|_WR0>qMJoJ8E=rdF{m!t?HJJ|?V4Nn5l{hs`xb_p6wFyCz zx)w#J18n5dC)~Hp@~8LaP#AK05ll|Bl2!g{>v*aVz?RKQt%lqNxn7>tHW47H}} z_%Eo?4KS5Lm%7d>t>!WHzLj4`yUskR`6wLTV^%KirDQu>y4OcW)aTUky0B|$iw|qf zt=Ev#d3%YH0g6*foe>Wb&Y`sXM`b6g1q;dGUL5Z~+O-?g zG^%(P9_b}ppy5hx=8w)O93i=Daj#s0*AGGr&wa+o20Xf!?zth#tA!mhd4X7H7c{zQ zvH7a_9w_M9s!MrZ=`q4~U-b_S;Wp(P$PNiO57Z(**0M$}G1o4gBeM03?N}-rN9Z)w zC2l@%h`jP_Pw%(SgW(y5b8`vrWx!@8t77DfbA(9Z2fQ-itAS^|j~9z;vBn6n4QNlk zsUJU7bpRHcv%2?ZFDBmL&rLSAIdlHhWmiYOm0j%q3T!TdFfpYjNOV~dOvbUI>%$7O z&rVgydyb2=?uqPWyC@Dut|rWoKb3vVIjese;l4J{^s)OboK?%PfZ9cInMtscN=OGQg9t0e0R z!oOIq8{sZlvBI@VuD)j~!pI%+TYZ?tO_~|+-mSr^S8L%g{&}N+%wmVD<>uID8@N$@ zc1X4jk72Qr<_lBAw~-Rt%~eifBT({tP>^j`h=x=~x{?{9aIfIaQ8~~VO>0}x?9|c` z7aI@P60uJMyr7g{wc)Z2?!xW-CbhsLvR@Wsnd2qBI`?2$(ewOc(j-TVd{2KiTkYocjuugcZOV@xajT;eKTe>) zQ8J1KpGH;`%e9Q#QSSaD@QpACsHL%`u}(@lp8Ai0O5k)LLw%!p>V)u-vTn%rPY8fZo0{Gi1fAOeaJ16|1$$vUsFy+}s z_uFlCY3DPtQ>c&ss2g;AVfPOW7DkOR!}k+F|0wcYUkQ@`9h3kxGdtCPXxPc00HC8M z@Up?f0A8K|JaTX z`c@E%J-ZECXX3XsKn$osS6ZB5+z^GVe3iWyL&NY5I)_L^(d zE>8Z$9{1snYVAWxmU($ftcjQhx0+b*;4 zdXnu{o6NeE6Wp)S>gF?twbb6-(1tO(Ux zllC?~fu5?_QTx#MVBSOhNI!T~t@K5^DU?`bfRJBGeI?40FT*tP`4aQ!W1|7= zh?+Wj)O|CR|M7Ka6{#Z!cWH!od#dV{ZZ?%ygniTZ_xGU7$|`fZxj%9_?z+Jv9a(-F znqNs)CP0?Fm1r#yn6oly#;K?l*qvliv#u2u0Al11i)LVvH|MNHS7N6g&a+B{$bPVZ zg(B@>7s&4@*~bf55({Wp+s&r zmG4T{ZX#N-PF}N=-ez;ih-S+~**0dv+%%cC(3;yllf4kC)Gbzt1myF=iz@uPjjA5%vej&DLVXYX2~N)=P?t#MJMI0 zT;nB6d9|Y4G#anqGohChV!J%WTHTj;f&{I|y0}39=!lUf_=7abZ@=kKb% zb?uhk?S9$!ntqduD8YcM1tR&|%~>{_d-3fXEjmEydS+yjuLB;a_%TIQXM2S2l2iso z%5qh!&tAc~eN(^H-8<+e(GUQv18z-Fx#sT@bJxvk#t*w|0CKwII-RJchL51_mwSS? zBMl07SYp(wasx-qlr-EkpJ%K(*)@Clk%|wNiV2gP`*5r6c-A<>dYGpsaV4=Ngx%_tI)@N&>)T8^sJ-%@GLFq15RSLE4yj1(38awR0 zL$h*N5;|XN*UK3eD>`(}(z3j~q&{QZ5_Gkj^SBRpGL2U4-G<$s(XqPABP0TcDGrk4f%;-FQ{mu;V8onK}napE*BuI?YFkfKFhdIyOsBM`wH=U z@Fyzjl}NCbky@s<{oH?)8_w<{@RHV!bB+!NK8O<`$5F5GFdcp&uH@(yOdFTqFy3}`1cqsc^Cvz2> zU%g}C31uU163CUAK>roa`TzO)pHO)>#Q$VnKgUXb;G5P-A_=evEZ0Lg|G}mn95nqM zjI$VN#38pzfXzCYCg5*Kv<|=1&EV%;Z|~4BC)!JFB8j5w+k-H6>eYc2N#n~Wps-)y znnwc(9^Q{ka51mi3Ic!A{@x{uO>cW}1B2k@{OQAHD6#ag=w9+0E6?BhS1W6y z9$9B$Da?^%EDUdmR;9;Vi~aNh;SA&F1a++qVd&m)xQva%%+$_n(AF8Y=={%51m>n4tsMe z=^Nyy1Jo(CLDvHGaXJv67x)L&zxP7f+nsEj-a2BKBR`RPSEr{4@)62*xD-Vd2{iAz8*`FH zD$?CKU1oRp>ecr}dDTTUe#Qa-&%qopQ5|wI!&OA&T3Vg+9AT-27plLE3C!##Eq!Xv zxGB5Oj(zd`>DlQn>5qQB-TGV$fEX8zoRs!H9{)0?I`{ng@l!e)8hRSfGBZE`Tpu8c zmoURAB$U6f_d(hq@GS5d#F;&7Xst#jcHoA@h}UJ(6eplSwBo0fP%jfTzc1n9>=#9w z>c&EKnH{c17KSL0`uJC$RKcqOx`v^Z-=JlrN>ZO#D{!vrcjOGz1yNL1*fiWUDa*aJ!)Yuc zaPgx00|Uw=jlVG`2aSmhE{X6S@AAF9D4uE4ZDYmwxemf#!aw15vFJUvyx@t03P4u7 zL)Ibb5a+tHrN_Ls%5AJC4{qxw4`n5{W@scOb;*2v2Q+o8mjqbelAjT$G4ZjyVXY&P zUM3T~qm1g&%&r;?Vq)*yO1_F5UU7GoOe_gm&2W5I`6cs5#6XmM>_=-@nw}qj)M|?*W=Nwq=*EOsxiJ*s;8#Adu%KH76p1r6 z3X`WE0Rav42wQ+hoBDU~Z^|bW`pXR9U{-kL{f*)z82m3HkN*M@-;5mJg@z*u^7gP3 z6V9N;|G}K0PYaraG8{r*_WBhfEQPdamDQ@;2{7+u=pfC2Zd>7^smhYyH zEUEzv;KFu=I+P>P1YHZ*;=Uc1E|Y7v6YT6_yUI3do-!Lk<}Z>a)e!xq;{k67A&vu^ zaq`3bSx2rLm(yN0#rx6Iyq`I22W6Sm5bvP_m9@uizWgcI@b2JJ_f!_6c}YR$*Nd(6 zZ-4Cr5U(il(eN1S8L}kaIXwZ{rE1+{_^@cccW8A+`c^}@;Zf98x?@&Gnq`1V#&|$F zi-UHIaG5du!V_v%>|aj6Io9?z6%q~HILeQrZr;-y?^qU;1smCe=vqW`Ab`XgNL7Da zH@y>m$z`R^Ksklf>r=erKV}c63lPmA{_TB_zux!x>wTlNfxwk!0ez3f_bPdW)wnSy zN3{Er-EBzvPvWQJbPLyq%2up3I(wnX$$Zo^>X;UPOvLvEZK2Q$8|mR$(qRX1Zn8#* zuEe9;#ZFfjAH3neA|6^lRHen#Be6|!=`gd6l=dWLkR<$z57MaPwj$92lfCfo}Y%occC(}_o+M*usPzB7w z@iM~U6I{z?_ZyE+o4V~Fj>G^&;1{h8FdqZ<>fcwZy+EPam!`_SK1$W9-i5T>yQ*6( z(IMlv5nC=+%)@hHa*spjjP}RVxils8FR!1fkGz>uee?EBL(VG#Nf3>hgap_(M{bgE z7wCYu66nQ&MtlX)`tUCv;TuQ<^@A~Bx(OnC$8X02civA2fIvkDzy)zrha9IqP!cdg zCoC_Z%Rm#4M}ewUH2%=sD`h2f!KljS6Hm{w5;Q+Tf6KoD##R8V&}&EifoG+hEd$}q zphT>TfjSRpR`3dtwmTU?Wdd+kfxLg8#{bsUKnfw3tH;3P%fJQBBeHgk?3{tUQ;hJXCA2kwu`Y!gU_Cw#oO$Bsh<@_7y`STF@Q8G`}q&by^+LGYKX9J8m zLWN$a-K!NP9M_xj9Z{PdvEGy~R6bDWAuf&RzwCiFY9u-Q?!AYgj+mbK=CWj4QT2!F zRSwHDq(iA(<7$FJ40A+B^?F=}I-&4kyk3~+3R9vLs3vTWAoI2#+dl6x)vDyC$Cz!Z zf3wptRZ``CNoKlBvV?oHC_Jm|!S&}SgEE}FN3Sv1bqOjs@)&@#&two;%7ADwoUTiJ z5XZ$4iGJ?H1Tb_wde1 zK~&xD)ryKB^^$LsD>Z4RA|@sv6-Z~`jtsaF$r8i@(OB-uaR z#;;Vx`Ouz9du_x#vm%yh?9&CFEk%!XQ(nolauI3Ut*%c9>)(*_3OqkWc%#1)k<1f} zO+Vqr*eGGDGDnLUUqn9A8i$EK)|N3CGqx{uGU#JQ^n_kUwV3 ze|VNnRD_oogue5h;WhqHVBd5t)d_ZOxMNbX9Mji_`gl4fDVxsTq#dsYsj)DF(~0sF zaE?4P5-l{jp;+onh|O)1oZId|FNhqM`^=h3OQ&WRu0)Wz0HQa(a2rOl`wgx=8_h5w zH?T#L)YfVCH;!Twcr-n5S}7z6VRJF(O#Sea5A|xDBz0hQf{?Fxk)#$DAYxX?RLt4N zH-t|c`ng(8QV|lxhAOFaF}kaJ1FNYw@1N%2k~q;VvG+!;WvFIhTe!VbAHPmNx5B1* z`(j90;pLFKA1s6-KyUOzsps)${OS^Lo#?gHk`C${pSmFanh-Rf(vJjd=JWn*ZRznm zs|{s>T;X2f$y(^z4>6yg=hnrH>py%`fgroEcMi*E`AH4ym~WMAQM`7m$>Y<9E+~Is zrWtaN*xA!2fwzq+Xv9n9IaV)XUpN@wy`lUj^D#rBeA=wWY0xCgENTs~a8V@=kfZ|y zD4(32$(p$vR-(ju6_bl<$)yl8T{E5H=)3K|w62ik+^{#2_8K}}yQHA5&XQw0^ij{X zt|n;Ty}N25$RONM!QKI`E(E5DG>{TipZi3YWl3)Hu(Z61n<^lCC(p2&hRA2PmNPT= zhaIcqKi<(om;UTRud>=3qNJ@w^)^J3mHaF4lifl|CjZa_8IAj6RAb zo>GZw8She2kZOBnCikWdp?Av+?$vF!+az0<($6ue=Jc_r))Edez2XDA7v<(xJ# z92|Qt$8w%{jjEF-xA5?4%U(;Pjp^lP0~a~>yYJ@XI2w&boJ1kJHe)~(QG67*_U#AU z(K5XKoSJxF8K9n2k0JQXYR{?I@~O1=vP7(v6A&IDY-Iq-cXUqK5oLyVPMe7Ev8p1z2z%5=Uc zzJ5tHP}jwsMW6zj^4U;}t@RP_Fpdp2XSDdktm#JE zuOwHW*K_<9A@EZC6&3yky?ST7TzumAO&(rrAjL#)6Y$4;=-jA5_bj8}uKQ6QC->Y0 z`8)7iTW)6G#jTUs{8tu>mzicI5nFu6zv|5$-H&vlb)YgB*I838$yL{L%wOXi`=HC2 zAWr1lk%(*>yh1BJQQ6YG7v_{`?igs@xxbaL^xfbEL#mqk=RTwxOh9ua#Es;Fn*(;5 z&^8u(!x^GR$D#nPAbFxKVCqCIgC)jL>wWX=Ya_Z!n!Zcl{|ZZCPQ#T!z5}%$=U-0Z zSiGxL4^ZJTU}1A-zON7N2egv*hqu?7)-l%@5l?&&dCz3Jv~RB!%3rE@o+^d>95G9b9&xz0{Fz#Wj0U0olpi`TYXSupK-Z{F-#oIce5dHRyu|Z2o2WO;q zC?mtuQ{U&JHq^LZECM?Y{e=Y$LI$*s_2Q=Oh@;c!4)42lWkr9teK&BqnLcnw3eaLi z+N7&+pwOEwrmlNhQuSwJodolQA2TGRFJJzYawbH_BPrdfa2t!Gc4Cz9F@khBPc=A<~HWVW42! zRwvEMaBZ%Cju-Zi6)OBR@a+Lx-~y&2eb0HdCiZCmJV^Y+xu(Sg zEh*8PEzmqBKP0O^<(YA?S5XEpPsA*)-o--ZIbVIcBa8@om4Zp(ff~n1dx=;u_ryj4}UNZTzX0Kd{M{u@!1y`B(R2~ zLje`cDBoXN*wAEPb>)TM!?^@|>PMJewQmy|tu1HLi%CpL_saLKyh3xYh zFG!mjxpl|B<@sb%W>Tm?qjPSaH+JDj#co-mM99ccTRKpFk$^>RG#<+X-}}}W*%DA* zK^a<@Q;&MlPT^^U7df?&U!xqO0~1OH_HQ?rU14;l9)zAptbyyGJ>c1>X~MlaTzq>g zx8?*{D`;xW!a))Z^nRXSMkjymyEvcw)LeJrWAv5z&dW~pgx;Pu+MiTWh_{n)mzhE` zd_(chei=gI@lN?_ukPp%Mp&1LOb)ewiHR(WZZ*^#58@*->5s{GKc6UbY601E)_pDU zxt=Z`bMw96qh(h|m>8a(DZCwRhp~U|k)sH5caSNXZ-g6|)=leCEYn(_FnK8z*CxeF zrne@S=j=(7FGir}mpDMnUoP4yrW)I7Oark_OwFe62E!j0cx#HuptqexmgWzOAstLQzeCQ(rY{XYXr23Ax37Dd=Dkt4A9K(O*%MbE1+|r)T_mv1 zj-W?E%)4F_ZoK?CHO8W>|5;glNJ3o4IfHO&7^gQn%>xIf+siOeC9>OpcTTz+RLk9) z1=1XCF%3LdKQ32#DJSifckC;B5B47)i%&EB^olX=Z>+&V0QJR7-Z6d3s zv4MDv_H?JA9$4X$g^KxQ!6!a`ft|fR{15Lb#a!gRv~}SCJ_q`1jyhdV1>8f{gImPw z3C1R_8(aQG4^Di2becnK(@b018%i6WEW3uZ%Jzb5K%MbXf?~QZT}uFI6(jjp?(q~r zz57}2yp#NNRXy>6WSGdZZOpU_IM2;iXh5mIauzBalVht$-iz@yBrmp(wllLziNA>c zy=$|Eh4wE-tSFK%YEPZ4P#K|kQAsIuU8X&6+lEN}K4%0Wxz4pYT5Ow7kpe=u?EBci?>+?PTwDx0&9{*IIr1Qu2!s-^=Vj%B4Rd&$US4KRk}t z$Ge0FfH2Vv`TNi2OvZCs!-PofqQ*2pVx2AK9jLbCwY8o@vbI5?l&SmBoyD=3lp)Jm z_M6Cb&Z~?2Yv5m`W5Df>?3SuSNmm2Bn$uZ3mqL(dM2Mx=DvfL=;u_0;SybXPp{f?eCy(Suh1N3D!f@8tP_hqvN%rOgswNO`!CuyDvJtd*sn z%G04+kont1=zCjO@&5evq5S%QsuoX+D$9j~y3du~Ku+sXa#?aB#j4J)EnO%ATqCqS zQbrvGIN|zm6bSRS+?nu2VUFxvsilpW|i*`XR&IXPR05;15rTwm6M;DBaiQ==Q}6IArL`#3i#0 zIVW)@x<(0r3$ES#ao#OEO%1XAR_zAG`doa+c>W4@JE!DGcz{PMU_~(9GBcqcCaGpy z;#9w2wZVn_hra9?vE5Qd;8t>IB3+EKIF{K*>hYyJCvWQ<#d?MIBrKudK?m~iUNKzF zZ`c1{gOdNVR@Juw2O#!MB)!V1l8vU`*|u?C_$Ke?pa&V#{pqhal7fd>ueK^gSrj*? z_tfU;J)at00*J|j``|DkMg;gQ*@Kvb;Tx%e+7e6rFWn4iR8+h20T|`+dyFSpXnvpy z1Ux66dQ}0j?YIjLQ@MxUnwyIr;-vz~nTcag!Xw_^TDdP^BMd_ch!qiLTe0}Bc0~l8 z!b6W7>q4KwBwb0t#m#CJrtjeD@Iu^D513K3zPTP*gY&8@@^VZKj8`36A0CX1Z+i1~ zMTOa`q8HuU5o^-1BuEt@#%*mc%`S>_o$h^;mUMLMwi-T8NyXi9{Cdu_sJWA|c0(cK z0wDeX`fGkE4Ffc1LA=DR<ca0wPjjmWr`K9lC14}4}qb}x@ zDx%d^JHUE96Zb^B;;q;zxA)Dg^q?@mLr%3G#l}KHtg{i*?Mcb&^ifq4u|VZySNRiClqcnMSlDi8^asD+v$0Rs{#0@)BOGfrxk5gt`kw->YsS-_c$!xe0lxL(Dz}bMr5tg*m(I_4Nfjii5 zG9sZgKc0ZEJ@Uo@^oFgIUOe}EPZ*bDlT-oJetnVX=hHO)Yu_?xL^vllgHiom>BaCf z9$Tg=Do#7UeGG>sl;n*%}v4C5%&X<6`fFY#9-GELp z&g}!^s6=YZu&MQ?vPh!#lx4Yp&^tVwA%J;WPCo|Bis)ysJoePnZIs z>77J8LN(vvFrLhPk_{xXor28ufO%4Ts4|tKa+;%Zjh{pCey>c?X=nzrT(JRiASth z{=kV-ZJ>Net!*2#T((_a5$QQv*xcOgsG2hDNF}Qiqwo zHf_XXlr{Y2n`+CZ%0-g2MDESdc#{V*-IdCI1PKw3Ry4by=N;7K$321O-M_;JgnGK+ z%^SUG=wOm#Dx9z?^PrfQ{x!F~X!D7`E~ns-sb=oopk_7S=hbV;huA>uIJrqs0!VpM zj0?I&bnqT!P^Ja;HrI~^JNE$o+FVfala^US@n)4sKf?}My7 zz}lKTQMXEfKQ!AnCJaM4yk)yE>*g3O=YyRiD5$w=4O*?(5oov!|K2LwiTY7T9j(n? z(^4A|`|>5x$E*GOc1Mx{@gB4!Xi^B5JR*>}D3sLUZkO1DP4%@}eRKKSt*2j=l*kg} zc6qZEMuOk*UIJQ^TM|oa0f#sZg2rSJ4?H%On!}ZEQH+=+75vF#1J@^fZ?L}WkF|LWJaR!SBN{$ z9r6Q8Oy9Wv z^}Gv}V<{B$+X%NrWda}_3_uY0zx-27Bc{>j067A91bCqeIKv2l~C$}u6N^sDO-(XPVfQcs&D~n zfJ3I65Ekuf|5%+{YBeJ`<^uicHe*ehhF9(Mmw(dhmj_(H7lyZp3L=Y$8r@vH9PLm1 zl82L3j1$k2^0oUftksgfcw$E$7UjoN`7=P(*L`2#jqg_XK~)kd|KU?%u`?m+Jo%I)@;wY| z2$csKwR9msqr{B(#IF9XbOexip5lXN=ZUdre##zS)1!wWGBWT0G2S}=(MiBWF8f{C zObF_Nt2$$&h%NG7`fiX)z;oOmnyw`j*N|j@b&0*1Ksba;mmf^KqN{rE<7a_M#E}C+!A$Sb?nxk~;S+1IZkq zkl1nHxX2sv(9u%SBB8HwB2DNh_xVfS+cDmuqLniH?&>&3n#8d&bJFKNNqA`iF}K6%yiNlm z_;z`Q+4=}u6{=ZgcspALkSIC+2J_pQRYc+(wTKUk0BbwsMHO8PkIQO}KU~T4^3&X& zJvKLq6uQrz0=_-!YCe^?isF*rsZGfh8BmWx`{tl&FV5x`uI4!IL05%u`m`c%i%b?# zOWRlslrE^B3L--DiLX5z?Hz4znlwC2vTSBAogY+t_i^;O_=ospj|og0qs{d$!LQ3d zPa7YFQaK@cy;C0Zc2<1Th*E#&Ybl-jDXUj^_c@-?>m7cunk7kW2#QWhl_8p87Z)Ke z=%Wz$)ZWSAj+F%DmxxT12tAwrHBRrCOwJLWudLF5rbwC%Lfu(oVd_M!)vKnkba`{J z&9__!!G)Q z1ze-ffszd>;LD5A7$g^@PYz74@KxUOwXDN{{f&<;nsi5%!WZ!=A}h4%G`)EJ5Cn|Y zVd>@6L6*K|8;WmxdJ66$#j1h$eg~wDz(|Jy_(gc6OY!C+|FmbT0xsCa$ER@M413~j zh34zVKh{5twUy(na=rqhL%_CqIZfVx$5r(_%GRNnhre_}mVF3ki{ zHo*@U-SpIzcs3>df{TlwFyeNDwixvuHdfn2z2C(3=S<8~J5ccvL44i*@{{n8cNeUbe^|_e z2XnRNfsC;*+DhOSOZhwh=Lt@~9mW%&UDW_YtA?rQz~{{P^`$bt>3e=UI!>3r;wK0& zAfkl!E+7EKMNDD0rquSbyQ5^Ja^IBm~ z^Tg;pdal#RQA=aSlfZpf^5??(!t6&v-n{er z$d8u`4Lo1ZGj)LWBuxR^)Vrf)y9@wL4*`t4EVdr~jo7J5`>#CggRW5j$;065=_r7# z_O}-fM7)l~N)!hTz-Vh*eRQU3UC!$i5tH=Bq~tB1b;F%%=j>PK|SLx z44DzxN!lzfXz5US1B^7$q7Sp+R+~TFB7k0TvMD@Wv1l`Y4fCiz4kYc^ETf#S|M_j@ zi;s8XU`8%IOKPR&=7Wb*T9J_JE2*8=#zra0KIM%;7Sn+jcb=Q{EiwYaJuQDyfLN!w zv;ai5_r%Rf>#+6OfJTzeM1U~A%$x0_Xgi1&t}6;VDYZWk7tXz^|4k%y5;}2xj=OL>QB#*@A4;a_o{p>v&nCM&2@Sy6=&PUd^yXnUxn0PXW;R^i+>KVtX-*||I z6@EHgP5dE_;&uJzg6EL8LcM);!g0*&FKk8q0wLM!a?b~EjDP-|bOa??B5`*TQgGR_ z0(x26Z1Kp^x-$6ng$+k5N#`YVbHf9!C}KSUfDc2`zyWHMq=1Vn`r)zPEF9HtSL?di z9Gt}{OYo5M8}>P0IJv3dI{VPGO;~xtqiFBx6V?3P*!}y73iOx6&s9Wup_PU+eZt`T zZA)%zEAH=%*;)13Elr<$XnD2pK5N=2y;|UVXPY1Ri2`OCEdx2DI*VEV$;VAMoA{u}po)f3>FpNt2 zL6GdEillR5O6}Oe4c*wRYFqJ`$auy1z6Mw!=laTi6py)BX<&Rgnw6#I$sd|*PptOE z`c}EgT|_eCaE2O71vtou@zfKJz&fGhEg{N*#C|XJ90)kVE8Ix0OQ>IYL{B^$gtpTP zpoEV0a^;j*nr`TnecyCNTjZv36th%XC*QdQFNLB3f}bt&L>$PV1(t-1z!6$Sw92$pk3OAQOy*ZC(^< zZH^)cYOjEN3Naw9Vt^d~iu4Y&KLsNFHXzJE*UO+sKjDHvs{05f8{oN>l6e7UIt=JO zR%)T0w$u^mff1Djh)4!BjChn^5@YIH3Gz361$9$i=%OiVzP(YSg1D$Y zkZkiR;m1oq-nDkc0_@czS-C7z@DDBZ;{tcj*#o_qzx`BeCAWV zS_FSHH`y(jvn*-o&UY^$@_cxVg*zt|DrzmmzB|fJwH&@KI<_aL_Q1t<W~XOH-d+KzRGTe?#JPoq)!c{TwsJt1R_36tlQ5!3!|%j$HjWQ z;$R@~PL^H=I?X6Ah3(N;Sn%s}JioYjMlSl7YzfsUVp&#V{dPM9#qgRDWN#-aNw^BA zur9~VR!)Wob?&uBtBKIXEw828^hr_F?LqAeG_=L=&o_g(iM!vC)x8}f91z0?t@`{#>nBdv zc6GBCRvP>r%ks|NS6sWn?7qTJXT7CYnwXvlXz^(>{|kHX9oE#oZVLxdQ4z7wTT~FF zOOsAiq>E7jks1|{CQW(`ph)im3PL~-q(*ut^eVlF-a90e5J>UPwa-3#t-aRT-#Ont z`@8pk&$Iu?0#LB=ZqM@u^8?+ew=*H%Mr^M4zcq-*99H6 zy^ayr{AST*ePy1XkZVD|5*_Fr$(O3|ZFt5FI2dCN1Bpu6&(>1F*z!=Dedz}*1?g#) zFsq_LE?8ZRw6j2`^b000r;V03XuEoY$N(69-RZSNn{d)nU|?RU+0ensfW>fI?)Rbt z>a#B%#4vI?Ft5t!K;KQvW2rXt)7Cl84*9UV4Z^C8p6u?Z4~fgtmg-qWPa4VvnSEq0 z+oayIlVqZlm(H7CVVyc4F$C(UKl8{D`fO*B5jSMFqvi;aa?B+o2~? z(tc;oF~urQZAVzRz0plh>|wH?QPM+F#=z4(l|G%lm92z@NQUW+W4i$2*<5I*wTx}D z<9zbnRET(#fq$VvdC5SGLXh>8mslR+lG~d`QvTOs>j}4&TN>e*?MD*^Y^LU?>pbyh z7{+D@qt7+B!THl!^DuTi%ZlL;>%;FwB_Y(77m{su@0)5Qxii_>iPSTlyd@=_&o}jz z=|H+@>C8hNtBI+d9GkV3WwJ`T6|9seumn8b2E`}55nAaN+RD#zF4cB75fe>&!u-K2 zqFGYTM&2qi5b_#EYmK-lAkLb9rIm%wW8!0px311WcO4>6YEeMAqD=2iSFP4n4m{OL zWJt=H5rs2=q|%i-j$X^$8A}L;W{h-f}2UrUXhPlqPSD z0+6HlsWUu3nylxR*z0%2W7jp*B(#Lnbt#>Z*zz&pw<|cD$gc@Up<#1vK{e8IGYoF~L<6jD zAVS4&N4%Q#v2CJJMfjU&jVsFC(ymNg-+A1auD+}doQtUSoJRz*T=<%O7iXmSXmGZo zGLUIE!)^GZN!eM6y{ure06Tm^s9ZRr4orMD0ub+MHfS&SWm%FLDyjz58|@P^d{6Gm zo@jrlb9yRW+GJ~*8NX&Tk7BhzbFtj6w06i@-N{!M&adm{MqG?G(N4U56gM6W)R`1n z4t{V?x<9`voy<0I+`h%_L!ls;mpNvGzw<|EWc_@X-o4r?jgZzYC@O6 z3(pSybACwC`s;pMt}&mR36Vhf&2V_>&1oPQHm0R8)6sL$^JiB^^rZ{-KQ&2iCz{?r zsT%T(m(6CO&eIOPFb@q@U?a+uC@>8;la%+ghprb@RP^t+4cR(%nZycgoO@g8A11W( zLF|NM7>B`ZLHQhtZk1)mzXWm8>mi2V7BaAOKm%*mr)jCIjaS8q#~OAWE?vbU9-ODR zk6tO7y!Ab%u~O4mxWlq^!t+=dAP;L*;or{L`Hmo1m$BO@=WlU=`c;^@i-2z{+`PRj z$u#Kdi|frzhe>-C=FHMaP5cr;8*#=>xMl6jnn#UHYcx&RQ{D1-PXXIkwayWotcyn} zdiKwrJGDtHznQ}K0t#|lSq;2I+WAoM#f)343CBOmp7lTJ;eIr#=9nDA5Uk9pRqc3b zY&4zR=fRzeO|MT8!YG8#kzV!?ns{HpzrvX7Esvj9bZTFA}?@-_#k; zL}Zz%4mz7`#gvPoJ8l}^_OLB4H?Vq95I8?G9y<^96SAxEo`*48D%?V`2o>7o9zBdQ zQe&0VGI*^d!hP^ui|0Mt=ktyjWF%RVcpD&}u#2^!$!`^s9X!bF{emYUpErb@J%xe>QFe~qg{nGv7tFO^_ZgH93VfNkUk(h&>hM3r$aod=uZH8RL zPt^AtTSYF&j^~*VZ7oqd*i`D@)_!?ewPWh7e^yFq#t?!}%0A9w&^a?XKE7Yl8t0>O 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%0DNtLg|@E`GmHHUF+q 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

      ^;{^UKdDbj%RzUF~;w!^rJXssDkslZpyt<{gY}d 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�gKl<1Tn;%_C^u2i_*8jMZYg{L*BeP**x`O^Qk4 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 bUq8a>F1G9_KZ0%GRK+76Ls9*cZ-?oo( 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 literal 0 HcmV?d00001 diff --git a/docs/images/calendarMonth.jpg b/docs/images/calendarMonth.jpg new file mode 100644 index 0000000000000000000000000000000000000000..088e05d08ca42f327bc41530c04e5b2fa16717c6 GIT binary patch literal 275358 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%0D)>HnD&`Wo^1h;?wtIbMs6k%VFKLG? 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/images/calendarWeek.jpg b/docs/images/calendarWeek.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1140bb50c0ea6201577779def7d42fa1507414a2 GIT binary patch literal 329673 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 UGjbQ9#1)Y|_IU*b4ElrhCpSG=*8l(j literal 0 HcmV?d00001 diff --git a/docs/images/commandbox.jpg b/docs/images/commandbox.jpg new file mode 100644 index 0000000000000000000000000000000000000000..83b1e7639426a0df1c3664bfd90aceef6e505697 GIT binary patch literal 285857 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
    1. l@C1LwSX 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 Date: Mon, 2 Apr 2018 18:56:48 +0800 Subject: [PATCH 237/288] Change ReadMe UI Image --- README.adoc | 4 ++-- docs/images/Ui.png | Bin 269012 -> 0 bytes 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 docs/images/Ui.png diff --git a/README.adoc b/README.adoc index 435f94c1f8c0..050e68551593 100644 --- a/README.adoc +++ b/README.adoc @@ -7,11 +7,11 @@ https://coveralls.io/github/CS2103JAN2018-W14-B1/main?branch=master[image:https: https://gitter.im/se-edu/Lobby[image:https://badges.gitter.im/se-edu/Lobby.svg[Gitter chat]] ifdef::env-github[] -image::docs/images/Ui.png[width="600"] +image::docs/images/StartupUI.jpg[width="600"] endif::[] ifndef::env-github[] -image::images/Ui.png[width="600"] +image::images/StartupUI.jpg[width="600"] endif::[] __TeachConnect - The only management application you'll ever need __ diff --git a/docs/images/Ui.png b/docs/images/Ui.png deleted file mode 100644 index 5e5eb3dbb4dbd850cef7b2e0e447fd7b3fb08d7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269012 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%0AVm&rX> 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⁢6OezvNXh(a|EbKGsax~H@7-!yBmwOd^|Fw@RIt> zYa@5kesiEh!w@FbhM;ebI+4;vcYQXMA zB7oM&MScm$Cq7s#f=ss@^!9)A(Y#s<`<8Z^gG(3`@|H|Dqb8N_`Gc;RW|`Kl@}}2^ z_&;MAG=dn%7N#GjCyY!T$iT{7)l<%^b`a%ixlwD@>-QT4avGsB_m72hD+b^rW_Sz} z9gMDg`FzlC6l;e&-~W{Pb4~-vrMrQmHha#0hhpD#n9W?yWw>HIuI!2VkjDNQ&2256 zW-eP#SVCv@n9|JZM{4#wkRb4V@y;Ss<;ljYbQUV|tqyTWRa5Yb@WGBRB1EcV5|XXB z^O0svag$%CS;HSTPu?9n$|vW`x9>(z7WA8zdp48CLJ zu6HX~)*=^QS7C7=yc6QzIodp@*~JK%Ud)*(N`KkXM-_jeMEhVM`e`SoxrwZPfKqgO zIx7ncIVbrEAVitFu(*?pr-d8nvrOJkiP7lp4C8%{zZ4BqY1(9kZosXDRwX3p*4(iY zacJymOcs9tk%|OSstYqxc;CmodYA*@Xb+36-Es-%zw{w_O6(j20AEQ}MLn0z6hzYg z``V019^(4^epX$jj6EM&%Q=sr4Ofjj;io*A=JJvjL%{ERUKfIjm&PeI&ODk$ZPmY& zo+CeJ%r}mwm+mmI{T}xoB|7*vaM(l+Qh0gmk5vtmsesdeG(g8H&kS73E*wC)4oB85 zxQ>OjI$rxL&iXPOEOHyadeT(ttcyJK^V(?qL%sJ_7l)Ti0}fWN4d5QP)d1prKH7}1BefaK2wSL`jMISo#f2YZv~9{3%!pC+HcMn< z5E3jJcioL73e|*bC5Lf4Alu0e0{C}-Ey9+h7qvXSI@*@M9QHibpKPleT(HIdT1HrO z|JWa6G_$yj!`P-a2b4r@OjP5=iKu)pbuZ-)8H|4}tCzuO^QRrV$q79FUAFMS`5iW% z6JXZz0}>h9Dy>%U>zh1@39cs;(RvKHO*bqt$v{mcmEf;@;j{Vqg2968f`^fWG!z~A zIwFZnQ$pt%b~*M>9&;)Ek!Ryy1AS+R2|mscb<~@Bke*Ej%y9N?4$Lq`gF^NsP=C`2 zNPV$TmZ~>qoqEFcagoSt>kl3*nWV;pnUK! z==yT|Rolg{`bm{K6)^1GAf5_nTd3CXA&_J zPK3%SOn;^j{EyUuUuv?L<_*hwHh&1w|NXMj2f*4k?tD`Crz8Hi`;=`UO8`xkHR@*k zC({S~XzlA@@Ye~qXPo~&vj1_b|Mv?<%fKukZ*CV|w*PPj%NQ9jDn)5^qyNJj`2S0w bf$R*rsH~QuEHcRr0$!?$ny_+t^U(hVKJDMT From 414238205b6ef65061f9daa347c1a52ca46e29a5 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Mon, 2 Apr 2018 19:02:37 +0800 Subject: [PATCH 238/288] Minor fix for UG --- docs/UserGuide.adoc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 8ac78f476f15..5de7674d1d32 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -77,7 +77,7 @@ Format: `add [TYPE] n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` **** * `[TYPE]` field represents the type of contact you wish to add. + -* It can be `student`, `guardian` or `{nbsp}` (empty for a default contact). +* It can be `student`, or `{nbsp}` (empty for a default contact). **** [TIP] @@ -111,7 +111,7 @@ Forms an English class containing the first, second and fifth contact in the lis === Setting up an appointment : `set_appointment` `[since v1.3]` -Sets an appointment with the specified contact. + +Sets up an appointment with the specified contact. + Format: `set_appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX` **** @@ -132,9 +132,10 @@ image::appointmentAdded.jpg[width="800"] Figure 3: Appointment added successfully example + -=== Setting a task : `set_task` `[since v1.3]` -Sets a task to be done by a deadline + +=== Setting up a task : `set_task` `[since v1.3]` + +Sets up a task to be done by a deadline + Format: `set_task t/TITLE e/END_DATE END_TIME` **** @@ -191,7 +192,7 @@ image::themeDark.jpg[width="800"] Changes the theme of TeachConnect to Galaxy Theme. + image::themeGalaxy.jpg[width="800"] - Figure 5: GUI with Galaxy Theme + Figure 6: GUI with Galaxy Theme + From 92ea73573f6cbb3f013518850f6db033b3457d8f Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Mon, 2 Apr 2018 19:46:29 +0800 Subject: [PATCH 239/288] fix format error --- docs/UserGuide.adoc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 5de7674d1d32..112496d9afbc 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -45,10 +45,10 @@ image::commandbox.jpg[width="800"] . Some example commands you can try: -|`list contact`* : lists all contacts -|*`add`**`n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` : adds a contact named `John Doe`. -|*`delete`**`3` : deletes the 3rd contact shown in the current list -|`exit`* : exits the app +* *`list`* : lists all contacts +* **`add`**`n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` : adds a contact named `John Doe`. +* **`delete`**`3` : deletes the 3rd contact shown in the current list +* *`exit`* : exits the app . Refer to <> for details of each command. From 0a07e7997cd6faddf7b695c9d4e2a28845dbd571 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Mon, 2 Apr 2018 19:49:06 +0800 Subject: [PATCH 240/288] minor fix --- docs/UserGuide.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 112496d9afbc..a141e269a02d 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -170,7 +170,7 @@ image::appointmentRemoved.jpg[width="800"] + -=== Changing GUI theme : `theme` `[since in v1.4]` +=== Changing GUI theme : `theme` `[since v1.4]` Changes the theme of the GUI. + Format: `theme THEME_NAME` @@ -196,7 +196,7 @@ image::themeGalaxy.jpg[width="800"] + -=== Switching Calendar Viewmode : `calendar` `[since in v1.4]` +=== Switching Calendar Viewmode : `calendar` `[since v1.4]` Switches the Calendar view mode. + Format: `calendar VIEW_MODE` @@ -227,7 +227,7 @@ image::calendarMonth.jpg[width="800"] + -=== Listing all contacts/tasks/appointments/students : `list` +=== Listing all contacts/tasks/appointments/students : `list` `[updated since v1.4]` Shows a list of all of the specified `TYPE`. + Format: `list TYPE`. From 8cef3669cb09190ba8e0686df01d9cd41926f7a7 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Mon, 2 Apr 2018 19:59:44 +0800 Subject: [PATCH 241/288] more fix --- docs/UserGuide.adoc | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index a141e269a02d..36387d1998e5 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -65,7 +65,7 @@ image::commandbox.jpg[width="800"] * Parameters can be in any order e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, `p/PHONE_NUMBER n/NAME` is also acceptable. ==== -=== Viewing mannual : `help` +=== Viewing manual : `help` Accesses the User Guide for TeachConnect. + Format: `help` @@ -135,7 +135,7 @@ image::appointmentAdded.jpg[width="800"] === Setting up a task : `set_task` `[since v1.3]` -Sets up a task to be done by a deadline + +Sets up a task to be done by a deadline. + Format: `set_task t/TITLE e/END_DATE END_TIME` **** @@ -151,8 +151,8 @@ Sets a task which needs to be completed before April 5th, 2018, 10am. === Removing an appointment or a task: `remove` `[since v1.4]` -Removes an appointment or a task by the index number used from their respective listing + -Format: `remove EVENT_TYPE INDEX` +Removes an appointment or a task by the index number used from their respective listing. + +Format: `remove EVENT_TYPE INDEX`. **** * `EVENT_TYPE` can be either `appointment` or `task`. @@ -440,9 +440,6 @@ Exporting contacts : `export n/StudentsFile2 r/1,10 t/students p/./data` === Upcoming features `[coming soon]` -* Clear distinction between students and parents [since v1.3] -* Finding not only by name but by any field [since v1.3] -* Shortcuts and Autocompletion [coming in v1.4] * A login feature [coming in v1.5] * Dynamic search [coming in v2.0] * NLP for event and appointment scheduling [coming in v2.0] @@ -458,7 +455,7 @@ Exporting contacts : `export n/StudentsFile2 r/1,10 t/students p/./data` == Command Summary -TeachConnect Command List: +The table below summarizes TeachConnect's command list. [width="59%",cols="22%,<30%,<30%",options="header",] |======================================================================= @@ -474,7 +471,7 @@ TeachConnect Command List: |*Find*|`find KEYWORD [MORE_KEYWORDS]` | `find James Jake` -|*List*|`list TYPE` | `list students`, `list tasks` +|*List*|`list TYPE` | `list student` |*Help*|`help`|`help` @@ -500,4 +497,8 @@ TeachConnect Command List: |*Undo*|`undo`|`undo` -|*Redo*|`redo`|`redo` +|*Redo*|`redo`|`redo`| + +|======================================================================= + + Table 1: TeachConnect's command list From 171402b23d81ba218e4977e7e171041a71c3cbee Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Mon, 2 Apr 2018 20:17:16 +0800 Subject: [PATCH 242/288] more fix --- docs/UserGuide.adoc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 36387d1998e5..80b5049b2f33 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -18,7 +18,7 @@ By: `Team W14-B1` Since: `Jan 2018` Licence: `MIT` == Introduction -TeachConnect (TC) is created to help teachers and other educational professionals *better manage their contacts* and *remember students they taught*. TeachConnect is also tailored for teachers who would *prefer to use a Desktop App for managing contacts*. Most importantly, it is *optimized for those who prefer to work with a Command Line Interface* (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TeachConnect will manage your contacts faster than traditional GUI apps. Interested? Jump to <> to get started. Enjoy! +TeachConnect (TC) is created to assist teachers and other educational professionals in *managing their contacts, appointments and tasks*. TeachConnect is also tailored for teachers who would *prefer to use a Desktop App for managing contacts*. Most importantly, it is *optimized for those who prefer to work with a Command Line Interface* (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TeachConnect will manage your contacts faster than traditional GUI apps. Interested? Jump to <> to get started. Enjoy! == Quick Start @@ -126,7 +126,7 @@ Format: `set_appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/I Examples: * `set_appointment t/Tutoring session s/02-04-2018 19:00 e/02-04-2018 20:00` + -Sets an appointment on April 5th, 2018, 10am with the 3rd contact in the list. +Sets up an appointment on April 2nd, 2018, from 7pm to 8pm. + image::appointmentAdded.jpg[width="800"] Figure 3: Appointment added successfully example @@ -227,20 +227,20 @@ image::calendarMonth.jpg[width="800"] + -=== Listing all contacts/tasks/appointments/students : `list` `[updated since v1.4]` +=== Listing all contact/task/appointment/student : `list` `[updated since v1.4]` Shows a list of all of the specified `TYPE`. + Format: `list TYPE`. **** -* `TYPE` can be of the following: `contact`, `student`, `tasks`, `appointments`. +* `TYPE` can be of the following: `contact`, `student`, `task`, `appointment`. * `TYPE` cannot be empty. **** Examples: -* List all students: `list students` + -* List all tasks: `list tasks` +* List all student: `list student` + +* List all task: `list task` === Editing a contact : `edit` From 13ca13ce372cdbbd4f66089eb890861c0721a975 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 3 Apr 2018 10:09:58 +0800 Subject: [PATCH 243/288] Fixed a bug wherein the shortcut command could be a command word --- .../seedu/address/logic/commands/ShortcutCommand.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java index f6de238e3ebd..324320cc4c15 100644 --- a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java +++ b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java @@ -18,7 +18,7 @@ public class ShortcutCommand extends UndoableCommand { + " :Creates a shortcut for any command word"; public static final String MESSAGE_SHORTCUT_AVAILABLE = "This shortcut already exists!"; public static final String MESSAGE_SUCCESS = "Successfully added the shortcut"; - public static final String MESSAGE_NO_COMMAND_TO_MAP = "The command word is invalid and hence cant be mapped!"; + public static final String MESSAGE_NO_COMMAND_TO_MAP = "The command statement is invalid and hence cant be mapped!"; private final String shortcutWord; @@ -26,10 +26,10 @@ public class ShortcutCommand extends UndoableCommand { private List commandsList; - private final String[] commandsPresent = {"add", "clear", "delete", "edit", "exit", "export", "find", + private final String[] commandsPresent = {"add", "clear", "theme", "delete", "edit", "exit", "export", "find", "help", "history", "import", "list", "redo", "undo", "select", "set_appointment", "set_task", "shortcut", "undo", "calendar", - "delete_shortcut"}; + "delete_shortcut", "remove"}; public ShortcutCommand(String commandWord, String shortcutWord) { requireNonNull(commandWord); @@ -63,7 +63,7 @@ public CommandResult executeUndoableCommand() throws CommandException { * @return whether true or false */ private boolean checkIfCommandPresent() throws CommandException { - if (!containsKeyWord(commandWord)) { + if (!containsKeyWord(commandWord) || containsKeyWord(shortcutWord)) { throw new CommandException(MESSAGE_NO_COMMAND_TO_MAP); } for (ShortcutDoubles s : commandsList) { @@ -77,7 +77,7 @@ private boolean checkIfCommandPresent() throws CommandException { /** * Checks if the command word is in the Array of commands present * @param commandWord - * @return whether true or false + * @return whether true if the command is present in the command word list or false otherwise */ private boolean containsKeyWord(String commandWord) { for (String s : commandsPresent) { From 0a2a0517ffdcd27e6eef29dd54f21829bc99d9ec Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Tue, 3 Apr 2018 15:41:52 +0800 Subject: [PATCH 244/288] refactor+collate code --- .../address/logic/commands/ListCommand.java | 19 +++++++++++-------- src/main/resources/view/DogeTheme.css | 4 ++-- src/main/resources/view/GalaxyTheme.css | 4 ++-- src/main/resources/view/LightTheme.css | 5 +++-- src/main/resources/view/MainWindow.fxml | 2 +- 5 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 915b5763cf4f..a76305f51f4a 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -32,29 +32,26 @@ public ListCommand(String type) { this.type = type; } + //@@author Sisyphus25 @Override public CommandResult execute() throws CommandException { switch (type) { case TYPE_CONTACT: - model.changeCurrentActiveListType(TYPE_CONTACT); - EventsCenter.getInstance().post(new ToggleListEvent(TYPE_CONTACT)); + evokeToggleListEvent(TYPE_CONTACT); model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); return new CommandResult(MESSAGE_SUCCESS + TYPE_CONTACT); case TYPE_STUDENT: - model.changeCurrentActiveListType(TYPE_CONTACT); - EventsCenter.getInstance().post(new ToggleListEvent(TYPE_CONTACT)); + evokeToggleListEvent(TYPE_CONTACT); model.updateFilteredPersonList(PREDICATE_SHOW_ONLY_STUDENTS); return new CommandResult(MESSAGE_SUCCESS + TYPE_STUDENT); case TYPE_APPOINTMENT: - model.changeCurrentActiveListType(TYPE_APPOINTMENT); - EventsCenter.getInstance().post(new ToggleListEvent(TYPE_APPOINTMENT)); + evokeToggleListEvent(TYPE_APPOINTMENT); return new CommandResult(MESSAGE_SUCCESS + TYPE_APPOINTMENT); case TYPE_TASK: - model.changeCurrentActiveListType(TYPE_TASK); - EventsCenter.getInstance().post(new ToggleListEvent(TYPE_TASK)); + evokeToggleListEvent(TYPE_TASK); return new CommandResult(MESSAGE_SUCCESS + TYPE_TASK); default: @@ -62,6 +59,12 @@ public CommandResult execute() throws CommandException { } } + private void evokeToggleListEvent(String type) { + model.changeCurrentActiveListType(type); + EventsCenter.getInstance().post(new ToggleListEvent(type)); + } + + //@@author @Override public boolean equals(Object other) { return other == this // short circuit if same object diff --git a/src/main/resources/view/DogeTheme.css b/src/main/resources/view/DogeTheme.css index 96e98d034885..eba9bd843dc2 100644 --- a/src/main/resources/view/DogeTheme.css +++ b/src/main/resources/view/DogeTheme.css @@ -1,5 +1,5 @@ -/*@@author Sisyphus25 - */ +/* @@author Sisyphus25 +reused from DarkTheme.css with modifications */ .root { -fx-background-image: url("../images/doge.jpg"); diff --git a/src/main/resources/view/GalaxyTheme.css b/src/main/resources/view/GalaxyTheme.css index 75888bcd9da4..089c40a11e23 100644 --- a/src/main/resources/view/GalaxyTheme.css +++ b/src/main/resources/view/GalaxyTheme.css @@ -1,5 +1,5 @@ -/*@@author Sisyphus25 - */ +/* @@author Sisyphus25 +reused from DarkTheme.css with modifications */ .root { -fx-background-image: url("../images/galaxy.jpg"); diff --git a/src/main/resources/view/LightTheme.css b/src/main/resources/view/LightTheme.css index 5a6362664780..603a14481da5 100644 --- a/src/main/resources/view/LightTheme.css +++ b/src/main/resources/view/LightTheme.css @@ -1,5 +1,6 @@ -/*@@author Sisyphus25 - */ +/* @@author Sisyphus25 +reused from DarkTheme.css with modifications */ + .background { -fx-background-color: #ffffff; background-color: #ffffff; /* Used in the default.html file */ diff --git a/src/main/resources/view/MainWindow.fxml b/src/main/resources/view/MainWindow.fxml index bf99cf7f14ff..ce48328c3961 100644 --- a/src/main/resources/view/MainWindow.fxml +++ b/src/main/resources/view/MainWindow.fxml @@ -37,7 +37,7 @@ - + From 4628be22a11c932bf8a3575d8538d283969fa12c Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Tue, 3 Apr 2018 16:23:01 +0800 Subject: [PATCH 245/288] - Refactor code - Collate code --- Collate-TUI.jar | Bin 0 -> 48896 bytes collated/functional/Sisyphus25-reused.md | 1411 +++++++++++++++++ collated/functional/Sisyphus25.md | 1219 ++++++++++++++ collated/functional/randypx.md | 120 ++ collated/functional/shanmu9898.md | 379 +++++ collated/test/Sisyphus25-reused.md | 86 + collated/test/Sisyphus25.md | 946 +++++++++++ collated/test/shanmu9898.md | 426 +++++ .../address/ui/AppointmentListPanel.java | 3 +- .../java/seedu/address/ui/TaskListPanel.java | 3 +- src/main/resources/view/DogeTheme.css | 4 +- src/main/resources/view/GalaxyTheme.css | 2 +- src/main/resources/view/LightTheme.css | 4 +- .../logic/commands/ListCommandTest.java | 27 +- .../address/model/event/EventTimeTest.java | 1 + .../seedu/address/model/event/TitleTest.java | 5 +- .../storage/XmlAdaptedAppointmentTest.java | 4 +- .../seedu/address/ui/AppointmentCardTest.java | 6 +- .../java/seedu/address/ui/TaskCardTest.java | 3 +- 19 files changed, 4620 insertions(+), 29 deletions(-) create mode 100644 Collate-TUI.jar create mode 100644 collated/functional/Sisyphus25-reused.md create mode 100644 collated/functional/Sisyphus25.md create mode 100644 collated/functional/randypx.md create mode 100644 collated/functional/shanmu9898.md create mode 100644 collated/test/Sisyphus25-reused.md create mode 100644 collated/test/Sisyphus25.md create mode 100644 collated/test/shanmu9898.md diff --git a/Collate-TUI.jar b/Collate-TUI.jar new file mode 100644 index 0000000000000000000000000000000000000000..2b9e032106dd42fd095cb61714896770b7b14eaa GIT binary patch literal 48896 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 literal 0 HcmV?d00001 diff --git a/collated/functional/Sisyphus25-reused.md b/collated/functional/Sisyphus25-reused.md new file mode 100644 index 000000000000..d4610b4d870b --- /dev/null +++ b/collated/functional/Sisyphus25-reused.md @@ -0,0 +1,1411 @@ +# Sisyphus25-reused +###### \java\seedu\address\model\tag\Tag.java +``` java + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + private static final String[] TAG_COLOR_STYLES = {"teal", "red", "yellow", "blue", "orange", "brown", + "green", "pink", "black", "grey"}; +``` +###### \java\seedu\address\model\tag\Tag.java +``` java + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * Returns a color style for {@code tagName} + */ + private String getTagColorStyle(String tagName) { + // we use the hash code of the tag name to generate a random color, so that the color remain consistent + // between different runs of the program while still making it random enough between tags. + return TAG_COLOR_STYLES[Math.abs(tagName.hashCode()) % TAG_COLOR_STYLES.length]; + } + + +} +``` +###### \java\seedu\address\ui\AppointmentListPanel.java +``` java +//Reuse from PersonListPanel class with modification +/** + * Panel containing the list of appointments. + */ +public class AppointmentListPanel extends UiPart { + private static final String FXML = "AppointmentListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(AppointmentListPanel.class); + + @FXML + private ListView appointmentListView; + + public AppointmentListPanel(ObservableList appointmentList) { + super(FXML); + setConnections(appointmentList); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList appointmentList) { + ObservableList mappedList = EasyBind.map(appointmentList, (appointment) -> + new AppointmentCard(appointment, appointmentList.indexOf(appointment) + 1)); + appointmentListView.setItems(mappedList); + appointmentListView.setCellFactory(listView -> new AppointmentListViewCell()); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code AppointmentCard}. + */ + class AppointmentListViewCell extends ListCell { + + @Override + protected void updateItem(AppointmentCard appointment, boolean empty) { + super.updateItem(appointment, empty); + + if (empty || appointment == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(appointment.getRoot()); + } + } + } + +} +``` +###### \java\seedu\address\ui\CalendarPanel.java +``` java + //Reused from https://github.com/CS2103AUG2017-T17-B2/main with modifications + private void setTime() { + calendarView.setToday(LocalDate.now()); + calendarView.setTime(LocalTime.now()); + } + + @Subscribe + private void handleToggleCalendarViewEvent(ToggleCalendarViewEvent event) { + Character c = event.viewMode; + Platform.runLater(() -> toggleView(c)); + } + + public CalendarView getRoot() { + return this.calendarView; + } + + /** + * Remove clutter from interface + */ + private void disableViews() { + calendarView.setShowAddCalendarButton(false); + calendarView.setShowSearchField(false); + calendarView.setShowSearchResultsTray(false); + calendarView.setShowPrintButton(false); + calendarView.setShowPageSwitcher(false); + calendarView.setShowSourceTrayButton(false); + calendarView.setShowPageToolBarControls(false); + calendarView.setShowToolBar(false); + calendarView.setShowSourceTray(false); + + calendarView.showDayPage(); + } + + /** + * Changes calendar view accordingly + */ + private void toggleView(Character c) { + switch(c) { + case ('d'): + calendarView.showDayPage(); + return; + case ('w'): + calendarView.showWeekPage(); + return; + case ('m'): + calendarView.showMonthPage(); + return; + default: + //should not reach here + assert (false); + } + } +``` +###### \java\seedu\address\ui\PersonCard.java +``` java + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * Returns the color style for {@code tagName}'s label. + */ + private void initTags(Person person) { + person.getTags().forEach(tag -> { + Label tagLabel = new Label(tag.tagName); + tagLabel.getStyleClass().add(tag.tagColorStyle); + tags.getChildren().add(tagLabel); + }); + } + +``` +###### \java\seedu\address\ui\TaskListPanel.java +``` java +//Reuse from PersonListPanel class with modification +/** + * Panel containing the list of tasks. + */ +public class TaskListPanel extends UiPart { + private static final String FXML = "TaskListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(TaskListPanel.class); + + @FXML + private ListView taskListView; + + public TaskListPanel(ObservableList taskList) { + super(FXML); + setConnections(taskList); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList taskList) { + ObservableList mappedList = EasyBind.map(taskList, (task) -> + new TaskCard(task, taskList.indexOf(task) + 1)); + taskListView.setItems(mappedList); + taskListView.setCellFactory(listView -> new TaskListViewCell()); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code TaskCard}. + */ + class TaskListViewCell extends ListCell { + + @Override + protected void updateItem(TaskCard task, boolean empty) { + super.updateItem(task, empty); + + if (empty || task == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(task.getRoot()); + } + } + } + +} +``` +###### \resources\view\DogeTheme.css +``` css +Reused from DarkTheme.css with modifications */ + +.root { + -fx-background-image: url("../images/doge.jpg"); + -fx-background-repeat: repeat; + -fx-background-position: center center; + -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.app-title { + -fx-text-fill: white; + -fx-font-family: "Franklin Gothic Heavy"; + -fx-font-size: 40px; +} + +.app-title .text { + -fx-stroke: black; + -fx-stroke-width: 1px; +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: transparent; + -fx-background-color: transparent; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35px; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: black; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: transparent; + -fx-border-color: transparent transparent transparent #635615; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: transparent; +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: transparent; + +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent +} + +.list-cell:filled:even { + -fx-background-color: #efdc7f; +} + +.list-cell:filled:odd { + -fx-background-color: #efdc7f; +} + +.list-cell:filled:selected { + -fx-background-color: #efdc7f; +} + +.list-cell:filled:selected #cardPane { + -fx-border-color: #c1b05b; + -fx-border-width: 1; + +} + +.list-cell .label { + -fx-text-fill: black; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 16px; + -fx-text-fill: #efdc7f; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #efdc7f; +} + +.anchor-pane { + -fx-background-color: transparent; +} + +.pane-with-border { + -fx-background-color: transparent; + -fx-border-color: derive(#efdc7f, 10%); + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: transparent; + -fx-text-fill: white; +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +.result-display .label { + -fx-text-fill: transparent !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI"; + -fx-text-fill: black; +} + +.status-bar-with-border { + -fx-background-color: transparent; + -fx-border-color: derive(#efdc7f, 25%); + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: black; +} + +.grid-pane { + -fx-background-color: transparent; + -fx-border-color: derive(#efdc7f, 30%); + -fx-border-width: 1px; +} + +.grid-pane .anchor-pane { + -fx-background-color: transparent; +} + +.calendar-panel .button { + -fx-text-fill: #000000; +} + +.calendar-panel { + -fx-background-color: transparent; + background-color: transparent; +} + +.context-menu { + -fx-background-color: derive(#efdc7f, 50%); +} + +.context-menu .label { + -fx-text-fill: black; +} + +.menu-bar { + -fx-background-color: transparent; +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI"; + -fx-text-fill: black; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: transparent; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: black; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#efdc7f, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: black; + -fx-text-fill: black; +} + +.scroll-bar { + -fx-background-color: derive(#efdc7f, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + +} + +.scroll-bar .thumb { + -fx-background-color: derive(#635615, 20%); + +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-rotate: 0; + +} + +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 10pt; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: #efdc7f; + -fx-background-insets: 0; + -fx-border-color: #efdc7f #efdc7f black #efdc7f ; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); +} + +#resultDisplay { + -fx-background-color: transparent; +} + +#resultDisplay .scroll-pane .viewport{ + -fx-background-color: transparent; +} + +#resultDisplay .content { + -fx-background-color: #efdc7f; + -fx-background-radius: 0; +} +``` +###### \resources\view\GalaxyTheme.css +``` css +reused from DarkTheme.css with modifications */ + +.root { + -fx-background-image: url("../images/galaxy.jpg"); + -fx-background-size: cover; + -fx-background-position: center center; + -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.app-title { + -fx-text-fill: white; + -fx-font-family: "Franklin Gothic Heavy"; + -fx-font-size: 40px; +} + +.app-title .text { + -fx-stroke: black; + -fx-stroke-width: 1px; +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: transparent; + -fx-background-color: transparent; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35px; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: black; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: transparent; + -fx-border-color: transparent; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: transparent; +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: transparent; + +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent +} + +.list-cell:filled:even { + -fx-background-color: #edf2f9; +} + +.list-cell:filled:odd { + -fx-background-color: #edf2f9; +} + +.list-cell:filled:selected { + -fx-background-color: #c0c5f9; +} + +.list-cell .label { + -fx-text-fill: black; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 16px; + -fx-text-fill: #edf2f9; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #edf2f9; +} + +.anchor-pane { + -fx-background-color: transparent; +} + +.pane-with-border { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: transparent; + -fx-text-fill: white; +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +.result-display .label { + -fx-text-fill: transparent !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI"; + -fx-text-fill: #edf2f9; +} + +.status-bar-with-border { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: black; +} + +.grid-pane { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-border-width: 1px; +} + +.grid-pane .anchor-pane { + -fx-background-color: transparent; +} + +.calendar-panel .button { + -fx-text-fill: #000000; +} + +.calendar-panel { + -fx-background-color: transparent; + background-color: transparent; +} + +.context-menu { + -fx-background-color: derive(#070f60, 50%); +} + +.context-menu .label { + -fx-text-fill: #edf2f9; +} + +.menu-bar { + -fx-background-color: transparent; +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI"; + -fx-text-fill: #edf2f9; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: transparent; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: black; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#edf2f9, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: black; + -fx-text-fill: black; +} + +.scroll-bar { + -fx-background-color: derive(#edf2f9, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + +} + +.scroll-bar .thumb { + -fx-background-color: derive(#070f60, 20%); + +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-rotate: 0; + +} + +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 10pt; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: #edf2f9; + -fx-background-insets: 0; + -fx-border-color: #edf2f9 #edf2f9 black #edf2f9 ; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); +} + +#resultDisplay { + -fx-background-color: transparent; +} + +#resultDisplay .scroll-pane .viewport{ + -fx-background-color: transparent; +} + +#resultDisplay .content { + -fx-background-color: #edf2f9; + -fx-background-radius: 0; +} +``` +###### \resources\view\LightTheme.css +``` css +Feused from DarkTheme.css with modifications */ + +.background { + -fx-background-color: #ffffff; + background-color: #ffffff; /* Used in the default.html file */ +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.app-title { + -fx-text-fill: brown; + -fx-font-family: "Franklin Gothic Medium"; + -fx-font-weight: bold; + -fx-font-size: 36px +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: #ffffff; + -fx-background-color: #ffffff; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: black; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: derive(#ffffff, 20%); + -fx-border-color: transparent transparent transparent tomato; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: derive(#ffffff, 20%); +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: derive(#ffffff, 20%); + +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent +} + +.list-cell:filled:even { + -fx-background-color: #ffd0d0; +} + +.list-cell:filled:odd { + -fx-background-color: #ffd0d0; +} + +.list-cell:filled:selected { + -fx-background-color: #ffc2c2; +} + +.list-cell:filled:selected #cardPane { + -fx-border-color: #ffc2c2; + -fx-border-width: 1; +} + +.list-cell .label { + -fx-text-fill: brown; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 16px; + -fx-text-fill: #ffd0d0; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #ffd0d0; +} + +.anchor-pane { + -fx-background-color: derive(#ffffff, 20%); +} + +.pane-with-border { + -fx-background-color: derive(#ffffff, 20%); + -fx-border-color: transparent; + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: derive(#ffd0d0, 20%); + -fx-text-fill: white; +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: brown; +} + +.result-display .label { + -fx-text-fill: white !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: brown; +} + +.status-bar-with-border { + -fx-background-color: derive(#ffd0d0, 30%); + -fx-border-color: derive(#ffd0d0, 25%); + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: brown; +} + +.grid-pane { + -fx-background-color: derive(#ffd0d0, 30%); + -fx-border-color: derive(#ffd0d0, 30%); + -fx-border-width: 1px; +} + +.grid-pane .anchor-pane { + -fx-background-color: derive(#ffd0d0, 30%); +} + +.calendar-panel .button { + -fx-text-fill: #000000; +} + +.calendar-panel { + -fx-background-color: #ffffff; + background-color: #ffffff; +} + +.calendar-panel .content { + -fx-border-color: transparent transparent tomato transparent; +} + +.calendar-panel .header { + -fx-border-color: tomato transparent transparent transparent; +} + +.context-menu { + -fx-background-color: derive(#ffd0d0, 50%); +} + +.context-menu .label { + -fx-text-fill: brown; +} + +.menu-bar { + -fx-background-color: derive(#ffd0d0, 20%); +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: brown; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: brown; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#ffd0d0, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: brown; + -fx-text-fill: brown; +} + +.scroll-bar { + -fx-background-color: derive(#ffd0d0, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + +} + +.scroll-bar .thumb { + -fx-background-color: derive(tomato, 20%); + +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-rotate: 0; + +} + +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 10pt; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: transparent #ffd0d0 transparent #ffd0d0; + -fx-background-insets: 0; + -fx-border-color: #ffd0d0 #ffd0d0 brown #ffd0d0 ; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: brown; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, brown, 10, 0, 0, 0); +} + +#resultDisplay .content { + -fx-background-color: transparent, #ffffff, transparent, #ffffff; + -fx-background-radius: 0; + -fx-border-color: #ffd0d0; +} +``` +###### \resources\view\TagColour.css +``` css +Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + */ +#tags .teal { + -fx-text-fill: white; + -fx-background-color: #3e7b91; +} + +#tags .red { + -fx-text-fill: black; + -fx-background-color: red; +} + +#tags .yellow { + -fx-background-color: yellow; + -fx-text-fill: black; +} + +#tags .blue { + -fx-text-fill: white; + -fx-background-color: blue; +} + +#tags .orange { + -fx-text-fill: black; + -fx-background-color: orange; +} + +#tags .brown { + -fx-text-fill: white; + -fx-background-color: brown; +} + +#tags .green { + -fx-text-fill: black; + -fx-background-color: green; +} + +#tags .pink { + -fx-text-fill: black; + -fx-background-color: pink; +} + +#tags .black { + -fx-text-fill: white; + -fx-background-color: black; +} + +#tags .grey { + -fx-text-fill: black; + -fx-background-color: grey; +} +``` diff --git a/collated/functional/Sisyphus25.md b/collated/functional/Sisyphus25.md new file mode 100644 index 000000000000..21be558ba4d2 --- /dev/null +++ b/collated/functional/Sisyphus25.md @@ -0,0 +1,1219 @@ +# Sisyphus25 +###### \java\seedu\address\commons\events\model\AppointmentListChangedEvent.java +``` java +/** + * Indicates the appointment list has changed + */ +public class AppointmentListChangedEvent extends BaseEvent { + public final ObservableList appointmentList; + + public AppointmentListChangedEvent(ObservableList appointmentList) { + this.appointmentList = appointmentList; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} +``` +###### \java\seedu\address\commons\events\ui\ThemeChangeEvent.java +``` java +/** + * Indicates a request to change them + */ +public class ThemeChangeEvent extends BaseEvent { + public final String theme; + + public ThemeChangeEvent(String theme) { + this.theme = theme; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} +``` +###### \java\seedu\address\commons\events\ui\ToggleCalendarViewEvent.java +``` java +/** + * Indicates a request to toggle Calendar view mode + */ +public class ToggleCalendarViewEvent extends BaseEvent { + public final Character viewMode; + + public ToggleCalendarViewEvent(Character viewMode) { + this.viewMode = viewMode; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} +``` +###### \java\seedu\address\commons\events\ui\ToggleListEvent.java +``` java + +import seedu.address.commons.events.BaseEvent; + +/** + * Indicates a request to toggle List + */ +public class ToggleListEvent extends BaseEvent { + public final String list; + + public ToggleListEvent(String list) { + this.list = list; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} +``` +###### \java\seedu\address\logic\commands\ChangeThemeCommand.java +``` java +/** + * Change theme of the GUI. + */ +public class ChangeThemeCommand extends Command { + public static final String COMMAND_WORD = "theme"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Change the theme of TeachConnect.\n" + + "Parameters: THEME\n" + + "Example: " + COMMAND_WORD + " dark"; + + public static final String MESSAGE_CHANGE_THEME_SUCCESS = "Theme changed"; + + public static final String MESSAGE_INVALID_THEME = "Not a valid theme"; + + private final String theme; + + public ChangeThemeCommand(String theme) { + requireNonNull(theme); + this.theme = theme; + } + + @Override + public CommandResult execute() throws CommandException { + EventsCenter.getInstance().post(new ThemeChangeEvent(theme)); + return new CommandResult(MESSAGE_CHANGE_THEME_SUCCESS); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ChangeThemeCommand // instanceof handles nulls + && this.theme.equals(((ChangeThemeCommand) other).theme)); // state check + } +} +``` +###### \java\seedu\address\logic\commands\ListCommand.java +``` java + @Override + public CommandResult execute() throws CommandException { + switch (type) { + case TYPE_CONTACT: + evokeToggleListEvent(TYPE_CONTACT); + model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + return new CommandResult(MESSAGE_SUCCESS + TYPE_CONTACT); + + case TYPE_STUDENT: + evokeToggleListEvent(TYPE_CONTACT); + model.updateFilteredPersonList(PREDICATE_SHOW_ONLY_STUDENTS); + return new CommandResult(MESSAGE_SUCCESS + TYPE_STUDENT); + + case TYPE_APPOINTMENT: + evokeToggleListEvent(TYPE_APPOINTMENT); + return new CommandResult(MESSAGE_SUCCESS + TYPE_APPOINTMENT); + + case TYPE_TASK: + evokeToggleListEvent(TYPE_TASK); + return new CommandResult(MESSAGE_SUCCESS + TYPE_TASK); + + default: + throw new CommandException(MESSAGE_INVALID_TYPE); + } + } + + private void evokeToggleListEvent(String type) { + model.changeCurrentActiveListType(type); + EventsCenter.getInstance().post(new ToggleListEvent(type)); + } + +``` +###### \java\seedu\address\logic\commands\RemoveCommand.java +``` java +/** + * Remove an appointment or task identified using its last displayed index from the address book. + */ +public class RemoveCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "remove"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Removes the event identified by the index number used in the last event listing.\n" + + "Parameters: " + + " EVENT_TYPE (could be appointment or task)" + + "INDEX (must be a positive integer)\n" + + "Example: " + COMMAND_WORD + " appointment " + " 1"; + + public static final String MESSAGE_DELETE_EVENT_SUCCESS = "Removed %1$s: %2$s"; + + private final Index targetIndex; + + private String eventTypeOfDeletedTarget; + + private Object eventToBeDeleted; + + public RemoveCommand(Index targetIndex, String eventTypeOfDeletedTarget) { + this.eventTypeOfDeletedTarget = eventTypeOfDeletedTarget; + this.targetIndex = targetIndex; + } + + @Override + public CommandResult executeUndoableCommand() { + requireNonNull(eventToBeDeleted); + try { + if (eventTypeOfDeletedTarget.equals(LIST_TYPE_APPOINTMENT)) { + model.deleteAppointment((Appointment) eventToBeDeleted); + } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { + model.deleteTask((Task) eventToBeDeleted); + } + } catch (EventNotFoundException ive) { + throw new AssertionError(String.format("The target %s cannot be missing", eventTypeOfDeletedTarget)); + } + return new CommandResult( + String.format(MESSAGE_DELETE_EVENT_SUCCESS, eventTypeOfDeletedTarget, eventToBeDeleted)); + } + + @Override + protected void preprocessUndoableCommand() throws CommandException { + if (eventTypeOfDeletedTarget.equals(LIST_TYPE_APPOINTMENT)) { + List lastShownList = model.getFilteredAppointmentList(); + if (targetIndex.getZeroBased() >= lastShownList.size()) { + throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + } + eventToBeDeleted = lastShownList.get(targetIndex.getZeroBased()); + } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { + List lastShownList = model.getFilteredTaskList(); + if (targetIndex.getZeroBased() >= lastShownList.size()) { + throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + } + eventToBeDeleted = lastShownList.get(targetIndex.getZeroBased()); + } + + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof RemoveCommand // instanceof handles nulls + && this.targetIndex.equals(((RemoveCommand) other).targetIndex) // state check + && Objects.equals(this.eventToBeDeleted, ((RemoveCommand) other).eventToBeDeleted)); + } +} +``` +###### \java\seedu\address\logic\commands\SetAppointmentCommand.java +``` java +/** + * Adds an appointment with the person at {@code index} in the person list to the address book. + */ +public class SetAppointmentCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "set_appointment"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Adds an appoinment to the address book.\n" + + "Parameters: " + + PREFIX_TITLE + "TITLE " + + PREFIX_START_TIME + "START-DATE START-TIME " + + PREFIX_END_TIME + "END-DATE END-TIME " + + PREFIX_PERSON_TO_MEET_INDEX + "PERSON TO MEET\n" + + "Example: " + COMMAND_WORD + " " + + PREFIX_TITLE + "Meet James " + + PREFIX_START_TIME + "20/05/2018 10:00 " + + PREFIX_END_TIME + "20/05/2018 12:00 " + + PREFIX_PERSON_TO_MEET_INDEX + "3 "; + + public static final String MESSAGE_SUCCESS = "New appointment added: %1$s"; + public static final String MESSAGE_DUPLICATE_APPOINTMENT = "This appointment already exists in the address book"; + + private final Appointment baseAppointmentWithoutPerson; + private final Index index; + + private PersonToMeet personToMeet; + + /** + * Creates a SetAppointmentCommand without any PersonToMeet + */ + public SetAppointmentCommand(Appointment baseAppointmentWithoutPerson) { + this(baseAppointmentWithoutPerson, null); + } + + /** + * Creates a SetAppointmentCommand to add the specified {@code Appointment} + */ + public SetAppointmentCommand(Appointment baseAppointmentWithoutPerson, Index index) { + requireNonNull(baseAppointmentWithoutPerson); + this.baseAppointmentWithoutPerson = baseAppointmentWithoutPerson; + this.index = index; + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + requireNonNull(model); + try { + Appointment toAdd; + if (personToMeet != null) { + toAdd = new Appointment(baseAppointmentWithoutPerson.getTitle(), baseAppointmentWithoutPerson.getTime(), + baseAppointmentWithoutPerson.getEndTime(), personToMeet); + } else { + toAdd = baseAppointmentWithoutPerson; + } + model.addAppointment(toAdd); + return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); + } catch (DuplicateEventException e) { + throw new CommandException(MESSAGE_DUPLICATE_APPOINTMENT); + } + + } + + @Override + protected void preprocessUndoableCommand() throws CommandException { + if (index != null) { + List lastShownList = model.getFilteredPersonList(); + + if (index.getZeroBased() >= lastShownList.size()) { + throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + } + + Person person = lastShownList.get(index.getZeroBased()); + personToMeet = new PersonToMeet(person.getName().fullName, person.getEmail().value); + } + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof SetAppointmentCommand // instanceof handles nulls + && baseAppointmentWithoutPerson.equals(((SetAppointmentCommand) other).baseAppointmentWithoutPerson)); + } +} +``` +###### \java\seedu\address\logic\commands\SetTaskCommand.java +``` java +/** + * Adds a task to the address book. + */ +public class SetTaskCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "set_task"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a task to the address book.\n" + + "Parameters: " + + PREFIX_TITLE + "TITLE " + + PREFIX_END_TIME + "DATE TIME\n" + + "Example: " + COMMAND_WORD + " " + + PREFIX_TITLE + "Mark papers " + + PREFIX_END_TIME + "20/05/2018 12:00 "; + + public static final String MESSAGE_SUCCESS = "New task added: %1$s"; + public static final String MESSAGE_DUPLICATE_TASK = "This task already exists in the address book"; + + private final Task toAdd; + + /** + * Creates a SetTaskCommand to add the specified {@code Task} + */ + public SetTaskCommand(Task task) { + requireNonNull(task); + toAdd = task; + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + requireNonNull(model); + try { + model.addTask(toAdd); + return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); + } catch (DuplicateEventException e) { + throw new CommandException(MESSAGE_DUPLICATE_TASK); + } + + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof SetTaskCommand // instanceof handles nulls + && toAdd.equals(((SetTaskCommand) other).toAdd)); + } +} +``` +###### \java\seedu\address\logic\commands\ToggleCalendarViewCommand.java +``` java +/** + * Command to change calendar view + */ +public class ToggleCalendarViewCommand extends Command { + + public static final String COMMAND_WORD = "calendar"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Toggles calendar view. \n" + + "Parameter: VIEW_MODE\n" + + "View mode: Day view: d, Week view: w, Month view: m\n" + + "Example: " + COMMAND_WORD + " d"; + + public static final String MESSAGE_VIEW_TOGGLE_SUCCESS = "View changed."; + + private Character viewMode; + + public ToggleCalendarViewCommand(Character viewMode) { + requireNonNull(viewMode); + this.viewMode = viewMode; + } + @Override + public CommandResult execute() throws CommandException { + EventsCenter.getInstance().post(new ToggleCalendarViewEvent(viewMode)); + return new CommandResult(MESSAGE_VIEW_TOGGLE_SUCCESS); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ToggleCalendarViewCommand // instanceof handles nulls + && this.viewMode == ((ToggleCalendarViewCommand) other).viewMode); // state check + } +} +``` +###### \java\seedu\address\logic\parser\ChangeThemeCommandParser.java +``` java +/** + * Parses input arguments and creates a new ChangeThemeCommand object + */ +public class ChangeThemeCommandParser implements Parser { + /** + * Parses the given {@code viewMode} of arguments in the context of the ChangeThemeCommandParser + * and returns an ChangeThemeCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ChangeThemeCommand parse(String args) throws ParseException { + String theme = args.trim(); + if (!isValidTheme(theme)) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ChangeThemeCommand.MESSAGE_INVALID_THEME)); + } + return new ChangeThemeCommand(theme); + } + + /** + * + * @param theme + * @return whether if {@code theme} is a valid theme name + */ + private boolean isValidTheme(String theme) { + return !theme.isEmpty() && Arrays.asList(THEME_LIST).contains(theme); + } +} +``` +###### \java\seedu\address\logic\parser\ListCommandParser.java +``` java +/** + * Parser for ListCommand + */ +public class ListCommandParser implements Parser { + /** + * Parses the given {@code args} of arguments in the context of the ListCommandParser + * and returns an ListCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ListCommand parse(String args) throws ParseException { + String item = args.trim(); + if (!isValidItem(item)) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ListCommand.MESSAGE_USAGE)); + } + return new ListCommand(item); + } + + /** + * @param str + * @return whether if the string is a valid view mode or not + */ + private boolean isValidItem(String str) { + switch (str) { + case(ListCommand.TYPE_CONTACT): + case(ListCommand.TYPE_STUDENT): + case(ListCommand.TYPE_APPOINTMENT): + case(ListCommand.TYPE_TASK): + return true; + default: + return false; + } + } +} +``` +###### \java\seedu\address\logic\parser\ParserUtil.java +``` java + /** + * Parses a {@code Optional title} into an {@code Optional} if {@code title} is present. + * See header comment of this class regarding the use of {@code Optional} parameters. + */ + public static Optional<Title> parseTitle(Optional<String> title) throws IllegalValueException { + requireNonNull(title); + return title.isPresent() ? Optional.of(parseTitle(title.get())) : Optional.empty(); + } + + /** + * Parses a {@code String title} into a {@code Title}. + * Leading and trailing whitespaces will be trimmed. + * + * @throws IllegalValueException if the given {@code title} is invalid. + */ + public static Title parseTitle(String title) throws IllegalValueException { + requireNonNull(title); + String trimmedTitle = title.trim(); + if (!Title.isValidTitle(trimmedTitle)) { + throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); + } + return new Title(trimmedTitle); + } + + /** + * Parses a {@code Optional<String> eventTime} into an {@code Optional<EventTime>} if {@code eventTime} is present. + * See header comment of this class regarding the use of {@code Optional} parameters. + */ + public static Optional<EventTime> parseEventTime(Optional<String> eventTime) throws IllegalArgumentException { + requireNonNull(eventTime); + return eventTime.isPresent() ? Optional.of(parseEventTime(eventTime.get())) : Optional.empty(); + } + + /** + * Parses a {@code String eventTime} into a {@code EventTime}. + * Leading and trailing whitespaces will be trimmed. + */ + public static EventTime parseEventTime(String eventTime) throws IllegalArgumentException { + requireNonNull(eventTime); + String trimmedEventTime = eventTime.trim(); + return new EventTime(trimmedEventTime); + } + + /** + * Parses a {@code String tag} into a {@code Tag}. + * Leading and trailing whitespaces will be trimmed. + * + * @throws IllegalValueException if the given {@code tag} is invalid. + */ + public static Tag parseTag(String tag) throws IllegalValueException { + requireNonNull(tag); + String trimmedTag = tag.trim(); + if (!Tag.isValidTagName(trimmedTag)) { + throw new IllegalValueException(Tag.MESSAGE_TAG_NAME_CONSTRAINTS); + } + return new Tag(trimmedTag); + } + + /** + * Parses {@code Collection<String> tags} into a {@code Set<Tag>}. + */ + public static Set<Tag> parseTags(Collection<String> tags) throws IllegalValueException { + requireNonNull(tags); + final Set<Tag> tagSet = new HashSet<>(); + for (String tagName : tags) { + tagSet.add(parseTag(tagName)); + } + return tagSet; + } +} +``` +###### \java\seedu\address\logic\parser\RemoveCommandParser.java +``` java +/** + * Parses input arguments and creates a new RemoveCommand object + */ +public class RemoveCommandParser implements Parser<RemoveCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the RemoveCommand + * and returns an RemoveCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public RemoveCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + String[] parameterGetterArray = trimmedArgs.split(" "); + if (trimmedArgs.isEmpty() || parameterGetterArray.length != 2) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + } + try { + if (!isValidEventType(parameterGetterArray[0])) { + throw new IllegalValueException("Invalid event type"); + } + Index index = ParserUtil.parseIndex(parameterGetterArray[1]); + return new RemoveCommand(index, parameterGetterArray[0]); + } catch (IllegalValueException ive) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + } + } + + private boolean isValidEventType(String type) { + return type.equals("appointment") || type.equals("task"); + } +} + + + +``` +###### \java\seedu\address\logic\parser\ToggleCalendarViewParser.java +``` java +/** + * Parser for ToggleCalendarViewCommand + */ +public class ToggleCalendarViewParser implements Parser<ToggleCalendarViewCommand> { + /** + * Parses the given {@code viewMode} of arguments in the context of the ToggleCalendarViewParser + * and returns an ToggleCalendarViewCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ToggleCalendarViewCommand parse(String args) throws ParseException { + String viewMode = args.trim(); + if (viewMode.isEmpty() || !isValidViewMode(viewMode)) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ToggleCalendarViewCommand.MESSAGE_USAGE)); + } + return new ToggleCalendarViewCommand(viewMode.charAt(0)); + } + + /** + * + * @param str + * @return whether if the string is a valid view mode or not + */ + private boolean isValidViewMode(String str) { + if (str.length() != 1) { + return false; + } + switch (str.charAt(0)) { + case('w'): + case('d'): + case('m'): + return true; + default: + return false; + } + } +} +``` +###### \java\seedu\address\model\AddressBook.java +``` java + //event operations + /** + * Adds an appointment to the address book. + * + * @throws DuplicateEventException if an equivalent appointment already exists. + */ + public void addAppointment(Appointment e) throws DuplicateEventException { + appointments.add(e); + } + + /** + * Removes {@code key} from this {@code AddressBook}. + * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + */ + public boolean removeAppointment(Appointment key) throws EventNotFoundException { + if (appointments.remove(key)) { + return true; + } else { + throw new EventNotFoundException(); + } + } + + /** + * Adds a task to the address book. + * + * @throws DuplicateEventException if an equivalent appointment already exists. + */ + public void addTask(Task e) throws DuplicateEventException { + tasks.add(e); + } + + /** + * Removes {@code key} from this {@code AddressBook}. + * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + */ + public boolean removeTask(Task key) throws EventNotFoundException { + if (tasks.remove(key)) { + return true; + } else { + throw new EventNotFoundException(); + } + } +} +``` +###### \java\seedu\address\model\event\Appointment.java +``` java +/** + * Represent an appointment in the schedule, contains time of the appointment as well as details and personMeet. + */ +public class Appointment { + public static final String MESSAGE_TIME_PERIOD_CONSTRAINTS = "The end time should be after the start time"; + + private final Title title; + private final EventTime time; + private final EventTime endTime; + private final PersonToMeet personToMeet; + + //Every field must be present and not null + public Appointment(Title title, EventTime startTime, EventTime endTime) { + this(title, startTime, endTime, null); + } + + //Every field except personToMeet must be present and not null + public Appointment(Title title, EventTime startTime, EventTime endTime, PersonToMeet personToMeet) { + requireAllNonNull(title, startTime, endTime); + checkArgument(isValidTime(startTime, endTime), MESSAGE_TIME_PERIOD_CONSTRAINTS); + this.title = title; + this.time = startTime; + this.endTime = endTime; + this.personToMeet = personToMeet; + } + + public Title getTitle() { + return title; + } + + public EventTime getTime() { + return time; + } + + public EventTime getEndTime() { + return endTime; + } + + public PersonToMeet getPersonToMeet() { + return personToMeet; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof Appointment)) { + return false; + } + + Appointment otherAppointment = (Appointment) other; + return otherAppointment.getTitle().equals(this.getTitle()) + && otherAppointment.getTime().equals(this.getTime()) + && otherAppointment.getEndTime().equals(this.getEndTime()); + } + + @Override + public String toString() { + final StringBuilder builder = new StringBuilder(); + builder.append(getTitle()) + .append(", Start Time: ") + .append(getTime().toString()) + .append(", End Time: ") + .append(getEndTime().toString()); + if (personToMeet != null) { + builder.append(", With: ") + .append(personToMeet.getName()); + } + return builder.toString(); + } + + /** + * Returns true if the given time is valid + */ + public static boolean isValidTime(EventTime startTime, EventTime endTime) { + return endTime.value.after(startTime.value); + } +} +``` +###### \java\seedu\address\model\event\Task.java +``` java +/** + * Represent a Task in the schedule, contains deadline as well as the title + */ +public class Task { + private Title title; + private EventTime time; + + //Every field must be present and not null + public Task(Title title, EventTime deadline) { + requireAllNonNull(title, deadline); + this.title = title; + this.time = deadline; + } + + public Title getTitle() { + return title; + } + + public EventTime getTime() { + return time; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof Task)) { + return false; + } + + Task otherTask = (Task) other; + return otherTask.getTitle().equals(this.getTitle()) + && otherTask.getTime().equals(this.getTime()); + } + + @Override + public String toString() { + return title + ", Deadline: " + time; + } +} +``` +###### \java\seedu\address\storage\XmlAdaptedAppointment.java +``` java +/** + * JAXB-friendly version of the Person. + */ +public class XmlAdaptedAppointment { + + public static final String MISSING_FIELD_MESSAGE_FORMAT = "Appointment's %s field is missing!"; + + @XmlElement(required = true) + private String title; + @XmlElement(required = true) + private String startTime; + @XmlElement(required = true) + private String endTime; + @XmlElement(required = true) + private String personToMeet; + + /** + * Constructs an XmlAdaptedAppointment. + * This is the no-arg constructor that is required by JAXB. + */ + public XmlAdaptedAppointment() {} + + public XmlAdaptedAppointment(String title, String startTime, String endTime) { + this(title, startTime, endTime, null); + } + + /** + * Constructs an {@code XmlAdaptedAppointment} with the given appointment details. + */ + public XmlAdaptedAppointment(String title, String startTime, String endTime, String personToMeet) { + this.title = title; + this.startTime = startTime; + this.endTime = endTime; + if (personToMeet != null) { + this.personToMeet = personToMeet; + } + } + + /** + * Converts a given Appointment into this class for JAXB use. + * + * @param source future changes to this will not affect the created XmlAdaptedAppointment + */ + public XmlAdaptedAppointment(Appointment source) { + title = source.getTitle().toString(); + startTime = source.getTime().toString(); + endTime = source.getEndTime().toString(); + if (source.getPersonToMeet() != null) { + personToMeet = source.getPersonToMeet().toString(); + } + } + + /** + * Converts this jaxb-friendly adapted person object into the model's Appointment object. + * + * @throws IllegalValueException if there were any data constraints violated in the adapted appointment + */ + public Appointment toModelType() throws IllegalValueException { + if (this.title == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName())); + } + if (!Title.isValidTitle(this.title)) { + throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); + } + final Title title = new Title(this.title); + + if (this.startTime == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "Start Time")); + } + if (this.endTime == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "End Time")); + } + + final EventTime startTime = new EventTime(this.startTime); + final EventTime endTime = new EventTime(this.endTime); + + if (!Appointment.isValidTime(startTime, endTime)) { + throw new IllegalValueException(Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS); + } + + if (this.personToMeet != null) { + String[] components = this.personToMeet.split(EMAIL_SPLITTER); + PersonToMeet personToMeet = new PersonToMeet(components[0], components[1]); + return new Appointment(title, startTime, endTime, personToMeet); + } + + return new Appointment(title, startTime, endTime); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof XmlAdaptedAppointment)) { + return false; + } + + XmlAdaptedAppointment otherAppointment = (XmlAdaptedAppointment) other; + return Objects.equals(title, otherAppointment.title) + && Objects.equals(startTime, otherAppointment.startTime) + && Objects.equals(endTime, otherAppointment.endTime) + && Objects.equals(personToMeet, otherAppointment.personToMeet); + } +} +``` +###### \java\seedu\address\storage\XmlAdaptedTask.java +``` java +/** + * JAXB-friendly version of the Person. + */ +public class XmlAdaptedTask { + + public static final String MISSING_FIELD_MESSAGE_FORMAT = "Task's %s field is missing!"; + + @XmlElement(required = true) + private String title; + @XmlElement(required = true) + private String time; + + /** + * Constructs an XmlAdaptedTask. + * This is the no-arg constructor that is required by JAXB. + */ + public XmlAdaptedTask() {} + + /** + * Constructs an {@code XmlAdaptedTask} with the given task details. + */ + public XmlAdaptedTask(String title, String time) { + this.title = title; + this.time = time; + } + + /** + * Converts a given Task into this class for JAXB use. + * + * @param source future changes to this will not affect the created XmlAdaptedTask + */ + public XmlAdaptedTask(Task source) { + title = source.getTitle().toString(); + time = source.getTime().toString(); + } + + /** + * Converts this jaxb-friendly adapted person object into the model's Task object. + * + * @throws IllegalValueException if there were any data constraints violated in the adapted task + */ + public Task toModelType() throws IllegalValueException { + if (this.title == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName())); + } + if (!Title.isValidTitle(this.title)) { + throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); + } + final Title title = new Title(this.title); + + if (this.time == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time")); + } + final EventTime time = new EventTime(this.time); + + return new Task(title, time); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof XmlAdaptedTask)) { + return false; + } + + XmlAdaptedTask otherTask = (XmlAdaptedTask) other; + return Objects.equals(title, otherTask.title) + && Objects.equals(time, otherTask.time); + } +} +``` +###### \java\seedu\address\ui\AppointmentCard.java +``` java +/** + * An UI component that displays information of a {@code Appointment}. + */ +public class AppointmentCard extends UiPart<Region> { + + private static final String FXML = "AppointmentListCard.fxml"; + private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; + private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + + public final Appointment appointment; + + @FXML + private HBox cardPane; + @FXML + private Label title; + @FXML + private Label id; + @FXML + private Label time; + @FXML + private Label endTime; + @FXML + private Label personToMeet; + + public AppointmentCard(Appointment appointment, int displayedIndex) { + super(FXML); + this.appointment = appointment; + id.setText(displayedIndex + ". "); + title.setText(appointment.getTitle().value); + time.setText("From: " + DATE_FORMATTER.format(appointment.getTime().value.getTime())); + endTime.setText("To: " + DATE_FORMATTER.format(appointment.getEndTime().value.getTime())); + if (appointment.getPersonToMeet() != null) { + personToMeet.setText("With " + appointment.getPersonToMeet().getName()); + } else { + personToMeet.setText(""); + } + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof AppointmentCard)) { + return false; + } + + // state check + AppointmentCard card = (AppointmentCard) other; + return id.getText().equals(card.id.getText()) + && appointment.equals(card.appointment); + } +} +``` +###### \java\seedu\address\ui\CalendarPanel.java +``` java +/** + * The Calendar Panel of the App. + */ +public class CalendarPanel extends UiPart<Region> { + private static final String FXML = "CalendarPanel.fxml"; + + @FXML + private CalendarView calendarView; + private Calendar calendar; + + private ObservableList<Appointment> appointmentList; + + public CalendarPanel(ObservableList<Appointment> appointmentObservableList) { + super(FXML); + this.appointmentList = appointmentObservableList; + + calendarView = new CalendarView(); + CalendarSource calendarSource = new CalendarSource("My Calendar"); + calendar = new Calendar("Appointments"); + + calendarView.setRequestedTime(LocalTime.now()); + calendarView.setToday(LocalDate.now()); + calendarView.setTime(LocalTime.now()); + + calendarView.getCalendarSources().add(calendarSource); + calendarSource.getCalendars().add(calendar); + calendar.setStyle(Calendar.Style.getStyle(0)); + calendar.setLookAheadDuration(Duration.ofDays(365)); + + updateCalendar(); + disableViews(); + registerAsAnEventHandler(this); + } + + /** + * Clear the entry list in the CalendarFX calendar and + * populate it with appointment in the updated appointmentList + */ + private void updateCalendar() { + calendar.clear(); + ArrayList<Entry> entries = getEntries(); + for (Entry entry : entries) { + calendar.addEntry(entry); + } + } + + private ArrayList<Entry> getEntries() { + ArrayList<Entry> entries = new ArrayList<>(); + for (Appointment appointment : appointmentList) { + entries.add(getEntry(appointment)); + } + return entries; + } + + private Entry getEntry(Appointment appointment) { + LocalDateTime ldtstart = LocalDateTime.ofInstant( + appointment.getTime().value.getTime().toInstant(), ZoneId.systemDefault()); + LocalDateTime ldtend = LocalDateTime.ofInstant( + appointment.getEndTime().value.getTime().toInstant(), ZoneId.systemDefault()); + String description = appointment.getTitle().value; + return new Entry(description, new Interval(ldtstart, ldtend)); + } + + @Subscribe + private void handleAppointmentListChangedEvent(AppointmentListChangedEvent event) { + appointmentList = event.appointmentList; + Platform.runLater( + this::updateCalendar + ); + } + + +``` +###### \java\seedu\address\ui\MainWindow.java +``` java + private void setTheme() { + setTheme(DEFAULT_THEME); + } + + private void setTheme(String theme) { + primaryStage.getScene().getStylesheets().add(EXTENSIONS_STYLESHEET); + primaryStage.getScene().getStylesheets().add(TAG_COLOUR_STYLESHEET); + primaryStage.getScene().getStylesheets().add(THEME_LIST.getThemeStyleSheet(theme)); + } + + @Subscribe + private void handleThemeChangeEvent(ThemeChangeEvent event) { + theme = event.theme; + Platform.runLater( + this::changeTheme + ); + } + + private void changeTheme() { + primaryStage.getScene().getStylesheets().clear(); + setTheme(theme); + } +``` +###### \java\seedu\address\ui\TaskCard.java +``` java +/** + * An UI component that displays information of a {@code Task}. + */ +public class TaskCard extends UiPart<Region> { + + private static final String FXML = "TaskListCard.fxml"; + private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; + private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + private static final Calendar CALENDAR = Calendar.getInstance(); + + public final Task task; + + @FXML + private HBox cardPane; + @FXML + private Label title; + @FXML + private Label id; + @FXML + private Label time; + @FXML + private FlowPane tags; + + public TaskCard(Task task, int displayedIndex) { + super(FXML); + this.task = task; + id.setText(displayedIndex + ". "); + title.setText(task.getTitle().value); + time.setText("Finish before: " + DATE_FORMATTER.format(task.getTime().value.getTime())); + if (task.getTime().isExpired()) { + addExpiredTag(); + } + } + + /** + * Add an expired tag to the Task Card + */ + private void addExpiredTag() { + Label expiredTask = new Label("Expired"); + expiredTask.getStyleClass().add("red"); + tags.getChildren().add(expiredTask); + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof TaskCard)) { + return false; + } + + // state check + TaskCard card = (TaskCard) other; + return id.getText().equals(card.id.getText()) + && task.equals(card.task); + } +} +``` +###### \java\seedu\address\ui\ThemeList.java +``` java +/** + * Provide list of themes and respective URL to their CSS stylesheet + */ +public class ThemeList { + private HashMap<String, String> themeList; + + public ThemeList() { + themeList = new HashMap<>(); + themeList.put("dark", "view/DarkTheme.css"); + themeList.put("light", "view/LightTheme.css"); + themeList.put("doge", "view/DogeTheme.css"); + themeList.put("galaxy", "view/GalaxyTheme.css"); + } + + public String getThemeStyleSheet(String theme) { + if (!themeList.containsKey(theme)) { + return themeList.get("light"); + } + return themeList.get(theme); + } +} +``` diff --git a/collated/functional/randypx.md b/collated/functional/randypx.md new file mode 100644 index 000000000000..66a7b40f37b6 --- /dev/null +++ b/collated/functional/randypx.md @@ -0,0 +1,120 @@ +# randypx +###### \java\seedu\address\model\person\UniqueContactList.java +``` java +/** + * A list that is the aggregation of {@code UniquePersonList} and {@code UniqueStudentList} + * and is the list displayed in the GUI. + * This list remains up-to-date by listening to the changes of both lists and is not changed by anything else. + */ +public class UniqueContactList { + private final UniquePersonList persons; + private final UniqueStudentList students; + private final ObservableList<Person> combinedList = FXCollections.observableArrayList(); + + public UniqueContactList(UniquePersonList p, UniqueStudentList s) { + persons = p; + students = s; + persons.addListener(this); + students.addListener(this); + } + + /** + * This method is called when there is a change in eithor {@code UniquePersonList} or {@code UniqueStudentList}. + * @param c this contains the change(s) that has occured. + */ + public void updateList(ListChangeListener.Change<? extends Person> c) { + while (c.next()) { + if (c.wasReplaced()) { + for (int i = 0; i < c.getRemovedSize(); i++) { + int index = combinedList.indexOf(c.getRemoved().get(i)); + combinedList.set(index, c.getAddedSubList().get(i)); + } + if (c.getTo() > c.getRemovedSize()) { + for (int i = c.getRemovedSize(); i < c.getTo(); i++) { + combinedList.add(c.getAddedSubList().get(i)); + } + } + } else if (c.wasRemoved()) { + combinedList.removeAll(c.getRemoved()); + } else if (c.wasAdded()) { + combinedList.addAll(c.getAddedSubList()); + } + } + } + + /** + * Returns the backing list as an unmodifiable {@code ObservableList}. + */ + public ObservableList<Person> asObservableList() { + return FXCollections.unmodifiableObservableList(combinedList); + } + +} +``` +###### \java\seedu\address\model\person\UniquePersonList.java +``` java + /** + * Add a listener to the list for any changes. + * Update {@code contacts} for any changes made. + */ + public void addListener(UniqueContactList contacts) { + internalList.addListener(new ListChangeListener<Person>() { + @Override + public void onChanged(Change<? extends Person> c) { + contacts.updateList(c); + } + }); + } + + @Override + public Iterator<Person> iterator() { + return internalList.iterator(); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof UniquePersonList // instanceof handles nulls + && this.internalList.equals(((UniquePersonList) other).internalList)); + } + + @Override + public int hashCode() { + return internalList.hashCode(); + } + +} +``` +###### \java\seedu\address\model\person\UniqueStudentList.java +``` java + /** + * Add a listener to the list for any changes. + * Update {@code contacts} for any changes made. + */ + public void addListener(UniqueContactList contacts) { + internalList.addListener(new ListChangeListener<Student>() { + @Override + public void onChanged(Change<? extends Student> c) { + contacts.updateList(c); + } + }); + } + + @Override + public Iterator<Student> iterator() { + return internalList.iterator(); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof UniqueStudentList // instanceof handles nulls + && this.internalList.equals(((UniqueStudentList) other).internalList)); + } + + @Override + public int hashCode() { + return internalList.hashCode(); + } +} +``` diff --git a/collated/functional/shanmu9898.md b/collated/functional/shanmu9898.md new file mode 100644 index 000000000000..95bd736d6b51 --- /dev/null +++ b/collated/functional/shanmu9898.md @@ -0,0 +1,379 @@ +# shanmu9898 +###### \java\seedu\address\logic\commands\ExportCommand.java +``` java +/** + * + * Exports people to an XML file of choice based on tag, index or range + */ +public class ExportCommand extends Command { + + public static final String MESSAGE_FAIL = "TeachConnect faced some error while exporting! Please try again!"; + public static final String MESSAGE_OUT_OF_BOUNDS = "Please check the index bounds!"; + public static final String MESSAGE_SUCCESS = "Contacts have been successfully exported!"; + public static final String MESSAGE_RANGE_ERROR = "Please input valid range"; + + public static final String COMMAND_WORD = "export"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": exports contacts to the TeachConnect Book based " + + "on index, range or tag \n" + + "Parameters: " + + " [TYPE] " + + PREFIX_NAME + " NAME " + + PREFIX_RANGE + " RANGE " + + PREFIX_TAG_EXPORT + " TAG " + + PREFIX_PATH + " PATH \n" + + "Example 1: " + COMMAND_WORD + " " + PREFIX_NAME + "Exportfile " + PREFIX_RANGE + "all " + + PREFIX_TAG_EXPORT + " friends " + PREFIX_PATH + "/src/main/data \n" + + "Example 2: " + COMMAND_WORD + " " + PREFIX_NAME + "Exportfile " + PREFIX_RANGE + "1 " + + PREFIX_TAG_EXPORT + " friends " + PREFIX_PATH + "/src/main/data \n" + + "Example 3: " + COMMAND_WORD + " " + PREFIX_NAME + "Exportfile " + PREFIX_RANGE + "1,2 " + + PREFIX_TAG_EXPORT + " friends " + PREFIX_PATH + "/src/main/data"; + + + private Tag tag; + private final String range; + private final String path; + private AddressBook teachConnectBook; + private AddressBookStorage teachConnectStorage; + private final String nameOfExportFile; + + /** + * Creates an ExportCommand to export the specified {@code Persons} + */ + public ExportCommand(String range, Tag tag, String path, String nameOfExportFile) { + requireNonNull(range); + requireNonNull(tag); + requireNonNull(path); + requireNonNull(nameOfExportFile); + + this.range = range; + this.path = path; + this.tag = tag; + this.nameOfExportFile = nameOfExportFile; + + teachConnectBook = new AddressBook(); + } + + @Override + public CommandResult execute() { + String[] rangeGiven; + try { + rangeGiven = handleRange(); + } catch (IOException e) { + return new CommandResult(MESSAGE_RANGE_ERROR); + } + CommandResult handledRangeSituation = null; + try { + handledRangeSituation = handleRangeArray(rangeGiven); + } catch (DuplicatePersonException e) { + return new CommandResult(MESSAGE_FAIL); + } catch (IndexOutOfBoundsException e) { + return new CommandResult(MESSAGE_OUT_OF_BOUNDS); + } + if (handledRangeSituation != null) { + return handledRangeSituation; + } + + if (!tryStorage()) { + return new CommandResult(MESSAGE_FAIL); + } + return new CommandResult(MESSAGE_SUCCESS); + + } + + /** + * This method tries creating and storing the export file. + * @return + */ + private boolean tryStorage() { + teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ".xml"); + try { + teachConnectStorage.saveAddressBook(teachConnectBook); + } catch (IOException e) { + return false; + } + return true; + } + + /** + * Handles the range array returned by the handleRange() function + * @param rangeGiven + * @return + */ + private CommandResult handleRangeArray(String[] rangeGiven) throws DuplicatePersonException, + IndexOutOfBoundsException { + if (rangeGiven[0].equals("all")) { + exportAllRange(tag); + } else { + if (rangeGiven.length != 1) { + for (int i = 0; i < rangeGiven.length; i++) { + int low = Integer.parseInt(rangeGiven[0]); + int high = Integer.parseInt(rangeGiven[1]); + if (low >= high) { + return new CommandResult(MESSAGE_RANGE_ERROR); + } else { + exportRange(low, high, tag); + } + } + } else { + int low = Integer.parseInt(rangeGiven[0]); + exportSpecific(low); + } + + + } + return null; + } + + /** + * Adds a specific person to the teachConnectBook + * + * @param low + * @throws DuplicatePersonException + * @throws IndexOutOfBoundsException + */ + private void exportSpecific(int low) throws DuplicatePersonException, IndexOutOfBoundsException { + ObservableList<Person> exportPeople = model.getFilteredPersonList(); + teachConnectBook.addPerson(exportPeople.get(low - 1)); + } + + /** + * Exports a range of people based on the tag and the index range given + * + * @param low + * @param high + * @param tag + * @throws DuplicatePersonException + * @throws IndexOutOfBoundsException + */ + private void exportRange(int low, int high, Tag tag) throws DuplicatePersonException, IndexOutOfBoundsException { + ObservableList<Person> exportPeople = model.getFilteredPersonList(); + ArrayList<Person> exportAddition = new ArrayList<Person>(); + if (tag.equals(new Tag("shouldnotbethistag"))) { + for (int i = low; i < high; i++) { + exportAddition.add(exportPeople.get(i - 1)); + } + teachConnectBook.setPersons(exportAddition); + } else { + for (int i = low; i < high; i++) { + if (exportPeople.get(i - 1).getTags().contains(tag)) { + exportAddition.add(exportPeople.get(i - 1)); + } + + } + } + + teachConnectBook.setPersons(exportAddition); + } + + /** + * Exports all the contacts in the TeachConnect book if contain certain tag + * + * @param tag + * @throws DuplicatePersonException + */ + private void exportAllRange(Tag tag) throws DuplicatePersonException { + ObservableList<Person> exportPeople = model.getFilteredPersonList(); + if (tag.equals(new Tag("shouldnotbethistag"))) { + teachConnectBook.setPersons(exportPeople); + } else { + ArrayList<Person> exportAddition = new ArrayList<Person>(); + for (int i = 0; i < exportPeople.size(); i++) { + if (exportPeople.get(i).getTags().contains(tag)) { + exportAddition.add(exportPeople.get(i)); + } + } + teachConnectBook.setPersons(exportAddition); + } + } + + /** + * Helper method to identify the lower and higher end of the range given + * + * @return rangeStringArray + */ + public String[] handleRange() throws IOException { + String[] rangeStringArray = this.range.split(","); + if (rangeStringArray.length > 2) { + throw new IOException(); + } + return rangeStringArray; + + } + +``` +###### \java\seedu\address\logic\commands\ExportCommand.java +``` java + /** + * + * @param other [in this case ExportCommand] + * @return a boolean value + */ + @Override + public boolean equals(Object other) { + if (this == other) { + return true; + } + + if (!(other instanceof ExportCommand)) { + return false; + } + + ExportCommand e = (ExportCommand) other; + return range.equals(e.range) && path.equals(e.path); + } + +} +``` +###### \java\seedu\address\logic\commands\ImportCommand.java +``` java +/** + * Imports contacts from a different TeachConnect XML file + */ +public class ImportCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "import"; + public static final String MESSAGE_USAGE = COMMAND_WORD + ": imports contacts to the address book." + + "Parameters: file location...\n" + + "Example: " + COMMAND_WORD + " main/src/test/data/sandbox/somerandomfile.xml"; + public static final String MESSAGE_SUCCESS = "%1$s contacts have been successfully imported " + + "and %2$s have been left out!"; + protected static final String MESSAGE_INVALID_FILE = "Please input a valid file location"; + protected Storage storage; + private AddressBook addressBookImported; + private AddressBookStorage addressBookStorage; + private String filePath; + private int numberAdded = 0; + private int numberNotAdded = 0; + + /** + * Creates an ImportCommand to import the specified TeachConnect XML file + */ + public ImportCommand(String importPath) { + requireNonNull(importPath); + this.filePath = importPath; + addressBookStorage = new XmlAddressBookStorage(filePath); + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + try { + if (addressBookStorage.readAddressBook(filePath).isPresent()) { + this.addressBookImported = new AddressBook(addressBookStorage.readAddressBook().get()); + ObservableList<Person> people = addressBookImported.getPersonList(); + for (int i = 0; i < people.size(); i++) { + try { + model.addPerson(people.get(i)); + numberAdded++; + } catch (DuplicatePersonException e) { + numberNotAdded++; + } + } + } else { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } + } catch (DataConversionException e) { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } catch (IOException e) { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } + + return new CommandResult(String.format(MESSAGE_SUCCESS, numberAdded, numberNotAdded)); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ImportCommand // instanceof handles nulls + && filePath.equals(((ImportCommand) other).filePath)); + } + + +} + + + + +``` +###### \java\seedu\address\logic\parser\ExportCommandParser.java +``` java +/** + * Parses input arguments and creates a new ExportCommand object + */ +public class ExportCommandParser implements Parser<ExportCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the ExportCommand + * and returns an ExportCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + @Override + public ExportCommand parse(String args) throws ParseException { + requireNonNull(args); + ArgumentMultimap argMultiMap = ArgumentTokenizer.tokenize(args, PREFIX_NAME, PREFIX_RANGE, + PREFIX_TAG_EXPORT, PREFIX_PATH); + + String[] preambleArgs = argMultiMap.getPreamble().split(" "); + if (!arePrefixesPresent(argMultiMap, PREFIX_NAME, PREFIX_RANGE, PREFIX_PATH) + || preambleArgs.length > 1) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); + } + + String name = argMultiMap.getValue(PREFIX_NAME).orElse(""); + String range = argMultiMap.getValue(PREFIX_RANGE).orElse("all"); + String tag = argMultiMap.getValue(PREFIX_TAG_EXPORT).orElse("shouldnotbethistag"); + String path = argMultiMap.getValue(PREFIX_PATH).orElse(""); + + Tag tagExport = new Tag(tag); + return new ExportCommand(range, tagExport, path, name); + + + } + + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } + + + +} +``` +###### \java\seedu\address\logic\parser\ImportCommandParser.java +``` java +/** + * Parses input arguments and creates a new ImportCommand object + */ +public class ImportCommandParser implements Parser<ImportCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the ImportCommand + * and returns an ImportCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ImportCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + if (trimmedArgs.isEmpty()) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); + } + + String[] parameterGetterArray = trimmedArgs.split(" "); + + if (parameterGetterArray.length != 1) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); + } else { + return new ImportCommand(parameterGetterArray[0]); + } + + } + + + +} +``` diff --git a/collated/test/Sisyphus25-reused.md b/collated/test/Sisyphus25-reused.md new file mode 100644 index 000000000000..9915828f597c --- /dev/null +++ b/collated/test/Sisyphus25-reused.md @@ -0,0 +1,86 @@ +# Sisyphus25-reused +###### \java\guitests\guihandles\PersonCardHandle.java +``` java + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * + * @param tag Text value of the tag label + * @return List of style classes for tag label with text value {@code tag} + */ + public List<String> getTagStyleClasses(String tag) { + return tagLabels + .stream() + .filter(label -> label.getText().equals(tag)) + .map(Label::getStyleClass) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("No such tag.")); + } +} +``` +###### \java\seedu\address\ui\AppointmentCardTest.java +``` java +//Reuse with modification from PersonCardTest +public class AppointmentCardTest extends GuiUnitTest { + + @Test + public void equals() { + Appointment appointment = TYPICAL_APPOINTMENT_2; + AppointmentCard appointmentCard = new AppointmentCard(appointment, 0); + + // same appointment, same index -> returns true + AppointmentCard copy = new AppointmentCard(appointment, 0); + assertTrue(appointmentCard.equals(copy)); + + // same object -> returns true + assertTrue(appointmentCard.equals(appointmentCard)); + + // null -> returns false + assertFalse(appointmentCard.equals(null)); + + // different types -> returns false + assertFalse(appointmentCard.equals(0)); + + // different appointment, same index -> returns false + Appointment differentAppointment = TYPICAL_APPOINTMENT_3; + assertFalse(appointmentCard.equals(new AppointmentCard(differentAppointment, 0))); + + // same appointment, different index -> returns false + assertFalse(appointmentCard.equals(new AppointmentCard(appointment, 1))); + } + +} +``` +###### \java\seedu\address\ui\TaskCardTest.java +``` java +//Reuse with modification from PersonCardTest +public class TaskCardTest extends GuiUnitTest { + + @Test + public void equals() { + Task task = TYPICAL_TASK_2; + TaskCard taskCard = new TaskCard(task, 0); + + // same task, same index -> returns true + TaskCard copy = new TaskCard(task, 0); + assertTrue(taskCard.equals(copy)); + + // same object -> returns true + assertTrue(taskCard.equals(taskCard)); + + // null -> returns false + assertFalse(taskCard.equals(null)); + + // different types -> returns false + assertFalse(taskCard.equals(0)); + + // different task, same index -> returns false + Task differentTask = TYPICAL_TASK_1; + assertFalse(taskCard.equals(new TaskCard(differentTask, 0))); + + Task expiredTask = TYPICAL_TASK_EXPIRED; + TaskCard expiredTaskCard = new TaskCard(TYPICAL_TASK_EXPIRED, 1); + // same task, different index -> returns false + assertFalse(taskCard.equals(expiredTaskCard)); + } +} +``` diff --git a/collated/test/Sisyphus25.md b/collated/test/Sisyphus25.md new file mode 100644 index 000000000000..ac5f0472b003 --- /dev/null +++ b/collated/test/Sisyphus25.md @@ -0,0 +1,946 @@ +# Sisyphus25 +###### \java\seedu\address\logic\commands\ChangeThemeCommandTest.java +``` java +public class ChangeThemeCommandTest { + @Rule + public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); + + @Test + public void execute_help_success() throws CommandException { + String theme = "dark"; + CommandResult result = new ChangeThemeCommand(theme).execute(); + assertEquals(MESSAGE_CHANGE_THEME_SUCCESS, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ThemeChangeEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); + } +} +``` +###### \java\seedu\address\logic\commands\ListCommandTest.java +``` java + @Test + public void execute_listEvent_success() throws CommandException { + assertListEventSuccess(TYPE_APPOINTMENT); + assertListEventSuccess(TYPE_TASK); + } + + /** + * assert if execution of listing of event is successful or not + * @throws CommandException + */ + private void assertListEventSuccess(String eventType) throws CommandException{ + listCommand = new ListCommand(eventType); + listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + CommandResult result = listCommand.execute(); + assertEquals(MESSAGE_SUCCESS + eventType, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); + } +} +``` +###### \java\seedu\address\logic\commands\RemoveCommandTest.java +``` java + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; +import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.Test; + +import seedu.address.commons.core.Messages; +import seedu.address.commons.core.index.Index; +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.Task; + +/** + * Contains Test for {@code RemoveCommand} + */ +public class RemoveCommandTest { + private Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + + @Test + public void execute_validIndexRemoveAppointment_success() throws Exception { + ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + Appointment appointmentToDelete = model.getFilteredAppointmentList().get(INDEX_FIRST.getZeroBased()); + RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); + String expectedMessage = + String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "appointment", appointmentToDelete); + expectedModel.deleteAppointment(appointmentToDelete); + assertCommandSuccess(removeCommandRemovingAppointment, model, expectedMessage, expectedModel); + } + + @Test + public void execute_validIndexRemoveTask_success() throws Exception { + ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + Task taskToDelete = model.getFilteredTaskList().get(INDEX_FIRST.getZeroBased()); + RemoveCommand removeCommandRemovingTask = prepareCommand(INDEX_FIRST, "task"); + String expectedMessage = + String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "task", taskToDelete); + expectedModel.deleteTask(taskToDelete); + assertCommandSuccess(removeCommandRemovingTask, model, expectedMessage, expectedModel); + } + + @Test + public void execute_invalidIndex_throwsCommandException() throws Exception { + Index outOfBoundIndex = Index.fromOneBased(model.getFilteredTaskList().size() + 1); + RemoveCommand removeCommandRemovingTask = prepareCommand(outOfBoundIndex, "task"); + + Index outOfBoundIndex2 = Index.fromOneBased(model.getFilteredAppointmentList().size() + 1); + RemoveCommand removeCommandRemovingAppointment = prepareCommand(outOfBoundIndex2, "appointment"); + + assertCommandFailure(removeCommandRemovingTask, model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + assertCommandFailure(removeCommandRemovingAppointment, + model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + } + + @Test + public void equals() throws Exception { + RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); + RemoveCommand removeCommandRemovingTask = prepareCommand(INDEX_SECOND, "task"); + + // same object -> returns true + assertTrue(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointment)); + + // same values -> returns true + RemoveCommand removeCommandRemovingAppointmentCopy = prepareCommand(INDEX_FIRST, "appointment"); + assertTrue(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointmentCopy)); + + // one command preprocessed when previously equal -> returns false + removeCommandRemovingAppointmentCopy.preprocessUndoableCommand(); + assertFalse(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointmentCopy)); + + // different types -> returns false + assertFalse(removeCommandRemovingAppointment.equals(1)); + + // null -> returns false + assertFalse(removeCommandRemovingAppointment.equals(null)); + + // different person -> returns false + assertFalse(removeCommandRemovingAppointment.equals(removeCommandRemovingTask)); + } + + /** + * Returns a {@code RemoveCommand} with the parameter {@code index}, {@code eventType}. + */ + private RemoveCommand prepareCommand(Index index, String eventType) { + RemoveCommand removeCommand = new RemoveCommand(index, eventType); + removeCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + return removeCommand; + } +} +``` +###### \java\seedu\address\logic\commands\SetAppointmentCommandTest.java +``` java +public class SetAppointmentCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private Model model; + + @Before + public void setUp() { + model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + } + + @Test + public void constructor_nullAppointment_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new SetAppointmentCommand(null, null); + } + + @Test + public void execute_invalidPersonToMeetIndex_failure() { + Index outOfBoundsIndex = Index.fromOneBased(model.getFilteredPersonList().size() + 1); + SetAppointmentCommand command = getSetAppointmentCommand(TYPICAL_APPOINTMENT_3, outOfBoundsIndex, model); + + try { + command.execute(); + fail("The expected CommandException was not thrown."); + } catch (CommandException ce) { + assertEquals(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX, ce.getMessage()); + } + } + + @Test + public void execute_appointmentWithoutPersonToMeetAccepted_addSuccessful() throws Exception { + CommandResult commandResult = + getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_3, null, model).execute(); + + assertEquals(String.format( + SetAppointmentCommand.MESSAGE_SUCCESS, APPOINTMENT_WITHOUT_PERSON_3), commandResult.feedbackToUser); + } + + @Test + public void execute_appointmentWithPersonToMeetAccepted_addSuccessful() throws Exception { + CommandResult commandResult = + getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_3, INDEX_THIRD, model).execute(); + + assertEquals(String.format( + SetAppointmentCommand.MESSAGE_SUCCESS, TYPICAL_APPOINTMENT_3), commandResult.feedbackToUser); + } + + @Test + public void execute_duplicateAppointmentsameIndex_throwsCommandException() throws Exception { + thrown.expect(CommandException.class); + thrown.expectMessage(SetAppointmentCommand.MESSAGE_DUPLICATE_APPOINTMENT); + + getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_1, INDEX_FIRST, model).execute(); + } + + @Test + public void equals() { + SetAppointmentCommand addAppointment1 = + new SetAppointmentCommand(TYPICAL_APPOINTMENT_1); + SetAppointmentCommand addAppointment2 = + new SetAppointmentCommand(TYPICAL_APPOINTMENT_2); + + // same object -> returns true + assertTrue(addAppointment1.equals(addAppointment1)); + + // same values -> returns true + SetAppointmentCommand addAppointment1Copy = + new SetAppointmentCommand(TYPICAL_APPOINTMENT_1); + assertTrue(addAppointment1.equals(addAppointment1Copy)); + + // different types -> returns false + assertFalse(addAppointment1.equals(1)); + + // null -> returns false + assertFalse(addAppointment1.equals(null)); + + // different appointments -> returns false + assertFalse(addAppointment1.equals(addAppointment2)); + } + + /** + * Generates a new SetAppointmentCommand with the details of the given appointment. + */ + private SetAppointmentCommand getSetAppointmentCommand(Appointment baseAppointment, Index index, Model model) { + SetAppointmentCommand command = new SetAppointmentCommand(baseAppointment, index); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } + +} +``` +###### \java\seedu\address\logic\commands\SetTaskCommandTest.java +``` java +public class SetTaskCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void constructor_nullAppointment_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new SetTaskCommand(null); + } + + @Test + public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception { + ModelStubAcceptingTaskAdded modelStub = new ModelStubAcceptingTaskAdded(); + + CommandResult commandResult = getSetTaskCommand(TYPICAL_TASK_2, modelStub).execute(); + + assertEquals(String.format(SetTaskCommand.MESSAGE_SUCCESS, TYPICAL_TASK_2), commandResult.feedbackToUser); + assertEquals(Arrays.asList(TYPICAL_TASK_2), modelStub.tasksAdded); + } + + @Test + public void execute_duplicateEvent_throwsCommandException() throws Exception { + ModelStub modelStub = new ModelStubThrowingDuplicateEventException(); + + thrown.expect(CommandException.class); + thrown.expectMessage(SetTaskCommand.MESSAGE_DUPLICATE_TASK); + + getSetTaskCommand(TYPICAL_TASK_1, modelStub).execute(); + } + + @Test + public void equals() { + SetTaskCommand addTask1 = + new SetTaskCommand(TYPICAL_TASK_1); + SetTaskCommand addTask2 = + new SetTaskCommand(TYPICAL_TASK_2); + + // same object -> returns true + assertTrue(addTask1.equals(addTask1)); + + // same values -> returns true + SetTaskCommand addAppointment1Copy = + new SetTaskCommand(TYPICAL_TASK_1); + assertTrue(addTask1.equals(addAppointment1Copy)); + + // different types -> returns false + assertFalse(addTask1.equals(1)); + + // null -> returns false + assertFalse(addTask1.equals(null)); + + // different tasks -> returns false + assertFalse(addTask1.equals(addTask2)); + } + + /** + * Generates a new SetTaskCommand with the details of the given task. + */ + private SetTaskCommand getSetTaskCommand(Task task, Model model) { + SetTaskCommand command = new SetTaskCommand(task); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } + +} +``` +###### \java\seedu\address\logic\commands\ToggleCalendarViewCommandTest.java +``` java +public class ToggleCalendarViewCommandTest { + @Rule + public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); + + @Test + public void execute_help_success() throws CommandException { + Character viewMode = 'd'; + CommandResult result = new ToggleCalendarViewCommand(viewMode).execute(); + assertEquals(MESSAGE_VIEW_TOGGLE_SUCCESS, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleCalendarViewEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); + } +} +``` +###### \java\seedu\address\logic\parser\AddressBookParserTest.java +``` java + @Test + public void parseCommand_toggleCalendarView() throws Exception { + ToggleCalendarViewCommand command = + (ToggleCalendarViewCommand) parser.parseCommand(ToggleCalendarViewCommand.COMMAND_WORD + " " + "m"); + assertEquals(new ToggleCalendarViewCommand('m'), command); + } + + @Test + public void parseCommand_setAppointment() throws Exception { + SetAppointmentCommand command = + (SetAppointmentCommand) parser.parseCommand(SetAppointmentCommand.COMMAND_WORD + + TITLE_DESC + START_TIME_DESC + END_TIME_DESC); + Appointment appointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + assertEquals(new SetAppointmentCommand(appointment), command); + } + + @Test + public void parseCommand_setTask() throws Exception { + SetTaskCommand command = + (SetTaskCommand) parser.parseCommand(SetTaskCommand.COMMAND_WORD + TITLE_DESC + END_TIME_DESC); + Task task = new Task(new Title(VALID_TITLE), new EventTime(VALID_END_TIME)); + assertEquals(new SetTaskCommand(task), command); + } + + @Test + public void parseCommand_changeTheme() throws Exception { + ChangeThemeCommand command = + (ChangeThemeCommand) parser.parseCommand(ChangeThemeCommand.COMMAND_WORD + " " + "dark"); + assertEquals(new ChangeThemeCommand("dark"), command); + } + + @Test + public void parseCommand_remove() throws Exception { + RemoveCommand commandRemoveAppointment = + (RemoveCommand) parser.parseCommand(RemoveCommand.COMMAND_WORD + " " + "appointment" + " " + "1"); + RemoveCommand commandRemoveTask = + (RemoveCommand) parser.parseCommand(RemoveCommand.COMMAND_WORD + " " + "task" + " " + "2"); + assertEquals(new RemoveCommand(Index.fromOneBased(1), "appointment"), commandRemoveAppointment); + assertEquals(new RemoveCommand(Index.fromOneBased(2), "task"), commandRemoveTask); + } +``` +###### \java\seedu\address\logic\parser\ChangeThemeCommandParserTest.java +``` java +/** + * Test scope: similar to ToggleCalendarViewCommandParser Test + */ +public class ChangeThemeCommandParserTest { + private ChangeThemeCommandParser parser = new ChangeThemeCommandParser(); + + @Test + public void parse_validArgs_returnsToggleCalendarViewCommand() { + assertParseSuccess(parser, "dark ", new ChangeThemeCommand("dark")); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "not a theme", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ChangeThemeCommand.MESSAGE_INVALID_THEME)); + assertParseFailure(parser, "x", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ChangeThemeCommand.MESSAGE_INVALID_THEME)); + } +} +``` +###### \java\seedu\address\logic\parser\ListCommandParserTest.java +``` java +public class ListCommandParserTest { + private ListCommandParser parser = new ListCommandParser(); + + @Test + public void parse_validArgs_returnsListCommand() { + assertParseSuccess(parser, "contact", new ListCommand(ListCommand.TYPE_CONTACT)); + assertParseSuccess(parser, "student", new ListCommand(ListCommand.TYPE_STUDENT)); + assertParseSuccess(parser, "task", new ListCommand(ListCommand.TYPE_TASK)); + assertParseSuccess(parser, "appointment", new ListCommand(ListCommand.TYPE_APPOINTMENT)); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "ffffffd", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ListCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "event", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ListCommand.MESSAGE_USAGE)); + } +} +``` +###### \java\seedu\address\logic\parser\ParserUtilTest.java +``` java + @Test + public void parseTitle_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseTitle((String) null)); + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseTitle((Optional<String>) null)); + } + + @Test + public void parseTitle_invalidValue_throwsIllegalValueException() { + Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseTitle(" ")); + Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseTitle(Optional.of(" "))); + } + + @Test + public void parseTitle_optionalEmpty_returnsOptionalEmpty() throws Exception { + assertFalse(ParserUtil.parseTitle(Optional.empty()).isPresent()); + } + + @Test + public void parseTitle_validValue_returnsTitle() throws Exception { + String validTitle = "Hanging out"; + Title expectedTitle = new Title(validTitle); + assertEquals(expectedTitle, ParserUtil.parseTitle(validTitle)); + assertEquals(Optional.of(expectedTitle), ParserUtil.parseTitle(Optional.of(validTitle))); + } + + @Test + public void parseEventTime_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseEventTime((String) null)); + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseEventTime((Optional<String>) null)); + } + + @Test + public void parseEventTime_optionalEmpty_returnsOptionalEmpty() throws Exception { + assertFalse(ParserUtil.parseEventTime(Optional.empty()).isPresent()); + } + + @Test + public void parseEventTime_validValue_returnsEventTime() throws Exception { + String validTime = "20/10/2018 10:00"; + EventTime expectedEventTime = new EventTime(validTime); + assertEquals(expectedEventTime, ParserUtil.parseEventTime(validTime)); + assertEquals(Optional.of(expectedEventTime), ParserUtil.parseEventTime(Optional.of(validTime))); + } + +``` +###### \java\seedu\address\logic\parser\RemoveCommandParserTest.java +``` java +public class RemoveCommandParserTest { + private RemoveCommandParser parser = new RemoveCommandParser(); + + @Test + public void parse_validArgs_returnsDeleteCommand() { + assertParseSuccess(parser, "appointment" + " 1", new RemoveCommand(INDEX_FIRST, "appointment")); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "not valid", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "", String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "Appointment" + " 1", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "appointment" + " -1", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + } +} +``` +###### \java\seedu\address\logic\parser\SetAppointmentCommandParserTest.java +``` java +public class SetAppointmentCommandParserTest { + private SetAppointmentCommandParser parser = new SetAppointmentCommandParser(); + + @Test + public void parse_allFieldsPresent_success() { + Appointment expectedAppointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + + // whitespace only preamble + assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + new SetAppointmentCommand(expectedAppointment)); + } + + @Test + public void parse_optionalFieldsMissing_success() { + // no personToMeet + Appointment expectedAppointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + assertParseSuccess(parser, TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + new SetAppointmentCommand((expectedAppointment))); + } + + @Test + public void parse_compulsoryFieldMissing_failure() { + String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, SetAppointmentCommand.MESSAGE_USAGE); + + // missing title prefix + assertParseFailure(parser, VALID_TITLE + START_TIME_DESC + END_TIME_DESC, + expectedMessage); + + // missing start time prefix + assertParseFailure(parser, TITLE_DESC + VALID_START_TIME + END_TIME_DESC, + expectedMessage); + + // missing start time prefix + assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + VALID_END_TIME, + expectedMessage); + + // all prefixes missing + assertParseFailure(parser, VALID_TITLE + VALID_START_TIME + VALID_END_TIME, + expectedMessage); + } + + @Test + public void parse_invalidValue_failure() { + // invalid title + assertParseFailure(parser, INVALID_TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + Title.MESSAGE_TITLE_CONSTRAINTS); + + // invalid start time + assertParseFailure(parser, TITLE_DESC + INVALID_START_TIME_DESC + END_TIME_DESC, + EventTime.MESSAGE_TIME_CONSTRAINTS); + + // invalid end time + assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + INVALID_END_TIME_DESC, + EventTime.MESSAGE_TIME_CONSTRAINTS); + } +} +``` +###### \java\seedu\address\logic\parser\SetTaskCommandParserTest.java +``` java +public class SetTaskCommandParserTest { + private SetTaskCommandParser parser = new SetTaskCommandParser(); + + @Test + public void parse_allFieldsPresent_success() { + Task expectedTask = new Task(new Title(VALID_TITLE), new EventTime(VALID_END_TIME)); + + // whitespace only preamble + assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + END_TIME_DESC, + new SetTaskCommand(expectedTask)); + } + + @Test + public void parse_compulsoryFieldMissing_failure() { + String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, SetTaskCommand.MESSAGE_USAGE); + + // missing title prefix + assertParseFailure(parser, VALID_TITLE + END_TIME_DESC, + expectedMessage); + + // missing end time prefix + assertParseFailure(parser, TITLE_DESC + VALID_END_TIME, + expectedMessage); + + // all prefixes missing + assertParseFailure(parser, VALID_TITLE + VALID_END_TIME, + expectedMessage); + } + + @Test + public void parse_invalidValue_failure() { + // invalid title + assertParseFailure(parser, INVALID_TITLE_DESC + END_TIME_DESC, Title.MESSAGE_TITLE_CONSTRAINTS); + + // invalid end time + assertParseFailure(parser, TITLE_DESC + INVALID_END_TIME_DESC, EventTime.MESSAGE_TIME_CONSTRAINTS); + } +} +``` +###### \java\seedu\address\logic\parser\ToggleCalendarViewParserTest.java +``` java +public class ToggleCalendarViewParserTest { + private ToggleCalendarViewParser parser = new ToggleCalendarViewParser(); + + @Test + public void parse_validArgs_returnsToggleCalendarViewCommand() { + assertParseSuccess(parser, "d", new ToggleCalendarViewCommand('d')); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "day", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ToggleCalendarViewCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "x", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ToggleCalendarViewCommand.MESSAGE_USAGE)); + } +} +``` +###### \java\seedu\address\model\event\AppointmentTest.java +``` java +public class AppointmentTest { + private static final Title VALID_TITLE = new Title("Meet Student"); + private static final EventTime VALID_START_TIME = new EventTime("05/04/2018 10:00"); + private static final EventTime VALID_END_TIME = new EventTime("05/04/2018 11:00"); + private static final EventTime INVALID_END_TIME = new EventTime("05/04/2018 09:00"); + + @Test + public void constructor_invalidAppointmentTime_throwsIllegalArgumentException() { + Assert.assertThrows(IllegalArgumentException.class, () -> + new Appointment(VALID_TITLE, VALID_START_TIME, INVALID_END_TIME)); + } + + @Test + public void isValidTime() { + // invalid time stamps + assertFalse(Appointment.isValidTime(VALID_START_TIME, INVALID_END_TIME)); //End time is before Start Time + + // valid time stamps + assertTrue(Appointment.isValidTime(VALID_START_TIME, VALID_END_TIME)); + } +} +``` +###### \java\seedu\address\model\event\EventTimeTest.java +``` java +public class EventTimeTest { + @Test + public void constructor_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> new EventTime(null)); + } + + @Test + public void constructor_invalid_throwsIllegalArgumentException() { + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("invalidTimeStamp")); + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("")); + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("10/20 10:00")); + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("May 17 2018 10:00")); + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("17-05-2019 10:00")); + } + + @Test + public void isExpired() { + EventTime pastTime = new EventTime("20/10/2013 10:00"); + EventTime futureTime = new EventTime("20/10/2100 10:00"); + assertFalse(futureTime.isExpired()); + + assertTrue(pastTime.isExpired()); + } +} + +``` +###### \java\seedu\address\model\event\TitleTest.java +``` java +public class TitleTest { + @Test + public void constructor_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> new Title(null)); + } + + @Test + public void constructor_invalidTitle_throwsIllegalArgumentException() { + String invalidTitle = ""; + Assert.assertThrows(IllegalArgumentException.class, () -> + new Title(invalidTitle)); + } + + @Test + public void isValidTitle() { + // null title + Assert.assertThrows(NullPointerException.class, () -> Title.isValidTitle(null)); + + // invalid title + assertFalse(Title.isValidTitle("")); // empty string + assertFalse(Title.isValidTitle(" ")); // spaces only + + // valid title + assertTrue(Title.isValidTitle("Meet Dave")); + assertTrue(Title.isValidTitle("-")); // one character + } +} +``` +###### \java\seedu\address\storage\XmlAdaptedAppointmentTest.java +``` java +public class XmlAdaptedAppointmentTest { + + private static final String INVALID_TITLE = " "; + private static final String VALID_PERSON_TO_MEET = "Alice Email: alice@gmail.com"; + private static final String INVALID_TIME = "not a time stamp"; + + @Test + public void toModelType_validAppointmentDetails_returnsPerson() throws Exception { + XmlAdaptedAppointment appointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); + assertEquals(TYPICAL_APPOINTMENT_1, appointment.toModelType()); + } + + @Test + public void toModelType_invalidTitle_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(INVALID_TITLE, VALID_START_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = Title.MESSAGE_TITLE_CONSTRAINTS; + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_invalidStartTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, INVALID_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; + Assert.assertThrows(IllegalArgumentException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_invalidStartEndTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, VALID_START_TIME, INVALID_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; + Assert.assertThrows(IllegalArgumentException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_nullTitle_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(null, VALID_START_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName()); + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_nullStartTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, null, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Start Time"); + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_nullEndTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, VALID_START_TIME, null, VALID_PERSON_TO_MEET); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "End Time"); + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_invalidTimePeriod_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, "20/10/2018 10:00", "20/10/2018 09:00"); + String expectedMessage = Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS; + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void equals() { + XmlAdaptedAppointment appointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); + + //same object + assertTrue(appointment.equals(appointment)); + + //same value + XmlAdaptedAppointment appointmentCopy = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); + assertTrue(appointment.equals(appointmentCopy)); + + //different type + assertFalse(appointment.equals(TYPICAL_APPOINTMENT_1)); + + //different obj + XmlAdaptedAppointment anotherAppointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_2); + assertFalse(appointment.equals(anotherAppointment)); + } +} +``` +###### \java\seedu\address\storage\XmlAdaptedTaskTest.java +``` java +public class XmlAdaptedTaskTest { + + private static final String INVALID_TITLE = " "; + private static final String INVALID_TIME = "not a time stamp"; + + @Test + public void toModelType_validTaskDetails_returnsPerson() throws Exception { + XmlAdaptedTask task = new XmlAdaptedTask(TYPICAL_TASK_1); + assertEquals(TYPICAL_TASK_1, task.toModelType()); + } + + @Test + public void toModelType_invalidTitle_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(INVALID_TITLE, VALID_END_TIME); + String expectedMessage = Title.MESSAGE_TITLE_CONSTRAINTS; + Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); + } + + @Test + public void toModelType_invalidTime_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(VALID_TITLE, INVALID_TIME); + String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; + Assert.assertThrows(IllegalArgumentException.class, expectedMessage, task::toModelType); + } + + @Test + public void toModelType_nullTitle_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(null, VALID_END_TIME); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName()); + Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); + } + + @Test + public void toModelType_nullTime_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(VALID_TITLE, null); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time"); + Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); + } + + @Test + public void equals() { + XmlAdaptedTask task = new XmlAdaptedTask(TYPICAL_TASK_1); + + //same object + assertTrue(task.equals(task)); + + //same value + XmlAdaptedTask taskCopy = new XmlAdaptedTask(TYPICAL_TASK_1); + assertTrue(task.equals(taskCopy)); + + //different type + assertFalse(task.equals(TYPICAL_TASK_1)); + + //different obj + XmlAdaptedTask anotherTask = new XmlAdaptedTask(TYPICAL_TASK_2); + assertFalse(task.equals(anotherTask)); + } +} +``` +###### \java\seedu\address\testutil\AppointmentBuilder.java +``` java +/** + * A utility class to help with building Appointment objects. + */ +public class AppointmentBuilder { + private Title title; + private EventTime time; + private EventTime endTime; + private PersonToMeet personToMeet; + + public AppointmentBuilder(String title, String time, String endTime) { + this(title, time, endTime, (String) null); + } + + public AppointmentBuilder(String title, String time, String endTime, Person personToMeet) { + this(title, time, endTime, personToMeet.getName() + EMAIL_SPLITTER + personToMeet.getEmail()); + } + + public AppointmentBuilder(String title, String time, String endTime, String personToMeet) { + this.title = new Title(title); + this.time = new EventTime(time); + this.endTime = new EventTime(endTime); + if (personToMeet != null) { + String[] components = personToMeet.split(EMAIL_SPLITTER); + this.personToMeet = new PersonToMeet(components[0], components[1]); + } + } + + /** + * @return an {@code Appointment} from the data feed to constructor + */ + public Appointment build() { + return new Appointment(title, time, endTime, personToMeet); + } +} +``` +###### \java\seedu\address\testutil\modelstub\ModelStubAcceptingTaskAdded.java +``` java +/** + * A Model stub that always accept the task being added. + */ +public class ModelStubAcceptingTaskAdded extends ModelStub { + public final ArrayList<Task> tasksAdded = new ArrayList<>(); + + @Override + public void addTask(Task event) throws DuplicateEventException { + requireNonNull(event); + tasksAdded.add(event); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } +} +``` +###### \java\seedu\address\testutil\modelstub\ModelStubThrowingDuplicateEventException.java +``` java +/** + * A Model stub that always throw a DuplicateEventException when trying to add an appointment/task. + */ +public class ModelStubThrowingDuplicateEventException extends ModelStub { + @Override + public void addAppointment (Appointment appointment) throws DuplicateEventException { + throw new DuplicateEventException(); + } + + @Override + public void addTask (Task task) throws DuplicateEventException { + throw new DuplicateEventException(); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } +} +``` +###### \java\seedu\address\testutil\TypicalEvents.java +``` java +/** + * A utility class containing a list of event objects to be used in tests. + */ +public class TypicalEvents { + public static final Appointment TYPICAL_APPOINTMENT_1 = + new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build(); + public static final Appointment TYPICAL_APPOINTMENT_2 = + new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); + public static final Appointment TYPICAL_APPOINTMENT_3 = + new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00", CARL).build(); + public static final Appointment APPOINTMENT_WITHOUT_PERSON_1 = + new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00").build(); + public static final Appointment APPOINTMENT_WITHOUT_PERSON_2 = + new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); + public static final Appointment APPOINTMENT_WITHOUT_PERSON_3 = + new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00").build(); + + + public static final Task TYPICAL_TASK_1 = + new Task(new Title("To do"), new EventTime("10/10/2018 10:00")); + public static final Task TYPICAL_TASK_2 = + new Task(new Title("Mark papers"), new EventTime("15/04/2018 23:00")); + public static final Task TYPICAL_TASK_3 = + new Task(new Title("Purchase markers"), new EventTime("19/04/2018 10:00")); + public static final Task TYPICAL_TASK_EXPIRED = + new Task(new Title("Expired task"), new EventTime("19/04/2013 10:00")); + + public static List<Appointment> getTypicalAppointments() { + return new ArrayList<>(Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2)); + } + public static List<Task> getTypicalTasks() { + return new ArrayList<>(Arrays.asList(TYPICAL_TASK_1, TYPICAL_TASK_2)); + } +} +``` diff --git a/collated/test/shanmu9898.md b/collated/test/shanmu9898.md new file mode 100644 index 000000000000..00fe2203d7c3 --- /dev/null +++ b/collated/test/shanmu9898.md @@ -0,0 +1,426 @@ +# shanmu9898 +###### \java\seedu\address\logic\commands\ExportCommandTest.java +``` java +public class ExportCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private final Tag testingTag = new Tag("testingTag"); + private final String testingPath = "./test/data/XmlAddressBookStorageTest"; + private final String name = "testingName"; + private final String testingRange = "1,5"; + + + @Test + public void constructor_nullRange_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(null, testingTag, testingPath, name); + } + + @Test + public void constructor_nullPath_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(testingRange, testingTag, null, name); + } + + @Test + public void constructor_nullName_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(testingRange, testingTag, testingPath, null); + } + + @Test + public void execute_multipleRange_showsMessageError() { + String testingMultiRange = "1,2,3"; + ExportCommand exportCommand = new ExportCommand(testingMultiRange, testingTag, testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); + + } + + @Test + public void execute_outOfRange_showsMessageError() { + String testingOutOfRange = "0,10000000"; + ExportCommand exportCommand = new ExportCommand(testingOutOfRange, testingTag, testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_OUT_OF_BOUNDS), model); + + } + + @Test + public void execute_successfulExport_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand(testingRange, testingTag, testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_successfulExportWithAllRange_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("all", testingTag, testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_successfulExportWithSingleRange_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("2", testingTag, testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_rangeNotCorrect_showsMessageError() { + ExportCommand exportCommand = new ExportCommand("2,1", testingTag, testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); + } + + @Test + public void execute_whenTagIsSupposedlyNotGiven_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("all", new Tag("shouldnotbethistag"), testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_whenTagIsSupposedlyNotGivnAndRangeError_showsMessageError() { + ExportCommand exportCommand = new ExportCommand("2,1", new Tag("shouldnotbethistag"), testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); + } + + @Test + public void execute_whenTagIsSupposedlyNotGivenAndRangeGiven_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand(testingRange, new Tag("shouldnotbethistag"), testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_whenRangeIsSelectiveAndOutOfRange_showsMessageError() { + ExportCommand exportCommand = new ExportCommand("10000000", new Tag("shouldnotbethistag"), testingPath, name); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_OUT_OF_BOUNDS), model); + } + + + + @Test + public void equals() { + final ExportCommand comparableCommand = new ExportCommand(testingRange, testingTag, testingPath, name); + + // same values -> returns true + ExportCommand comparedToCommand = new ExportCommand(testingRange, testingTag, testingPath, name); + assertTrue(comparableCommand.equals(comparedToCommand)); + + // same object -> returns true + assertTrue(comparableCommand.equals(comparableCommand)); + + // null -> returns false + assertFalse(comparableCommand.equals(null)); + + // different types -> returns false + assertFalse(comparableCommand.equals(new ClearCommand())); + + // different range -> returns false + assertFalse(comparableCommand.equals(new ExportCommand("1,2", testingTag, testingPath, name))); + } + + + +} +``` +###### \java\seedu\address\logic\commands\ImportCommandTest.java +``` java +public class ImportCommandTest { + + + private static final String INVALID_FILE_LOCATION = "./data/samplefile.xml"; + private static final String VALID_FILE_LOCATION = + "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"; + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void constructor_nullString_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ImportCommand(null); + } + + @Test + public void execute_importFailure_throwsException() { + ImportCommand command = prepareCommand(INVALID_FILE_LOCATION); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandFailure(command, model, String.format(command.MESSAGE_INVALID_FILE)); + } + + @Test + public void execute_acceptedSuccess_successfulImport() { + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + + ClearCommand clearCommand = new ClearCommand(); + clearCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + clearCommand.executeUndoableCommand(); + + ImportCommand command = prepareCommand(VALID_FILE_LOCATION); + + assertCommandSuccess(command, model, String.format (command.MESSAGE_SUCCESS, "7", "0"), model); + } + + @Test + public void equals() { + final ImportCommand comparableCommand = new ImportCommand(VALID_FILE_LOCATION); + + // same values -> returns true + ImportCommand comparedToCommand = new ImportCommand(VALID_FILE_LOCATION); + assertTrue(comparableCommand.equals(comparedToCommand)); + + // same object -> returns true + assertTrue(comparableCommand.equals(comparableCommand)); + + // null -> returns false + assertFalse(comparableCommand.equals(null)); + + // different types -> returns false + assertFalse(comparableCommand.equals(new ClearCommand())); + + // different range -> returns false + assertFalse(comparableCommand.equals(new ImportCommand("./data/sampleimportfile.xml"))); + } + + + /** + * A method to prepare the Import command based on the path given + */ + private ImportCommand prepareCommand(String path) { + ImportCommand importCommand = new ImportCommand(path); + importCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + return importCommand; + } + +} +``` +###### \java\seedu\address\logic\parser\AddressBookParserTest.java +``` java + @Test + public void parseCommand_export() throws Exception { + ExportCommand command = (ExportCommand) parser.parseCommand( + ExportCommand.COMMAND_WORD + " " + PREFIX_NAME + NAME_NEEDED + " " + PREFIX_RANGE + RANGE_ALL + + " " + PREFIX_TAG_EXPORT + TAG_NEEDED + " " + PREFIX_PATH + PATH_NEEDED); + assertEquals (new ExportCommand ("all", new Tag ("friends"), "./data", + "name"), command); + } + + @Test + public void parseCommand_import() throws Exception { + ImportCommand command = (ImportCommand) parser.parseCommand( + ImportCommand.COMMAND_WORD + " " + + "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"); + assertEquals(new ImportCommand("src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"), + command); + } + + @Test + public void parseCommand_shortcut() throws Exception { + ShortcutCommand command = (ShortcutCommand) parser.parseCommand( + ShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); + assertEquals(new ShortcutCommand("list", "l"), command); + } + + @Test + public void parseCommand_deleteShortcut() throws Exception { + DeleteShortcutCommand command = (DeleteShortcutCommand) parser.parseCommand( + DeleteShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); + assertEquals(new DeleteShortcutCommand("list", "l"), command); + } + + + +``` +###### \java\seedu\address\logic\parser\ExportCommandParserTest.java +``` java +public class ExportCommandParserTest { + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private ExportCommandParser exportCommandParser = new ExportCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + exportCommandParser.parse(null); + } + + @Test + public void parse_optionalFieldsMissing_success() { + Tag testingTag = new Tag("shouldnotbethistag"); + String testingInput = " n/name r/all p/./data"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name"); + assertParseSuccess(exportCommandParser, testingInput, expectedCommand); + } + + @Test + public void parse_allfieldsPresent_success() { + Tag testingTag = new Tag("friends"); + String testingInput = " n/name r/all t/friends p/./data"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name"); + assertParseSuccess(exportCommandParser, testingInput, expectedCommand); + } + +} +``` +###### \java\seedu\address\logic\parser\ImportCommandParserTest.java +``` java +public class ImportCommandParserTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private ImportCommandParser importCommandParser = new ImportCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + importCommandParser.parse(null); + + } + + @Test + public void parse_emptyString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + importCommandParser.parse(" "); + + } + + @Test + public void parse_moreThanOneBlockOfString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + importCommandParser.parse("invalid two strings"); + } + + @Test + public void parse_validString_success() { + String input = "./src/test/data/XmlAddressBookStorgageTest/importsamplefile.xml"; + ImportCommand expectedCommand = new ImportCommand(input); + assertParseSuccess(importCommandParser, input, expectedCommand); + } + + + + +} +``` +###### \java\seedu\address\testutil\ExportCommandBuilder.java +``` java +/** + * A utility class containing a list of {@code Index} objects to be used in tests. + */ +public class ExportCommandBuilder { + public static final String RANGE_ALL = "all"; + public static final String TAG_NEEDED = "friends"; + public static final String PATH_NEEDED = "./data"; + public static final String NAME_NEEDED = "name"; + + +} +``` +###### \java\seedu\address\testutil\TypicalImportedPersons.java +``` java +/** + * Special Util class to get people for ImportCommandTest class. + */ +public class TypicalImportedPersons { + public static final Person FLICE = new PersonBuilder().withName("Alice Pauline") + .withAddress("123, Jurong West Ave 6, #08-111").withEmail("alice@example.com") + .withPhone("85355255") + .withTags("friends").build(); + public static final Person FENSON = new PersonBuilder().withName("Benson Meier") + .withAddress("311, Clementi Ave 2, #02-25") + .withEmail("johnd@example.com").withPhone("98765432") + .withTags("owesMoney", "friends").build(); + public static final Person FARL = new PersonBuilder().withName("Carl Kurz").withPhone("95352563") + .withEmail("heinz@example.com").withAddress("wall street").build(); + public static final Person FANIEL = new PersonBuilder().withName("Daniel Meier").withPhone("87652533") + .withEmail("cornelia@example.com").withAddress("10th street").build(); + public static final Person FLLE = new PersonBuilder().withName("Elle Meyer").withPhone("9482224") + .withEmail("werner@example.com").withAddress("michegan ave").build(); + public static final Person GIONA = new PersonBuilder().withName("Fiona Kunz").withPhone("9482427") + .withEmail("lydia@example.com").withAddress("little tokyo").build(); + public static final Student FEORGE = new StudentBuilder().withName("George Best").withPhone("9482442") + .withEmail("anna@example.com").withAddress("4th street").build(); + public static final Student FVAN = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") + .withEmail("wolf@example.com").withAddress("Centre Street").build(); + public static final Student FOHN = new StudentBuilder().withName("John Blake").withPhone("9575232") + .withEmail("star@example.com").withAddress("Hollywood").build(); + + // Manually added + public static final Person FOON = new PersonBuilder().withName("Hoon Meier").withPhone("8482424") + .withEmail("stefan@example.com").withAddress("little india").build(); + public static final Person FDA = new PersonBuilder().withName("Ida Mueller").withPhone("8482131") + .withEmail("hans@example.com").withAddress("chicago ave").build(); + + public static final Student FTUDENT_HOON = new StudentBuilder().withName("Hoon Meier").withPhone("8482424") + .withEmail("stefan@example.com").withAddress("little india").build(); + public static final Student FTUDENT_IDA = new StudentBuilder().withName("Ida Mueller").withPhone("8482131") + .withEmail("hans@example.com").withAddress("chicago ave").build(); + + // Manually added - Person's details found in {@code CommandTestUtil} + public static final Person FMY = new PersonBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) + .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_FRIEND).build(); + public static final Person FOB = new PersonBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) + .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_HUSBAND, VALID_TAG_FRIEND) + .build(); + + public static final Student FTUDENT_AMY = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) + .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); + public static final Student FTUDENT_BOB = new StudentBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) + .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_STUDENT) + .build(); + + public static final String KEYWORD_MATCHING_MEIER = "Meier"; // A keyword that matches MEIER + + private TypicalImportedPersons() {} // prevents instantiation + + /** + * Returns an {@code AddressBook} with all the typical persons. + */ + public static AddressBook getImportedAddressBook() { + AddressBook ab = new AddressBook(); + for (Person person : getImportedPersons()) { + try { + ab.addPerson(person); + } catch (DuplicatePersonException e) { + throw new AssertionError("not possible"); + } + } + return ab; + } + + public static List<Person> getImportedPersons() { + return new ArrayList<>(Arrays.asList(FLICE, FENSON, FARL, FANIEL, FLLE, GIONA, FEORGE)); + } +} +``` diff --git a/src/main/java/seedu/address/ui/AppointmentListPanel.java b/src/main/java/seedu/address/ui/AppointmentListPanel.java index 69fb46906e07..d90ae5d20699 100644 --- a/src/main/java/seedu/address/ui/AppointmentListPanel.java +++ b/src/main/java/seedu/address/ui/AppointmentListPanel.java @@ -13,7 +13,8 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.model.event.Appointment; -//@@author Sisyphus25 +//@@author Sisyphus25-reused +//Reuse from PersonListPanel class with modification /** * Panel containing the list of appointments. */ diff --git a/src/main/java/seedu/address/ui/TaskListPanel.java b/src/main/java/seedu/address/ui/TaskListPanel.java index b7d6d48d0109..790b04184a81 100644 --- a/src/main/java/seedu/address/ui/TaskListPanel.java +++ b/src/main/java/seedu/address/ui/TaskListPanel.java @@ -13,7 +13,8 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.model.event.Task; -//@@author Sisyphus24 +//@@author Sisyphus25-reused +//Reuse from PersonListPanel class with modification /** * Panel containing the list of tasks. */ diff --git a/src/main/resources/view/DogeTheme.css b/src/main/resources/view/DogeTheme.css index eba9bd843dc2..5c3db308e63d 100644 --- a/src/main/resources/view/DogeTheme.css +++ b/src/main/resources/view/DogeTheme.css @@ -1,5 +1,5 @@ -/* @@author Sisyphus25 -reused from DarkTheme.css with modifications */ +/* @@author Sisyphus25-reused +Reused from DarkTheme.css with modifications */ .root { -fx-background-image: url("../images/doge.jpg"); diff --git a/src/main/resources/view/GalaxyTheme.css b/src/main/resources/view/GalaxyTheme.css index 089c40a11e23..001918000f2a 100644 --- a/src/main/resources/view/GalaxyTheme.css +++ b/src/main/resources/view/GalaxyTheme.css @@ -1,4 +1,4 @@ -/* @@author Sisyphus25 +/* @@author Sisyphus25-reused reused from DarkTheme.css with modifications */ .root { diff --git a/src/main/resources/view/LightTheme.css b/src/main/resources/view/LightTheme.css index 603a14481da5..951cfd21de2f 100644 --- a/src/main/resources/view/LightTheme.css +++ b/src/main/resources/view/LightTheme.css @@ -1,5 +1,5 @@ -/* @@author Sisyphus25 -reused from DarkTheme.css with modifications */ +/* @@author Sisyphus25-reused +Feused from DarkTheme.css with modifications */ .background { -fx-background-color: #ffffff; diff --git a/src/test/java/seedu/address/logic/commands/ListCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCommandTest.java index ddb794b96189..a1c2d31e301e 100644 --- a/src/test/java/seedu/address/logic/commands/ListCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCommandTest.java @@ -1,7 +1,7 @@ package seedu.address.logic.commands; -import static junit.framework.TestCase.assertEquals; -import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.logic.commands.CommandTestUtil.showPersonAtIndex; import static seedu.address.logic.commands.ListCommand.MESSAGE_SUCCESS; @@ -56,23 +56,22 @@ public void execute_personListIsFiltered_showsEverything() { assertCommandSuccess(listCommand, model, MESSAGE_SUCCESS + TYPE_CONTACT, expectedModel); } + //@@author Sisyphus25 @Test - public void execute_listAppointment_success() throws CommandException { - listCommand = new ListCommand(TYPE_APPOINTMENT); - listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); - CommandResult result = listCommand.execute(); - assertEquals(MESSAGE_SUCCESS + TYPE_APPOINTMENT, result.feedbackToUser); - assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); - assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); + public void execute_listEvent_success() throws CommandException { + assertListEventSuccess(TYPE_APPOINTMENT); + assertListEventSuccess(TYPE_TASK); } - @Test - public void execute_listTask_success() throws CommandException { - listCommand = new ListCommand(TYPE_TASK); + /** + * assert if execution of listing of event is successful or not + * @throws CommandException + */ + private void assertListEventSuccess(String eventType) throws CommandException { + listCommand = new ListCommand(eventType); listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); CommandResult result = listCommand.execute(); - assertEquals(MESSAGE_SUCCESS + TYPE_TASK, result.feedbackToUser); + assertEquals(MESSAGE_SUCCESS + eventType, result.feedbackToUser); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); - assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); } } diff --git a/src/test/java/seedu/address/model/event/EventTimeTest.java b/src/test/java/seedu/address/model/event/EventTimeTest.java index b95f5d3ffcab..e0424cbd50de 100644 --- a/src/test/java/seedu/address/model/event/EventTimeTest.java +++ b/src/test/java/seedu/address/model/event/EventTimeTest.java @@ -7,6 +7,7 @@ import seedu.address.testutil.Assert; +//@@author Sisyphus25 public class EventTimeTest { @Test public void constructor_null_throwsNullPointerException() { diff --git a/src/test/java/seedu/address/model/event/TitleTest.java b/src/test/java/seedu/address/model/event/TitleTest.java index b7130794e30f..a499d595d60a 100644 --- a/src/test/java/seedu/address/model/event/TitleTest.java +++ b/src/test/java/seedu/address/model/event/TitleTest.java @@ -7,6 +7,7 @@ import seedu.address.testutil.Assert; +//@@author Sisyphus25 public class TitleTest { @Test public void constructor_null_throwsNullPointerException() { @@ -25,11 +26,11 @@ public void isValidTitle() { // null title Assert.assertThrows(NullPointerException.class, () -> Title.isValidTitle(null)); - // invalid Appointment + // invalid title assertFalse(Title.isValidTitle("")); // empty string assertFalse(Title.isValidTitle(" ")); // spaces only - // valid Appointment + // valid title assertTrue(Title.isValidTitle("Meet Dave")); assertTrue(Title.isValidTitle("-")); // one character } diff --git a/src/test/java/seedu/address/storage/XmlAdaptedAppointmentTest.java b/src/test/java/seedu/address/storage/XmlAdaptedAppointmentTest.java index 17fdd123a088..d6bccb0b0cf7 100644 --- a/src/test/java/seedu/address/storage/XmlAdaptedAppointmentTest.java +++ b/src/test/java/seedu/address/storage/XmlAdaptedAppointmentTest.java @@ -1,8 +1,8 @@ package seedu.address.storage; -import static junit.framework.Assert.assertFalse; -import static junit.framework.Assert.assertTrue; import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; import static seedu.address.logic.commands.CommandTestUtil.VALID_END_TIME; import static seedu.address.logic.commands.CommandTestUtil.VALID_START_TIME; import static seedu.address.logic.commands.CommandTestUtil.VALID_TITLE; diff --git a/src/test/java/seedu/address/ui/AppointmentCardTest.java b/src/test/java/seedu/address/ui/AppointmentCardTest.java index 2533d1a789b2..7e2cfe765bda 100644 --- a/src/test/java/seedu/address/ui/AppointmentCardTest.java +++ b/src/test/java/seedu/address/ui/AppointmentCardTest.java @@ -9,7 +9,8 @@ import seedu.address.model.event.Appointment; -//@@author Sisyphus25 +//@@author Sisyphus25-reused +//Reuse with modification from PersonCardTest public class AppointmentCardTest extends GuiUnitTest { @Test @@ -31,8 +32,7 @@ public void equals() { assertFalse(appointmentCard.equals(0)); // different appointment, same index -> returns false - Appointment differentAppointment = TYPICAL_APPOINTMENT_3; - assertFalse(appointmentCard.equals(new AppointmentCard(differentAppointment, 0))); + assertFalse(appointmentCard.equals(new AppointmentCard(TYPICAL_APPOINTMENT_3, 0))); // same appointment, different index -> returns false assertFalse(appointmentCard.equals(new AppointmentCard(appointment, 1))); diff --git a/src/test/java/seedu/address/ui/TaskCardTest.java b/src/test/java/seedu/address/ui/TaskCardTest.java index ab12a85dda13..e3b7a6519d50 100644 --- a/src/test/java/seedu/address/ui/TaskCardTest.java +++ b/src/test/java/seedu/address/ui/TaskCardTest.java @@ -10,7 +10,8 @@ import seedu.address.model.event.Task; -//@@author Sisyphus25 +//@@author Sisyphus25-reused +//Reuse with modification from PersonCardTest public class TaskCardTest extends GuiUnitTest { @Test From 9d6d70eb2cddd84fa388c3351c95fa201905dd13 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Tue, 3 Apr 2018 17:05:29 +0800 Subject: [PATCH 246/288] Remove Mukesh's collate files --- collated/functional/shanmu9898.md | 379 ---------------------- collated/test/shanmu9898.md | 426 ------------------------- src/main/resources/view/LightTheme.css | 2 +- 3 files changed, 1 insertion(+), 806 deletions(-) delete mode 100644 collated/functional/shanmu9898.md delete mode 100644 collated/test/shanmu9898.md diff --git a/collated/functional/shanmu9898.md b/collated/functional/shanmu9898.md deleted file mode 100644 index 95bd736d6b51..000000000000 --- a/collated/functional/shanmu9898.md +++ /dev/null @@ -1,379 +0,0 @@ -# shanmu9898 -###### \java\seedu\address\logic\commands\ExportCommand.java -``` java -/** - * - * Exports people to an XML file of choice based on tag, index or range - */ -public class ExportCommand extends Command { - - public static final String MESSAGE_FAIL = "TeachConnect faced some error while exporting! Please try again!"; - public static final String MESSAGE_OUT_OF_BOUNDS = "Please check the index bounds!"; - public static final String MESSAGE_SUCCESS = "Contacts have been successfully exported!"; - public static final String MESSAGE_RANGE_ERROR = "Please input valid range"; - - public static final String COMMAND_WORD = "export"; - - public static final String MESSAGE_USAGE = COMMAND_WORD + ": exports contacts to the TeachConnect Book based " - + "on index, range or tag \n" - + "Parameters: " - + " [TYPE] " - + PREFIX_NAME + " NAME " - + PREFIX_RANGE + " RANGE " - + PREFIX_TAG_EXPORT + " TAG " - + PREFIX_PATH + " PATH \n" - + "Example 1: " + COMMAND_WORD + " " + PREFIX_NAME + "Exportfile " + PREFIX_RANGE + "all " - + PREFIX_TAG_EXPORT + " friends " + PREFIX_PATH + "/src/main/data \n" - + "Example 2: " + COMMAND_WORD + " " + PREFIX_NAME + "Exportfile " + PREFIX_RANGE + "1 " - + PREFIX_TAG_EXPORT + " friends " + PREFIX_PATH + "/src/main/data \n" - + "Example 3: " + COMMAND_WORD + " " + PREFIX_NAME + "Exportfile " + PREFIX_RANGE + "1,2 " - + PREFIX_TAG_EXPORT + " friends " + PREFIX_PATH + "/src/main/data"; - - - private Tag tag; - private final String range; - private final String path; - private AddressBook teachConnectBook; - private AddressBookStorage teachConnectStorage; - private final String nameOfExportFile; - - /** - * Creates an ExportCommand to export the specified {@code Persons} - */ - public ExportCommand(String range, Tag tag, String path, String nameOfExportFile) { - requireNonNull(range); - requireNonNull(tag); - requireNonNull(path); - requireNonNull(nameOfExportFile); - - this.range = range; - this.path = path; - this.tag = tag; - this.nameOfExportFile = nameOfExportFile; - - teachConnectBook = new AddressBook(); - } - - @Override - public CommandResult execute() { - String[] rangeGiven; - try { - rangeGiven = handleRange(); - } catch (IOException e) { - return new CommandResult(MESSAGE_RANGE_ERROR); - } - CommandResult handledRangeSituation = null; - try { - handledRangeSituation = handleRangeArray(rangeGiven); - } catch (DuplicatePersonException e) { - return new CommandResult(MESSAGE_FAIL); - } catch (IndexOutOfBoundsException e) { - return new CommandResult(MESSAGE_OUT_OF_BOUNDS); - } - if (handledRangeSituation != null) { - return handledRangeSituation; - } - - if (!tryStorage()) { - return new CommandResult(MESSAGE_FAIL); - } - return new CommandResult(MESSAGE_SUCCESS); - - } - - /** - * This method tries creating and storing the export file. - * @return - */ - private boolean tryStorage() { - teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ".xml"); - try { - teachConnectStorage.saveAddressBook(teachConnectBook); - } catch (IOException e) { - return false; - } - return true; - } - - /** - * Handles the range array returned by the handleRange() function - * @param rangeGiven - * @return - */ - private CommandResult handleRangeArray(String[] rangeGiven) throws DuplicatePersonException, - IndexOutOfBoundsException { - if (rangeGiven[0].equals("all")) { - exportAllRange(tag); - } else { - if (rangeGiven.length != 1) { - for (int i = 0; i < rangeGiven.length; i++) { - int low = Integer.parseInt(rangeGiven[0]); - int high = Integer.parseInt(rangeGiven[1]); - if (low >= high) { - return new CommandResult(MESSAGE_RANGE_ERROR); - } else { - exportRange(low, high, tag); - } - } - } else { - int low = Integer.parseInt(rangeGiven[0]); - exportSpecific(low); - } - - - } - return null; - } - - /** - * Adds a specific person to the teachConnectBook - * - * @param low - * @throws DuplicatePersonException - * @throws IndexOutOfBoundsException - */ - private void exportSpecific(int low) throws DuplicatePersonException, IndexOutOfBoundsException { - ObservableList<Person> exportPeople = model.getFilteredPersonList(); - teachConnectBook.addPerson(exportPeople.get(low - 1)); - } - - /** - * Exports a range of people based on the tag and the index range given - * - * @param low - * @param high - * @param tag - * @throws DuplicatePersonException - * @throws IndexOutOfBoundsException - */ - private void exportRange(int low, int high, Tag tag) throws DuplicatePersonException, IndexOutOfBoundsException { - ObservableList<Person> exportPeople = model.getFilteredPersonList(); - ArrayList<Person> exportAddition = new ArrayList<Person>(); - if (tag.equals(new Tag("shouldnotbethistag"))) { - for (int i = low; i < high; i++) { - exportAddition.add(exportPeople.get(i - 1)); - } - teachConnectBook.setPersons(exportAddition); - } else { - for (int i = low; i < high; i++) { - if (exportPeople.get(i - 1).getTags().contains(tag)) { - exportAddition.add(exportPeople.get(i - 1)); - } - - } - } - - teachConnectBook.setPersons(exportAddition); - } - - /** - * Exports all the contacts in the TeachConnect book if contain certain tag - * - * @param tag - * @throws DuplicatePersonException - */ - private void exportAllRange(Tag tag) throws DuplicatePersonException { - ObservableList<Person> exportPeople = model.getFilteredPersonList(); - if (tag.equals(new Tag("shouldnotbethistag"))) { - teachConnectBook.setPersons(exportPeople); - } else { - ArrayList<Person> exportAddition = new ArrayList<Person>(); - for (int i = 0; i < exportPeople.size(); i++) { - if (exportPeople.get(i).getTags().contains(tag)) { - exportAddition.add(exportPeople.get(i)); - } - } - teachConnectBook.setPersons(exportAddition); - } - } - - /** - * Helper method to identify the lower and higher end of the range given - * - * @return rangeStringArray - */ - public String[] handleRange() throws IOException { - String[] rangeStringArray = this.range.split(","); - if (rangeStringArray.length > 2) { - throw new IOException(); - } - return rangeStringArray; - - } - -``` -###### \java\seedu\address\logic\commands\ExportCommand.java -``` java - /** - * - * @param other [in this case ExportCommand] - * @return a boolean value - */ - @Override - public boolean equals(Object other) { - if (this == other) { - return true; - } - - if (!(other instanceof ExportCommand)) { - return false; - } - - ExportCommand e = (ExportCommand) other; - return range.equals(e.range) && path.equals(e.path); - } - -} -``` -###### \java\seedu\address\logic\commands\ImportCommand.java -``` java -/** - * Imports contacts from a different TeachConnect XML file - */ -public class ImportCommand extends UndoableCommand { - - public static final String COMMAND_WORD = "import"; - public static final String MESSAGE_USAGE = COMMAND_WORD + ": imports contacts to the address book." - + "Parameters: file location...\n" - + "Example: " + COMMAND_WORD + " main/src/test/data/sandbox/somerandomfile.xml"; - public static final String MESSAGE_SUCCESS = "%1$s contacts have been successfully imported " - + "and %2$s have been left out!"; - protected static final String MESSAGE_INVALID_FILE = "Please input a valid file location"; - protected Storage storage; - private AddressBook addressBookImported; - private AddressBookStorage addressBookStorage; - private String filePath; - private int numberAdded = 0; - private int numberNotAdded = 0; - - /** - * Creates an ImportCommand to import the specified TeachConnect XML file - */ - public ImportCommand(String importPath) { - requireNonNull(importPath); - this.filePath = importPath; - addressBookStorage = new XmlAddressBookStorage(filePath); - } - - @Override - public CommandResult executeUndoableCommand() throws CommandException { - try { - if (addressBookStorage.readAddressBook(filePath).isPresent()) { - this.addressBookImported = new AddressBook(addressBookStorage.readAddressBook().get()); - ObservableList<Person> people = addressBookImported.getPersonList(); - for (int i = 0; i < people.size(); i++) { - try { - model.addPerson(people.get(i)); - numberAdded++; - } catch (DuplicatePersonException e) { - numberNotAdded++; - } - } - } else { - throw new CommandException(String.format(MESSAGE_INVALID_FILE)); - } - } catch (DataConversionException e) { - throw new CommandException(String.format(MESSAGE_INVALID_FILE)); - } catch (IOException e) { - throw new CommandException(String.format(MESSAGE_INVALID_FILE)); - } - - return new CommandResult(String.format(MESSAGE_SUCCESS, numberAdded, numberNotAdded)); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof ImportCommand // instanceof handles nulls - && filePath.equals(((ImportCommand) other).filePath)); - } - - -} - - - - -``` -###### \java\seedu\address\logic\parser\ExportCommandParser.java -``` java -/** - * Parses input arguments and creates a new ExportCommand object - */ -public class ExportCommandParser implements Parser<ExportCommand> { - - /** - * Parses the given {@code String} of arguments in the context of the ExportCommand - * and returns an ExportCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - @Override - public ExportCommand parse(String args) throws ParseException { - requireNonNull(args); - ArgumentMultimap argMultiMap = ArgumentTokenizer.tokenize(args, PREFIX_NAME, PREFIX_RANGE, - PREFIX_TAG_EXPORT, PREFIX_PATH); - - String[] preambleArgs = argMultiMap.getPreamble().split(" "); - if (!arePrefixesPresent(argMultiMap, PREFIX_NAME, PREFIX_RANGE, PREFIX_PATH) - || preambleArgs.length > 1) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); - } - - String name = argMultiMap.getValue(PREFIX_NAME).orElse(""); - String range = argMultiMap.getValue(PREFIX_RANGE).orElse("all"); - String tag = argMultiMap.getValue(PREFIX_TAG_EXPORT).orElse("shouldnotbethistag"); - String path = argMultiMap.getValue(PREFIX_PATH).orElse(""); - - Tag tagExport = new Tag(tag); - return new ExportCommand(range, tagExport, path, name); - - - } - - /** - * Returns true if none of the prefixes contains empty {@code Optional} values in the given - * {@code ArgumentMultimap}. - */ - private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { - return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); - } - - - -} -``` -###### \java\seedu\address\logic\parser\ImportCommandParser.java -``` java -/** - * Parses input arguments and creates a new ImportCommand object - */ -public class ImportCommandParser implements Parser<ImportCommand> { - - /** - * Parses the given {@code String} of arguments in the context of the ImportCommand - * and returns an ImportCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public ImportCommand parse(String args) throws ParseException { - requireNonNull(args); - String trimmedArgs = args.trim(); - if (trimmedArgs.isEmpty()) { - throw new ParseException( - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); - } - - String[] parameterGetterArray = trimmedArgs.split(" "); - - if (parameterGetterArray.length != 1) { - throw new ParseException( - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); - } else { - return new ImportCommand(parameterGetterArray[0]); - } - - } - - - -} -``` diff --git a/collated/test/shanmu9898.md b/collated/test/shanmu9898.md deleted file mode 100644 index 00fe2203d7c3..000000000000 --- a/collated/test/shanmu9898.md +++ /dev/null @@ -1,426 +0,0 @@ -# shanmu9898 -###### \java\seedu\address\logic\commands\ExportCommandTest.java -``` java -public class ExportCommandTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - private final Tag testingTag = new Tag("testingTag"); - private final String testingPath = "./test/data/XmlAddressBookStorageTest"; - private final String name = "testingName"; - private final String testingRange = "1,5"; - - - @Test - public void constructor_nullRange_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ExportCommand(null, testingTag, testingPath, name); - } - - @Test - public void constructor_nullPath_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ExportCommand(testingRange, testingTag, null, name); - } - - @Test - public void constructor_nullName_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ExportCommand(testingRange, testingTag, testingPath, null); - } - - @Test - public void execute_multipleRange_showsMessageError() { - String testingMultiRange = "1,2,3"; - ExportCommand exportCommand = new ExportCommand(testingMultiRange, testingTag, testingPath, name); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); - - } - - @Test - public void execute_outOfRange_showsMessageError() { - String testingOutOfRange = "0,10000000"; - ExportCommand exportCommand = new ExportCommand(testingOutOfRange, testingTag, testingPath, name); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_OUT_OF_BOUNDS), model); - - } - - @Test - public void execute_successfulExport_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand(testingRange, testingTag, testingPath, name); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); - } - - @Test - public void execute_successfulExportWithAllRange_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand("all", testingTag, testingPath, name); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); - } - - @Test - public void execute_successfulExportWithSingleRange_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand("2", testingTag, testingPath, name); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); - } - - @Test - public void execute_rangeNotCorrect_showsMessageError() { - ExportCommand exportCommand = new ExportCommand("2,1", testingTag, testingPath, name); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); - } - - @Test - public void execute_whenTagIsSupposedlyNotGiven_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand("all", new Tag("shouldnotbethistag"), testingPath, name); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); - } - - @Test - public void execute_whenTagIsSupposedlyNotGivnAndRangeError_showsMessageError() { - ExportCommand exportCommand = new ExportCommand("2,1", new Tag("shouldnotbethistag"), testingPath, name); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); - } - - @Test - public void execute_whenTagIsSupposedlyNotGivenAndRangeGiven_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand(testingRange, new Tag("shouldnotbethistag"), testingPath, name); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); - } - - @Test - public void execute_whenRangeIsSelectiveAndOutOfRange_showsMessageError() { - ExportCommand exportCommand = new ExportCommand("10000000", new Tag("shouldnotbethistag"), testingPath, name); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_OUT_OF_BOUNDS), model); - } - - - - @Test - public void equals() { - final ExportCommand comparableCommand = new ExportCommand(testingRange, testingTag, testingPath, name); - - // same values -> returns true - ExportCommand comparedToCommand = new ExportCommand(testingRange, testingTag, testingPath, name); - assertTrue(comparableCommand.equals(comparedToCommand)); - - // same object -> returns true - assertTrue(comparableCommand.equals(comparableCommand)); - - // null -> returns false - assertFalse(comparableCommand.equals(null)); - - // different types -> returns false - assertFalse(comparableCommand.equals(new ClearCommand())); - - // different range -> returns false - assertFalse(comparableCommand.equals(new ExportCommand("1,2", testingTag, testingPath, name))); - } - - - -} -``` -###### \java\seedu\address\logic\commands\ImportCommandTest.java -``` java -public class ImportCommandTest { - - - private static final String INVALID_FILE_LOCATION = "./data/samplefile.xml"; - private static final String VALID_FILE_LOCATION = - "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"; - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - @Test - public void constructor_nullString_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ImportCommand(null); - } - - @Test - public void execute_importFailure_throwsException() { - ImportCommand command = prepareCommand(INVALID_FILE_LOCATION); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandFailure(command, model, String.format(command.MESSAGE_INVALID_FILE)); - } - - @Test - public void execute_acceptedSuccess_successfulImport() { - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - - ClearCommand clearCommand = new ClearCommand(); - clearCommand.setData(model, new CommandHistory(), new UndoRedoStack()); - clearCommand.executeUndoableCommand(); - - ImportCommand command = prepareCommand(VALID_FILE_LOCATION); - - assertCommandSuccess(command, model, String.format (command.MESSAGE_SUCCESS, "7", "0"), model); - } - - @Test - public void equals() { - final ImportCommand comparableCommand = new ImportCommand(VALID_FILE_LOCATION); - - // same values -> returns true - ImportCommand comparedToCommand = new ImportCommand(VALID_FILE_LOCATION); - assertTrue(comparableCommand.equals(comparedToCommand)); - - // same object -> returns true - assertTrue(comparableCommand.equals(comparableCommand)); - - // null -> returns false - assertFalse(comparableCommand.equals(null)); - - // different types -> returns false - assertFalse(comparableCommand.equals(new ClearCommand())); - - // different range -> returns false - assertFalse(comparableCommand.equals(new ImportCommand("./data/sampleimportfile.xml"))); - } - - - /** - * A method to prepare the Import command based on the path given - */ - private ImportCommand prepareCommand(String path) { - ImportCommand importCommand = new ImportCommand(path); - importCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - return importCommand; - } - -} -``` -###### \java\seedu\address\logic\parser\AddressBookParserTest.java -``` java - @Test - public void parseCommand_export() throws Exception { - ExportCommand command = (ExportCommand) parser.parseCommand( - ExportCommand.COMMAND_WORD + " " + PREFIX_NAME + NAME_NEEDED + " " + PREFIX_RANGE + RANGE_ALL - + " " + PREFIX_TAG_EXPORT + TAG_NEEDED + " " + PREFIX_PATH + PATH_NEEDED); - assertEquals (new ExportCommand ("all", new Tag ("friends"), "./data", - "name"), command); - } - - @Test - public void parseCommand_import() throws Exception { - ImportCommand command = (ImportCommand) parser.parseCommand( - ImportCommand.COMMAND_WORD + " " - + "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"); - assertEquals(new ImportCommand("src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"), - command); - } - - @Test - public void parseCommand_shortcut() throws Exception { - ShortcutCommand command = (ShortcutCommand) parser.parseCommand( - ShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); - assertEquals(new ShortcutCommand("list", "l"), command); - } - - @Test - public void parseCommand_deleteShortcut() throws Exception { - DeleteShortcutCommand command = (DeleteShortcutCommand) parser.parseCommand( - DeleteShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); - assertEquals(new DeleteShortcutCommand("list", "l"), command); - } - - - -``` -###### \java\seedu\address\logic\parser\ExportCommandParserTest.java -``` java -public class ExportCommandParserTest { - @Rule - public ExpectedException thrown = ExpectedException.none(); - - private ExportCommandParser exportCommandParser = new ExportCommandParser(); - - @Test - public void parse_nullString_throwsNullPointerException() throws ParseException { - thrown.expect(NullPointerException.class); - exportCommandParser.parse(null); - } - - @Test - public void parse_optionalFieldsMissing_success() { - Tag testingTag = new Tag("shouldnotbethistag"); - String testingInput = " n/name r/all p/./data"; - ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name"); - assertParseSuccess(exportCommandParser, testingInput, expectedCommand); - } - - @Test - public void parse_allfieldsPresent_success() { - Tag testingTag = new Tag("friends"); - String testingInput = " n/name r/all t/friends p/./data"; - ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name"); - assertParseSuccess(exportCommandParser, testingInput, expectedCommand); - } - -} -``` -###### \java\seedu\address\logic\parser\ImportCommandParserTest.java -``` java -public class ImportCommandParserTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - private ImportCommandParser importCommandParser = new ImportCommandParser(); - - @Test - public void parse_nullString_throwsNullPointerException() throws ParseException { - thrown.expect(NullPointerException.class); - importCommandParser.parse(null); - - } - - @Test - public void parse_emptyString_throwsParseException() throws ParseException { - thrown.expect(ParseException.class); - importCommandParser.parse(" "); - - } - - @Test - public void parse_moreThanOneBlockOfString_throwsParseException() throws ParseException { - thrown.expect(ParseException.class); - importCommandParser.parse("invalid two strings"); - } - - @Test - public void parse_validString_success() { - String input = "./src/test/data/XmlAddressBookStorgageTest/importsamplefile.xml"; - ImportCommand expectedCommand = new ImportCommand(input); - assertParseSuccess(importCommandParser, input, expectedCommand); - } - - - - -} -``` -###### \java\seedu\address\testutil\ExportCommandBuilder.java -``` java -/** - * A utility class containing a list of {@code Index} objects to be used in tests. - */ -public class ExportCommandBuilder { - public static final String RANGE_ALL = "all"; - public static final String TAG_NEEDED = "friends"; - public static final String PATH_NEEDED = "./data"; - public static final String NAME_NEEDED = "name"; - - -} -``` -###### \java\seedu\address\testutil\TypicalImportedPersons.java -``` java -/** - * Special Util class to get people for ImportCommandTest class. - */ -public class TypicalImportedPersons { - public static final Person FLICE = new PersonBuilder().withName("Alice Pauline") - .withAddress("123, Jurong West Ave 6, #08-111").withEmail("alice@example.com") - .withPhone("85355255") - .withTags("friends").build(); - public static final Person FENSON = new PersonBuilder().withName("Benson Meier") - .withAddress("311, Clementi Ave 2, #02-25") - .withEmail("johnd@example.com").withPhone("98765432") - .withTags("owesMoney", "friends").build(); - public static final Person FARL = new PersonBuilder().withName("Carl Kurz").withPhone("95352563") - .withEmail("heinz@example.com").withAddress("wall street").build(); - public static final Person FANIEL = new PersonBuilder().withName("Daniel Meier").withPhone("87652533") - .withEmail("cornelia@example.com").withAddress("10th street").build(); - public static final Person FLLE = new PersonBuilder().withName("Elle Meyer").withPhone("9482224") - .withEmail("werner@example.com").withAddress("michegan ave").build(); - public static final Person GIONA = new PersonBuilder().withName("Fiona Kunz").withPhone("9482427") - .withEmail("lydia@example.com").withAddress("little tokyo").build(); - public static final Student FEORGE = new StudentBuilder().withName("George Best").withPhone("9482442") - .withEmail("anna@example.com").withAddress("4th street").build(); - public static final Student FVAN = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") - .withEmail("wolf@example.com").withAddress("Centre Street").build(); - public static final Student FOHN = new StudentBuilder().withName("John Blake").withPhone("9575232") - .withEmail("star@example.com").withAddress("Hollywood").build(); - - // Manually added - public static final Person FOON = new PersonBuilder().withName("Hoon Meier").withPhone("8482424") - .withEmail("stefan@example.com").withAddress("little india").build(); - public static final Person FDA = new PersonBuilder().withName("Ida Mueller").withPhone("8482131") - .withEmail("hans@example.com").withAddress("chicago ave").build(); - - public static final Student FTUDENT_HOON = new StudentBuilder().withName("Hoon Meier").withPhone("8482424") - .withEmail("stefan@example.com").withAddress("little india").build(); - public static final Student FTUDENT_IDA = new StudentBuilder().withName("Ida Mueller").withPhone("8482131") - .withEmail("hans@example.com").withAddress("chicago ave").build(); - - // Manually added - Person's details found in {@code CommandTestUtil} - public static final Person FMY = new PersonBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) - .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_FRIEND).build(); - public static final Person FOB = new PersonBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) - .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_HUSBAND, VALID_TAG_FRIEND) - .build(); - - public static final Student FTUDENT_AMY = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) - .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); - public static final Student FTUDENT_BOB = new StudentBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) - .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_STUDENT) - .build(); - - public static final String KEYWORD_MATCHING_MEIER = "Meier"; // A keyword that matches MEIER - - private TypicalImportedPersons() {} // prevents instantiation - - /** - * Returns an {@code AddressBook} with all the typical persons. - */ - public static AddressBook getImportedAddressBook() { - AddressBook ab = new AddressBook(); - for (Person person : getImportedPersons()) { - try { - ab.addPerson(person); - } catch (DuplicatePersonException e) { - throw new AssertionError("not possible"); - } - } - return ab; - } - - public static List<Person> getImportedPersons() { - return new ArrayList<>(Arrays.asList(FLICE, FENSON, FARL, FANIEL, FLLE, GIONA, FEORGE)); - } -} -``` diff --git a/src/main/resources/view/LightTheme.css b/src/main/resources/view/LightTheme.css index 951cfd21de2f..1fc763870e5d 100644 --- a/src/main/resources/view/LightTheme.css +++ b/src/main/resources/view/LightTheme.css @@ -1,5 +1,5 @@ /* @@author Sisyphus25-reused -Feused from DarkTheme.css with modifications */ +Reused from DarkTheme.css with modifications */ .background { -fx-background-color: #ffffff; From 816a6f8e9c735b822a7de0754895a69a6ea2176e Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 3 Apr 2018 21:13:25 +0800 Subject: [PATCH 247/288] Export functionality to excel --- .../address/logic/commands/ExportCommand.java | 92 ++++++++++++++++--- .../seedu/address/logic/parser/CliSyntax.java | 1 + .../logic/parser/ExportCommandParser.java | 12 ++- src/main/resources/Util/style.xsl | 9 ++ .../logic/commands/ExportCommandTest.java | 60 ++++++++---- .../logic/parser/AddressBookParserTest.java | 7 +- .../logic/parser/ExportCommandParserTest.java | 22 ++++- .../testutil/ExportCommandBuilder.java | 1 + 8 files changed, 166 insertions(+), 38 deletions(-) create mode 100644 src/main/resources/Util/style.xsl diff --git a/src/main/java/seedu/address/logic/commands/ExportCommand.java b/src/main/java/seedu/address/logic/commands/ExportCommand.java index a263b521ae69..5e157828c762 100644 --- a/src/main/java/seedu/address/logic/commands/ExportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ExportCommand.java @@ -5,10 +5,28 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; import static seedu.address.logic.parser.CliSyntax.PREFIX_RANGE; import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG_EXPORT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TYPE; +import java.io.File; import java.io.IOException; import java.util.ArrayList; +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.Result; +import javax.xml.transform.Source; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; +import javax.xml.transform.stream.StreamSource; + +import org.w3c.dom.Document; +import org.xml.sax.SAXException; + import javafx.collections.ObservableList; import seedu.address.model.AddressBook; import seedu.address.model.person.Person; @@ -34,17 +52,17 @@ public class ExportCommand extends Command { public static final String MESSAGE_USAGE = COMMAND_WORD + ": exports contacts to the TeachConnect Book based " + "on index, range or tag \n" + "Parameters: " - + " [TYPE] " + PREFIX_NAME + " NAME " + PREFIX_RANGE + " RANGE " + PREFIX_TAG_EXPORT + " TAG " - + PREFIX_PATH + " PATH \n" - + "Example 1: " + COMMAND_WORD + " " + PREFIX_NAME + "Exportfile " + PREFIX_RANGE + "all " - + PREFIX_TAG_EXPORT + " friends " + PREFIX_PATH + "/src/main/data \n" - + "Example 2: " + COMMAND_WORD + " " + PREFIX_NAME + "Exportfile " + PREFIX_RANGE + "1 " - + PREFIX_TAG_EXPORT + " friends " + PREFIX_PATH + "/src/main/data \n" - + "Example 3: " + COMMAND_WORD + " " + PREFIX_NAME + "Exportfile " + PREFIX_RANGE + "1,2 " - + PREFIX_TAG_EXPORT + " friends " + PREFIX_PATH + "/src/main/data"; + + PREFIX_PATH + " PATH " + + PREFIX_TYPE + "FORMAT \n" + + "Example 1: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "all " + + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/Normal \n" + + "Example 2: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "1 " + + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/Normal \n" + + "Example 3: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "1,2 " + + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/normal \n"; private Tag tag; @@ -53,20 +71,24 @@ public class ExportCommand extends Command { private AddressBook teachConnectBook; private AddressBookStorage teachConnectStorage; private final String nameOfExportFile; + private final String type; /** * Creates an ExportCommand to export the specified {@code Persons} */ - public ExportCommand(String range, Tag tag, String path, String nameOfExportFile) { + public ExportCommand(String range, Tag tag, String path, String nameOfExportFile, String type) { requireNonNull(range); requireNonNull(tag); requireNonNull(path); requireNonNull(nameOfExportFile); + requireNonNull(type); this.range = range; this.path = path; this.tag = tag; this.nameOfExportFile = nameOfExportFile; + this.type = type; + teachConnectBook = new AddressBook(); } @@ -79,7 +101,7 @@ public CommandResult execute() { } catch (IOException e) { return new CommandResult(MESSAGE_RANGE_ERROR); } - CommandResult handledRangeSituation = null; + CommandResult handledRangeSituation; try { handledRangeSituation = handleRangeArray(rangeGiven); } catch (DuplicatePersonException e) { @@ -91,7 +113,7 @@ public CommandResult execute() { return handledRangeSituation; } - if (!tryStorage()) { + if (!tryStorage(type)) { return new CommandResult(MESSAGE_FAIL); } return new CommandResult(MESSAGE_SUCCESS); @@ -102,13 +124,58 @@ public CommandResult execute() { * This method tries creating and storing the export file. * @return */ - private boolean tryStorage() { + private boolean tryStorage(String type) { teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ".xml"); try { teachConnectStorage.saveAddressBook(teachConnectBook); } catch (IOException e) { return false; } + if (type.equals("excel")) { + return saveAsCsv(); + } + return true; + } + + /** + * Will save as a CSV file depending on the type of input + * @return boolean + */ + private boolean saveAsCsv() { + File stylesheet = new File(String.valueOf("/Users/Bumblebee/Desktop/main/src/main/resources/Util/style.xsl")); + File xmlSource = new File(path + "/" + nameOfExportFile + ".xml"); + + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder; + try { + builder = factory.newDocumentBuilder(); + } catch (ParserConfigurationException e) { + return false; + } + Document document; + try { + document = builder.parse(xmlSource); + } catch (SAXException e) { + return false; + } catch (IOException e) { + return false; + } + + StreamSource styleSource = new StreamSource(stylesheet); + Transformer transformer; + try { + transformer = TransformerFactory.newInstance().newTransformer(styleSource); + } catch (TransformerConfigurationException e) { + return false; + } + Source source = new DOMSource(document); + Result outputTarget = new StreamResult(new File(path + "/" + nameOfExportFile + ".csv")); + try { + transformer.transform(source, outputTarget); + } catch (TransformerException e) { + return false; + } + return true; } @@ -218,7 +285,6 @@ public String[] handleRange() throws IOException { } - //@@author shanmu9898 - reused /** * * @param other [in this case ExportCommand] diff --git a/src/main/java/seedu/address/logic/parser/CliSyntax.java b/src/main/java/seedu/address/logic/parser/CliSyntax.java index 66b0b8de0d2b..293e081f1024 100644 --- a/src/main/java/seedu/address/logic/parser/CliSyntax.java +++ b/src/main/java/seedu/address/logic/parser/CliSyntax.java @@ -18,4 +18,5 @@ public class CliSyntax { public static final Prefix PREFIX_PATH = new Prefix("p/"); public static final Prefix PREFIX_TAG_EXPORT = new Prefix("t/"); public static final Prefix PREFIX_RANGE = new Prefix("r/"); + public static final Prefix PREFIX_TYPE = new Prefix("te/"); } diff --git a/src/main/java/seedu/address/logic/parser/ExportCommandParser.java b/src/main/java/seedu/address/logic/parser/ExportCommandParser.java index 9602aa951381..94a9e0e3e590 100644 --- a/src/main/java/seedu/address/logic/parser/ExportCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ExportCommandParser.java @@ -6,6 +6,7 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; import static seedu.address.logic.parser.CliSyntax.PREFIX_RANGE; import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG_EXPORT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TYPE; import java.util.stream.Stream; @@ -29,10 +30,10 @@ public class ExportCommandParser implements Parser<ExportCommand> { public ExportCommand parse(String args) throws ParseException { requireNonNull(args); ArgumentMultimap argMultiMap = ArgumentTokenizer.tokenize(args, PREFIX_NAME, PREFIX_RANGE, - PREFIX_TAG_EXPORT, PREFIX_PATH); + PREFIX_TAG_EXPORT, PREFIX_PATH, PREFIX_TYPE); String[] preambleArgs = argMultiMap.getPreamble().split(" "); - if (!arePrefixesPresent(argMultiMap, PREFIX_NAME, PREFIX_RANGE, PREFIX_PATH) + if (!arePrefixesPresent(argMultiMap, PREFIX_NAME, PREFIX_RANGE, PREFIX_PATH, PREFIX_TYPE) || preambleArgs.length > 1) { throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); } @@ -41,9 +42,14 @@ public ExportCommand parse(String args) throws ParseException { String range = argMultiMap.getValue(PREFIX_RANGE).orElse("all"); String tag = argMultiMap.getValue(PREFIX_TAG_EXPORT).orElse("shouldnotbethistag"); String path = argMultiMap.getValue(PREFIX_PATH).orElse(""); + String type = argMultiMap.getValue(PREFIX_TYPE).orElse("normal"); + + if (!(type.equals("excel") || type.equals("normal"))) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); + } Tag tagExport = new Tag(tag); - return new ExportCommand(range, tagExport, path, name); + return new ExportCommand(range, tagExport, path, name, type); } diff --git a/src/main/resources/Util/style.xsl b/src/main/resources/Util/style.xsl new file mode 100644 index 000000000000..75be27b3d9e2 --- /dev/null +++ b/src/main/resources/Util/style.xsl @@ -0,0 +1,9 @@ +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +<xsl:output method="text" omit-xml-declaration="yes" indent="no"/> +<xsl:template match="/"> +Name,Phone,Email,Address,Block Number +<xsl:for-each select="//persons"> +<xsl:value-of select="concat(name,',',phone,',',email,',',address,' ')"/> +</xsl:for-each> +</xsl:template> +</xsl:stylesheet> \ No newline at end of file diff --git a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java index 16752e9d1498..0853e73b7fec 100644 --- a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java @@ -26,30 +26,39 @@ public class ExportCommandTest { private final String testingPath = "./test/data/XmlAddressBookStorageTest"; private final String name = "testingName"; private final String testingRange = "1,5"; + private final String fileTypeNormal = "normal"; + private final String fileTypeExcel = "excel"; @Test public void constructor_nullRange_throwsNullPointerException() { thrown.expect(NullPointerException.class); - new ExportCommand(null, testingTag, testingPath, name); + new ExportCommand(null, testingTag, testingPath, name, fileTypeExcel); } @Test public void constructor_nullPath_throwsNullPointerException() { thrown.expect(NullPointerException.class); - new ExportCommand(testingRange, testingTag, null, name); + new ExportCommand(testingRange, testingTag, null, name, fileTypeNormal); } @Test public void constructor_nullName_throwsNullPointerException() { thrown.expect(NullPointerException.class); - new ExportCommand(testingRange, testingTag, testingPath, null); + new ExportCommand(testingRange, testingTag, testingPath, null, fileTypeNormal); + } + + @Test + public void constructor_nullType_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(testingRange, testingTag, testingPath, name, null); } @Test public void execute_multipleRange_showsMessageError() { String testingMultiRange = "1,2,3"; - ExportCommand exportCommand = new ExportCommand(testingMultiRange, testingTag, testingPath, name); + ExportCommand exportCommand = new ExportCommand(testingMultiRange, testingTag, testingPath, + name, fileTypeNormal); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); @@ -60,7 +69,8 @@ public void execute_multipleRange_showsMessageError() { @Test public void execute_outOfRange_showsMessageError() { String testingOutOfRange = "0,10000000"; - ExportCommand exportCommand = new ExportCommand(testingOutOfRange, testingTag, testingPath, name); + ExportCommand exportCommand = new ExportCommand(testingOutOfRange, testingTag, testingPath, + name, fileTypeNormal); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); @@ -70,7 +80,7 @@ public void execute_outOfRange_showsMessageError() { @Test public void execute_successfulExport_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand(testingRange, testingTag, testingPath, name); + ExportCommand exportCommand = new ExportCommand(testingRange, testingTag, testingPath, name, fileTypeNormal); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); @@ -79,7 +89,7 @@ public void execute_successfulExport_showsNoMessageError() { @Test public void execute_successfulExportWithAllRange_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand("all", testingTag, testingPath, name); + ExportCommand exportCommand = new ExportCommand("all", testingTag, testingPath, name, fileTypeNormal); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); @@ -88,7 +98,16 @@ public void execute_successfulExportWithAllRange_showsNoMessageError() { @Test public void execute_successfulExportWithSingleRange_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand("2", testingTag, testingPath, name); + ExportCommand exportCommand = new ExportCommand("2", testingTag, testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_successfulExportWithExcel_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("2", testingTag, testingPath, name, fileTypeExcel); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); @@ -97,7 +116,7 @@ public void execute_successfulExportWithSingleRange_showsNoMessageError() { @Test public void execute_rangeNotCorrect_showsMessageError() { - ExportCommand exportCommand = new ExportCommand("2,1", testingTag, testingPath, name); + ExportCommand exportCommand = new ExportCommand("2,1", testingTag, testingPath, name, fileTypeNormal); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); @@ -106,7 +125,8 @@ public void execute_rangeNotCorrect_showsMessageError() { @Test public void execute_whenTagIsSupposedlyNotGiven_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand("all", new Tag("shouldnotbethistag"), testingPath, name); + ExportCommand exportCommand = new ExportCommand("all", new Tag("shouldnotbethistag"), + testingPath, name, fileTypeNormal); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); @@ -115,7 +135,8 @@ public void execute_whenTagIsSupposedlyNotGiven_showsNoMessageError() { @Test public void execute_whenTagIsSupposedlyNotGivnAndRangeError_showsMessageError() { - ExportCommand exportCommand = new ExportCommand("2,1", new Tag("shouldnotbethistag"), testingPath, name); + ExportCommand exportCommand = new ExportCommand("2,1", new Tag("shouldnotbethistag"), + testingPath, name, fileTypeNormal); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); @@ -124,16 +145,20 @@ public void execute_whenTagIsSupposedlyNotGivnAndRangeError_showsMessageError() @Test public void execute_whenTagIsSupposedlyNotGivenAndRangeGiven_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand(testingRange, new Tag("shouldnotbethistag"), testingPath, name); + ExportCommand exportCommand = new ExportCommand(testingRange, new Tag("shouldnotbethistag"), + testingPath, name, fileTypeNormal); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); } + + @Test public void execute_whenRangeIsSelectiveAndOutOfRange_showsMessageError() { - ExportCommand exportCommand = new ExportCommand("10000000", new Tag("shouldnotbethistag"), testingPath, name); + ExportCommand exportCommand = new ExportCommand("10000000", new Tag("shouldnotbethistag"), + testingPath, name, fileTypeNormal); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); @@ -144,10 +169,12 @@ public void execute_whenRangeIsSelectiveAndOutOfRange_showsMessageError() { @Test public void equals() { - final ExportCommand comparableCommand = new ExportCommand(testingRange, testingTag, testingPath, name); + final ExportCommand comparableCommand = new ExportCommand(testingRange, testingTag, testingPath, + name, fileTypeNormal); // same values -> returns true - ExportCommand comparedToCommand = new ExportCommand(testingRange, testingTag, testingPath, name); + ExportCommand comparedToCommand = new ExportCommand(testingRange, testingTag, testingPath, + name, fileTypeNormal); assertTrue(comparableCommand.equals(comparedToCommand)); // same object -> returns true @@ -160,7 +187,8 @@ public void equals() { assertFalse(comparableCommand.equals(new ClearCommand())); // different range -> returns false - assertFalse(comparableCommand.equals(new ExportCommand("1,2", testingTag, testingPath, name))); + assertFalse(comparableCommand.equals(new ExportCommand("1,2", testingTag, testingPath, name, + fileTypeNormal))); } diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index b25570fc6a50..933afe099477 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -18,10 +18,12 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; import static seedu.address.logic.parser.CliSyntax.PREFIX_RANGE; import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG_EXPORT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_TYPE; import static seedu.address.testutil.ExportCommandBuilder.NAME_NEEDED; import static seedu.address.testutil.ExportCommandBuilder.PATH_NEEDED; import static seedu.address.testutil.ExportCommandBuilder.RANGE_ALL; import static seedu.address.testutil.ExportCommandBuilder.TAG_NEEDED; +import static seedu.address.testutil.ExportCommandBuilder.TYPE_NEEDED; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import java.util.Arrays; @@ -180,9 +182,10 @@ public void parseCommand_unknownCommand_throwsParseException() throws Exception public void parseCommand_export() throws Exception { ExportCommand command = (ExportCommand) parser.parseCommand( ExportCommand.COMMAND_WORD + " " + PREFIX_NAME + NAME_NEEDED + " " + PREFIX_RANGE + RANGE_ALL - + " " + PREFIX_TAG_EXPORT + TAG_NEEDED + " " + PREFIX_PATH + PATH_NEEDED); + + " " + PREFIX_TAG_EXPORT + TAG_NEEDED + " " + PREFIX_PATH + PATH_NEEDED + " " + PREFIX_TYPE + + TYPE_NEEDED); assertEquals (new ExportCommand ("all", new Tag ("friends"), "./data", - "name"), command); + "name", "normal"), command); } @Test diff --git a/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java index e8b427569d59..716b34f1603f 100644 --- a/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java @@ -1,5 +1,7 @@ package seedu.address.logic.parser; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; import org.junit.Rule; @@ -23,19 +25,31 @@ public void parse_nullString_throwsNullPointerException() throws ParseException exportCommandParser.parse(null); } + @Test + public void parse_differentType_invalidFormatCommandResult() throws ParseException { + Tag testingTag = new Tag("shouldnotbethistag"); + String testingInput = " n/name r/all p/./data te/random"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); + assertParseFailure(exportCommandParser, testingInput, String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ExportCommand.MESSAGE_USAGE)); + + } + @Test public void parse_optionalFieldsMissing_success() { Tag testingTag = new Tag("shouldnotbethistag"); - String testingInput = " n/name r/all p/./data"; - ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name"); + String testingInput = " n/name r/all p/./data te/normal"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); assertParseSuccess(exportCommandParser, testingInput, expectedCommand); } + + @Test public void parse_allfieldsPresent_success() { Tag testingTag = new Tag("friends"); - String testingInput = " n/name r/all t/friends p/./data"; - ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name"); + String testingInput = " n/name r/all t/friends p/./data te/normal"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); assertParseSuccess(exportCommandParser, testingInput, expectedCommand); } diff --git a/src/test/java/seedu/address/testutil/ExportCommandBuilder.java b/src/test/java/seedu/address/testutil/ExportCommandBuilder.java index 38f3d551aa05..026b397f630f 100644 --- a/src/test/java/seedu/address/testutil/ExportCommandBuilder.java +++ b/src/test/java/seedu/address/testutil/ExportCommandBuilder.java @@ -9,6 +9,7 @@ public class ExportCommandBuilder { public static final String TAG_NEEDED = "friends"; public static final String PATH_NEEDED = "./data"; public static final String NAME_NEEDED = "name"; + public static final String TYPE_NEEDED = "normal"; } From f78c697a55f942bb39d81db345de3bfbf5590cfa Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 3 Apr 2018 21:19:09 +0800 Subject: [PATCH 248/288] Checkstyle 1 --- src/main/resources/Util/style.xsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/Util/style.xsl b/src/main/resources/Util/style.xsl index 75be27b3d9e2..de2ce2968884 100644 --- a/src/main/resources/Util/style.xsl +++ b/src/main/resources/Util/style.xsl @@ -6,4 +6,4 @@ Name,Phone,Email,Address,Block Number <xsl:value-of select="concat(name,',',phone,',',email,',',address,' ')"/> </xsl:for-each> </xsl:template> -</xsl:stylesheet> \ No newline at end of file +</xsl:stylesheet> From 1c5930b0bc85535ffea5262de8b8b3999f2862af Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 3 Apr 2018 22:58:54 +0800 Subject: [PATCH 249/288] Errors --- src/main/java/seedu/address/logic/commands/ExportCommand.java | 2 +- .../java/seedu/address/logic/commands/ExportCommandTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ExportCommand.java b/src/main/java/seedu/address/logic/commands/ExportCommand.java index 5e157828c762..bd21eecfce12 100644 --- a/src/main/java/seedu/address/logic/commands/ExportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ExportCommand.java @@ -142,7 +142,7 @@ private boolean tryStorage(String type) { * @return boolean */ private boolean saveAsCsv() { - File stylesheet = new File(String.valueOf("/Users/Bumblebee/Desktop/main/src/main/resources/Util/style.xsl")); + File stylesheet = new File("./src/main/resources/Util/style.xsl"); File xmlSource = new File(path + "/" + nameOfExportFile + ".xml"); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); diff --git a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java index 0853e73b7fec..7ff87fe1396b 100644 --- a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java @@ -107,7 +107,7 @@ public void execute_successfulExportWithSingleRange_showsNoMessageError() { @Test public void execute_successfulExportWithExcel_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand("2", testingTag, testingPath, name, fileTypeExcel); + ExportCommand exportCommand = new ExportCommand("1,6", testingTag, testingPath, name, fileTypeExcel); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); From 3b24ab4414970eecd302c9f4e09cba872456f52e Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 4 Apr 2018 02:29:51 +0800 Subject: [PATCH 250/288] List Shortcuts with tests --- .../events/model/AddressBookChangedEvent.java | 3 +- src/main/java/seedu/address/logic/Logic.java | 4 ++ .../seedu/address/logic/LogicManager.java | 4 ++ .../address/logic/commands/ListCommand.java | 18 ++++-- .../logic/parser/ListCommandParser.java | 1 + src/main/java/seedu/address/model/Model.java | 6 +- .../address/model/ReadOnlyAddressBook.java | 5 +- .../model/shortcuts/ShortcutDoubles.java | 15 +++-- .../java/seedu/address/ui/MainWindow.java | 14 ++++- .../java/seedu/address/ui/ShortcutCard.java | 53 ++++++++++++++++++ .../seedu/address/ui/ShortcutListPanel.java | 55 +++++++++++++++++++ src/main/resources/view/ShortcutListCard.fxml | 33 +++++++++++ .../resources/view/ShortcutListPanel.fxml | 8 +++ .../logic/commands/FindCommandTest.java | 4 +- .../logic/commands/ListCommandTest.java | 11 ++++ .../logic/parser/AddressBookParserTest.java | 12 ++-- .../logic/parser/ListCommandParserTest.java | 9 +-- .../seedu/address/model/AddressBookTest.java | 7 +++ .../seedu/address/model/ModelManagerTest.java | 10 ++++ .../storage/XmlAddressBookStorageTest.java | 8 +++ ...dBuilder.java => ExportCommandHelper.java} | 2 +- .../testutil/ShortcutCommandBuilder.java | 25 +++++++++ .../address/testutil/TypicalPersons.java | 2 + .../address/testutil/TypicalShortcuts.java | 30 ++++++++++ .../java/seedu/address/ui/CommandBoxTest.java | 2 +- .../seedu/address/ui/ShortcutCardTest.java | 40 ++++++++++++++ 26 files changed, 353 insertions(+), 28 deletions(-) create mode 100644 src/main/java/seedu/address/ui/ShortcutCard.java create mode 100644 src/main/java/seedu/address/ui/ShortcutListPanel.java create mode 100644 src/main/resources/view/ShortcutListCard.fxml create mode 100644 src/main/resources/view/ShortcutListPanel.fxml rename src/test/java/seedu/address/testutil/{ExportCommandBuilder.java => ExportCommandHelper.java} (92%) create mode 100644 src/test/java/seedu/address/testutil/ShortcutCommandBuilder.java create mode 100644 src/test/java/seedu/address/testutil/TypicalShortcuts.java create mode 100644 src/test/java/seedu/address/ui/ShortcutCardTest.java diff --git a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java b/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java index 4ef468ca6b02..65d12ff02c2f 100644 --- a/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java +++ b/src/main/java/seedu/address/commons/events/model/AddressBookChangedEvent.java @@ -15,6 +15,7 @@ public AddressBookChangedEvent(ReadOnlyAddressBook data) { @Override public String toString() { return "number of persons " + data.getPersonList().size() + ", number of tags " - + data.getTagList().size() + ", number of events " + data.getAppointmentList().size(); + + data.getTagList().size() + ", number of events " + data.getAppointmentList().size() + + data.getCommandsList().size() + ", number of shortcuts"; } } diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index fe6ba51645cb..7022eccc25fa 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -7,6 +7,7 @@ import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; import seedu.address.model.person.Person; +import seedu.address.model.shortcuts.ShortcutDoubles; /** * API of the Logic component @@ -35,4 +36,7 @@ public interface Logic { /** Returns the item type of the current active list that is shown in the GUI by the address book*/ String getCurrentActiveListType(); + + /** Returns an unmodifiable view of the filtered list of Shortcuts */ + ObservableList<ShortcutDoubles> getFilteredShortcutList(); } diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index b8e2fc4bd4a5..bc94915b203c 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -14,6 +14,7 @@ import seedu.address.model.event.Appointment; import seedu.address.model.event.Task; import seedu.address.model.person.Person; +import seedu.address.model.shortcuts.ShortcutDoubles; /** * The main LogicManager of the app. @@ -71,4 +72,7 @@ public ListElementPointer getHistorySnapshot() { public String getCurrentActiveListType() { return model.getCurrentActiveListType(); } + + @Override + public ObservableList<ShortcutDoubles> getFilteredShortcutList() { return model.getFilteredCommandsList(); } } diff --git a/src/main/java/seedu/address/logic/commands/ListCommand.java b/src/main/java/seedu/address/logic/commands/ListCommand.java index 915b5763cf4f..54a7874dffa8 100644 --- a/src/main/java/seedu/address/logic/commands/ListCommand.java +++ b/src/main/java/seedu/address/logic/commands/ListCommand.java @@ -16,15 +16,18 @@ public class ListCommand extends Command { public static final String MESSAGE_SUCCESS = "Listed all "; - public static final String TYPE_CONTACT = "contact"; - public static final String TYPE_STUDENT = "student"; - public static final String TYPE_APPOINTMENT = "appointment"; - public static final String TYPE_TASK = "task"; + public static final String TYPE_CONTACT = "contacts"; + public static final String TYPE_STUDENT = "students"; + public static final String TYPE_APPOINTMENT = "appointments"; + public static final String TYPE_TASK = "tasks"; + public static final String TYPE_SHORTCUT = "shortcuts"; private static final String MESSAGE_INVALID_TYPE = "TYPE is missing or invalid"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": Lists selected type. \n" + "Parameter: TYPE\n" - + "Example: " + COMMAND_WORD + " appointment"; + + "Example: " + COMMAND_WORD + " appointments \n" + + "Example: " + COMMAND_WORD + " tasks \n" + + "Example: " + COMMAND_WORD + " shortcuts \n"; private final String type; @@ -57,6 +60,11 @@ public CommandResult execute() throws CommandException { EventsCenter.getInstance().post(new ToggleListEvent(TYPE_TASK)); return new CommandResult(MESSAGE_SUCCESS + TYPE_TASK); + case TYPE_SHORTCUT: + model.changeCurrentActiveListType(TYPE_SHORTCUT); + EventsCenter.getInstance().post(new ToggleListEvent(TYPE_SHORTCUT)); + return new CommandResult(MESSAGE_SUCCESS + TYPE_SHORTCUT); + default: throw new CommandException(MESSAGE_INVALID_TYPE); } diff --git a/src/main/java/seedu/address/logic/parser/ListCommandParser.java b/src/main/java/seedu/address/logic/parser/ListCommandParser.java index 8f112d88974d..d5d419db8600 100644 --- a/src/main/java/seedu/address/logic/parser/ListCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ListCommandParser.java @@ -34,6 +34,7 @@ private boolean isValidItem(String str) { case(ListCommand.TYPE_STUDENT): case(ListCommand.TYPE_APPOINTMENT): case(ListCommand.TYPE_TASK): + case(ListCommand.TYPE_SHORTCUT): return true; default: return false; diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 0c2bb6220b06..67d756217e0d 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -47,6 +47,7 @@ public interface Model { /** Adds the given student */ void addStudent(Student student) throws DuplicatePersonException; + /** Adds the given shortcut */ void addCommandShortcut(ShortcutDoubles shortcutDoubles) throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException; @@ -79,6 +80,9 @@ void updateStudent(Student target, Student editedStudent) /** Returns an unmodifiable view of the filtered appointment list */ ObservableList<Task> getFilteredTaskList(); + /** Returns an unmodifiable view of the filtered commands list */ + ObservableList<ShortcutDoubles> getFilteredCommandsList(); + /** Returns the item type of the curent active list being shown in the GUI */ String getCurrentActiveListType(); @@ -92,7 +96,7 @@ void deleteCommandShortcut(ShortcutDoubles commandShortcut) */ void updateFilteredPersonList(Predicate<Person> predicate); - ObservableList<ShortcutDoubles> getFilteredCommandsList(); + void deleteTag(Tag tag) throws PersonNotFoundException, DuplicatePersonException; diff --git a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java index 8a5c77a132f4..c816bb3982a6 100644 --- a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java +++ b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java @@ -49,7 +49,10 @@ public interface ReadOnlyAddressBook { */ ObservableList<Task> getTaskList(); - + /** + * Returns an unmodifiable view of the commands list. + * This list will not contain any duplicate commands. + */ ObservableList<ShortcutDoubles> getCommandsList(); diff --git a/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java b/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java index 14153c936606..3612b03731b7 100644 --- a/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java +++ b/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java @@ -19,9 +19,16 @@ public ShortcutDoubles(String shortcutWord, String commandWord) { @Override public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof ShortcutDoubles // instanceof handles nulls - && this.shortcutWord.equals(((ShortcutDoubles) other).shortcutWord) - && this.commandWord.equals(((ShortcutDoubles) other).commandWord)); // state check + if (other == this) { + return true; + } + + if (!(other instanceof ShortcutDoubles)) { + return false; + } + + ShortcutDoubles otherShortcut = (ShortcutDoubles) other; + return otherShortcut.commandWord.equals(this.commandWord) + && otherShortcut.shortcutWord.equals(this.shortcutWord); } } diff --git a/src/main/java/seedu/address/ui/MainWindow.java b/src/main/java/seedu/address/ui/MainWindow.java index f1729780a75b..039d22521ed6 100644 --- a/src/main/java/seedu/address/ui/MainWindow.java +++ b/src/main/java/seedu/address/ui/MainWindow.java @@ -51,6 +51,7 @@ public class MainWindow extends UiPart<Stage> { private Config config; private UserPrefs prefs; private CalendarPanel calendarPanel; + private ShortcutListPanel shortcutListPanel; private String theme; @@ -174,6 +175,9 @@ void fillInnerParts() { appointmentListPanel = new AppointmentListPanel(logic.getFilteredAppointmentList()); taskListPanel = new TaskListPanel(logic.getFilteredTaskList()); + + shortcutListPanel = new ShortcutListPanel(logic.getFilteredShortcutList()); + } void hide() { @@ -220,15 +224,19 @@ public void handleHelp() { public void toggleList(String list) { listPanelPlaceholder.getChildren().clear(); switch(list) { - case "appointment": + case "appointments": listPanelPlaceholder.getChildren().add(appointmentListPanel.getRoot()); break; - case "task": + case "tasks": listPanelPlaceholder.getChildren().add(taskListPanel.getRoot()); break; - case "contact": + case "contacts": listPanelPlaceholder.getChildren().add(personListPanel.getRoot()); break; + case "shortcuts": + listPanelPlaceholder.getChildren().add(shortcutListPanel.getRoot()); + break; + default: listPanelPlaceholder.getChildren().add(personListPanel.getRoot()); } diff --git a/src/main/java/seedu/address/ui/ShortcutCard.java b/src/main/java/seedu/address/ui/ShortcutCard.java new file mode 100644 index 000000000000..ff2930b2095e --- /dev/null +++ b/src/main/java/seedu/address/ui/ShortcutCard.java @@ -0,0 +1,53 @@ +package seedu.address.ui; + +import javafx.fxml.FXML; +import javafx.scene.control.Label; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Region; +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * An UI component that displays information of a {@code Shortcut Double} + */ +public class ShortcutCard extends UiPart<Region> { + + private static final String FXML = "ShortcutListCard.fxml"; + + public final ShortcutDoubles shortcutDoubles; + + @FXML + private HBox cardPane; + @FXML + private Label shortcut; + @FXML + private Label command; + @FXML + private Label id; + + public ShortcutCard(ShortcutDoubles shortcutDoubles, int displayedIndex) { + super(FXML); + + this.shortcutDoubles = shortcutDoubles; + id.setText(displayedIndex + ". "); + shortcut.setText("===> " + shortcutDoubles.shortcutWord); + command.setText(shortcutDoubles.commandWord); + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof ShortcutCard)) { + return false; + } + + // state check + ShortcutCard card = (ShortcutCard) other; + return id.getText().equals(card.id.getText()) + && shortcutDoubles.equals(card.shortcutDoubles); + } +} diff --git a/src/main/java/seedu/address/ui/ShortcutListPanel.java b/src/main/java/seedu/address/ui/ShortcutListPanel.java new file mode 100644 index 000000000000..24cc66e9e7ec --- /dev/null +++ b/src/main/java/seedu/address/ui/ShortcutListPanel.java @@ -0,0 +1,55 @@ +package seedu.address.ui; + +import java.util.logging.Logger; + +import org.fxmisc.easybind.EasyBind; + +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.scene.control.ListCell; +import javafx.scene.control.ListView; +import javafx.scene.layout.Region; +import seedu.address.commons.core.LogsCenter; +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * Panel containing the list of Shortcuts. + */ +public class ShortcutListPanel extends UiPart<Region> { + private static final String FXML = "ShortcutListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(PersonListPanel.class); + + @FXML + private ListView<ShortcutCard> shortcutListView; + + public ShortcutListPanel(ObservableList<ShortcutDoubles> shortcutList) { + super(FXML); + setConnections(shortcutList); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList<ShortcutDoubles> shortcutList) { + ObservableList<ShortcutCard> mappedList = EasyBind.map(shortcutList, (shortcutDoubles) -> + new ShortcutCard(shortcutDoubles, shortcutList.indexOf(shortcutDoubles) + 1)); + shortcutListView.setItems(mappedList); + shortcutListView.setCellFactory(listView -> new ShortcutListViewCell()); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code AppointmentCard}. + */ + class ShortcutListViewCell extends ListCell<ShortcutCard> { + + @Override + protected void updateItem(ShortcutCard shortcutCard, boolean empty) { + super.updateItem(shortcutCard, empty); + + if (empty || shortcutCard == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(shortcutCard.getRoot()); + } + } + } +} diff --git a/src/main/resources/view/ShortcutListCard.fxml b/src/main/resources/view/ShortcutListCard.fxml new file mode 100644 index 000000000000..306902dd1e6c --- /dev/null +++ b/src/main/resources/view/ShortcutListCard.fxml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.geometry.Insets?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.layout.ColumnConstraints?> +<?import javafx.scene.layout.GridPane?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.Region?> +<?import javafx.scene.layout.VBox?> + +<HBox id="cardPane" fx:id="cardPane" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> + <GridPane HBox.hgrow="ALWAYS"> + <columnConstraints> + <ColumnConstraints hgrow="SOMETIMES" minWidth="10" prefWidth="150" /> + </columnConstraints> + <VBox alignment="CENTER_LEFT" minHeight="80" GridPane.columnIndex="0"> + <padding> + <Insets top="5" right="5" bottom="5" left="15" /> + </padding> + <HBox spacing="5" alignment="CENTER_LEFT"> + <Label fx:id="id" styleClass="cell_big_label"> + <minWidth> + <!-- Ensures that the label text is never truncated --> + <Region fx:constant="USE_PREF_SIZE" /> + </minWidth> + </Label> + <Label fx:id="command" text="\$command" styleClass="cell_big_label" /> + <Label fx:id="shortcut" styleClass="cell_big_label_label" text="\ $shortcut" /> + </HBox> + + </VBox> + </GridPane> +</HBox> diff --git a/src/main/resources/view/ShortcutListPanel.fxml b/src/main/resources/view/ShortcutListPanel.fxml new file mode 100644 index 000000000000..f0d4c28eb73c --- /dev/null +++ b/src/main/resources/view/ShortcutListPanel.fxml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.control.ListView?> +<?import javafx.scene.layout.VBox?> + +<VBox xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> + <ListView fx:id="shortcutListView" VBox.vgrow="ALWAYS" /> +</VBox> diff --git a/src/test/java/seedu/address/logic/commands/FindCommandTest.java b/src/test/java/seedu/address/logic/commands/FindCommandTest.java index afcabcacdaef..b2974e33f298 100644 --- a/src/test/java/seedu/address/logic/commands/FindCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/FindCommandTest.java @@ -69,7 +69,7 @@ public void execute_zeroKeywords_noPersonFound() { String expectedMessage = String.format(MESSAGE_PERSONS_LISTED_OVERVIEW, 0); FindCommand command = prepareCommand(" "); assertCommandSuccessWithNoToggleListEvent(command, expectedMessage, Collections.emptyList()); - model.changeCurrentActiveListType("appointment"); + model.changeCurrentActiveListType("appointments"); assertCommandSuccessWithToggleListEvent(command, expectedMessage, Collections.emptyList()); } @@ -78,7 +78,7 @@ public void execute_multipleKeywords_multiplePersonsFound() { String expectedMessage = String.format(MESSAGE_PERSONS_LISTED_OVERVIEW, 3); FindCommand command = prepareCommand("Kurz Elle Kunz"); assertCommandSuccessWithNoToggleListEvent(command, expectedMessage, Arrays.asList(CARL, ELLE, FIONA)); - model.changeCurrentActiveListType("appointment"); + model.changeCurrentActiveListType("appointments"); assertCommandSuccessWithToggleListEvent(command, expectedMessage, Arrays.asList(CARL, ELLE, FIONA)); } diff --git a/src/test/java/seedu/address/logic/commands/ListCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCommandTest.java index ddb794b96189..3d4bf8a855ef 100644 --- a/src/test/java/seedu/address/logic/commands/ListCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCommandTest.java @@ -7,6 +7,7 @@ import static seedu.address.logic.commands.ListCommand.MESSAGE_SUCCESS; import static seedu.address.logic.commands.ListCommand.TYPE_APPOINTMENT; import static seedu.address.logic.commands.ListCommand.TYPE_CONTACT; +import static seedu.address.logic.commands.ListCommand.TYPE_SHORTCUT; import static seedu.address.logic.commands.ListCommand.TYPE_TASK; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; @@ -75,4 +76,14 @@ public void execute_listTask_success() throws CommandException { assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); } + + @Test + public void execute_listShortcut_success() throws CommandException { + listCommand = new ListCommand(TYPE_SHORTCUT); + listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + CommandResult result = listCommand.execute(); + assertEquals(MESSAGE_SUCCESS + TYPE_SHORTCUT, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); + } } diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 933afe099477..8fcda4d539ad 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -14,16 +14,17 @@ import static seedu.address.logic.commands.ListCommand.COMMAND_WORD; import static seedu.address.logic.commands.ListCommand.TYPE_APPOINTMENT; import static seedu.address.logic.commands.ListCommand.TYPE_CONTACT; +import static seedu.address.logic.commands.ListCommand.TYPE_SHORTCUT; import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; import static seedu.address.logic.parser.CliSyntax.PREFIX_RANGE; import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG_EXPORT; import static seedu.address.logic.parser.CliSyntax.PREFIX_TYPE; -import static seedu.address.testutil.ExportCommandBuilder.NAME_NEEDED; -import static seedu.address.testutil.ExportCommandBuilder.PATH_NEEDED; -import static seedu.address.testutil.ExportCommandBuilder.RANGE_ALL; -import static seedu.address.testutil.ExportCommandBuilder.TAG_NEEDED; -import static seedu.address.testutil.ExportCommandBuilder.TYPE_NEEDED; +import static seedu.address.testutil.ExportCommandHelper.NAME_NEEDED; +import static seedu.address.testutil.ExportCommandHelper.PATH_NEEDED; +import static seedu.address.testutil.ExportCommandHelper.RANGE_ALL; +import static seedu.address.testutil.ExportCommandHelper.TAG_NEEDED; +import static seedu.address.testutil.ExportCommandHelper.TYPE_NEEDED; import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; import java.util.Arrays; @@ -142,6 +143,7 @@ public void parseCommand_history() throws Exception { public void parseCommand_list() throws Exception { assertTrue(parser.parseCommand(COMMAND_WORD + " " + TYPE_CONTACT) instanceof ListCommand); assertTrue(parser.parseCommand(COMMAND_WORD + " " + TYPE_APPOINTMENT) instanceof ListCommand); + assertTrue(parser.parseCommand(COMMAND_WORD + " " + TYPE_SHORTCUT) instanceof ListCommand); } @Test diff --git a/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java index 6bdf09301ced..a254bd45e8a4 100644 --- a/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ListCommandParserTest.java @@ -14,10 +14,11 @@ public class ListCommandParserTest { @Test public void parse_validArgs_returnsListCommand() { - assertParseSuccess(parser, "contact", new ListCommand(ListCommand.TYPE_CONTACT)); - assertParseSuccess(parser, "student", new ListCommand(ListCommand.TYPE_STUDENT)); - assertParseSuccess(parser, "task", new ListCommand(ListCommand.TYPE_TASK)); - assertParseSuccess(parser, "appointment", new ListCommand(ListCommand.TYPE_APPOINTMENT)); + assertParseSuccess(parser, "contacts", new ListCommand(ListCommand.TYPE_CONTACT)); + assertParseSuccess(parser, "students", new ListCommand(ListCommand.TYPE_STUDENT)); + assertParseSuccess(parser, "tasks", new ListCommand(ListCommand.TYPE_TASK)); + assertParseSuccess(parser, "appointments", new ListCommand(ListCommand.TYPE_APPOINTMENT)); + assertParseSuccess(parser, "shortcuts", new ListCommand(ListCommand.TYPE_SHORTCUT)); } @Test diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 8d2581392c7b..32dc6582b29f 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -52,6 +52,7 @@ public void constructor() { assertEquals(Collections.emptyList(), addressBook.getTagList()); assertEquals(Collections.emptyList(), addressBook.getAppointmentList()); assertEquals(Collections.emptyList(), addressBook.getTaskList()); + assertEquals(Collections.emptyList(), addressBook.getCommandsList()); } @@ -108,6 +109,12 @@ public void getTaskList_modifyList_throwsUnsupportedOperationException() { addressBook.getTaskList().remove(0); } + @Test + public void getShortcutList_modifyList_throwsUnsupportedOperationException() { + thrown.expect(UnsupportedOperationException.class); + addressBook.getCommandsList().remove(0); + } + /** * A stub ReadOnlyAddressBook whose persons, tags and events lists can violate interface constraints. */ diff --git a/src/test/java/seedu/address/model/ModelManagerTest.java b/src/test/java/seedu/address/model/ModelManagerTest.java index 279a2744dffe..786ff38ae4d8 100644 --- a/src/test/java/seedu/address/model/ModelManagerTest.java +++ b/src/test/java/seedu/address/model/ModelManagerTest.java @@ -16,6 +16,7 @@ import static seedu.address.testutil.TypicalPersons.BOB; import static seedu.address.testutil.TypicalPersons.IDA; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; +import static seedu.address.testutil.TypicalShortcuts.SHORTCUT_DOUBLES_1; import java.util.Arrays; @@ -32,6 +33,7 @@ import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; import seedu.address.model.tag.Tag; import seedu.address.testutil.AddressBookBuilder; import seedu.address.testutil.PersonBuilder; @@ -119,6 +121,14 @@ public void removeTask_removeAppointmentFromAddressBook_evokeAppointmentListChan TestCase.assertTrue(eventsCollectorRule.eventsCollector.getSize() == 2); } + @Test + public void addShortcut_addShortcutToAddressBook_evokeAddressBookChangedEvent() + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + ModelManager model = new ModelManager(addressBook, userPrefs); + modelManager.addCommandShortcut(SHORTCUT_DOUBLES_1); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); + } + @Test public void equals() { AddressBook differentAddressBook = new AddressBook(); diff --git a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java b/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java index 02e5656968ff..bea4b40fdad9 100644 --- a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java +++ b/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java @@ -4,9 +4,11 @@ import static org.junit.Assert.assertFalse; import static seedu.address.testutil.TypicalEvents.TYPICAL_TASK_3; import static seedu.address.testutil.TypicalPersons.ALICE; +import static seedu.address.testutil.TypicalPersons.DING; import static seedu.address.testutil.TypicalPersons.HOON; import static seedu.address.testutil.TypicalPersons.IDA; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; +import static seedu.address.testutil.TypicalShortcuts.SHORTCUT_DOUBLES_3; import java.io.IOException; @@ -98,6 +100,12 @@ public void readAndSaveAddressBook_allInOrder_success() throws Exception { readBack = xmlAddressBookStorage.readAddressBook().get(); //file path not specified assertEquals(original, new AddressBook(readBack)); + //Save and read without specifying file path + original.addPerson(DING); + original.addShortcutDoubles(SHORTCUT_DOUBLES_3); + xmlAddressBookStorage.saveAddressBook(original); //file path not specified + readBack = xmlAddressBookStorage.readAddressBook().get(); //file path not specified + assertEquals(original, new AddressBook(readBack)); } @Test diff --git a/src/test/java/seedu/address/testutil/ExportCommandBuilder.java b/src/test/java/seedu/address/testutil/ExportCommandHelper.java similarity index 92% rename from src/test/java/seedu/address/testutil/ExportCommandBuilder.java rename to src/test/java/seedu/address/testutil/ExportCommandHelper.java index 026b397f630f..83f031f4e56f 100644 --- a/src/test/java/seedu/address/testutil/ExportCommandBuilder.java +++ b/src/test/java/seedu/address/testutil/ExportCommandHelper.java @@ -4,7 +4,7 @@ /** * A utility class containing a list of {@code Index} objects to be used in tests. */ -public class ExportCommandBuilder { +public class ExportCommandHelper { public static final String RANGE_ALL = "all"; public static final String TAG_NEEDED = "friends"; public static final String PATH_NEEDED = "./data"; diff --git a/src/test/java/seedu/address/testutil/ShortcutCommandBuilder.java b/src/test/java/seedu/address/testutil/ShortcutCommandBuilder.java new file mode 100644 index 000000000000..fffed09b6f92 --- /dev/null +++ b/src/test/java/seedu/address/testutil/ShortcutCommandBuilder.java @@ -0,0 +1,25 @@ +package seedu.address.testutil; + +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * A utility class to help with building Shortcut objects. + */ +public class ShortcutCommandBuilder { + + private String shortcutWord; + private String commandWord; + + public ShortcutCommandBuilder(String shortcutWord, String commandWord) { + this.commandWord = commandWord; + this.shortcutWord = shortcutWord; + } + + + /** + * @return an {@code Appointment} from the data feed to constructor + */ + public ShortcutDoubles build() { + return new ShortcutDoubles(shortcutWord, commandWord); + } +} diff --git a/src/test/java/seedu/address/testutil/TypicalPersons.java b/src/test/java/seedu/address/testutil/TypicalPersons.java index 9cab60478f7c..a1dda2174876 100644 --- a/src/test/java/seedu/address/testutil/TypicalPersons.java +++ b/src/test/java/seedu/address/testutil/TypicalPersons.java @@ -57,6 +57,8 @@ public class TypicalPersons { .withEmail("stefan@example.com").withAddress("little india").build(); public static final Person IDA = new PersonBuilder().withName("Ida Mueller").withPhone("8482131") .withEmail("hans@example.com").withAddress("chicago ave").build(); + public static final Person DING = new PersonBuilder().withName("Ding Thunderstorm").withPhone("81524871") + .withEmail("hansolo@example.com").withAddress("Science Park Road").build(); public static final Student STUDENT_HOON = new StudentBuilder().withName("Hoon Meier").withPhone("8482424") .withEmail("stefan@example.com").withAddress("little india").build(); diff --git a/src/test/java/seedu/address/testutil/TypicalShortcuts.java b/src/test/java/seedu/address/testutil/TypicalShortcuts.java new file mode 100644 index 000000000000..7a8c649e17fd --- /dev/null +++ b/src/test/java/seedu/address/testutil/TypicalShortcuts.java @@ -0,0 +1,30 @@ +package seedu.address.testutil; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * Few Typical Shortcuts + */ +public class TypicalShortcuts { + public static final ShortcutDoubles SHORTCUT_DOUBLES_1 = + new ShortcutCommandBuilder("l", "list").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_2 = + new ShortcutCommandBuilder("c", "clear").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_3 = + new ShortcutCommandBuilder("ll", "list").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_4 = + new ShortcutCommandBuilder("cc", "clear").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_5 = + new ShortcutCommandBuilder("a", "add").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_6 = + new ShortcutCommandBuilder("aa", "add").build(); + + public static List<ShortcutDoubles> getTypicalShortcuts() { + return new ArrayList<>(Arrays.asList(SHORTCUT_DOUBLES_1, SHORTCUT_DOUBLES_2)); + } + +} diff --git a/src/test/java/seedu/address/ui/CommandBoxTest.java b/src/test/java/seedu/address/ui/CommandBoxTest.java index eeb1aadf0b77..ba30b8cb25e9 100644 --- a/src/test/java/seedu/address/ui/CommandBoxTest.java +++ b/src/test/java/seedu/address/ui/CommandBoxTest.java @@ -93,7 +93,7 @@ public void handleKeyPress_startingWithUp() { // insert command in the middle of retrieving previous commands guiRobot.push(KeyCode.UP); - String thirdCommand = "list contact"; + String thirdCommand = "list contacts"; commandBoxHandle.run(thirdCommand); assertInputHistory(KeyCode.UP, thirdCommand); assertInputHistory(KeyCode.UP, COMMAND_THAT_FAILS); diff --git a/src/test/java/seedu/address/ui/ShortcutCardTest.java b/src/test/java/seedu/address/ui/ShortcutCardTest.java new file mode 100644 index 000000000000..a08ba8fa3cae --- /dev/null +++ b/src/test/java/seedu/address/ui/ShortcutCardTest.java @@ -0,0 +1,40 @@ +//package seedu.address.ui; +// +//import static org.junit.Assert.assertFalse; +//import static org.junit.Assert.assertTrue; +//import static seedu.address.testutil.TypicalShortcuts.SHORTCUT_DOUBLES_3; +//import static seedu.address.testutil.TypicalShortcuts.SHORTCUT_DOUBLES_5; +// +//import org.junit.Test; +// +//import seedu.address.model.shortcuts.ShortcutDoubles; +// +//public class ShortcutCardTest { +// +// +// @Test +// public void equals() { +// ShortcutDoubles shortcutDoubles = SHORTCUT_DOUBLES_5; +// //ShortcutCard shortcutCard = new ShortcutCard(shortcutDoubles, 0); +// +// // same shortcut, same index -> returns true +// ShortcutCard copy = new ShortcutCard(shortcutDoubles, 0); +// assertTrue(shortcutCard.equals(copy)); +// +// // same object -> returns true +// assertTrue(shortcutCard.equals(shortcutCard)); +// +// // null -> returns false +// assertFalse(shortcutCard.equals(null)); +// +// // different types -> returns false +// assertFalse(shortcutCard.equals(0)); +// +// // different shortcut, same index -> returns false +// ShortcutDoubles differentshortcut = SHORTCUT_DOUBLES_3; +// assertFalse(shortcutCard.equals(new ShortcutCard(differentshortcut, 0))); +// +// // same shortcut, different index -> returns false +// assertFalse(shortcutCard.equals(new ShortcutCard(shortcutDoubles, 1))); +// } +//} From d1a4f8ac1e7e942b45033e5adbbb059eb7444064 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 4 Apr 2018 03:25:20 +0800 Subject: [PATCH 251/288] Updated user guide --- docs/UserGuide.adoc | 111 ++++++++++++++++++++++++++++++-------------- 1 file changed, 75 insertions(+), 36 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 80b5049b2f33..1107c4b24da7 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -111,26 +111,26 @@ Forms an English class containing the first, second and fifth contact in the lis === Setting up an appointment : `set_appointment` `[since v1.3]` -Sets up an appointment with the specified contact. + -Format: `set_appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX` + Sets up an appointment with the specified contact. + + Format: `set_appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX` -**** -* This sets an appointment with `TITLE`, from `START_DATE` at `START_TIME` to `END_DATE` at `END_TIME`, with contact at the specified `INDEX`. -* The index refers to the index number shown in the most recent listing. -* The index *must be a positive integer* `1, 2, 3, ...`. -* `START_DATE` and `END_DATE` must be in the format `DD-MM-YYYY`. -* `START_TIME` and `END_TIME` must be in the 24-hr format: HH:MM. -* The new appointment will be listed on both the appointment list and the TeachConnect Calendar. -**** + **** + * This sets an appointment with `TITLE`, from `START_DATE` at `START_TIME` to `END_DATE` at `END_TIME`, with contact at the specified `INDEX`. + * The index refers to the index number shown in the most recent listing. + * The index *must be a positive integer* `1, 2, 3, ...`. + * `START_DATE` and `END_DATE` must be in the format `DD-MM-YYYY`. + * `START_TIME` and `END_TIME` must be in the 24-hr format: HH:MM. + * The new appointment will be listed on both the appointment list and the TeachConnect Calendar. + **** -Examples: + Examples: -* `set_appointment t/Tutoring session s/02-04-2018 19:00 e/02-04-2018 20:00` + -Sets up an appointment on April 2nd, 2018, from 7pm to 8pm. -+ -image::appointmentAdded.jpg[width="800"] - Figure 3: Appointment added successfully example -+ + * `set_appointment t/Tutoring session s/02-04-2018 19:00 e/02-04-2018 20:00` + + Sets up an appointment on April 2nd, 2018, from 7pm to 8pm. + + + image::appointmentAdded.jpg[width="800"] + Figure 3: Appointment added successfully example + + === Setting up a task : `set_task` `[since v1.3]` @@ -233,14 +233,15 @@ Shows a list of all of the specified `TYPE`. + Format: `list TYPE`. **** -* `TYPE` can be of the following: `contact`, `student`, `task`, `appointment`. +* `TYPE` can be of the following: `contact`, `student`, `task`, `appointment`, `shortcut`. * `TYPE` cannot be empty. **** Examples: * List all student: `list student` + -* List all task: `list task` +* List all task: `list task` + +* List all task: `list shortcut` === Editing a contact : `edit` @@ -409,38 +410,76 @@ Format: `exit` TeachConnect data are saved in the hard disk automatically [even while sharing TeachConnect] after any command that changes the data. + There is no need to save manually. -=== Importing the contacts : `import` `[since v1.2]` +=== Importing the contacts : `import` `[since v1.4]` TeachConnect allows you to import contacts from a different TeachConnect file by specifying the location of the file. + Format: `import [TYPE] pathname` Examples: -Importing Contacts : `import ./data/importsample.xml` +* Importing Contacts : `import ./data/importsample.xml` -=== Exporting the contacts : `export` `[since v1.2]` +=== Exporting the contacts : `export` `[since v1.4]` -TeachConnect allows you to export contacts from your TeachConnect by specifying the name of the file you want to save it in and the path where you want to save it. It can export the contacts based on a given range of indexes or a given tag or a given tag in a range of indexes. +TeachConnect allows you to export contacts from your TeachConnect by specifying the name of the file you want to save it in and the path where you want to save it. It can export the contacts based on a given range of indexes or a given tag or a given tag in a range of indexes. By specifying the type of the export you want it saves either only the xml file or both the xml and Csv file. -Format: `export [TYPE] n/NAME r/RANGE t/TAG p/PATH` +Format: `export n/NAME r/RANGE t/TAG p/PATH te/normal` -Format: `export [TYPE] n/NAME r/RANGE p/PATH` +Format: `export n/NAME r/RANGE p/PATH te/excel` [TIP] -You can export all the people at once, all the people with a certain tag at once, all the people with a certain tag in a range at once or all the people in a range with any tags in a single command. +You can export all the people at once, all the people with a certain tag at once, all the people with a certain tag in a range at once or all the people in a range with any tags in a single command. + +You can also choose to export it in Csv format which you can later open in Excel. [WARNING] -You can only export all a people based on one or zero tags. +You can only export all or people based on one or zero tags. + +Be careful about the parameter value for the format type. It has to exactly be either `normal` or `excel`. Examples: -Exporting contacts : `export n/StudentsFile1 r/all t/students p/./data` -Exporting contacts : `export n/StudentsFile2 r/1,10 t/students p/./data` +* Exporting contacts : `export n/StudentsFile1 r/all t/students p/./data te/normal` +* Exporting contacts : `export n/StudentsFile2 r/1,10 t/students p/./data te/excel` + +=== Adding your own shortcut : `shortcut` `[since v1.4]` + +TeachConnect also allows you to set your own personal shortcut for any of the commands above. + +Format: `shortcut [command word] [shortcut word]` + +[TIP] +You can choose multiple shortcuts for the same command. + +You can later use these shortcuts in place of the original command even after closing and reopening the app. + +You can also set shortcut for the shortcut command. + +[WARNING] +You cannot set the shortcut word to a already preregistered command. + +Your shortcut word cannot be more than a single word. + +Examples: +* Personalised Alias : `shortcut list l` +* Personalised Alias : `shortcut add a` + +=== Deleting the shortcut you created : `delete_shortcut` `[since v1.4]` + +TeachConnect allows you to delete your personalised Alias if you don't want them or if you created them by mistake. + +Format: `delete_shortcut [command word] [shortcut word]` + +[TIP] +You can choose to just undo the delete_shortcut if you delete a shortcut by mistake. + +Listing all the shortcuts using the `list shortcuts` command as mentioned above might help in seeing all the shortcuts at once. + + +[WARNING] +You can only delete shortcuts that you have already added. + +Examples: +* Deleting the Personalised Alias : `delete_shortcut list l` +* Deleting the Personalised Alias : `delete_shortcut add a` === Upcoming features `[coming soon]` -* A login feature [coming in v1.5] +* A login feature [coming in v2.0] * Dynamic search [coming in v2.0] * NLP for event and appointment scheduling [coming in v2.0] * Encrypting data files [coming in v2.0] @@ -448,11 +487,7 @@ Exporting contacts : `export n/StudentsFile2 r/1,10 t/students p/./data` == FAQ *Q*: How do I transfer my data to another Computer? + -*A*: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Address Book folder. Alternatively you can also choose the import and export commands coming up! - -*Q*: Does it automatically tell us if there are any appointment clashes? + -*A*: Hell yes! Our aim is also to help you make your planning simpler and that is just what we do! - +*A*: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Address Book folder. Alternatively you can also choose the import and export commands! == Command Summary The table below summarizes TeachConnect's command list. @@ -491,7 +526,11 @@ The table below summarizes TeachConnect's command list. |*Import TeachConnect File*|`import` | `import ./data/samplefile.xml` -|*Export*|`export n/NAME r/RANGE t/TAG p/PATH` | `export n/samplefile.xml r/all t/friends p/.data` +|*Export*|`export n/NAME r/RANGE t/TAG p/PATH te/TYPE` | `export n/samplefile.xml r/all t/friends p/.data te/excel` + +|*Set Shortcut*|`shortcut [command word] [shortcut word]` | `shortcut list l` + +|*Delete Shortcut*|`delete_shortcut [command word] [shortcut word]` | `delete_shortcut list l` |*History*|`history`|`history` From c9a0b0b40e4997dd52a968343e77bc9622c7f867 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 4 Apr 2018 04:17:39 +0800 Subject: [PATCH 252/288] Collated Part Added --- src/main/java/seedu/address/logic/Logic.java | 1 + .../logic/commands/DeleteShortcutCommand.java | 1 + .../address/logic/commands/ShortcutCommand.java | 1 + .../logic/parser/DeleteShortcutCommandParser.java | 1 + .../logic/parser/SetAppointmentCommandParser.java | 1 + .../address/logic/parser/SetTaskCommandParser.java | 1 + .../address/logic/parser/ShortcutCommandParser.java | 1 + src/main/java/seedu/address/model/AddressBook.java | 12 ++++++++++-- src/main/java/seedu/address/model/ModelManager.java | 6 ++++-- .../address/model/shortcuts/ShortcutDoubles.java | 1 + .../model/shortcuts/UniqueShortcutDoublesList.java | 1 + .../address/storage/XmlAdaptedShortcutDouble.java | 1 + src/main/java/seedu/address/ui/ShortcutCard.java | 1 + .../java/seedu/address/ui/ShortcutListPanel.java | 1 + src/main/resources/Util/style.xsl | 1 + src/main/resources/view/ShortcutListCard.fxml | 1 + src/main/resources/view/ShortcutListPanel.fxml | 1 + .../logic/commands/DeleteShortcutCommandTest.java | 1 + .../address/logic/commands/ListCommandTest.java | 1 + .../address/logic/commands/ShortcutCommandTest.java | 1 + .../address/logic/parser/AddressBookParserTest.java | 2 +- .../parser/DeleteShortcutCommandParserTest.java | 1 + .../logic/parser/ShortcutCommandParserTest.java | 1 + .../java/seedu/address/model/AddressBookTest.java | 4 ++++ .../java/seedu/address/model/ModelManagerTest.java | 7 ++++++- .../address/model/UniqueShortcutDoublesListTest.java | 1 + .../address/model/shortcut/ShortcutDoubleTest.java | 1 + .../address/testutil/ShortcutCommandBuilder.java | 1 + .../address/testutil/TypicalImportedPersons.java | 1 + .../seedu/address/testutil/TypicalShortcuts.java | 1 + .../seedu/address/testutil/modelstub/ModelStub.java | 2 ++ src/test/java/seedu/address/ui/ShortcutCardTest.java | 1 + 32 files changed, 53 insertions(+), 6 deletions(-) diff --git a/src/main/java/seedu/address/logic/Logic.java b/src/main/java/seedu/address/logic/Logic.java index 7022eccc25fa..438976537e72 100644 --- a/src/main/java/seedu/address/logic/Logic.java +++ b/src/main/java/seedu/address/logic/Logic.java @@ -37,6 +37,7 @@ public interface Logic { /** Returns the item type of the current active list that is shown in the GUI by the address book*/ String getCurrentActiveListType(); + //@@author shanmu9898 /** Returns an unmodifiable view of the filtered list of Shortcuts */ ObservableList<ShortcutDoubles> getFilteredShortcutList(); } diff --git a/src/main/java/seedu/address/logic/commands/DeleteShortcutCommand.java b/src/main/java/seedu/address/logic/commands/DeleteShortcutCommand.java index 539cc87016dc..fc5568664cdc 100644 --- a/src/main/java/seedu/address/logic/commands/DeleteShortcutCommand.java +++ b/src/main/java/seedu/address/logic/commands/DeleteShortcutCommand.java @@ -1,3 +1,4 @@ +////@@author shanmu9898 package seedu.address.logic.commands; import static java.util.Objects.requireNonNull; diff --git a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java index 324320cc4c15..48268beea183 100644 --- a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java +++ b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.logic.commands; import static java.util.Objects.requireNonNull; diff --git a/src/main/java/seedu/address/logic/parser/DeleteShortcutCommandParser.java b/src/main/java/seedu/address/logic/parser/DeleteShortcutCommandParser.java index 7bcca851af09..03ac5a50ca1d 100644 --- a/src/main/java/seedu/address/logic/parser/DeleteShortcutCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/DeleteShortcutCommandParser.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.logic.parser; import static java.util.Objects.requireNonNull; diff --git a/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java b/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java index 2f2da22288ac..db20e97dc94d 100644 --- a/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/SetAppointmentCommandParser.java @@ -17,6 +17,7 @@ import seedu.address.model.event.EventTime; import seedu.address.model.event.Title; +//@@author Sisyphus25 /** * Parses input arguments and creates a new SetAppointmentCommand object */ diff --git a/src/main/java/seedu/address/logic/parser/SetTaskCommandParser.java b/src/main/java/seedu/address/logic/parser/SetTaskCommandParser.java index fa8f6d6ae259..323e5f41cc00 100644 --- a/src/main/java/seedu/address/logic/parser/SetTaskCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/SetTaskCommandParser.java @@ -13,6 +13,7 @@ import seedu.address.model.event.Task; import seedu.address.model.event.Title; +//@@author Sisyphus25 /** * Parses input arguments and creates a new SetTaskCommand object */ diff --git a/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java b/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java index 60d9cc24f648..7075d73da40a 100644 --- a/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ShortcutCommandParser.java @@ -6,6 +6,7 @@ import seedu.address.logic.commands.ShortcutCommand; import seedu.address.logic.parser.exceptions.ParseException; +//@@author shanmu9898 /** * Parser */ diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 8b00889d389e..9d1283825eb1 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -88,9 +88,12 @@ public void setAppointments(List<Appointment> appointments) this.appointments.setEvents(appointments); } + //@@author shanmu9898 public void setShorcutCommands(List<ShortcutDoubles> shorcutCommands) { this.shorcutCommands.setCommandsList(shorcutCommands); } + //@@author + public void setTasks(List<Task> tasks) throws DuplicateEventException { this.tasks.setEvents(tasks); @@ -268,6 +271,7 @@ public boolean removeStudent(Student key) throws PersonNotFoundException { throw new PersonNotFoundException(); } } + //@@author shanmu9898 /** * * @param commandShortcut @@ -282,17 +286,19 @@ public boolean removeShortcutDouble(ShortcutDoubles commandShortcut) throw new UniqueShortcutDoublesList.CommandShortcutNotFoundException(); } } + //author //// tag-level operations public void addTag(Tag t) throws UniqueTagList.DuplicateTagException { tags.add(t); } - + //@@author shanmu9898 public void addShortcutDoubles(ShortcutDoubles s) throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { shorcutCommands.add(s); } + //@@author //// util methods @@ -359,6 +365,7 @@ public int hashCode() { return Objects.hash(persons, appointments, tasks, tags); } + //@@author shanmu9898 /** * Removes the particular tag for all people in the AddressBook. */ @@ -372,6 +379,7 @@ public void removeTag(Tag tag) throws DuplicatePersonException, PersonNotFoundEx } + /** * Removes the particular tag for that particular person in the AddressBook. */ @@ -389,7 +397,7 @@ private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundEx updatePerson(person, updatedPerson); } - + //@@author /** * Removes the particular tag for that particular student in the AddressBook. */ diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 9290d85d61f2..88b9fb66db1e 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -108,6 +108,7 @@ public synchronized void addStudent(Student student) throws DuplicatePersonExcep indicateAddressBookChanged(); } + //@@author shanmu9898 @Override public synchronized void addCommandShortcut(ShortcutDoubles shortcutDoubles) throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { @@ -120,7 +121,7 @@ public synchronized void deleteCommandShortcut(ShortcutDoubles shortcutDoubles) throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { addressBook.removeShortcutDouble(shortcutDoubles); } - + //@@author @Override public void updatePerson(Person target, Person editedPerson) throws DuplicatePersonException, PersonNotFoundException { @@ -186,11 +187,12 @@ public ObservableList<Task> getFilteredTaskList() { return FXCollections.unmodifiableObservableList(filteredTasks); } + //@@author shanmu9898 @Override public ObservableList<ShortcutDoubles> getFilteredCommandsList() { return FXCollections.unmodifiableObservableList(filteredShortcutCommands); } - + //@@author @Override public String getCurrentActiveListType() { return currentActiveListType; diff --git a/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java b/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java index 3612b03731b7..2fe7c5ab03ae 100644 --- a/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java +++ b/src/main/java/seedu/address/model/shortcuts/ShortcutDoubles.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.model.shortcuts; import static java.util.Objects.requireNonNull; diff --git a/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java b/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java index e2847098c9be..a5148ce7dd29 100644 --- a/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java +++ b/src/main/java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.model.shortcuts; import static java.util.Objects.requireNonNull; diff --git a/src/main/java/seedu/address/storage/XmlAdaptedShortcutDouble.java b/src/main/java/seedu/address/storage/XmlAdaptedShortcutDouble.java index 81d79997ffbe..3b189d78465a 100644 --- a/src/main/java/seedu/address/storage/XmlAdaptedShortcutDouble.java +++ b/src/main/java/seedu/address/storage/XmlAdaptedShortcutDouble.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.storage; import javax.xml.bind.annotation.XmlElement; diff --git a/src/main/java/seedu/address/ui/ShortcutCard.java b/src/main/java/seedu/address/ui/ShortcutCard.java index ff2930b2095e..b8e2923f96ff 100644 --- a/src/main/java/seedu/address/ui/ShortcutCard.java +++ b/src/main/java/seedu/address/ui/ShortcutCard.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.ui; import javafx.fxml.FXML; diff --git a/src/main/java/seedu/address/ui/ShortcutListPanel.java b/src/main/java/seedu/address/ui/ShortcutListPanel.java index 24cc66e9e7ec..48d9d5138052 100644 --- a/src/main/java/seedu/address/ui/ShortcutListPanel.java +++ b/src/main/java/seedu/address/ui/ShortcutListPanel.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.ui; import java.util.logging.Logger; diff --git a/src/main/resources/Util/style.xsl b/src/main/resources/Util/style.xsl index de2ce2968884..80dd94319480 100644 --- a/src/main/resources/Util/style.xsl +++ b/src/main/resources/Util/style.xsl @@ -1,3 +1,4 @@ + <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" omit-xml-declaration="yes" indent="no"/> <xsl:template match="/"> diff --git a/src/main/resources/view/ShortcutListCard.fxml b/src/main/resources/view/ShortcutListCard.fxml index 306902dd1e6c..caa7a98bbc43 100644 --- a/src/main/resources/view/ShortcutListCard.fxml +++ b/src/main/resources/view/ShortcutListCard.fxml @@ -1,3 +1,4 @@ +<!-- @@author shanmu9898 --> <?xml version="1.0" encoding="UTF-8"?> <?import javafx.geometry.Insets?> diff --git a/src/main/resources/view/ShortcutListPanel.fxml b/src/main/resources/view/ShortcutListPanel.fxml index f0d4c28eb73c..81d592518b5e 100644 --- a/src/main/resources/view/ShortcutListPanel.fxml +++ b/src/main/resources/view/ShortcutListPanel.fxml @@ -1,3 +1,4 @@ +<!-- @@author shanmu9898 --> <?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.ListView?> diff --git a/src/test/java/seedu/address/logic/commands/DeleteShortcutCommandTest.java b/src/test/java/seedu/address/logic/commands/DeleteShortcutCommandTest.java index c726b9d568ad..45e1af45cf44 100644 --- a/src/test/java/seedu/address/logic/commands/DeleteShortcutCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/DeleteShortcutCommandTest.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.logic.commands; import static org.junit.Assert.assertFalse; diff --git a/src/test/java/seedu/address/logic/commands/ListCommandTest.java b/src/test/java/seedu/address/logic/commands/ListCommandTest.java index 3d4bf8a855ef..8d7b2120a89e 100644 --- a/src/test/java/seedu/address/logic/commands/ListCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ListCommandTest.java @@ -77,6 +77,7 @@ public void execute_listTask_success() throws CommandException { assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); } + //@@author shanmu9898 @Test public void execute_listShortcut_success() throws CommandException { listCommand = new ListCommand(TYPE_SHORTCUT); diff --git a/src/test/java/seedu/address/logic/commands/ShortcutCommandTest.java b/src/test/java/seedu/address/logic/commands/ShortcutCommandTest.java index 0ec2ebe44229..aee25f2e2b56 100644 --- a/src/test/java/seedu/address/logic/commands/ShortcutCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ShortcutCommandTest.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.logic.commands; import static junit.framework.TestCase.assertEquals; diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 8fcda4d539ad..632be48ecd5e 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -212,7 +212,7 @@ public void parseCommand_deleteShortcut() throws Exception { DeleteShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); assertEquals(new DeleteShortcutCommand("list", "l"), command); } - + //@@author //@@author Sisyphus25 diff --git a/src/test/java/seedu/address/logic/parser/DeleteShortcutCommandParserTest.java b/src/test/java/seedu/address/logic/parser/DeleteShortcutCommandParserTest.java index 908288ef1ba1..e46277b36356 100644 --- a/src/test/java/seedu/address/logic/parser/DeleteShortcutCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/DeleteShortcutCommandParserTest.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.logic.parser; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; diff --git a/src/test/java/seedu/address/logic/parser/ShortcutCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ShortcutCommandParserTest.java index 8a19f827e356..f974a43563f2 100644 --- a/src/test/java/seedu/address/logic/parser/ShortcutCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ShortcutCommandParserTest.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.logic.parser; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 32dc6582b29f..42ccdd7eb634 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -109,11 +109,13 @@ public void getTaskList_modifyList_throwsUnsupportedOperationException() { addressBook.getTaskList().remove(0); } + //@@author shanmu9898 @Test public void getShortcutList_modifyList_throwsUnsupportedOperationException() { thrown.expect(UnsupportedOperationException.class); addressBook.getCommandsList().remove(0); } + //@@author shanmu9898 /** * A stub ReadOnlyAddressBook whose persons, tags and events lists can violate interface constraints. @@ -186,6 +188,7 @@ public void updatePerson_modifiedAddressBooks_noError() throws PersonNotFoundExc assertEquals(testAddressBook, expectedAddressBook); } + //@@author shanmu9898 @Test public void removeTag_tagNotPresent_addressBookUnchanged() throws PersonNotFoundException, DuplicatePersonException { @@ -212,5 +215,6 @@ public void removeTag_tagUsedByMultiplePeople_tagRemoved() throws PersonNotFound assertEquals(expectedAddressBook, testAddressBook); } + //@@author } diff --git a/src/test/java/seedu/address/model/ModelManagerTest.java b/src/test/java/seedu/address/model/ModelManagerTest.java index 786ff38ae4d8..8140f7367833 100644 --- a/src/test/java/seedu/address/model/ModelManagerTest.java +++ b/src/test/java/seedu/address/model/ModelManagerTest.java @@ -54,12 +54,14 @@ public void getFilteredPersonList_modifyList_throwsUnsupportedOperationException modelManager.getFilteredPersonList().remove(0); } + //@@author shanmu9898 @Test public void getFilteredCommandList_modifyList_throwsUnsupportedOperationException() { ModelManager modelManager = new ModelManager(); thrown.expect(UnsupportedOperationException.class); modelManager.getFilteredCommandsList().remove(0); } + //@@author @Test public void getFilteredAppointmentList_modifyList_throwsUnsupportedOperationException() { @@ -121,6 +123,7 @@ public void removeTask_removeAppointmentFromAddressBook_evokeAppointmentListChan TestCase.assertTrue(eventsCollectorRule.eventsCollector.getSize() == 2); } + //@@author shanmu9898 @Test public void addShortcut_addShortcutToAddressBook_evokeAddressBookChangedEvent() throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { @@ -128,6 +131,7 @@ public void addShortcut_addShortcutToAddressBook_evokeAddressBookChangedEvent() modelManager.addCommandShortcut(SHORTCUT_DOUBLES_1); assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); } + //@@author shanmu9898 @Test public void equals() { @@ -162,7 +166,7 @@ public void equals() { differentUserPrefs.setAddressBookName("differentName"); assertTrue(modelManager.equals(new ModelManager(addressBook, differentUserPrefs))); } - + //@@author shanmu9898 @Test public void deleteTag_tagNotPresent_modelUnchanged() throws DuplicatePersonException, PersonNotFoundException { AddressBook testAddressBook = new AddressBookBuilder().withPerson(AMY).withPerson(BOB).build(); @@ -188,4 +192,5 @@ public void deleteTag_tagUsedByMultiplePeople_tagRemoved() throws DuplicatePerso assertEquals(new ModelManager(expectedAddressBook, userPrefs), modelManager); } + //@@author } diff --git a/src/test/java/seedu/address/model/UniqueShortcutDoublesListTest.java b/src/test/java/seedu/address/model/UniqueShortcutDoublesListTest.java index 8ef3f80b0393..7fab2c8e43e8 100644 --- a/src/test/java/seedu/address/model/UniqueShortcutDoublesListTest.java +++ b/src/test/java/seedu/address/model/UniqueShortcutDoublesListTest.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.model; import org.junit.Rule; diff --git a/src/test/java/seedu/address/model/shortcut/ShortcutDoubleTest.java b/src/test/java/seedu/address/model/shortcut/ShortcutDoubleTest.java index 740dcb254822..e3735d16c36e 100644 --- a/src/test/java/seedu/address/model/shortcut/ShortcutDoubleTest.java +++ b/src/test/java/seedu/address/model/shortcut/ShortcutDoubleTest.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.model.shortcut; import static org.junit.Assert.assertFalse; diff --git a/src/test/java/seedu/address/testutil/ShortcutCommandBuilder.java b/src/test/java/seedu/address/testutil/ShortcutCommandBuilder.java index fffed09b6f92..f42b306c2e98 100644 --- a/src/test/java/seedu/address/testutil/ShortcutCommandBuilder.java +++ b/src/test/java/seedu/address/testutil/ShortcutCommandBuilder.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.testutil; import seedu.address.model.shortcuts.ShortcutDoubles; diff --git a/src/test/java/seedu/address/testutil/TypicalImportedPersons.java b/src/test/java/seedu/address/testutil/TypicalImportedPersons.java index ccf07da51209..e934a495f9c1 100644 --- a/src/test/java/seedu/address/testutil/TypicalImportedPersons.java +++ b/src/test/java/seedu/address/testutil/TypicalImportedPersons.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.testutil; import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_AMY; diff --git a/src/test/java/seedu/address/testutil/TypicalShortcuts.java b/src/test/java/seedu/address/testutil/TypicalShortcuts.java index 7a8c649e17fd..f7b7c1ac2d10 100644 --- a/src/test/java/seedu/address/testutil/TypicalShortcuts.java +++ b/src/test/java/seedu/address/testutil/TypicalShortcuts.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.testutil; import java.util.ArrayList; diff --git a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java index 2ddc7f5f0244..c39ee2a66bf1 100644 --- a/src/test/java/seedu/address/testutil/modelstub/ModelStub.java +++ b/src/test/java/seedu/address/testutil/modelstub/ModelStub.java @@ -72,6 +72,7 @@ public void updateStudent(Student target, Student editedStudent) fail("This method should not be called."); } + //@@author shanmu9898 @Override public void addCommandShortcut(ShortcutDoubles shortcutDoubles) throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { @@ -83,6 +84,7 @@ public void deleteCommandShortcut(ShortcutDoubles shortcutDoubles) throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { fail("This method should not be called"); } + //@@author @Override public ObservableList<Person> getFilteredPersonList() { diff --git a/src/test/java/seedu/address/ui/ShortcutCardTest.java b/src/test/java/seedu/address/ui/ShortcutCardTest.java index a08ba8fa3cae..cd1855f9bee3 100644 --- a/src/test/java/seedu/address/ui/ShortcutCardTest.java +++ b/src/test/java/seedu/address/ui/ShortcutCardTest.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 //package seedu.address.ui; // //import static org.junit.Assert.assertFalse; From 6b8700bbb5c470e94f497dc3d8631d9b612027d0 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 4 Apr 2018 04:27:58 +0800 Subject: [PATCH 253/288] Corrected Errors --- src/main/resources/view/ShortcutListCard.fxml | 5 ++--- src/main/resources/view/ShortcutListPanel.fxml | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/resources/view/ShortcutListCard.fxml b/src/main/resources/view/ShortcutListCard.fxml index caa7a98bbc43..a143084b343f 100644 --- a/src/main/resources/view/ShortcutListCard.fxml +++ b/src/main/resources/view/ShortcutListCard.fxml @@ -1,6 +1,5 @@ -<!-- @@author shanmu9898 --> <?xml version="1.0" encoding="UTF-8"?> - +<!-- @@author shanmu9898 --> <?import javafx.geometry.Insets?> <?import javafx.scene.control.Label?> <?import javafx.scene.layout.ColumnConstraints?> @@ -26,7 +25,7 @@ </minWidth> </Label> <Label fx:id="command" text="\$command" styleClass="cell_big_label" /> - <Label fx:id="shortcut" styleClass="cell_big_label_label" text="\ $shortcut" /> + <Label fx:id="shortcut" styleClass="cell_big_label_label" text="\$shortcut" /> </HBox> </VBox> diff --git a/src/main/resources/view/ShortcutListPanel.fxml b/src/main/resources/view/ShortcutListPanel.fxml index 81d592518b5e..462323ce8036 100644 --- a/src/main/resources/view/ShortcutListPanel.fxml +++ b/src/main/resources/view/ShortcutListPanel.fxml @@ -1,6 +1,5 @@ -<!-- @@author shanmu9898 --> <?xml version="1.0" encoding="UTF-8"?> - +<!-- @@author shanmu9898 --> <?import javafx.scene.control.ListView?> <?import javafx.scene.layout.VBox?> From 6b06d89d12216ab5e06ffdd8210589ff421fef50 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 4 Apr 2018 08:57:32 +0800 Subject: [PATCH 254/288] Update UserGuide.adoc --- docs/UserGuide.adoc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 1107c4b24da7..c04a0cf867fb 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -85,8 +85,11 @@ A contact can have any number of tags (including 0) Examples: -Adding a default contact: `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` t/friend + -Adding a student contact: `add student n/Betsy Crowe e/betsycrowe@example.com a/Centre Street, block 238, #02-02` +* `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 t/friend` + +Adds a default contact. +* `add student n/Betsy Crowe e/betsycrowe@example.com a/Centre Street, block 238, #02-02` + +Adds a student contact. + === Forming a class `[coming in v1.5]` From 600c6f9952add24c2d23f3632a6c68b30842eec2 Mon Sep 17 00:00:00 2001 From: Noobscrub95 <smjlim2@msn.com> Date: Wed, 4 Apr 2018 09:51:18 +0800 Subject: [PATCH 255/288] Implemented Sort Command Updated User Guide (Sort Command) Updated Developer Guide (Sort Command) No test cases written yet --- src/main/java/seedu/address/logic/commands/SortCommand.java | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/main/java/seedu/address/logic/commands/SortCommand.java diff --git a/src/main/java/seedu/address/logic/commands/SortCommand.java b/src/main/java/seedu/address/logic/commands/SortCommand.java new file mode 100644 index 000000000000..d49bef9b78d7 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/SortCommand.java @@ -0,0 +1,4 @@ +package seedu.address.logic.commands; + +public class SortCommand { +} From 6e9516bd8e11799e0f7e912ff350e1f30ecc4206 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 4 Apr 2018 10:07:06 +0800 Subject: [PATCH 256/288] Add tasks and appointments to sample AddressBook --- .../address/model/util/SampleDataUtil.java | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/main/java/seedu/address/model/util/SampleDataUtil.java b/src/main/java/seedu/address/model/util/SampleDataUtil.java index d11f4c5de353..1f2867917e5e 100644 --- a/src/main/java/seedu/address/model/util/SampleDataUtil.java +++ b/src/main/java/seedu/address/model/util/SampleDataUtil.java @@ -5,6 +5,12 @@ import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.EventTime; +import seedu.address.model.event.PersonToMeet; +import seedu.address.model.event.Task; +import seedu.address.model.event.Title; +import seedu.address.model.event.exceptions.DuplicateEventException; import seedu.address.model.person.Address; import seedu.address.model.person.Email; import seedu.address.model.person.Name; @@ -49,6 +55,31 @@ public static ShortcutDoubles[] getSampleShortcutDoubles() { }; } + public static Appointment[] getSampleAppointment() { + return new Appointment[]{ + new Appointment(new Title("Consultation"), + new EventTime("04/04/2018 15:00"), + new EventTime("04/04/2018 18:00"), + new PersonToMeet("Bernice Yu", "berniceyu@example.com")), + new Appointment(new Title("Tutoring Session"), + new EventTime("08/04/2018 10:00"), + new EventTime("08/04/2018 12:00"), + new PersonToMeet("Roy Balakrishnan", "royb@example.com")), + new Appointment(new Title("Meet up with parents"), + new EventTime("07/04/2018 13:00"), + new EventTime("07/04/2018 15:00")) + }; + } + + public static Task[] getSampleTask() { + return new Task[] { + new Task(new Title("Mark papers"), new EventTime("30/03/2018 18:00")), + new Task(new Title("Collect documents"), new EventTime("28/03/2018 10:00")), + new Task(new Title("Arrange tutor session"), new EventTime("05/04/2018 23:00")), + new Task(new Title("Prepare documents for meeting"), new EventTime("08/04/2018 10:00")) + }; + } + public static ReadOnlyAddressBook getSampleAddressBook() { try { @@ -61,11 +92,21 @@ public static ReadOnlyAddressBook getSampleAddressBook() { sampleAb.addShortcutDoubles(s); } + for (Appointment a : getSampleAppointment()) { + sampleAb.addAppointment(a); + } + + for (Task t : getSampleTask()) { + sampleAb.addTask(t); + } + return sampleAb; } catch (DuplicatePersonException e) { throw new AssertionError("sample data cannot contain duplicate persons", e); } catch (UniqueShortcutDoublesList.DuplicateShortcutDoublesException e) { throw new AssertionError("sample data cannot contain duplicate command shortcuts", e); + } catch (DuplicateEventException e) { + throw new AssertionError("sample data cannot contain duplicate events", e); } } From 336667e62645974bbb4afe09bb376371f02b35f5 Mon Sep 17 00:00:00 2001 From: Noobscrub95 <smjlim2@msn.com> Date: Wed, 4 Apr 2018 10:16:29 +0800 Subject: [PATCH 257/288] Updated User Guide with Sort Command Updated Developer Guide with Sort Command Implemented Sort Command --- docs/DeveloperGuide.adoc | 22 +++++++++++++++++++ docs/UserGuide.adoc | 5 +++++ .../address/logic/commands/SortCommand.java | 19 ++++++++++++++-- .../logic/parser/AddressBookParser.java | 5 +++++ src/main/java/seedu/address/model/Model.java | 2 ++ .../seedu/address/model/ModelManager.java | 19 +++++++++++++++- 6 files changed, 69 insertions(+), 3 deletions(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 94189db08951..c16aad9ac9fc 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -355,7 +355,29 @@ image::UndoRedoActivityDiagram.png[width="650"] ** Pros: We do not need to maintain a separate stack, and just reuse what is already in the codebase. ** Cons: Requires dealing with commands that have already been undone: We must remember to skip these commands. Violates Single Responsibility Principle and Separation of Concerns as `HistoryManager` now needs to do two * different things. // end::undoredo[] +// tag::sort[] +=== Sorting mechanism +The `SortCommand` uses a `SortedList` that is initialised with the current `filteredPerson` and is sorted using a comparator. Below is the code snippet: + +[source,java] +---- +sortedfilteredPersons = new SortedList<>(filteredPersons); + + public void sortFilteredPersonList(){ + + Comparator<Person> sortByName = new Comparator<Person>() { + @Override + public int compare(Person o1, Person o2) { + return o1.getName().fullName.compareTo(o2.getName().fullName); + } + }; + + sortedFilteredPersons.setComparator(sortByName); + indicateAddressBookChanged(); + } +---- +// end::sort[] === Import Contacts ==== Current Implementation The ImportCommand uses `XmlAddressBookStorage` to generate a temporary `AddressBook` object from a given path. It takes in a String value path. The command then adds the contacts found in the temporary `AddressBook` object into the main address book object. Below is the rough idea of the constructor for the class: diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 80b5049b2f33..132823e8567e 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -70,6 +70,11 @@ image::commandbox.jpg[width="800"] Accesses the User Guide for TeachConnect. + Format: `help` +=== Sorting all contacts : `sort` + +Sorts and shows a list of all contacts in TeachConnect lexographically + +Format: `sort` + === Adding a contact: `add` Adds a contact. + diff --git a/src/main/java/seedu/address/logic/commands/SortCommand.java b/src/main/java/seedu/address/logic/commands/SortCommand.java index d49bef9b78d7..1eb7f76dd222 100644 --- a/src/main/java/seedu/address/logic/commands/SortCommand.java +++ b/src/main/java/seedu/address/logic/commands/SortCommand.java @@ -1,4 +1,19 @@ package seedu.address.logic.commands; -public class SortCommand { -} +/** + * Sorts the current list in lexographic order + + */ + +public class SortCommand extends Command { + + public static final String COMMAND_WORD = "sort"; + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Sorts the current list in lexographic order " + "Example: " + COMMAND_WORD; + public static final String MESSAGE_SUCCESS = "List Sorted"; + + @Override + public CommandResult execute() { + model.sortFilteredPersonList(); + + return new CommandResult(MESSAGE_SUCCESS); + } +} \ No newline at end of file diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index 4c4db640b8ae..8e9902c62c9d 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -29,9 +29,11 @@ import seedu.address.logic.commands.ShortcutCommand; import seedu.address.logic.commands.ToggleCalendarViewCommand; import seedu.address.logic.commands.UndoCommand; +import seedu.address.logic.commands.SortCommand; import seedu.address.logic.parser.exceptions.ParseException; import seedu.address.model.shortcuts.ShortcutDoubles; + /** * Parses user input. */ @@ -139,6 +141,9 @@ public Command parseCommand(String userInput) throws ParseException { case DeleteShortcutCommand.COMMAND_WORD: return new DeleteShortcutCommandParser().parse(arguments); + case SortCommand.COMMAND_WORD: + return new SortCommand(); + default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 0c2bb6220b06..44a0983d7c1e 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -82,6 +82,8 @@ void updateStudent(Student target, Student editedStudent) /** Returns the item type of the curent active list being shown in the GUI */ String getCurrentActiveListType(); + void sortFilteredPersonList(); + /** Deletes the given command shortcut */ void deleteCommandShortcut(ShortcutDoubles commandShortcut) throws UniqueShortcutDoublesList.CommandShortcutNotFoundException; diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 9290d85d61f2..3f9bcfc2aadf 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -5,10 +5,12 @@ import java.util.function.Predicate; import java.util.logging.Logger; +import java.util.Comparator; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.collections.transformation.FilteredList; +import javafx.collections.transformation.SortedList; import seedu.address.commons.core.ComponentManager; import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.model.AddressBookChangedEvent; @@ -40,6 +42,7 @@ public class ModelManager extends ComponentManager implements Model { private final FilteredList<ShortcutDoubles> filteredShortcutCommands; private String currentActiveListType; + private SortedList<Person> sortedFilteredPersons; /** * Initializes a ModelManager with the given addressBook and userPrefs. */ @@ -51,6 +54,7 @@ public ModelManager(ReadOnlyAddressBook addressBook, UserPrefs userPrefs) { this.addressBook = new AddressBook(addressBook); filteredContacts = new FilteredList<>(this.addressBook.getContactList()); + sortedFilteredPersons = new SortedList<Person>(filteredContacts); filteredAppointments = new FilteredList<>(this.addressBook.getAppointmentList()); filteredShortcutCommands = new FilteredList<>(this.addressBook.getCommandsList()); filteredTasks = new FilteredList<>(this.addressBook.getTaskList()); @@ -173,9 +177,22 @@ public void deleteTask(Task target) throws EventNotFoundException { */ @Override public ObservableList<Person> getFilteredPersonList() { - return FXCollections.unmodifiableObservableList(filteredContacts); + return FXCollections.unmodifiableObservableList(sortedFilteredPersons); } + @Override + public void sortFilteredPersonList(){ + + Comparator<Person> sortByName = new Comparator<Person>() { + @Override + public int compare(Person o1, Person o2) { + return o1.getName().fullName.compareTo(o2.getName().fullName); + } + }; + + sortedFilteredPersons.setComparator(sortByName); + indicateAddressBookChanged(); + } @Override public ObservableList<Appointment> getFilteredAppointmentList() { return FXCollections.unmodifiableObservableList(filteredAppointments); From d26dc08d2c0fad5458d73ed7b0e4e21434b7a809 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 4 Apr 2018 10:47:48 +0800 Subject: [PATCH 258/288] Remove Github mergeconflict header --- .../seedu/address/model/person/UniquePersonList.java | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/main/java/seedu/address/model/person/UniquePersonList.java b/src/main/java/seedu/address/model/person/UniquePersonList.java index 72d2ede7927c..83eb7da85f94 100644 --- a/src/main/java/seedu/address/model/person/UniquePersonList.java +++ b/src/main/java/seedu/address/model/person/UniquePersonList.java @@ -3,11 +3,8 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; -<<<<<<< HEAD import java.util.Comparator; -======= import java.util.Collection; ->>>>>>> 6758a87121bd5511c523e8b94ca5aec8d89cf023 import java.util.Iterator; import java.util.List; @@ -105,10 +102,7 @@ public void setPersons(List<Person> persons) throws DuplicatePersonException { * Returns the backing list as an unmodifiable {@code ObservableList}. */ public ObservableList<Person> asObservableList() { -<<<<<<< HEAD sort(); -======= ->>>>>>> 6758a87121bd5511c523e8b94ca5aec8d89cf023 return FXCollections.unmodifiableObservableList(internalList); } @@ -125,6 +119,7 @@ public void onChanged(Change<? extends Person> c) { } }); } + //@@author @Override public Iterator<Person> iterator() { @@ -143,7 +138,6 @@ public int hashCode() { return internalList.hashCode(); } -<<<<<<< HEAD public void sort() { internalList.sort(new Comparator<Person>() { @Override @@ -156,6 +150,4 @@ public int compare(Person otherMember1, Person otherMember2) { } -======= ->>>>>>> 6758a87121bd5511c523e8b94ca5aec8d89cf023 } From 7ed93fb9258d962bde37a6a474d0706ac4ef88ab Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 4 Apr 2018 10:59:20 +0800 Subject: [PATCH 259/288] Updated User guide --- docs/UserGuide.adoc | 69 +++++++++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 1107c4b24da7..e34b4ab549e1 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -104,33 +104,33 @@ Format: `form subj/SUBJECT s/START_DATE e/END_DATE i/INDEX...` Examples: -* `list student` + +* `list students` + `form 1,2,5 subj/English s/18-01-2018 e/17-07-2019` + Forms an English class containing the first, second and fifth contact in the list that starts in 18 Jan 2018 to 17 July 2019. === Setting up an appointment : `set_appointment` `[since v1.3]` - Sets up an appointment with the specified contact. + - Format: `set_appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX` +Sets up an appointment with the specified contact. + +Format: `set_appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX` - **** - * This sets an appointment with `TITLE`, from `START_DATE` at `START_TIME` to `END_DATE` at `END_TIME`, with contact at the specified `INDEX`. - * The index refers to the index number shown in the most recent listing. - * The index *must be a positive integer* `1, 2, 3, ...`. - * `START_DATE` and `END_DATE` must be in the format `DD-MM-YYYY`. - * `START_TIME` and `END_TIME` must be in the 24-hr format: HH:MM. - * The new appointment will be listed on both the appointment list and the TeachConnect Calendar. - **** +**** +* This sets an appointment with `TITLE`, from `START_DATE` at `START_TIME` to `END_DATE` at `END_TIME`, with contact at the specified `INDEX`. +* The index refers to the index number shown in the most recent listing. +* The index *must be a positive integer* `1, 2, 3, ...`. +* `START_DATE` and `END_DATE` must be in the format `DD-MM-YYYY`. +* `START_TIME` and `END_TIME` must be in the 24-hr format: HH:MM. +* The new appointment will be listed on both the appointment list and the TeachConnect Calendar. +**** - Examples: +Examples: - * `set_appointment t/Tutoring session s/02-04-2018 19:00 e/02-04-2018 20:00` + - Sets up an appointment on April 2nd, 2018, from 7pm to 8pm. - + - image::appointmentAdded.jpg[width="800"] - Figure 3: Appointment added successfully example - + +* `set_appointment t/Tutoring session s/02-04-2018 19:00 e/02-04-2018 20:00` + +Sets up an appointment on April 2nd, 2018, from 7pm to 8pm. ++ +image::appointmentAdded.jpg[width="800"] + Figure 3: Appointment added successfully example ++ === Setting up a task : `set_task` `[since v1.3]` @@ -161,7 +161,7 @@ Format: `remove EVENT_TYPE INDEX`. Examples: -* `list appointment` + +* `list appointments` + `remove appointment 2` + Removes the appointment with the index 2 in the appointment list. + @@ -233,15 +233,15 @@ Shows a list of all of the specified `TYPE`. + Format: `list TYPE`. **** -* `TYPE` can be of the following: `contact`, `student`, `task`, `appointment`, `shortcut`. +* `TYPE` can be of the following: `contacts`, `students`, `tasks`, `appointments`, `shortcuts`. * `TYPE` cannot be empty. **** Examples: -* List all student: `list student` + -* List all task: `list task` + -* List all task: `list shortcut` +* List all student: `list students` + +* List all task: `list tasks` + +* List all task: `list shortcuts` === Editing a contact : `edit` @@ -407,21 +407,22 @@ Format: `exit` === Saving the data -TeachConnect data are saved in the hard disk automatically [even while sharing TeachConnect] after any command that changes the data. + +Saves data in the hard disk automatically [even while sharing TeachConnect] after any command that changes the data. + There is no need to save manually. === Importing the contacts : `import` `[since v1.4]` -TeachConnect allows you to import contacts from a different TeachConnect file by specifying the location of the file. + +Imports contacts from a different TeachConnect file by specifying the location of the file. + Format: `import [TYPE] pathname` Examples: -* Importing Contacts : `import ./data/importsample.xml` + +* Imports Contacts : `import ./data/importsample.xml` === Exporting the contacts : `export` `[since v1.4]` -TeachConnect allows you to export contacts from your TeachConnect by specifying the name of the file you want to save it in and the path where you want to save it. It can export the contacts based on a given range of indexes or a given tag or a given tag in a range of indexes. By specifying the type of the export you want it saves either only the xml file or both the xml and Csv file. +Exports contacts from your TeachConnect by specifying the name of the file you want to save it in and the path where you want to save it. It can export the contacts based on a given range of indexes or a given tag or a given tag in a range of indexes. By specifying the type of the export you want it saves either only the xml file or both the xml and Csv file. Format: `export n/NAME r/RANGE t/TAG p/PATH te/normal` @@ -437,12 +438,12 @@ Be careful about the parameter value for the format type. It has to exactly be e Examples: -* Exporting contacts : `export n/StudentsFile1 r/all t/students p/./data te/normal` -* Exporting contacts : `export n/StudentsFile2 r/1,10 t/students p/./data te/excel` +* Exports contacts : `export n/StudentsFile1 r/all t/students p/./data te/normal` +* Exports contacts : `export n/StudentsFile2 r/1,10 t/students p/./data te/excel` === Adding your own shortcut : `shortcut` `[since v1.4]` -TeachConnect also allows you to set your own personal shortcut for any of the commands above. +Sets your own personal shortcut for any of the commands above. Format: `shortcut [command word] [shortcut word]` @@ -459,9 +460,9 @@ Examples: * Personalised Alias : `shortcut list l` * Personalised Alias : `shortcut add a` -=== Deleting the shortcut you created : `delete_shortcut` `[since v1.4]` +=== Deleting your personalised Alias : `delete_shortcut` `[since v1.4]` -TeachConnect allows you to delete your personalised Alias if you don't want them or if you created them by mistake. +Deletes your personalised Alias if you don't want them or if you created them by mistake. Format: `delete_shortcut [command word] [shortcut word]` @@ -473,8 +474,8 @@ Listing all the shortcuts using the `list shortcuts` command as mentioned above You can only delete shortcuts that you have already added. Examples: -* Deleting the Personalised Alias : `delete_shortcut list l` -* Deleting the Personalised Alias : `delete_shortcut add a` +* Deletes the Personalised Alias : `delete_shortcut list l` +* Deletes the Personalised Alias : `delete_shortcut add a` === Upcoming features `[coming soon]` From bf5a926986cc398ca6c4d41f5023a66ac78a164a Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 4 Apr 2018 11:05:09 +0800 Subject: [PATCH 260/288] Added the unused part collate statement --- src/test/java/seedu/address/ui/ShortcutCardTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/seedu/address/ui/ShortcutCardTest.java b/src/test/java/seedu/address/ui/ShortcutCardTest.java index cd1855f9bee3..6acc25434933 100644 --- a/src/test/java/seedu/address/ui/ShortcutCardTest.java +++ b/src/test/java/seedu/address/ui/ShortcutCardTest.java @@ -1,4 +1,4 @@ -//@@author shanmu9898 +//@@author shanmu9898 - unused //package seedu.address.ui; // //import static org.junit.Assert.assertFalse; From 4dfb30d9ded6fc38aab8cea952a79577ff7685c4 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 4 Apr 2018 11:09:24 +0800 Subject: [PATCH 261/288] Fixed formatting --- docs/UserGuide.adoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index f42a882d7d0f..239eedd715c8 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -460,6 +460,7 @@ You cannot set the shortcut word to a already preregistered command. + Your shortcut word cannot be more than a single word. Examples: + * Personalised Alias : `shortcut list l` * Personalised Alias : `shortcut add a` @@ -477,6 +478,7 @@ Listing all the shortcuts using the `list shortcuts` command as mentioned above You can only delete shortcuts that you have already added. Examples: + * Deletes the Personalised Alias : `delete_shortcut list l` * Deletes the Personalised Alias : `delete_shortcut add a` From c5d09e317a96042f737765463df9520d706a13f8 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 4 Apr 2018 11:29:17 +0800 Subject: [PATCH 262/288] Added the collated code of everyone --- collated/functional/Sisyphus25-reused.md | 146 + collated/functional/Sisyphus25.md | 2541 +++++++++++++++++ collated/functional/randypx.md | 120 + collated/functional/shanmu9898.md | 1091 +++++++ collated/test/Sisyphus25-reused.md | 19 + collated/test/Sisyphus25.md | 933 ++++++ collated/test/shanmu9898.md | 1226 ++++++++ .../java/seedu/address/ui/TaskListPanel.java | 2 +- 8 files changed, 6077 insertions(+), 1 deletion(-) create mode 100644 collated/functional/Sisyphus25-reused.md create mode 100644 collated/functional/Sisyphus25.md create mode 100644 collated/functional/randypx.md create mode 100644 collated/functional/shanmu9898.md create mode 100644 collated/test/Sisyphus25-reused.md create mode 100644 collated/test/Sisyphus25.md create mode 100644 collated/test/shanmu9898.md diff --git a/collated/functional/Sisyphus25-reused.md b/collated/functional/Sisyphus25-reused.md new file mode 100644 index 000000000000..ca0ec3c775d8 --- /dev/null +++ b/collated/functional/Sisyphus25-reused.md @@ -0,0 +1,146 @@ +# Sisyphus25-reused +###### /resources/view/TagColour.css +``` css +Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + */ +#tags .teal { + -fx-text-fill: white; + -fx-background-color: #3e7b91; +} + +#tags .red { + -fx-text-fill: black; + -fx-background-color: red; +} + +#tags .yellow { + -fx-background-color: yellow; + -fx-text-fill: black; +} + +#tags .blue { + -fx-text-fill: white; + -fx-background-color: blue; +} + +#tags .orange { + -fx-text-fill: black; + -fx-background-color: orange; +} + +#tags .brown { + -fx-text-fill: white; + -fx-background-color: brown; +} + +#tags .green { + -fx-text-fill: black; + -fx-background-color: green; +} + +#tags .pink { + -fx-text-fill: black; + -fx-background-color: pink; +} + +#tags .black { + -fx-text-fill: white; + -fx-background-color: black; +} + +#tags .grey { + -fx-text-fill: black; + -fx-background-color: grey; +} +``` +###### /java/seedu/address/ui/CalendarPanel.java +``` java + //Reused from https://github.com/CS2103AUG2017-T17-B2/main with modifications + private void setTime() { + calendarView.setToday(LocalDate.now()); + calendarView.setTime(LocalTime.now()); + } + + @Subscribe + private void handleToggleCalendarViewEvent(ToggleCalendarViewEvent event) { + Character c = event.viewMode; + Platform.runLater(() -> toggleView(c)); + } + + public CalendarView getRoot() { + return this.calendarView; + } + + /** + * Remove clutter from interface + */ + private void disableViews() { + calendarView.setShowAddCalendarButton(false); + calendarView.setShowSearchField(false); + calendarView.setShowSearchResultsTray(false); + calendarView.setShowPrintButton(false); + calendarView.setShowPageSwitcher(false); + calendarView.setShowSourceTrayButton(false); + calendarView.setShowPageToolBarControls(false); + calendarView.setShowToolBar(false); + calendarView.setShowSourceTray(false); + + calendarView.showDayPage(); + } + + /** + * Changes calendar view accordingly + */ + private void toggleView(Character c) { + switch(c) { + case ('d'): + calendarView.showDayPage(); + return; + case ('w'): + calendarView.showWeekPage(); + return; + case ('m'): + calendarView.showMonthPage(); + return; + default: + //should not reach here + assert (false); + } + } +``` +###### /java/seedu/address/ui/PersonCard.java +``` java + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * Returns the color style for {@code tagName}'s label. + */ + private void initTags(Person person) { + person.getTags().forEach(tag -> { + Label tagLabel = new Label(tag.tagName); + tagLabel.getStyleClass().add(tag.tagColorStyle); + tags.getChildren().add(tagLabel); + }); + } + +``` +###### /java/seedu/address/model/tag/Tag.java +``` java + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + private static final String[] TAG_COLOR_STYLES = {"teal", "red", "yellow", "blue", "orange", "brown", + "green", "pink", "black", "grey"}; +``` +###### /java/seedu/address/model/tag/Tag.java +``` java + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * Returns a color style for {@code tagName} + */ + private String getTagColorStyle(String tagName) { + // we use the hash code of the tag name to generate a random color, so that the color remain consistent + // between different runs of the program while still making it random enough between tags. + return TAG_COLOR_STYLES[Math.abs(tagName.hashCode()) % TAG_COLOR_STYLES.length]; + } + + +} +``` diff --git a/collated/functional/Sisyphus25.md b/collated/functional/Sisyphus25.md new file mode 100644 index 000000000000..d81e5f1595ae --- /dev/null +++ b/collated/functional/Sisyphus25.md @@ -0,0 +1,2541 @@ +# Sisyphus25 +###### /resources/view/LightTheme.css +``` css + */ +.background { + -fx-background-color: #ffffff; + background-color: #ffffff; /* Used in the default.html file */ +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.app-title { + -fx-text-fill: brown; + -fx-font-family: "Franklin Gothic Medium"; + -fx-font-weight: bold; + -fx-font-size: 36px +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: #ffffff; + -fx-background-color: #ffffff; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: black; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: derive(#ffffff, 20%); + -fx-border-color: transparent transparent transparent tomato; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: derive(#ffffff, 20%); +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: derive(#ffffff, 20%); + +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent +} + +.list-cell:filled:even { + -fx-background-color: #ffd0d0; +} + +.list-cell:filled:odd { + -fx-background-color: #ffd0d0; +} + +.list-cell:filled:selected { + -fx-background-color: #ffc2c2; +} + +.list-cell:filled:selected #cardPane { + -fx-border-color: #ffc2c2; + -fx-border-width: 1; +} + +.list-cell .label { + -fx-text-fill: brown; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 16px; + -fx-text-fill: #ffd0d0; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #ffd0d0; +} + +.anchor-pane { + -fx-background-color: derive(#ffffff, 20%); +} + +.pane-with-border { + -fx-background-color: derive(#ffffff, 20%); + -fx-border-color: transparent; + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: derive(#ffd0d0, 20%); + -fx-text-fill: white; +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: brown; +} + +.result-display .label { + -fx-text-fill: white !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: brown; +} + +.status-bar-with-border { + -fx-background-color: derive(#ffd0d0, 30%); + -fx-border-color: derive(#ffd0d0, 25%); + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: brown; +} + +.grid-pane { + -fx-background-color: derive(#ffd0d0, 30%); + -fx-border-color: derive(#ffd0d0, 30%); + -fx-border-width: 1px; +} + +.grid-pane .anchor-pane { + -fx-background-color: derive(#ffd0d0, 30%); +} + +.calendar-panel .button { + -fx-text-fill: #000000; +} + +.calendar-panel { + -fx-background-color: #ffffff; + background-color: #ffffff; +} + +.calendar-panel .content { + -fx-border-color: transparent transparent tomato transparent; +} + +.calendar-panel .header { + -fx-border-color: tomato transparent transparent transparent; +} + +.context-menu { + -fx-background-color: derive(#ffd0d0, 50%); +} + +.context-menu .label { + -fx-text-fill: brown; +} + +.menu-bar { + -fx-background-color: derive(#ffd0d0, 20%); +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: brown; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: brown; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#ffd0d0, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: brown; + -fx-text-fill: brown; +} + +.scroll-bar { + -fx-background-color: derive(#ffd0d0, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + +} + +.scroll-bar .thumb { + -fx-background-color: derive(tomato, 20%); + +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-rotate: 0; + +} + +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 10pt; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: transparent #ffd0d0 transparent #ffd0d0; + -fx-background-insets: 0; + -fx-border-color: #ffd0d0 #ffd0d0 brown #ffd0d0 ; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: brown; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, brown, 10, 0, 0, 0); +} + +#resultDisplay .content { + -fx-background-color: transparent, #ffffff, transparent, #ffffff; + -fx-background-radius: 0; + -fx-border-color: #ffd0d0; +} +``` +###### /resources/view/DogeTheme.css +``` css + */ + +.root { + -fx-background-image: url("../images/doge.jpg"); + -fx-background-repeat: repeat; + -fx-background-position: center center; + -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.app-title { + -fx-text-fill: white; + -fx-font-family: "Franklin Gothic Heavy"; + -fx-font-size: 40px; +} + +.app-title .text { + -fx-stroke: black; + -fx-stroke-width: 1px; +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: transparent; + -fx-background-color: transparent; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35px; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: black; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: transparent; + -fx-border-color: transparent transparent transparent #635615; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: transparent; +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: transparent; + +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent +} + +.list-cell:filled:even { + -fx-background-color: #efdc7f; +} + +.list-cell:filled:odd { + -fx-background-color: #efdc7f; +} + +.list-cell:filled:selected { + -fx-background-color: #efdc7f; +} + +.list-cell:filled:selected #cardPane { + -fx-border-color: #c1b05b; + -fx-border-width: 1; + +} + +.list-cell .label { + -fx-text-fill: black; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 16px; + -fx-text-fill: #efdc7f; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #efdc7f; +} + +.anchor-pane { + -fx-background-color: transparent; +} + +.pane-with-border { + -fx-background-color: transparent; + -fx-border-color: derive(#efdc7f, 10%); + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: transparent; + -fx-text-fill: white; +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +.result-display .label { + -fx-text-fill: transparent !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI"; + -fx-text-fill: black; +} + +.status-bar-with-border { + -fx-background-color: transparent; + -fx-border-color: derive(#efdc7f, 25%); + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: black; +} + +.grid-pane { + -fx-background-color: transparent; + -fx-border-color: derive(#efdc7f, 30%); + -fx-border-width: 1px; +} + +.grid-pane .anchor-pane { + -fx-background-color: transparent; +} + +.calendar-panel .button { + -fx-text-fill: #000000; +} + +.calendar-panel { + -fx-background-color: transparent; + background-color: transparent; +} + +.context-menu { + -fx-background-color: derive(#efdc7f, 50%); +} + +.context-menu .label { + -fx-text-fill: black; +} + +.menu-bar { + -fx-background-color: transparent; +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI"; + -fx-text-fill: black; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: transparent; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: black; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#efdc7f, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: black; + -fx-text-fill: black; +} + +.scroll-bar { + -fx-background-color: derive(#efdc7f, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + +} + +.scroll-bar .thumb { + -fx-background-color: derive(#635615, 20%); + +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-rotate: 0; + +} + +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 10pt; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: #efdc7f; + -fx-background-insets: 0; + -fx-border-color: #efdc7f #efdc7f black #efdc7f ; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); +} + +#resultDisplay { + -fx-background-color: transparent; +} + +#resultDisplay .scroll-pane .viewport{ + -fx-background-color: transparent; +} + +#resultDisplay .content { + -fx-background-color: #efdc7f; + -fx-background-radius: 0; +} +``` +###### /resources/view/GalaxyTheme.css +``` css + */ + +.root { + -fx-background-image: url("../images/galaxy.jpg"); + -fx-background-size: cover; + -fx-background-position: center center; + -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.app-title { + -fx-text-fill: white; + -fx-font-family: "Franklin Gothic Heavy"; + -fx-font-size: 40px; +} + +.app-title .text { + -fx-stroke: black; + -fx-stroke-width: 1px; +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: transparent; + -fx-background-color: transparent; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35px; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: black; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: transparent; + -fx-border-color: transparent; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: transparent; +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: transparent; + +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent +} + +.list-cell:filled:even { + -fx-background-color: #edf2f9; +} + +.list-cell:filled:odd { + -fx-background-color: #edf2f9; +} + +.list-cell:filled:selected { + -fx-background-color: #c0c5f9; +} + +.list-cell .label { + -fx-text-fill: black; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 16px; + -fx-text-fill: #edf2f9; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #edf2f9; +} + +.anchor-pane { + -fx-background-color: transparent; +} + +.pane-with-border { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: transparent; + -fx-text-fill: white; +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +.result-display .label { + -fx-text-fill: transparent !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI"; + -fx-text-fill: #edf2f9; +} + +.status-bar-with-border { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: black; +} + +.grid-pane { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-border-width: 1px; +} + +.grid-pane .anchor-pane { + -fx-background-color: transparent; +} + +.calendar-panel .button { + -fx-text-fill: #000000; +} + +.calendar-panel { + -fx-background-color: transparent; + background-color: transparent; +} + +.context-menu { + -fx-background-color: derive(#070f60, 50%); +} + +.context-menu .label { + -fx-text-fill: #edf2f9; +} + +.menu-bar { + -fx-background-color: transparent; +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI"; + -fx-text-fill: #edf2f9; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: transparent; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: black; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#edf2f9, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: black; + -fx-text-fill: black; +} + +.scroll-bar { + -fx-background-color: derive(#edf2f9, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + +} + +.scroll-bar .thumb { + -fx-background-color: derive(#070f60, 20%); + +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-rotate: 0; + +} + +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 10pt; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: #edf2f9; + -fx-background-insets: 0; + -fx-border-color: #edf2f9 #edf2f9 black #edf2f9 ; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); +} + +#resultDisplay { + -fx-background-color: transparent; +} + +#resultDisplay .scroll-pane .viewport{ + -fx-background-color: transparent; +} + +#resultDisplay .content { + -fx-background-color: #edf2f9; + -fx-background-radius: 0; +} +``` +###### /java/seedu/address/ui/TaskCard.java +``` java +/** + * An UI component that displays information of a {@code Task}. + */ +public class TaskCard extends UiPart<Region> { + + private static final String FXML = "TaskListCard.fxml"; + private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; + private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + private static final Calendar CALENDAR = Calendar.getInstance(); + + public final Task task; + + @FXML + private HBox cardPane; + @FXML + private Label title; + @FXML + private Label id; + @FXML + private Label time; + @FXML + private FlowPane tags; + + public TaskCard(Task task, int displayedIndex) { + super(FXML); + this.task = task; + id.setText(displayedIndex + ". "); + title.setText(task.getTitle().value); + time.setText("Finish before: " + DATE_FORMATTER.format(task.getTime().value.getTime())); + if (task.getTime().isExpired()) { + addExpiredTag(); + } + } + + /** + * Add an expired tag to the Task Card + */ + private void addExpiredTag() { + Label expiredTask = new Label("Expired"); + expiredTask.getStyleClass().add("red"); + tags.getChildren().add(expiredTask); + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof TaskCard)) { + return false; + } + + // state check + TaskCard card = (TaskCard) other; + return id.getText().equals(card.id.getText()) + && task.equals(card.task); + } +} +``` +###### /java/seedu/address/ui/CalendarPanel.java +``` java +/** + * The Calendar Panel of the App. + */ +public class CalendarPanel extends UiPart<Region> { + private static final String FXML = "CalendarPanel.fxml"; + + @FXML + private CalendarView calendarView; + private Calendar calendar; + + private ObservableList<Appointment> appointmentList; + + public CalendarPanel(ObservableList<Appointment> appointmentObservableList) { + super(FXML); + this.appointmentList = appointmentObservableList; + + calendarView = new CalendarView(); + CalendarSource calendarSource = new CalendarSource("My Calendar"); + calendar = new Calendar("Appointments"); + + calendarView.setRequestedTime(LocalTime.now()); + calendarView.setToday(LocalDate.now()); + calendarView.setTime(LocalTime.now()); + + calendarView.getCalendarSources().add(calendarSource); + calendarSource.getCalendars().add(calendar); + calendar.setStyle(Calendar.Style.getStyle(0)); + calendar.setLookAheadDuration(Duration.ofDays(365)); + + updateCalendar(); + disableViews(); + registerAsAnEventHandler(this); + } + + /** + * Clear the entry list in the CalendarFX calendar and + * populate it with appointment in the updated appointmentList + */ + private void updateCalendar() { + calendar.clear(); + ArrayList<Entry> entries = getEntries(); + for (Entry entry : entries) { + calendar.addEntry(entry); + } + } + + private ArrayList<Entry> getEntries() { + ArrayList<Entry> entries = new ArrayList<>(); + for (Appointment appointment : appointmentList) { + entries.add(getEntry(appointment)); + } + return entries; + } + + private Entry getEntry(Appointment appointment) { + LocalDateTime ldtstart = LocalDateTime.ofInstant( + appointment.getTime().value.getTime().toInstant(), ZoneId.systemDefault()); + LocalDateTime ldtend = LocalDateTime.ofInstant( + appointment.getEndTime().value.getTime().toInstant(), ZoneId.systemDefault()); + String description = appointment.getTitle().value; + return new Entry(description, new Interval(ldtstart, ldtend)); + } + + @Subscribe + private void handleAppointmentListChangedEvent(AppointmentListChangedEvent event) { + appointmentList = event.appointmentList; + Platform.runLater( + this::updateCalendar + ); + } + + +``` +###### /java/seedu/address/ui/ThemeList.java +``` java +/** + * Provide list of themes and respective URL to their CSS stylesheet + */ +public class ThemeList { + private HashMap<String, String> themeList; + + public ThemeList() { + themeList = new HashMap<>(); + themeList.put("dark", "view/DarkTheme.css"); + themeList.put("light", "view/LightTheme.css"); + themeList.put("doge", "view/DogeTheme.css"); + themeList.put("galaxy", "view/GalaxyTheme.css"); + } + + public String getThemeStyleSheet(String theme) { + if (!themeList.containsKey(theme)) { + return themeList.get("light"); + } + return themeList.get(theme); + } +} +``` +###### /java/seedu/address/ui/AppointmentCard.java +``` java +/** + * An UI component that displays information of a {@code Appointment}. + */ +public class AppointmentCard extends UiPart<Region> { + + private static final String FXML = "AppointmentListCard.fxml"; + private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; + private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + + public final Appointment appointment; + + @FXML + private HBox cardPane; + @FXML + private Label title; + @FXML + private Label id; + @FXML + private Label time; + @FXML + private Label endTime; + @FXML + private Label personToMeet; + + public AppointmentCard(Appointment appointment, int displayedIndex) { + super(FXML); + this.appointment = appointment; + id.setText(displayedIndex + ". "); + title.setText(appointment.getTitle().value); + time.setText("From: " + DATE_FORMATTER.format(appointment.getTime().value.getTime())); + endTime.setText("To: " + DATE_FORMATTER.format(appointment.getEndTime().value.getTime())); + if (appointment.getPersonToMeet() != null) { + personToMeet.setText("With " + appointment.getPersonToMeet().getName()); + } else { + personToMeet.setText(""); + } + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof AppointmentCard)) { + return false; + } + + // state check + AppointmentCard card = (AppointmentCard) other; + return id.getText().equals(card.id.getText()) + && appointment.equals(card.appointment); + } +} +``` +###### /java/seedu/address/ui/TaskListPanel.java +``` java +/** + * Panel containing the list of tasks. + */ +public class TaskListPanel extends UiPart<Region> { + private static final String FXML = "TaskListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(TaskListPanel.class); + + @FXML + private ListView<TaskCard> taskListView; + + public TaskListPanel(ObservableList<Task> taskList) { + super(FXML); + setConnections(taskList); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList<Task> taskList) { + ObservableList<TaskCard> mappedList = EasyBind.map(taskList, (task) -> + new TaskCard(task, taskList.indexOf(task) + 1)); + taskListView.setItems(mappedList); + taskListView.setCellFactory(listView -> new TaskListViewCell()); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code TaskCard}. + */ + class TaskListViewCell extends ListCell<TaskCard> { + + @Override + protected void updateItem(TaskCard task, boolean empty) { + super.updateItem(task, empty); + + if (empty || task == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(task.getRoot()); + } + } + } + +} +``` +###### /java/seedu/address/ui/AppointmentListPanel.java +``` java +/** + * Panel containing the list of appointments. + */ +public class AppointmentListPanel extends UiPart<Region> { + private static final String FXML = "AppointmentListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(AppointmentListPanel.class); + + @FXML + private ListView<AppointmentCard> appointmentListView; + + public AppointmentListPanel(ObservableList<Appointment> appointmentList) { + super(FXML); + setConnections(appointmentList); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList<Appointment> appointmentList) { + ObservableList<AppointmentCard> mappedList = EasyBind.map(appointmentList, (appointment) -> + new AppointmentCard(appointment, appointmentList.indexOf(appointment) + 1)); + appointmentListView.setItems(mappedList); + appointmentListView.setCellFactory(listView -> new AppointmentListViewCell()); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code AppointmentCard}. + */ + class AppointmentListViewCell extends ListCell<AppointmentCard> { + + @Override + protected void updateItem(AppointmentCard appointment, boolean empty) { + super.updateItem(appointment, empty); + + if (empty || appointment == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(appointment.getRoot()); + } + } + } + +} +``` +###### /java/seedu/address/ui/MainWindow.java +``` java + private void setTheme() { + setTheme(DEFAULT_THEME); + } + + private void setTheme(String theme) { + primaryStage.getScene().getStylesheets().add(EXTENSIONS_STYLESHEET); + primaryStage.getScene().getStylesheets().add(TAG_COLOUR_STYLESHEET); + primaryStage.getScene().getStylesheets().add(THEME_LIST.getThemeStyleSheet(theme)); + } + + @Subscribe + private void handleThemeChangeEvent(ThemeChangeEvent event) { + theme = event.theme; + Platform.runLater( + this::changeTheme + ); + } + + private void changeTheme() { + primaryStage.getScene().getStylesheets().clear(); + setTheme(theme); + } +``` +###### /java/seedu/address/commons/events/ui/ToggleListEvent.java +``` java + +import seedu.address.commons.events.BaseEvent; + +/** + * Indicates a request to toggle List + */ +public class ToggleListEvent extends BaseEvent { + public final String list; + + public ToggleListEvent(String list) { + this.list = list; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} +``` +###### /java/seedu/address/commons/events/ui/ToggleCalendarViewEvent.java +``` java +/** + * Indicates a request to toggle Calendar view mode + */ +public class ToggleCalendarViewEvent extends BaseEvent { + public final Character viewMode; + + public ToggleCalendarViewEvent(Character viewMode) { + this.viewMode = viewMode; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} +``` +###### /java/seedu/address/commons/events/ui/ThemeChangeEvent.java +``` java +/** + * Indicates a request to change them + */ +public class ThemeChangeEvent extends BaseEvent { + public final String theme; + + public ThemeChangeEvent(String theme) { + this.theme = theme; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} +``` +###### /java/seedu/address/commons/events/model/AppointmentListChangedEvent.java +``` java +/** + * Indicates the appointment list has changed + */ +public class AppointmentListChangedEvent extends BaseEvent { + public final ObservableList<Appointment> appointmentList; + + public AppointmentListChangedEvent(ObservableList<Appointment> appointmentList) { + this.appointmentList = appointmentList; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} +``` +###### /java/seedu/address/logic/parser/RemoveCommandParser.java +``` java +/** + * Parses input arguments and creates a new RemoveCommand object + */ +public class RemoveCommandParser implements Parser<RemoveCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the RemoveCommand + * and returns an RemoveCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public RemoveCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + String[] parameterGetterArray = trimmedArgs.split(" "); + if (trimmedArgs.isEmpty() || parameterGetterArray.length != 2) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + } + try { + if (!isValidEventType(parameterGetterArray[0])) { + throw new IllegalValueException("Invalid event type"); + } + Index index = ParserUtil.parseIndex(parameterGetterArray[1]); + return new RemoveCommand(index, parameterGetterArray[0]); + } catch (IllegalValueException ive) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + } + } + + private boolean isValidEventType(String type) { + return type.equals("appointment") || type.equals("task"); + } +} + + + +``` +###### /java/seedu/address/logic/parser/ToggleCalendarViewParser.java +``` java +/** + * Parser for ToggleCalendarViewCommand + */ +public class ToggleCalendarViewParser implements Parser<ToggleCalendarViewCommand> { + /** + * Parses the given {@code viewMode} of arguments in the context of the ToggleCalendarViewParser + * and returns an ToggleCalendarViewCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ToggleCalendarViewCommand parse(String args) throws ParseException { + String viewMode = args.trim(); + if (viewMode.isEmpty() || !isValidViewMode(viewMode)) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ToggleCalendarViewCommand.MESSAGE_USAGE)); + } + return new ToggleCalendarViewCommand(viewMode.charAt(0)); + } + + /** + * + * @param str + * @return whether if the string is a valid view mode or not + */ + private boolean isValidViewMode(String str) { + if (str.length() != 1) { + return false; + } + switch (str.charAt(0)) { + case('w'): + case('d'): + case('m'): + return true; + default: + return false; + } + } +} +``` +###### /java/seedu/address/logic/parser/SetAppointmentCommandParser.java +``` java +/** + * Parses input arguments and creates a new SetAppointmentCommand object + */ +public class SetAppointmentCommandParser implements Parser<SetAppointmentCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the SetAppointmentCommand + * and returns a SetAppointmentCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public SetAppointmentCommand parse(String args) throws ParseException { + ArgumentMultimap argMultimap = + ArgumentTokenizer.tokenize(args, PREFIX_TITLE, PREFIX_START_TIME, + PREFIX_END_TIME, PREFIX_PERSON_TO_MEET_INDEX); + + if (!arePrefixesPresent(argMultimap, PREFIX_TITLE, PREFIX_START_TIME, PREFIX_END_TIME) + || !argMultimap.getPreamble().isEmpty()) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + SetAppointmentCommand.MESSAGE_USAGE)); + } + + try { + Index index = null; + Title title = ParserUtil.parseTitle(argMultimap.getValue(PREFIX_TITLE)).get(); + EventTime startTime = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_START_TIME)).get(); + EventTime endTime = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_END_TIME)).get(); + Optional<Index> optionalIndex = ParserUtil.parseIndex(argMultimap.getValue(PREFIX_PERSON_TO_MEET_INDEX)); + if (optionalIndex.isPresent()) { + index = optionalIndex.get(); + } + Appointment appointment = new Appointment(title, startTime, endTime); + + return new SetAppointmentCommand(appointment, index); + } catch (IllegalValueException | IllegalArgumentException ive) { + throw new ParseException(ive.getMessage(), ive); + } + } + + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } +} +``` +###### /java/seedu/address/logic/parser/ListCommandParser.java +``` java +/** + * Parser for ListCommand + */ +public class ListCommandParser implements Parser<ListCommand> { + /** + * Parses the given {@code args} of arguments in the context of the ListCommandParser + * and returns an ListCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ListCommand parse(String args) throws ParseException { + String item = args.trim(); + if (!isValidItem(item)) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ListCommand.MESSAGE_USAGE)); + } + return new ListCommand(item); + } + + /** + * @param str + * @return whether if the string is a valid view mode or not + */ + private boolean isValidItem(String str) { + switch (str) { + case(ListCommand.TYPE_CONTACT): + case(ListCommand.TYPE_STUDENT): + case(ListCommand.TYPE_APPOINTMENT): + case(ListCommand.TYPE_TASK): + case(ListCommand.TYPE_SHORTCUT): + return true; + default: + return false; + } + } +} +``` +###### /java/seedu/address/logic/parser/ParserUtil.java +``` java + /** + * Parses a {@code Optional<String> title} into an {@code Optional<Title>} if {@code title} is present. + * See header comment of this class regarding the use of {@code Optional} parameters. + */ + public static Optional<Title> parseTitle(Optional<String> title) throws IllegalValueException { + requireNonNull(title); + return title.isPresent() ? Optional.of(parseTitle(title.get())) : Optional.empty(); + } + + /** + * Parses a {@code String title} into a {@code Title}. + * Leading and trailing whitespaces will be trimmed. + * + * @throws IllegalValueException if the given {@code title} is invalid. + */ + public static Title parseTitle(String title) throws IllegalValueException { + requireNonNull(title); + String trimmedTitle = title.trim(); + if (!Title.isValidTitle(trimmedTitle)) { + throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); + } + return new Title(trimmedTitle); + } + + /** + * Parses a {@code Optional<String> eventTime} into an {@code Optional<EventTime>} if {@code eventTime} is present. + * See header comment of this class regarding the use of {@code Optional} parameters. + */ + public static Optional<EventTime> parseEventTime(Optional<String> eventTime) throws IllegalArgumentException { + requireNonNull(eventTime); + return eventTime.isPresent() ? Optional.of(parseEventTime(eventTime.get())) : Optional.empty(); + } + + /** + * Parses a {@code String eventTime} into a {@code EventTime}. + * Leading and trailing whitespaces will be trimmed. + */ + public static EventTime parseEventTime(String eventTime) throws IllegalArgumentException { + requireNonNull(eventTime); + String trimmedEventTime = eventTime.trim(); + return new EventTime(trimmedEventTime); + } + + /** + * Parses a {@code String tag} into a {@code Tag}. + * Leading and trailing whitespaces will be trimmed. + * + * @throws IllegalValueException if the given {@code tag} is invalid. + */ + public static Tag parseTag(String tag) throws IllegalValueException { + requireNonNull(tag); + String trimmedTag = tag.trim(); + if (!Tag.isValidTagName(trimmedTag)) { + throw new IllegalValueException(Tag.MESSAGE_TAG_NAME_CONSTRAINTS); + } + return new Tag(trimmedTag); + } + + /** + * Parses {@code Collection<String> tags} into a {@code Set<Tag>}. + */ + public static Set<Tag> parseTags(Collection<String> tags) throws IllegalValueException { + requireNonNull(tags); + final Set<Tag> tagSet = new HashSet<>(); + for (String tagName : tags) { + tagSet.add(parseTag(tagName)); + } + return tagSet; + } +} +``` +###### /java/seedu/address/logic/parser/ChangeThemeCommandParser.java +``` java +/** + * Parses input arguments and creates a new ChangeThemeCommand object + */ +public class ChangeThemeCommandParser implements Parser<ChangeThemeCommand> { + /** + * Parses the given {@code viewMode} of arguments in the context of the ChangeThemeCommandParser + * and returns an ChangeThemeCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ChangeThemeCommand parse(String args) throws ParseException { + String theme = args.trim(); + if (!isValidTheme(theme)) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ChangeThemeCommand.MESSAGE_INVALID_THEME)); + } + return new ChangeThemeCommand(theme); + } + + /** + * + * @param theme + * @return whether if {@code theme} is a valid theme name + */ + private boolean isValidTheme(String theme) { + return !theme.isEmpty() && Arrays.asList(THEME_LIST).contains(theme); + } +} +``` +###### /java/seedu/address/logic/parser/SetTaskCommandParser.java +``` java +/** + * Parses input arguments and creates a new SetTaskCommand object + */ +public class SetTaskCommandParser implements Parser<SetTaskCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the SetTaskCommand + * and returns a SetTaskCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public SetTaskCommand parse(String args) throws ParseException { + ArgumentMultimap argMultimap = + ArgumentTokenizer.tokenize(args, PREFIX_TITLE, PREFIX_END_TIME); + + if (!arePrefixesPresent(argMultimap, PREFIX_TITLE, PREFIX_END_TIME) + || !argMultimap.getPreamble().isEmpty()) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + SetTaskCommand.MESSAGE_USAGE)); + } + + try { + Title title = ParserUtil.parseTitle(argMultimap.getValue(PREFIX_TITLE)).get(); + EventTime time = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_END_TIME)).get(); + + Task task = new Task(title, time); + + return new SetTaskCommand(task); + } catch (IllegalValueException | IllegalArgumentException ive) { + throw new ParseException(ive.getMessage(), ive); + } + } + + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } + +} +``` +###### /java/seedu/address/logic/commands/RemoveCommand.java +``` java +/** + * Remove an appointment or task identified using its last displayed index from the address book. + */ +public class RemoveCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "remove"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Removes the event identified by the index number used in the last event listing.\n" + + "Parameters: " + + " EVENT_TYPE (could be appointment or task)" + + "INDEX (must be a positive integer)\n" + + "Example: " + COMMAND_WORD + " appointment " + " 1"; + + public static final String MESSAGE_DELETE_EVENT_SUCCESS = "Removed %1$s: %2$s"; + + private final Index targetIndex; + + private String eventTypeOfDeletedTarget; + + private Object eventToBeDeleted; + + public RemoveCommand(Index targetIndex, String eventTypeOfDeletedTarget) { + this.eventTypeOfDeletedTarget = eventTypeOfDeletedTarget; + this.targetIndex = targetIndex; + } + + @Override + public CommandResult executeUndoableCommand() { + requireNonNull(eventToBeDeleted); + try { + if (eventTypeOfDeletedTarget.equals(LIST_TYPE_APPOINTMENT)) { + model.deleteAppointment((Appointment) eventToBeDeleted); + } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { + model.deleteTask((Task) eventToBeDeleted); + } + } catch (EventNotFoundException ive) { + throw new AssertionError(String.format("The target %s cannot be missing", eventTypeOfDeletedTarget)); + } + return new CommandResult( + String.format(MESSAGE_DELETE_EVENT_SUCCESS, eventTypeOfDeletedTarget, eventToBeDeleted)); + } + + @Override + protected void preprocessUndoableCommand() throws CommandException { + if (eventTypeOfDeletedTarget.equals(LIST_TYPE_APPOINTMENT)) { + List<Appointment> lastShownList = model.getFilteredAppointmentList(); + if (targetIndex.getZeroBased() >= lastShownList.size()) { + throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + } + eventToBeDeleted = lastShownList.get(targetIndex.getZeroBased()); + } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { + List<Task> lastShownList = model.getFilteredTaskList(); + if (targetIndex.getZeroBased() >= lastShownList.size()) { + throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + } + eventToBeDeleted = lastShownList.get(targetIndex.getZeroBased()); + } + + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof RemoveCommand // instanceof handles nulls + && this.targetIndex.equals(((RemoveCommand) other).targetIndex) // state check + && Objects.equals(this.eventToBeDeleted, ((RemoveCommand) other).eventToBeDeleted)); + } +} +``` +###### /java/seedu/address/logic/commands/ToggleCalendarViewCommand.java +``` java +/** + * Command to change calendar view + */ +public class ToggleCalendarViewCommand extends Command { + + public static final String COMMAND_WORD = "calendar"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Toggles calendar view. \n" + + "Parameter: VIEW_MODE\n" + + "View mode: Day view: d, Week view: w, Month view: m\n" + + "Example: " + COMMAND_WORD + " d"; + + public static final String MESSAGE_VIEW_TOGGLE_SUCCESS = "View changed."; + + private Character viewMode; + + public ToggleCalendarViewCommand(Character viewMode) { + requireNonNull(viewMode); + this.viewMode = viewMode; + } + @Override + public CommandResult execute() throws CommandException { + EventsCenter.getInstance().post(new ToggleCalendarViewEvent(viewMode)); + return new CommandResult(MESSAGE_VIEW_TOGGLE_SUCCESS); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ToggleCalendarViewCommand // instanceof handles nulls + && this.viewMode == ((ToggleCalendarViewCommand) other).viewMode); // state check + } +} +``` +###### /java/seedu/address/logic/commands/ChangeThemeCommand.java +``` java +/** + * Change theme of the GUI. + */ +public class ChangeThemeCommand extends Command { + public static final String COMMAND_WORD = "theme"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Change the theme of TeachConnect.\n" + + "Parameters: THEME\n" + + "Example: " + COMMAND_WORD + " dark"; + + public static final String MESSAGE_CHANGE_THEME_SUCCESS = "Theme changed"; + + public static final String MESSAGE_INVALID_THEME = "Not a valid theme"; + + private final String theme; + + public ChangeThemeCommand(String theme) { + requireNonNull(theme); + this.theme = theme; + } + + @Override + public CommandResult execute() throws CommandException { + EventsCenter.getInstance().post(new ThemeChangeEvent(theme)); + return new CommandResult(MESSAGE_CHANGE_THEME_SUCCESS); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ChangeThemeCommand // instanceof handles nulls + && this.theme.equals(((ChangeThemeCommand) other).theme)); // state check + } +} +``` +###### /java/seedu/address/logic/commands/SetTaskCommand.java +``` java +/** + * Adds a task to the address book. + */ +public class SetTaskCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "set_task"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a task to the address book.\n" + + "Parameters: " + + PREFIX_TITLE + "TITLE " + + PREFIX_END_TIME + "DATE TIME\n" + + "Example: " + COMMAND_WORD + " " + + PREFIX_TITLE + "Mark papers " + + PREFIX_END_TIME + "20/05/2018 12:00 "; + + public static final String MESSAGE_SUCCESS = "New task added: %1$s"; + public static final String MESSAGE_DUPLICATE_TASK = "This task already exists in the address book"; + + private final Task toAdd; + + /** + * Creates a SetTaskCommand to add the specified {@code Task} + */ + public SetTaskCommand(Task task) { + requireNonNull(task); + toAdd = task; + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + requireNonNull(model); + try { + model.addTask(toAdd); + return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); + } catch (DuplicateEventException e) { + throw new CommandException(MESSAGE_DUPLICATE_TASK); + } + + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof SetTaskCommand // instanceof handles nulls + && toAdd.equals(((SetTaskCommand) other).toAdd)); + } +} +``` +###### /java/seedu/address/logic/commands/SetAppointmentCommand.java +``` java +/** + * Adds an appointment with the person at {@code index} in the person list to the address book. + */ +public class SetAppointmentCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "set_appointment"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Adds an appoinment to the address book.\n" + + "Parameters: " + + PREFIX_TITLE + "TITLE " + + PREFIX_START_TIME + "START-DATE START-TIME " + + PREFIX_END_TIME + "END-DATE END-TIME " + + PREFIX_PERSON_TO_MEET_INDEX + "PERSON TO MEET\n" + + "Example: " + COMMAND_WORD + " " + + PREFIX_TITLE + "Meet James " + + PREFIX_START_TIME + "20/05/2018 10:00 " + + PREFIX_END_TIME + "20/05/2018 12:00 " + + PREFIX_PERSON_TO_MEET_INDEX + "3 "; + + public static final String MESSAGE_SUCCESS = "New appointment added: %1$s"; + public static final String MESSAGE_DUPLICATE_APPOINTMENT = "This appointment already exists in the address book"; + + private final Appointment baseAppointmentWithoutPerson; + private final Index index; + + private PersonToMeet personToMeet; + + /** + * Creates a SetAppointmentCommand without any PersonToMeet + */ + public SetAppointmentCommand(Appointment baseAppointmentWithoutPerson) { + this(baseAppointmentWithoutPerson, null); + } + + /** + * Creates a SetAppointmentCommand to add the specified {@code Appointment} + */ + public SetAppointmentCommand(Appointment baseAppointmentWithoutPerson, Index index) { + requireNonNull(baseAppointmentWithoutPerson); + this.baseAppointmentWithoutPerson = baseAppointmentWithoutPerson; + this.index = index; + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + requireNonNull(model); + try { + Appointment toAdd; + if (personToMeet != null) { + toAdd = new Appointment(baseAppointmentWithoutPerson.getTitle(), baseAppointmentWithoutPerson.getTime(), + baseAppointmentWithoutPerson.getEndTime(), personToMeet); + } else { + toAdd = baseAppointmentWithoutPerson; + } + model.addAppointment(toAdd); + return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); + } catch (DuplicateEventException e) { + throw new CommandException(MESSAGE_DUPLICATE_APPOINTMENT); + } + + } + + @Override + protected void preprocessUndoableCommand() throws CommandException { + if (index != null) { + List<Person> lastShownList = model.getFilteredPersonList(); + + if (index.getZeroBased() >= lastShownList.size()) { + throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + } + + Person person = lastShownList.get(index.getZeroBased()); + personToMeet = new PersonToMeet(person.getName().fullName, person.getEmail().value); + } + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof SetAppointmentCommand // instanceof handles nulls + && baseAppointmentWithoutPerson.equals(((SetAppointmentCommand) other).baseAppointmentWithoutPerson)); + } +} +``` +###### /java/seedu/address/storage/XmlAdaptedAppointment.java +``` java +/** + * JAXB-friendly version of the Person. + */ +public class XmlAdaptedAppointment { + + public static final String MISSING_FIELD_MESSAGE_FORMAT = "Appointment's %s field is missing!"; + + @XmlElement(required = true) + private String title; + @XmlElement(required = true) + private String startTime; + @XmlElement(required = true) + private String endTime; + @XmlElement(required = true) + private String personToMeet; + + /** + * Constructs an XmlAdaptedAppointment. + * This is the no-arg constructor that is required by JAXB. + */ + public XmlAdaptedAppointment() {} + + public XmlAdaptedAppointment(String title, String startTime, String endTime) { + this(title, startTime, endTime, null); + } + + /** + * Constructs an {@code XmlAdaptedAppointment} with the given appointment details. + */ + public XmlAdaptedAppointment(String title, String startTime, String endTime, String personToMeet) { + this.title = title; + this.startTime = startTime; + this.endTime = endTime; + if (personToMeet != null) { + this.personToMeet = personToMeet; + } + } + + /** + * Converts a given Appointment into this class for JAXB use. + * + * @param source future changes to this will not affect the created XmlAdaptedAppointment + */ + public XmlAdaptedAppointment(Appointment source) { + title = source.getTitle().toString(); + startTime = source.getTime().toString(); + endTime = source.getEndTime().toString(); + if (source.getPersonToMeet() != null) { + personToMeet = source.getPersonToMeet().toString(); + } + } + + /** + * Converts this jaxb-friendly adapted person object into the model's Appointment object. + * + * @throws IllegalValueException if there were any data constraints violated in the adapted appointment + */ + public Appointment toModelType() throws IllegalValueException { + if (this.title == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName())); + } + if (!Title.isValidTitle(this.title)) { + throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); + } + final Title title = new Title(this.title); + + if (this.startTime == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "Start Time")); + } + if (this.endTime == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "End Time")); + } + + final EventTime startTime = new EventTime(this.startTime); + final EventTime endTime = new EventTime(this.endTime); + + if (!Appointment.isValidTime(startTime, endTime)) { + throw new IllegalValueException(Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS); + } + + if (this.personToMeet != null) { + String[] components = this.personToMeet.split(EMAIL_SPLITTER); + PersonToMeet personToMeet = new PersonToMeet(components[0], components[1]); + return new Appointment(title, startTime, endTime, personToMeet); + } + + return new Appointment(title, startTime, endTime); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof XmlAdaptedAppointment)) { + return false; + } + + XmlAdaptedAppointment otherAppointment = (XmlAdaptedAppointment) other; + return Objects.equals(title, otherAppointment.title) + && Objects.equals(startTime, otherAppointment.startTime) + && Objects.equals(endTime, otherAppointment.endTime) + && Objects.equals(personToMeet, otherAppointment.personToMeet); + } +} +``` +###### /java/seedu/address/storage/XmlAdaptedTask.java +``` java +/** + * JAXB-friendly version of the Person. + */ +public class XmlAdaptedTask { + + public static final String MISSING_FIELD_MESSAGE_FORMAT = "Task's %s field is missing!"; + + @XmlElement(required = true) + private String title; + @XmlElement(required = true) + private String time; + + /** + * Constructs an XmlAdaptedTask. + * This is the no-arg constructor that is required by JAXB. + */ + public XmlAdaptedTask() {} + + /** + * Constructs an {@code XmlAdaptedTask} with the given task details. + */ + public XmlAdaptedTask(String title, String time) { + this.title = title; + this.time = time; + } + + /** + * Converts a given Task into this class for JAXB use. + * + * @param source future changes to this will not affect the created XmlAdaptedTask + */ + public XmlAdaptedTask(Task source) { + title = source.getTitle().toString(); + time = source.getTime().toString(); + } + + /** + * Converts this jaxb-friendly adapted person object into the model's Task object. + * + * @throws IllegalValueException if there were any data constraints violated in the adapted task + */ + public Task toModelType() throws IllegalValueException { + if (this.title == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName())); + } + if (!Title.isValidTitle(this.title)) { + throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); + } + final Title title = new Title(this.title); + + if (this.time == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time")); + } + final EventTime time = new EventTime(this.time); + + return new Task(title, time); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof XmlAdaptedTask)) { + return false; + } + + XmlAdaptedTask otherTask = (XmlAdaptedTask) other; + return Objects.equals(title, otherTask.title) + && Objects.equals(time, otherTask.time); + } +} +``` +###### /java/seedu/address/model/AddressBook.java +``` java + //event operations + /** + * Adds an appointment to the address book. + * + * @throws DuplicateEventException if an equivalent appointment already exists. + */ + public void addAppointment(Appointment e) throws DuplicateEventException { + appointments.add(e); + } + + /** + * Removes {@code key} from this {@code AddressBook}. + * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + */ + public boolean removeAppointment(Appointment key) throws EventNotFoundException { + if (appointments.remove(key)) { + return true; + } else { + throw new EventNotFoundException(); + } + } + + /** + * Adds a task to the address book. + * + * @throws DuplicateEventException if an equivalent appointment already exists. + */ + public void addTask(Task e) throws DuplicateEventException { + tasks.add(e); + } + + /** + * Removes {@code key} from this {@code AddressBook}. + * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + */ + public boolean removeTask(Task key) throws EventNotFoundException { + if (tasks.remove(key)) { + return true; + } else { + throw new EventNotFoundException(); + } + } +} +``` +###### /java/seedu/address/model/event/Appointment.java +``` java +/** + * Represent an appointment in the schedule, contains time of the appointment as well as details and personMeet. + */ +public class Appointment { + public static final String MESSAGE_TIME_PERIOD_CONSTRAINTS = "The end time should be after the start time"; + + private final Title title; + private final EventTime time; + private final EventTime endTime; + private final PersonToMeet personToMeet; + + //Every field must be present and not null + public Appointment(Title title, EventTime startTime, EventTime endTime) { + this(title, startTime, endTime, null); + } + + //Every field except personToMeet must be present and not null + public Appointment(Title title, EventTime startTime, EventTime endTime, PersonToMeet personToMeet) { + requireAllNonNull(title, startTime, endTime); + checkArgument(isValidTime(startTime, endTime), MESSAGE_TIME_PERIOD_CONSTRAINTS); + this.title = title; + this.time = startTime; + this.endTime = endTime; + this.personToMeet = personToMeet; + } + + public Title getTitle() { + return title; + } + + public EventTime getTime() { + return time; + } + + public EventTime getEndTime() { + return endTime; + } + + public PersonToMeet getPersonToMeet() { + return personToMeet; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof Appointment)) { + return false; + } + + Appointment otherAppointment = (Appointment) other; + return otherAppointment.getTitle().equals(this.getTitle()) + && otherAppointment.getTime().equals(this.getTime()) + && otherAppointment.getEndTime().equals(this.getEndTime()); + } + + @Override + public String toString() { + final StringBuilder builder = new StringBuilder(); + builder.append(getTitle()) + .append(", Start Time: ") + .append(getTime().toString()) + .append(", End Time: ") + .append(getEndTime().toString()); + if (personToMeet != null) { + builder.append(", With: ") + .append(personToMeet.getName()); + } + return builder.toString(); + } + + /** + * Returns true if the given time is valid + */ + public static boolean isValidTime(EventTime startTime, EventTime endTime) { + return endTime.value.after(startTime.value); + } +} +``` +###### /java/seedu/address/model/event/Task.java +``` java +/** + * Represent a Task in the schedule, contains deadline as well as the title + */ +public class Task { + private Title title; + private EventTime time; + + //Every field must be present and not null + public Task(Title title, EventTime deadline) { + requireAllNonNull(title, deadline); + this.title = title; + this.time = deadline; + } + + public Title getTitle() { + return title; + } + + public EventTime getTime() { + return time; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof Task)) { + return false; + } + + Task otherTask = (Task) other; + return otherTask.getTitle().equals(this.getTitle()) + && otherTask.getTime().equals(this.getTime()); + } + + @Override + public String toString() { + return title + ", Deadline: " + time; + } +} +``` diff --git a/collated/functional/randypx.md b/collated/functional/randypx.md new file mode 100644 index 000000000000..5b252855418a --- /dev/null +++ b/collated/functional/randypx.md @@ -0,0 +1,120 @@ +# randypx +###### /java/seedu/address/model/person/UniquePersonList.java +``` java + /** + * Add a listener to the list for any changes. + * Update {@code contacts} for any changes made. + */ + public void addListener(UniqueContactList contacts) { + internalList.addListener(new ListChangeListener<Person>() { + @Override + public void onChanged(Change<? extends Person> c) { + contacts.updateList(c); + } + }); + } + + @Override + public Iterator<Person> iterator() { + return internalList.iterator(); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof UniquePersonList // instanceof handles nulls + && this.internalList.equals(((UniquePersonList) other).internalList)); + } + + @Override + public int hashCode() { + return internalList.hashCode(); + } + +} +``` +###### /java/seedu/address/model/person/UniqueContactList.java +``` java +/** + * A list that is the aggregation of {@code UniquePersonList} and {@code UniqueStudentList} + * and is the list displayed in the GUI. + * This list remains up-to-date by listening to the changes of both lists and is not changed by anything else. + */ +public class UniqueContactList { + private final UniquePersonList persons; + private final UniqueStudentList students; + private final ObservableList<Person> combinedList = FXCollections.observableArrayList(); + + public UniqueContactList(UniquePersonList p, UniqueStudentList s) { + persons = p; + students = s; + persons.addListener(this); + students.addListener(this); + } + + /** + * This method is called when there is a change in eithor {@code UniquePersonList} or {@code UniqueStudentList}. + * @param c this contains the change(s) that has occured. + */ + public void updateList(ListChangeListener.Change<? extends Person> c) { + while (c.next()) { + if (c.wasReplaced()) { + for (int i = 0; i < c.getRemovedSize(); i++) { + int index = combinedList.indexOf(c.getRemoved().get(i)); + combinedList.set(index, c.getAddedSubList().get(i)); + } + if (c.getTo() > c.getRemovedSize()) { + for (int i = c.getRemovedSize(); i < c.getTo(); i++) { + combinedList.add(c.getAddedSubList().get(i)); + } + } + } else if (c.wasRemoved()) { + combinedList.removeAll(c.getRemoved()); + } else if (c.wasAdded()) { + combinedList.addAll(c.getAddedSubList()); + } + } + } + + /** + * Returns the backing list as an unmodifiable {@code ObservableList}. + */ + public ObservableList<Person> asObservableList() { + return FXCollections.unmodifiableObservableList(combinedList); + } + +} +``` +###### /java/seedu/address/model/person/UniqueStudentList.java +``` java + /** + * Add a listener to the list for any changes. + * Update {@code contacts} for any changes made. + */ + public void addListener(UniqueContactList contacts) { + internalList.addListener(new ListChangeListener<Student>() { + @Override + public void onChanged(Change<? extends Student> c) { + contacts.updateList(c); + } + }); + } + + @Override + public Iterator<Student> iterator() { + return internalList.iterator(); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof UniqueStudentList // instanceof handles nulls + && this.internalList.equals(((UniqueStudentList) other).internalList)); + } + + @Override + public int hashCode() { + return internalList.hashCode(); + } +} +``` diff --git a/collated/functional/shanmu9898.md b/collated/functional/shanmu9898.md new file mode 100644 index 000000000000..cc7ceca97025 --- /dev/null +++ b/collated/functional/shanmu9898.md @@ -0,0 +1,1091 @@ +# shanmu9898 +###### /resources/view/ShortcutListCard.fxml +``` fxml +<?import javafx.geometry.Insets?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.layout.ColumnConstraints?> +<?import javafx.scene.layout.GridPane?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.Region?> +<?import javafx.scene.layout.VBox?> + +<HBox id="cardPane" fx:id="cardPane" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> + <GridPane HBox.hgrow="ALWAYS"> + <columnConstraints> + <ColumnConstraints hgrow="SOMETIMES" minWidth="10" prefWidth="150" /> + </columnConstraints> + <VBox alignment="CENTER_LEFT" minHeight="80" GridPane.columnIndex="0"> + <padding> + <Insets top="5" right="5" bottom="5" left="15" /> + </padding> + <HBox spacing="5" alignment="CENTER_LEFT"> + <Label fx:id="id" styleClass="cell_big_label"> + <minWidth> + <!-- Ensures that the label text is never truncated --> + <Region fx:constant="USE_PREF_SIZE" /> + </minWidth> + </Label> + <Label fx:id="command" text="\$command" styleClass="cell_big_label" /> + <Label fx:id="shortcut" styleClass="cell_big_label_label" text="\$shortcut" /> + </HBox> + + </VBox> + </GridPane> +</HBox> +``` +###### /resources/view/ShortcutListPanel.fxml +``` fxml +<?import javafx.scene.control.ListView?> +<?import javafx.scene.layout.VBox?> + +<VBox xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> + <ListView fx:id="shortcutListView" VBox.vgrow="ALWAYS" /> +</VBox> +``` +###### /java/seedu/address/ui/ShortcutListPanel.java +``` java +package seedu.address.ui; + +import java.util.logging.Logger; + +import org.fxmisc.easybind.EasyBind; + +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.scene.control.ListCell; +import javafx.scene.control.ListView; +import javafx.scene.layout.Region; +import seedu.address.commons.core.LogsCenter; +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * Panel containing the list of Shortcuts. + */ +public class ShortcutListPanel extends UiPart<Region> { + private static final String FXML = "ShortcutListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(PersonListPanel.class); + + @FXML + private ListView<ShortcutCard> shortcutListView; + + public ShortcutListPanel(ObservableList<ShortcutDoubles> shortcutList) { + super(FXML); + setConnections(shortcutList); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList<ShortcutDoubles> shortcutList) { + ObservableList<ShortcutCard> mappedList = EasyBind.map(shortcutList, (shortcutDoubles) -> + new ShortcutCard(shortcutDoubles, shortcutList.indexOf(shortcutDoubles) + 1)); + shortcutListView.setItems(mappedList); + shortcutListView.setCellFactory(listView -> new ShortcutListViewCell()); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code AppointmentCard}. + */ + class ShortcutListViewCell extends ListCell<ShortcutCard> { + + @Override + protected void updateItem(ShortcutCard shortcutCard, boolean empty) { + super.updateItem(shortcutCard, empty); + + if (empty || shortcutCard == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(shortcutCard.getRoot()); + } + } + } +} +``` +###### /java/seedu/address/ui/ShortcutCard.java +``` java +package seedu.address.ui; + +import javafx.fxml.FXML; +import javafx.scene.control.Label; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Region; +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * An UI component that displays information of a {@code Shortcut Double} + */ +public class ShortcutCard extends UiPart<Region> { + + private static final String FXML = "ShortcutListCard.fxml"; + + public final ShortcutDoubles shortcutDoubles; + + @FXML + private HBox cardPane; + @FXML + private Label shortcut; + @FXML + private Label command; + @FXML + private Label id; + + public ShortcutCard(ShortcutDoubles shortcutDoubles, int displayedIndex) { + super(FXML); + + this.shortcutDoubles = shortcutDoubles; + id.setText(displayedIndex + ". "); + shortcut.setText("===> " + shortcutDoubles.shortcutWord); + command.setText(shortcutDoubles.commandWord); + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof ShortcutCard)) { + return false; + } + + // state check + ShortcutCard card = (ShortcutCard) other; + return id.getText().equals(card.id.getText()) + && shortcutDoubles.equals(card.shortcutDoubles); + } +} +``` +###### /java/seedu/address/logic/Logic.java +``` java + /** Returns an unmodifiable view of the filtered list of Shortcuts */ + ObservableList<ShortcutDoubles> getFilteredShortcutList(); +} +``` +###### /java/seedu/address/logic/parser/DeleteShortcutCommandParser.java +``` java +package seedu.address.logic.parser; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + +import seedu.address.logic.commands.DeleteShortcutCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +/** + * Parses input arguments and creates a new DeleteShortcutCommand object + */ +public class DeleteShortcutCommandParser implements Parser<DeleteShortcutCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the DeleteShortcutCommand + * and returns a DeleteShortcutCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public DeleteShortcutCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + String[] splitWords = trimmedArgs.split(" "); + if (splitWords.length > 2 || splitWords.length < 2) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, DeleteShortcutCommand.MESSAGE_USAGE)); + } else { + return new DeleteShortcutCommand(splitWords[0], splitWords[1]); + } + } +} +``` +###### /java/seedu/address/logic/parser/ImportCommandParser.java +``` java +/** + * Parses input arguments and creates a new ImportCommand object + */ +public class ImportCommandParser implements Parser<ImportCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the ImportCommand + * and returns an ImportCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ImportCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + if (trimmedArgs.isEmpty()) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); + } + + String[] parameterGetterArray = trimmedArgs.split(" "); + + if (parameterGetterArray.length != 1) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); + } else { + return new ImportCommand(parameterGetterArray[0]); + } + + } + + + +} +``` +###### /java/seedu/address/logic/parser/ExportCommandParser.java +``` java +/** + * Parses input arguments and creates a new ExportCommand object + */ +public class ExportCommandParser implements Parser<ExportCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the ExportCommand + * and returns an ExportCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + @Override + public ExportCommand parse(String args) throws ParseException { + requireNonNull(args); + ArgumentMultimap argMultiMap = ArgumentTokenizer.tokenize(args, PREFIX_NAME, PREFIX_RANGE, + PREFIX_TAG_EXPORT, PREFIX_PATH, PREFIX_TYPE); + + String[] preambleArgs = argMultiMap.getPreamble().split(" "); + if (!arePrefixesPresent(argMultiMap, PREFIX_NAME, PREFIX_RANGE, PREFIX_PATH, PREFIX_TYPE) + || preambleArgs.length > 1) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); + } + + String name = argMultiMap.getValue(PREFIX_NAME).orElse(""); + String range = argMultiMap.getValue(PREFIX_RANGE).orElse("all"); + String tag = argMultiMap.getValue(PREFIX_TAG_EXPORT).orElse("shouldnotbethistag"); + String path = argMultiMap.getValue(PREFIX_PATH).orElse(""); + String type = argMultiMap.getValue(PREFIX_TYPE).orElse("normal"); + + if (!(type.equals("excel") || type.equals("normal"))) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); + } + + Tag tagExport = new Tag(tag); + return new ExportCommand(range, tagExport, path, name, type); + + + } + + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } + + + +} +``` +###### /java/seedu/address/logic/parser/ShortcutCommandParser.java +``` java +/** + * Parser + */ +public class ShortcutCommandParser implements Parser<ShortcutCommand> { + /** + * Parses the given {@code String} of arguments in the context of the ShortcutCommand + * and returns an ShortcutCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ShortcutCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + String[] splitWords = trimmedArgs.split(" "); + if (splitWords.length > 2 || splitWords.length < 2) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ShortcutCommand.MESSAGE_USAGE)); + } else { + return new ShortcutCommand(splitWords[0], splitWords[1]); + } + } +} +``` +###### /java/seedu/address/logic/commands/DeleteShortcutCommand.java +``` java +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; + +import java.util.Objects; + +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +/** + * Deletes a specific shortcut from the addressbook. + */ +public class DeleteShortcutCommand extends UndoableCommand { + public static final String COMMAND_WORD = "delete_shortcut"; + public static final String MESSAGE_USAGE = COMMAND_WORD + " CommandWord " + " ShortcutWord " + + " :Deletes a shortcut for any command word"; + public static final String MESSAGE_DELETE_SHORTCUT_SUCCESS = "The shortcut has been deleted!"; + private final String shortcutWord; + + private final String commandWord; + + private ShortcutDoubles commandShortcut; + + + public DeleteShortcutCommand(String commandWord, String shortcutWord) { + requireNonNull(commandWord); + requireNonNull(shortcutWord); + this.commandWord = commandWord; + this.shortcutWord = shortcutWord; + commandShortcut = new ShortcutDoubles(shortcutWord, commandWord); + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + requireNonNull(commandShortcut); + try { + model.deleteCommandShortcut(commandShortcut); + } catch (UniqueShortcutDoublesList.CommandShortcutNotFoundException csnf) { + throw new CommandException("Please enter a valid Shortcut Command you have saved"); + } + + return new CommandResult(String.format(MESSAGE_DELETE_SHORTCUT_SUCCESS)); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof DeleteShortcutCommand // instanceof handles nulls + && this.shortcutWord.equals(((DeleteShortcutCommand) other).shortcutWord) // state check + && this.commandWord.equals(((DeleteShortcutCommand) other).commandWord) // state check + && Objects.equals(this.commandShortcut, ((DeleteShortcutCommand) other).commandShortcut)); + } +} +``` +###### /java/seedu/address/logic/commands/ExportCommand.java +``` java +/** + * + * Exports people to an XML file of choice based on tag, index or range + */ +public class ExportCommand extends Command { + + public static final String MESSAGE_FAIL = "TeachConnect faced some error while exporting! Please try again!"; + public static final String MESSAGE_OUT_OF_BOUNDS = "Please check the index bounds!"; + public static final String MESSAGE_SUCCESS = "Contacts have been successfully exported!"; + public static final String MESSAGE_RANGE_ERROR = "Please input valid range"; + + public static final String COMMAND_WORD = "export"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": exports contacts to the TeachConnect Book based " + + "on index, range or tag \n" + + "Parameters: " + + PREFIX_NAME + " NAME " + + PREFIX_RANGE + " RANGE " + + PREFIX_TAG_EXPORT + " TAG " + + PREFIX_PATH + " PATH " + + PREFIX_TYPE + "FORMAT \n" + + "Example 1: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "all " + + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/Normal \n" + + "Example 2: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "1 " + + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/Normal \n" + + "Example 3: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "1,2 " + + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/normal \n"; + + + private Tag tag; + private final String range; + private final String path; + private AddressBook teachConnectBook; + private AddressBookStorage teachConnectStorage; + private final String nameOfExportFile; + private final String type; + + /** + * Creates an ExportCommand to export the specified {@code Persons} + */ + public ExportCommand(String range, Tag tag, String path, String nameOfExportFile, String type) { + requireNonNull(range); + requireNonNull(tag); + requireNonNull(path); + requireNonNull(nameOfExportFile); + requireNonNull(type); + + this.range = range; + this.path = path; + this.tag = tag; + this.nameOfExportFile = nameOfExportFile; + this.type = type; + + + teachConnectBook = new AddressBook(); + } + + @Override + public CommandResult execute() { + String[] rangeGiven; + try { + rangeGiven = handleRange(); + } catch (IOException e) { + return new CommandResult(MESSAGE_RANGE_ERROR); + } + CommandResult handledRangeSituation; + try { + handledRangeSituation = handleRangeArray(rangeGiven); + } catch (DuplicatePersonException e) { + return new CommandResult(MESSAGE_FAIL); + } catch (IndexOutOfBoundsException e) { + return new CommandResult(MESSAGE_OUT_OF_BOUNDS); + } + if (handledRangeSituation != null) { + return handledRangeSituation; + } + + if (!tryStorage(type)) { + return new CommandResult(MESSAGE_FAIL); + } + return new CommandResult(MESSAGE_SUCCESS); + + } + + /** + * This method tries creating and storing the export file. + * @return + */ + private boolean tryStorage(String type) { + teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ".xml"); + try { + teachConnectStorage.saveAddressBook(teachConnectBook); + } catch (IOException e) { + return false; + } + if (type.equals("excel")) { + return saveAsCsv(); + } + return true; + } + + /** + * Will save as a CSV file depending on the type of input + * @return boolean + */ + private boolean saveAsCsv() { + File stylesheet = new File("./src/main/resources/Util/style.xsl"); + File xmlSource = new File(path + "/" + nameOfExportFile + ".xml"); + + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder; + try { + builder = factory.newDocumentBuilder(); + } catch (ParserConfigurationException e) { + return false; + } + Document document; + try { + document = builder.parse(xmlSource); + } catch (SAXException e) { + return false; + } catch (IOException e) { + return false; + } + + StreamSource styleSource = new StreamSource(stylesheet); + Transformer transformer; + try { + transformer = TransformerFactory.newInstance().newTransformer(styleSource); + } catch (TransformerConfigurationException e) { + return false; + } + Source source = new DOMSource(document); + Result outputTarget = new StreamResult(new File(path + "/" + nameOfExportFile + ".csv")); + try { + transformer.transform(source, outputTarget); + } catch (TransformerException e) { + return false; + } + + return true; + } + + /** + * Handles the range array returned by the handleRange() function + * @param rangeGiven + * @return + */ + private CommandResult handleRangeArray(String[] rangeGiven) throws DuplicatePersonException, + IndexOutOfBoundsException { + if (rangeGiven[0].equals("all")) { + exportAllRange(tag); + } else { + if (rangeGiven.length != 1) { + for (int i = 0; i < rangeGiven.length; i++) { + int low = Integer.parseInt(rangeGiven[0]); + int high = Integer.parseInt(rangeGiven[1]); + if (low >= high) { + return new CommandResult(MESSAGE_RANGE_ERROR); + } else { + exportRange(low, high, tag); + } + } + } else { + int low = Integer.parseInt(rangeGiven[0]); + exportSpecific(low); + } + + + } + return null; + } + + /** + * Adds a specific person to the teachConnectBook + * + * @param low + * @throws DuplicatePersonException + * @throws IndexOutOfBoundsException + */ + private void exportSpecific(int low) throws DuplicatePersonException, IndexOutOfBoundsException { + ObservableList<Person> exportPeople = model.getFilteredPersonList(); + teachConnectBook.addPerson(exportPeople.get(low - 1)); + } + + /** + * Exports a range of people based on the tag and the index range given + * + * @param low + * @param high + * @param tag + * @throws DuplicatePersonException + * @throws IndexOutOfBoundsException + */ + private void exportRange(int low, int high, Tag tag) throws DuplicatePersonException, IndexOutOfBoundsException { + ObservableList<Person> exportPeople = model.getFilteredPersonList(); + ArrayList<Person> exportAddition = new ArrayList<Person>(); + if (tag.equals(new Tag("shouldnotbethistag"))) { + for (int i = low; i < high; i++) { + exportAddition.add(exportPeople.get(i - 1)); + } + teachConnectBook.setPersons(exportAddition); + } else { + for (int i = low; i < high; i++) { + if (exportPeople.get(i - 1).getTags().contains(tag)) { + exportAddition.add(exportPeople.get(i - 1)); + } + + } + } + + teachConnectBook.setPersons(exportAddition); + } + + /** + * Exports all the contacts in the TeachConnect book if contain certain tag + * + * @param tag + * @throws DuplicatePersonException + */ + private void exportAllRange(Tag tag) throws DuplicatePersonException { + ObservableList<Person> exportPeople = model.getFilteredPersonList(); + if (tag.equals(new Tag("shouldnotbethistag"))) { + teachConnectBook.setPersons(exportPeople); + } else { + ArrayList<Person> exportAddition = new ArrayList<Person>(); + for (int i = 0; i < exportPeople.size(); i++) { + if (exportPeople.get(i).getTags().contains(tag)) { + exportAddition.add(exportPeople.get(i)); + } + } + teachConnectBook.setPersons(exportAddition); + } + } + + /** + * Helper method to identify the lower and higher end of the range given + * + * @return rangeStringArray + */ + public String[] handleRange() throws IOException { + String[] rangeStringArray = this.range.split(","); + if (rangeStringArray.length > 2) { + throw new IOException(); + } + return rangeStringArray; + + } + + /** + * + * @param other [in this case ExportCommand] + * @return a boolean value + */ + @Override + public boolean equals(Object other) { + if (this == other) { + return true; + } + + if (!(other instanceof ExportCommand)) { + return false; + } + + ExportCommand e = (ExportCommand) other; + return range.equals(e.range) && path.equals(e.path); + } + +} +``` +###### /java/seedu/address/logic/commands/ShortcutCommand.java +``` java +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; + +import java.util.List; + +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +/** + * + */ +public class ShortcutCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "shortcut"; + public static final String MESSAGE_USAGE = COMMAND_WORD + " CommandWord " + " ShortcutWord " + + " :Creates a shortcut for any command word"; + public static final String MESSAGE_SHORTCUT_AVAILABLE = "This shortcut already exists!"; + public static final String MESSAGE_SUCCESS = "Successfully added the shortcut"; + public static final String MESSAGE_NO_COMMAND_TO_MAP = "The command statement is invalid and hence cant be mapped!"; + + private final String shortcutWord; + + private final String commandWord; + + private List<ShortcutDoubles> commandsList; + + private final String[] commandsPresent = {"add", "clear", "theme", "delete", "edit", "exit", "export", "find", + "help", "history", "import", "list", "redo", "undo", "select", + "set_appointment", "set_task", "shortcut", "undo", "calendar", + "delete_shortcut", "remove"}; + + public ShortcutCommand(String commandWord, String shortcutWord) { + requireNonNull(commandWord); + requireNonNull(shortcutWord); + this.shortcutWord = shortcutWord; + this.commandWord = commandWord; + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + commandsList = model.getFilteredCommandsList(); + if (commandsList != null) { + if (checkIfCommandPresent()) { + return new CommandResult(String.format(MESSAGE_SHORTCUT_AVAILABLE)); + } + + } + + ShortcutDoubles toAdd = new ShortcutDoubles(shortcutWord, commandWord); + try { + model.addCommandShortcut(toAdd); + } catch (UniqueShortcutDoublesList.DuplicateShortcutDoublesException e) { + return new CommandResult(String.format(MESSAGE_SHORTCUT_AVAILABLE)); + } + + return new CommandResult(String.format(MESSAGE_SUCCESS)); + } + + /** + * Checks if the shortcut command is valid or not + * @return whether true or false + */ + private boolean checkIfCommandPresent() throws CommandException { + if (!containsKeyWord(commandWord) || containsKeyWord(shortcutWord)) { + throw new CommandException(MESSAGE_NO_COMMAND_TO_MAP); + } + for (ShortcutDoubles s : commandsList) { + if (s.shortcutWord.equals(shortcutWord)) { + return true; + } + } + return false; + } + + /** + * Checks if the command word is in the Array of commands present + * @param commandWord + * @return whether true if the command is present in the command word list or false otherwise + */ + private boolean containsKeyWord(String commandWord) { + for (String s : commandsPresent) { + if (s.equals(commandWord)) { + return true; + } + } + return false; + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ShortcutCommand // instanceof handles nulls + && this.shortcutWord.equals(((ShortcutCommand) other).shortcutWord) // state check + && this.commandWord.equals(((ShortcutCommand) other).commandWord)); // state check + } +} +``` +###### /java/seedu/address/logic/commands/ImportCommand.java +``` java +/** + * Imports contacts from a different TeachConnect XML file + */ +public class ImportCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "import"; + public static final String MESSAGE_USAGE = COMMAND_WORD + ": imports contacts to the address book." + + "Parameters: file location...\n" + + "Example: " + COMMAND_WORD + " main/src/test/data/sandbox/somerandomfile.xml"; + public static final String MESSAGE_SUCCESS = "%1$s contacts have been successfully imported " + + "and %2$s have been left out!"; + protected static final String MESSAGE_INVALID_FILE = "Please input a valid file location"; + protected Storage storage; + private AddressBook addressBookImported; + private AddressBookStorage addressBookStorage; + private String filePath; + private int numberAdded = 0; + private int numberNotAdded = 0; + + /** + * Creates an ImportCommand to import the specified TeachConnect XML file + */ + public ImportCommand(String importPath) { + requireNonNull(importPath); + this.filePath = importPath; + addressBookStorage = new XmlAddressBookStorage(filePath); + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + try { + if (addressBookStorage.readAddressBook(filePath).isPresent()) { + this.addressBookImported = new AddressBook(addressBookStorage.readAddressBook().get()); + ObservableList<Person> people = addressBookImported.getPersonList(); + for (int i = 0; i < people.size(); i++) { + try { + model.addPerson(people.get(i)); + numberAdded++; + } catch (DuplicatePersonException e) { + numberNotAdded++; + } + } + } else { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } + } catch (DataConversionException e) { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } catch (IOException e) { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } + + return new CommandResult(String.format(MESSAGE_SUCCESS, numberAdded, numberNotAdded)); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ImportCommand // instanceof handles nulls + && filePath.equals(((ImportCommand) other).filePath)); + } + + +} + + + + +``` +###### /java/seedu/address/storage/XmlAdaptedShortcutDouble.java +``` java +package seedu.address.storage; + +import javax.xml.bind.annotation.XmlElement; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * + */ +public class XmlAdaptedShortcutDouble { + @XmlElement + private String shortcutWord; + @XmlElement + private String commandWord; + + public XmlAdaptedShortcutDouble() {} + + public XmlAdaptedShortcutDouble(String shortcutWord, String commandWord) { + this.shortcutWord = shortcutWord; + this.commandWord = commandWord; + } + + public XmlAdaptedShortcutDouble(ShortcutDoubles source) { + shortcutWord = source.shortcutWord; + commandWord = source.commandWord; + } + + public ShortcutDoubles toModelType() throws IllegalValueException { + return new ShortcutDoubles(shortcutWord, commandWord); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof XmlAdaptedShortcutDouble)) { + return false; + } + + return commandWord.equals(((XmlAdaptedShortcutDouble) other).commandWord) + && shortcutWord.equals(((XmlAdaptedShortcutDouble) other).shortcutWord); + } + +} +``` +###### /java/seedu/address/model/AddressBook.java +``` java + public void setShorcutCommands(List<ShortcutDoubles> shorcutCommands) { + this.shorcutCommands.setCommandsList(shorcutCommands); + } +``` +###### /java/seedu/address/model/AddressBook.java +``` java + /** + * + * @param commandShortcut + * @return a boolean variable + * @throws UniqueShortcutDoublesList.CommandShortcutNotFoundException + */ + public boolean removeShortcutDouble(ShortcutDoubles commandShortcut) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { + if (shorcutCommands.remove(commandShortcut)) { + return true; + } else { + throw new UniqueShortcutDoublesList.CommandShortcutNotFoundException(); + } + } + //author + + //// tag-level operations + + public void addTag(Tag t) throws UniqueTagList.DuplicateTagException { + tags.add(t); + } +``` +###### /java/seedu/address/model/AddressBook.java +``` java + public void addShortcutDoubles(ShortcutDoubles s) + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + shorcutCommands.add(s); + } +``` +###### /java/seedu/address/model/AddressBook.java +``` java + /** + * Removes the particular tag for all people in the AddressBook. + */ + public void removeTag(Tag tag) throws DuplicatePersonException, PersonNotFoundException { + for (Person person : persons) { + removeTagFromPerson(tag, person); + } + for (Student student : students) { + removeTagFromStudent(tag, student); + } + + } + + + /** + * Removes the particular tag for that particular person in the AddressBook. + */ + private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundException, DuplicatePersonException { + Set<Tag> listOfTags = new HashSet<>(person.getTags()); + + if (listOfTags.contains(tag)) { + listOfTags.remove(tag); + } else { + return; + } + + Person updatedPerson = new Person(person.getName(), person.getPhone(), person.getEmail(), + person.getAddress(), listOfTags); + + updatePerson(person, updatedPerson); + } +``` +###### /java/seedu/address/model/ModelManager.java +``` java + @Override + public synchronized void addCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + addressBook.addShortcutDoubles(shortcutDoubles); + indicateAddressBookChanged(); + } + + @Override + public synchronized void deleteCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { + addressBook.removeShortcutDouble(shortcutDoubles); + } +``` +###### /java/seedu/address/model/ModelManager.java +``` java + @Override + public ObservableList<ShortcutDoubles> getFilteredCommandsList() { + return FXCollections.unmodifiableObservableList(filteredShortcutCommands); + } +``` +###### /java/seedu/address/model/shortcuts/ShortcutDoubles.java +``` java +package seedu.address.model.shortcuts; + +import static java.util.Objects.requireNonNull; + +/** + * Represents a Command Double + */ +public class ShortcutDoubles { + + public final String shortcutWord; + public final String commandWord; + + public ShortcutDoubles(String shortcutWord, String commandWord) { + requireNonNull(shortcutWord); + requireNonNull(commandWord); + this.shortcutWord = shortcutWord; + this.commandWord = commandWord; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof ShortcutDoubles)) { + return false; + } + + ShortcutDoubles otherShortcut = (ShortcutDoubles) other; + return otherShortcut.commandWord.equals(this.commandWord) + && otherShortcut.shortcutWord.equals(this.shortcutWord); + } +} +``` +###### /java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java +``` java +package seedu.address.model.shortcuts; + +import static java.util.Objects.requireNonNull; + +import java.util.List; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import seedu.address.commons.exceptions.DuplicateDataException; +import seedu.address.commons.util.CollectionUtil; + +/** + * + */ +public class UniqueShortcutDoublesList { + + private final ObservableList<ShortcutDoubles> internalList = FXCollections.observableArrayList(); + + public UniqueShortcutDoublesList(){ + + } + + /** + * Adds Shortcut Doubles to the internal list + * @param toAdd + * @throws DuplicateShortcutDoublesException + */ + public void add(ShortcutDoubles toAdd) throws DuplicateShortcutDoublesException { + requireNonNull(toAdd); + if (contains(toAdd)) { + throw new DuplicateShortcutDoublesException(); + } + internalList.add(toAdd); + + assert CollectionUtil.elementsAreUnique(internalList); + } + + /** + * Returns an ObservableList of the internallist + * @return + */ + public ObservableList<ShortcutDoubles> asObservableList() { + assert CollectionUtil.elementsAreUnique(internalList); + return FXCollections.unmodifiableObservableList(internalList); + } + + /** + * Gives a duplicate Except + */ + public static class DuplicateShortcutDoublesException extends DuplicateDataException { + protected DuplicateShortcutDoublesException() { + super("Operation would result in duplicate Doubles"); + } + } + + /** + * Helps in checking if there are duplicates + * @param toCheck + * @return + */ + public boolean contains(ShortcutDoubles toCheck) { + requireNonNull(toCheck); + return internalList.contains(toCheck); + } + + @Override + public boolean equals(Object other) { + assert CollectionUtil.elementsAreUnique(internalList); + return other == this // short circuit if same object + || (other instanceof UniqueShortcutDoublesList // instanceof handles nulls + && this.internalList.equals(((UniqueShortcutDoublesList) other).internalList)); + } + + public void setCommandsList(List<ShortcutDoubles> commandsList) { + requireNonNull(commandsList); + internalList.setAll(commandsList); + assert CollectionUtil.elementsAreUnique(internalList); + } + + /** + * Removes the equvivalent command shortcut from the list. + * @param shortcutDoubles + * + * @throws UniqueShortcutDoublesList.CommandShortcutNotFoundException + */ + public boolean remove(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { + requireNonNull(shortcutDoubles); + final boolean shortcutToBeDeleted = internalList.remove(shortcutDoubles); + if (!shortcutToBeDeleted) { + throw new UniqueShortcutDoublesList.CommandShortcutNotFoundException(); + } + return shortcutToBeDeleted; + } + + /** + * Exception when the command shortcut is not present in the list of stored commands + */ + public static class CommandShortcutNotFoundException extends Exception {} +} +``` diff --git a/collated/test/Sisyphus25-reused.md b/collated/test/Sisyphus25-reused.md new file mode 100644 index 000000000000..ca27d38124a8 --- /dev/null +++ b/collated/test/Sisyphus25-reused.md @@ -0,0 +1,19 @@ +# Sisyphus25-reused +###### /java/guitests/guihandles/PersonCardHandle.java +``` java + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * + * @param tag Text value of the tag label + * @return List of style classes for tag label with text value {@code tag} + */ + public List<String> getTagStyleClasses(String tag) { + return tagLabels + .stream() + .filter(label -> label.getText().equals(tag)) + .map(Label::getStyleClass) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("No such tag.")); + } +} +``` diff --git a/collated/test/Sisyphus25.md b/collated/test/Sisyphus25.md new file mode 100644 index 000000000000..ea831a1bad9b --- /dev/null +++ b/collated/test/Sisyphus25.md @@ -0,0 +1,933 @@ +# Sisyphus25 +###### /java/seedu/address/ui/AppointmentCardTest.java +``` java +public class AppointmentCardTest extends GuiUnitTest { + + @Test + public void equals() { + Appointment appointment = TYPICAL_APPOINTMENT_2; + AppointmentCard appointmentCard = new AppointmentCard(appointment, 0); + + // same appointment, same index -> returns true + AppointmentCard copy = new AppointmentCard(appointment, 0); + assertTrue(appointmentCard.equals(copy)); + + // same object -> returns true + assertTrue(appointmentCard.equals(appointmentCard)); + + // null -> returns false + assertFalse(appointmentCard.equals(null)); + + // different types -> returns false + assertFalse(appointmentCard.equals(0)); + + // different appointment, same index -> returns false + Appointment differentAppointment = TYPICAL_APPOINTMENT_3; + assertFalse(appointmentCard.equals(new AppointmentCard(differentAppointment, 0))); + + // same appointment, different index -> returns false + assertFalse(appointmentCard.equals(new AppointmentCard(appointment, 1))); + } + +} +``` +###### /java/seedu/address/ui/TaskCardTest.java +``` java +public class TaskCardTest extends GuiUnitTest { + + @Test + public void equals() { + Task task = TYPICAL_TASK_2; + TaskCard taskCard = new TaskCard(task, 0); + + // same task, same index -> returns true + TaskCard copy = new TaskCard(task, 0); + assertTrue(taskCard.equals(copy)); + + // same object -> returns true + assertTrue(taskCard.equals(taskCard)); + + // null -> returns false + assertFalse(taskCard.equals(null)); + + // different types -> returns false + assertFalse(taskCard.equals(0)); + + // different task, same index -> returns false + Task differentTask = TYPICAL_TASK_1; + assertFalse(taskCard.equals(new TaskCard(differentTask, 0))); + + Task expiredTask = TYPICAL_TASK_EXPIRED; + TaskCard expiredTaskCard = new TaskCard(TYPICAL_TASK_EXPIRED, 1); + // same task, different index -> returns false + assertFalse(taskCard.equals(expiredTaskCard)); + } +} +``` +###### /java/seedu/address/logic/parser/RemoveCommandParserTest.java +``` java +public class RemoveCommandParserTest { + private RemoveCommandParser parser = new RemoveCommandParser(); + + @Test + public void parse_validArgs_returnsDeleteCommand() { + assertParseSuccess(parser, "appointment" + " 1", new RemoveCommand(INDEX_FIRST, "appointment")); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "not valid", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "", String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "Appointment" + " 1", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "appointment" + " -1", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + } +} +``` +###### /java/seedu/address/logic/parser/ChangeThemeCommandParserTest.java +``` java +/** + * Test scope: similar to ToggleCalendarViewCommandParser Test + */ +public class ChangeThemeCommandParserTest { + private ChangeThemeCommandParser parser = new ChangeThemeCommandParser(); + + @Test + public void parse_validArgs_returnsToggleCalendarViewCommand() { + assertParseSuccess(parser, "dark ", new ChangeThemeCommand("dark")); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "not a theme", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ChangeThemeCommand.MESSAGE_INVALID_THEME)); + assertParseFailure(parser, "x", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ChangeThemeCommand.MESSAGE_INVALID_THEME)); + } +} +``` +###### /java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java +``` java +public class SetAppointmentCommandParserTest { + private SetAppointmentCommandParser parser = new SetAppointmentCommandParser(); + + @Test + public void parse_allFieldsPresent_success() { + Appointment expectedAppointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + + // whitespace only preamble + assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + new SetAppointmentCommand(expectedAppointment)); + } + + @Test + public void parse_optionalFieldsMissing_success() { + // no personToMeet + Appointment expectedAppointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + assertParseSuccess(parser, TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + new SetAppointmentCommand((expectedAppointment))); + } + + @Test + public void parse_compulsoryFieldMissing_failure() { + String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, SetAppointmentCommand.MESSAGE_USAGE); + + // missing title prefix + assertParseFailure(parser, VALID_TITLE + START_TIME_DESC + END_TIME_DESC, + expectedMessage); + + // missing start time prefix + assertParseFailure(parser, TITLE_DESC + VALID_START_TIME + END_TIME_DESC, + expectedMessage); + + // missing start time prefix + assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + VALID_END_TIME, + expectedMessage); + + // all prefixes missing + assertParseFailure(parser, VALID_TITLE + VALID_START_TIME + VALID_END_TIME, + expectedMessage); + } + + @Test + public void parse_invalidValue_failure() { + // invalid title + assertParseFailure(parser, INVALID_TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + Title.MESSAGE_TITLE_CONSTRAINTS); + + // invalid start time + assertParseFailure(parser, TITLE_DESC + INVALID_START_TIME_DESC + END_TIME_DESC, + EventTime.MESSAGE_TIME_CONSTRAINTS); + + // invalid end time + assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + INVALID_END_TIME_DESC, + EventTime.MESSAGE_TIME_CONSTRAINTS); + } +} +``` +###### /java/seedu/address/logic/parser/SetTaskCommandParserTest.java +``` java +public class SetTaskCommandParserTest { + private SetTaskCommandParser parser = new SetTaskCommandParser(); + + @Test + public void parse_allFieldsPresent_success() { + Task expectedTask = new Task(new Title(VALID_TITLE), new EventTime(VALID_END_TIME)); + + // whitespace only preamble + assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + END_TIME_DESC, + new SetTaskCommand(expectedTask)); + } + + @Test + public void parse_compulsoryFieldMissing_failure() { + String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, SetTaskCommand.MESSAGE_USAGE); + + // missing title prefix + assertParseFailure(parser, VALID_TITLE + END_TIME_DESC, + expectedMessage); + + // missing end time prefix + assertParseFailure(parser, TITLE_DESC + VALID_END_TIME, + expectedMessage); + + // all prefixes missing + assertParseFailure(parser, VALID_TITLE + VALID_END_TIME, + expectedMessage); + } + + @Test + public void parse_invalidValue_failure() { + // invalid title + assertParseFailure(parser, INVALID_TITLE_DESC + END_TIME_DESC, Title.MESSAGE_TITLE_CONSTRAINTS); + + // invalid end time + assertParseFailure(parser, TITLE_DESC + INVALID_END_TIME_DESC, EventTime.MESSAGE_TIME_CONSTRAINTS); + } +} +``` +###### /java/seedu/address/logic/parser/ListCommandParserTest.java +``` java +public class ListCommandParserTest { + private ListCommandParser parser = new ListCommandParser(); + + @Test + public void parse_validArgs_returnsListCommand() { + assertParseSuccess(parser, "contacts", new ListCommand(ListCommand.TYPE_CONTACT)); + assertParseSuccess(parser, "students", new ListCommand(ListCommand.TYPE_STUDENT)); + assertParseSuccess(parser, "tasks", new ListCommand(ListCommand.TYPE_TASK)); + assertParseSuccess(parser, "appointments", new ListCommand(ListCommand.TYPE_APPOINTMENT)); + assertParseSuccess(parser, "shortcuts", new ListCommand(ListCommand.TYPE_SHORTCUT)); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "ffffffd", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ListCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "event", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ListCommand.MESSAGE_USAGE)); + } +} +``` +###### /java/seedu/address/logic/parser/AddressBookParserTest.java +``` java + @Test + public void parseCommand_toggleCalendarView() throws Exception { + ToggleCalendarViewCommand command = + (ToggleCalendarViewCommand) parser.parseCommand(ToggleCalendarViewCommand.COMMAND_WORD + " " + "m"); + assertEquals(new ToggleCalendarViewCommand('m'), command); + } + + @Test + public void parseCommand_setAppointment() throws Exception { + SetAppointmentCommand command = + (SetAppointmentCommand) parser.parseCommand(SetAppointmentCommand.COMMAND_WORD + + TITLE_DESC + START_TIME_DESC + END_TIME_DESC); + Appointment appointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + assertEquals(new SetAppointmentCommand(appointment), command); + } + + @Test + public void parseCommand_setTask() throws Exception { + SetTaskCommand command = + (SetTaskCommand) parser.parseCommand(SetTaskCommand.COMMAND_WORD + TITLE_DESC + END_TIME_DESC); + Task task = new Task(new Title(VALID_TITLE), new EventTime(VALID_END_TIME)); + assertEquals(new SetTaskCommand(task), command); + } + + @Test + public void parseCommand_changeTheme() throws Exception { + ChangeThemeCommand command = + (ChangeThemeCommand) parser.parseCommand(ChangeThemeCommand.COMMAND_WORD + " " + "dark"); + assertEquals(new ChangeThemeCommand("dark"), command); + } + + @Test + public void parseCommand_remove() throws Exception { + RemoveCommand commandRemoveAppointment = + (RemoveCommand) parser.parseCommand(RemoveCommand.COMMAND_WORD + " " + "appointment" + " " + "1"); + RemoveCommand commandRemoveTask = + (RemoveCommand) parser.parseCommand(RemoveCommand.COMMAND_WORD + " " + "task" + " " + "2"); + assertEquals(new RemoveCommand(Index.fromOneBased(1), "appointment"), commandRemoveAppointment); + assertEquals(new RemoveCommand(Index.fromOneBased(2), "task"), commandRemoveTask); + } +``` +###### /java/seedu/address/logic/parser/ParserUtilTest.java +``` java + @Test + public void parseTitle_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseTitle((String) null)); + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseTitle((Optional<String>) null)); + } + + @Test + public void parseTitle_invalidValue_throwsIllegalValueException() { + Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseTitle(" ")); + Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseTitle(Optional.of(" "))); + } + + @Test + public void parseTitle_optionalEmpty_returnsOptionalEmpty() throws Exception { + assertFalse(ParserUtil.parseTitle(Optional.empty()).isPresent()); + } + + @Test + public void parseTitle_validValue_returnsTitle() throws Exception { + String validTitle = "Hanging out"; + Title expectedTitle = new Title(validTitle); + assertEquals(expectedTitle, ParserUtil.parseTitle(validTitle)); + assertEquals(Optional.of(expectedTitle), ParserUtil.parseTitle(Optional.of(validTitle))); + } + + @Test + public void parseEventTime_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseEventTime((String) null)); + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseEventTime((Optional<String>) null)); + } + + @Test + public void parseEventTime_optionalEmpty_returnsOptionalEmpty() throws Exception { + assertFalse(ParserUtil.parseEventTime(Optional.empty()).isPresent()); + } + + @Test + public void parseEventTime_validValue_returnsEventTime() throws Exception { + String validTime = "20/10/2018 10:00"; + EventTime expectedEventTime = new EventTime(validTime); + assertEquals(expectedEventTime, ParserUtil.parseEventTime(validTime)); + assertEquals(Optional.of(expectedEventTime), ParserUtil.parseEventTime(Optional.of(validTime))); + } + +``` +###### /java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java +``` java +public class ToggleCalendarViewParserTest { + private ToggleCalendarViewParser parser = new ToggleCalendarViewParser(); + + @Test + public void parse_validArgs_returnsToggleCalendarViewCommand() { + assertParseSuccess(parser, "d", new ToggleCalendarViewCommand('d')); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "day", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ToggleCalendarViewCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "x", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ToggleCalendarViewCommand.MESSAGE_USAGE)); + } +} +``` +###### /java/seedu/address/logic/commands/RemoveCommandTest.java +``` java + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; +import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.Test; + +import seedu.address.commons.core.Messages; +import seedu.address.commons.core.index.Index; +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.Task; + +/** + * Contains Test for {@code RemoveCommand} + */ +public class RemoveCommandTest { + private Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + + @Test + public void execute_validIndexRemoveAppointment_success() throws Exception { + ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + Appointment appointmentToDelete = model.getFilteredAppointmentList().get(INDEX_FIRST.getZeroBased()); + RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); + String expectedMessage = + String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "appointment", appointmentToDelete); + expectedModel.deleteAppointment(appointmentToDelete); + assertCommandSuccess(removeCommandRemovingAppointment, model, expectedMessage, expectedModel); + } + + @Test + public void execute_validIndexRemoveTask_success() throws Exception { + ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + Task taskToDelete = model.getFilteredTaskList().get(INDEX_FIRST.getZeroBased()); + RemoveCommand removeCommandRemovingTask = prepareCommand(INDEX_FIRST, "task"); + String expectedMessage = + String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "task", taskToDelete); + expectedModel.deleteTask(taskToDelete); + assertCommandSuccess(removeCommandRemovingTask, model, expectedMessage, expectedModel); + } + + @Test + public void execute_invalidIndex_throwsCommandException() throws Exception { + Index outOfBoundIndex = Index.fromOneBased(model.getFilteredTaskList().size() + 1); + RemoveCommand removeCommandRemovingTask = prepareCommand(outOfBoundIndex, "task"); + + Index outOfBoundIndex2 = Index.fromOneBased(model.getFilteredAppointmentList().size() + 1); + RemoveCommand removeCommandRemovingAppointment = prepareCommand(outOfBoundIndex2, "appointment"); + + assertCommandFailure(removeCommandRemovingTask, model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + assertCommandFailure(removeCommandRemovingAppointment, + model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + } + + @Test + public void equals() throws Exception { + RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); + RemoveCommand removeCommandRemovingTask = prepareCommand(INDEX_SECOND, "task"); + + // same object -> returns true + assertTrue(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointment)); + + // same values -> returns true + RemoveCommand removeCommandRemovingAppointmentCopy = prepareCommand(INDEX_FIRST, "appointment"); + assertTrue(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointmentCopy)); + + // one command preprocessed when previously equal -> returns false + removeCommandRemovingAppointmentCopy.preprocessUndoableCommand(); + assertFalse(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointmentCopy)); + + // different types -> returns false + assertFalse(removeCommandRemovingAppointment.equals(1)); + + // null -> returns false + assertFalse(removeCommandRemovingAppointment.equals(null)); + + // different person -> returns false + assertFalse(removeCommandRemovingAppointment.equals(removeCommandRemovingTask)); + } + + /** + * Returns a {@code RemoveCommand} with the parameter {@code index}, {@code eventType}. + */ + private RemoveCommand prepareCommand(Index index, String eventType) { + RemoveCommand removeCommand = new RemoveCommand(index, eventType); + removeCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + return removeCommand; + } +} +``` +###### /java/seedu/address/logic/commands/ToggleCalendarViewCommandTest.java +``` java +public class ToggleCalendarViewCommandTest { + @Rule + public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); + + @Test + public void execute_help_success() throws CommandException { + Character viewMode = 'd'; + CommandResult result = new ToggleCalendarViewCommand(viewMode).execute(); + assertEquals(MESSAGE_VIEW_TOGGLE_SUCCESS, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleCalendarViewEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); + } +} +``` +###### /java/seedu/address/logic/commands/SetTaskCommandTest.java +``` java +public class SetTaskCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void constructor_nullAppointment_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new SetTaskCommand(null); + } + + @Test + public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception { + ModelStubAcceptingTaskAdded modelStub = new ModelStubAcceptingTaskAdded(); + + CommandResult commandResult = getSetTaskCommand(TYPICAL_TASK_2, modelStub).execute(); + + assertEquals(String.format(SetTaskCommand.MESSAGE_SUCCESS, TYPICAL_TASK_2), commandResult.feedbackToUser); + assertEquals(Arrays.asList(TYPICAL_TASK_2), modelStub.tasksAdded); + } + + @Test + public void execute_duplicateEvent_throwsCommandException() throws Exception { + ModelStub modelStub = new ModelStubThrowingDuplicateEventException(); + + thrown.expect(CommandException.class); + thrown.expectMessage(SetTaskCommand.MESSAGE_DUPLICATE_TASK); + + getSetTaskCommand(TYPICAL_TASK_1, modelStub).execute(); + } + + @Test + public void equals() { + SetTaskCommand addTask1 = + new SetTaskCommand(TYPICAL_TASK_1); + SetTaskCommand addTask2 = + new SetTaskCommand(TYPICAL_TASK_2); + + // same object -> returns true + assertTrue(addTask1.equals(addTask1)); + + // same values -> returns true + SetTaskCommand addAppointment1Copy = + new SetTaskCommand(TYPICAL_TASK_1); + assertTrue(addTask1.equals(addAppointment1Copy)); + + // different types -> returns false + assertFalse(addTask1.equals(1)); + + // null -> returns false + assertFalse(addTask1.equals(null)); + + // different tasks -> returns false + assertFalse(addTask1.equals(addTask2)); + } + + /** + * Generates a new SetTaskCommand with the details of the given task. + */ + private SetTaskCommand getSetTaskCommand(Task task, Model model) { + SetTaskCommand command = new SetTaskCommand(task); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } + +} +``` +###### /java/seedu/address/logic/commands/SetAppointmentCommandTest.java +``` java +public class SetAppointmentCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private Model model; + + @Before + public void setUp() { + model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + } + + @Test + public void constructor_nullAppointment_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new SetAppointmentCommand(null, null); + } + + @Test + public void execute_invalidPersonToMeetIndex_failure() { + Index outOfBoundsIndex = Index.fromOneBased(model.getFilteredPersonList().size() + 1); + SetAppointmentCommand command = getSetAppointmentCommand(TYPICAL_APPOINTMENT_3, outOfBoundsIndex, model); + + try { + command.execute(); + fail("The expected CommandException was not thrown."); + } catch (CommandException ce) { + assertEquals(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX, ce.getMessage()); + } + } + + @Test + public void execute_appointmentWithoutPersonToMeetAccepted_addSuccessful() throws Exception { + CommandResult commandResult = + getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_3, null, model).execute(); + + assertEquals(String.format( + SetAppointmentCommand.MESSAGE_SUCCESS, APPOINTMENT_WITHOUT_PERSON_3), commandResult.feedbackToUser); + } + + @Test + public void execute_appointmentWithPersonToMeetAccepted_addSuccessful() throws Exception { + CommandResult commandResult = + getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_3, INDEX_THIRD, model).execute(); + + assertEquals(String.format( + SetAppointmentCommand.MESSAGE_SUCCESS, TYPICAL_APPOINTMENT_3), commandResult.feedbackToUser); + } + + @Test + public void execute_duplicateAppointmentsameIndex_throwsCommandException() throws Exception { + thrown.expect(CommandException.class); + thrown.expectMessage(SetAppointmentCommand.MESSAGE_DUPLICATE_APPOINTMENT); + + getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_1, INDEX_FIRST, model).execute(); + } + + @Test + public void equals() { + SetAppointmentCommand addAppointment1 = + new SetAppointmentCommand(TYPICAL_APPOINTMENT_1); + SetAppointmentCommand addAppointment2 = + new SetAppointmentCommand(TYPICAL_APPOINTMENT_2); + + // same object -> returns true + assertTrue(addAppointment1.equals(addAppointment1)); + + // same values -> returns true + SetAppointmentCommand addAppointment1Copy = + new SetAppointmentCommand(TYPICAL_APPOINTMENT_1); + assertTrue(addAppointment1.equals(addAppointment1Copy)); + + // different types -> returns false + assertFalse(addAppointment1.equals(1)); + + // null -> returns false + assertFalse(addAppointment1.equals(null)); + + // different appointments -> returns false + assertFalse(addAppointment1.equals(addAppointment2)); + } + + /** + * Generates a new SetAppointmentCommand with the details of the given appointment. + */ + private SetAppointmentCommand getSetAppointmentCommand(Appointment baseAppointment, Index index, Model model) { + SetAppointmentCommand command = new SetAppointmentCommand(baseAppointment, index); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } + +} +``` +###### /java/seedu/address/logic/commands/ChangeThemeCommandTest.java +``` java +public class ChangeThemeCommandTest { + @Rule + public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); + + @Test + public void execute_help_success() throws CommandException { + String theme = "dark"; + CommandResult result = new ChangeThemeCommand(theme).execute(); + assertEquals(MESSAGE_CHANGE_THEME_SUCCESS, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ThemeChangeEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); + } +} +``` +###### /java/seedu/address/storage/XmlAdaptedTaskTest.java +``` java +public class XmlAdaptedTaskTest { + + private static final String INVALID_TITLE = " "; + private static final String INVALID_TIME = "not a time stamp"; + + @Test + public void toModelType_validTaskDetails_returnsPerson() throws Exception { + XmlAdaptedTask task = new XmlAdaptedTask(TYPICAL_TASK_1); + assertEquals(TYPICAL_TASK_1, task.toModelType()); + } + + @Test + public void toModelType_invalidTitle_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(INVALID_TITLE, VALID_END_TIME); + String expectedMessage = Title.MESSAGE_TITLE_CONSTRAINTS; + Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); + } + + @Test + public void toModelType_invalidTime_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(VALID_TITLE, INVALID_TIME); + String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; + Assert.assertThrows(IllegalArgumentException.class, expectedMessage, task::toModelType); + } + + @Test + public void toModelType_nullTitle_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(null, VALID_END_TIME); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName()); + Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); + } + + @Test + public void toModelType_nullTime_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(VALID_TITLE, null); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time"); + Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); + } + + @Test + public void equals() { + XmlAdaptedTask task = new XmlAdaptedTask(TYPICAL_TASK_1); + + //same object + assertTrue(task.equals(task)); + + //same value + XmlAdaptedTask taskCopy = new XmlAdaptedTask(TYPICAL_TASK_1); + assertTrue(task.equals(taskCopy)); + + //different type + assertFalse(task.equals(TYPICAL_TASK_1)); + + //different obj + XmlAdaptedTask anotherTask = new XmlAdaptedTask(TYPICAL_TASK_2); + assertFalse(task.equals(anotherTask)); + } +} +``` +###### /java/seedu/address/storage/XmlAdaptedAppointmentTest.java +``` java +public class XmlAdaptedAppointmentTest { + + private static final String INVALID_TITLE = " "; + private static final String VALID_PERSON_TO_MEET = "Alice Email: alice@gmail.com"; + private static final String INVALID_TIME = "not a time stamp"; + + @Test + public void toModelType_validAppointmentDetails_returnsPerson() throws Exception { + XmlAdaptedAppointment appointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); + assertEquals(TYPICAL_APPOINTMENT_1, appointment.toModelType()); + } + + @Test + public void toModelType_invalidTitle_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(INVALID_TITLE, VALID_START_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = Title.MESSAGE_TITLE_CONSTRAINTS; + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_invalidStartTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, INVALID_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; + Assert.assertThrows(IllegalArgumentException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_invalidStartEndTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, VALID_START_TIME, INVALID_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; + Assert.assertThrows(IllegalArgumentException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_nullTitle_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(null, VALID_START_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName()); + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_nullStartTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, null, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Start Time"); + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_nullEndTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, VALID_START_TIME, null, VALID_PERSON_TO_MEET); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "End Time"); + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_invalidTimePeriod_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, "20/10/2018 10:00", "20/10/2018 09:00"); + String expectedMessage = Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS; + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void equals() { + XmlAdaptedAppointment appointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); + + //same object + assertTrue(appointment.equals(appointment)); + + //same value + XmlAdaptedAppointment appointmentCopy = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); + assertTrue(appointment.equals(appointmentCopy)); + + //different type + assertFalse(appointment.equals(TYPICAL_APPOINTMENT_1)); + + //different obj + XmlAdaptedAppointment anotherAppointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_2); + assertFalse(appointment.equals(anotherAppointment)); + } +} +``` +###### /java/seedu/address/model/event/AppointmentTest.java +``` java +public class AppointmentTest { + private static final Title VALID_TITLE = new Title("Meet Student"); + private static final EventTime VALID_START_TIME = new EventTime("05/04/2018 10:00"); + private static final EventTime VALID_END_TIME = new EventTime("05/04/2018 11:00"); + private static final EventTime INVALID_END_TIME = new EventTime("05/04/2018 09:00"); + + @Test + public void constructor_invalidAppointmentTime_throwsIllegalArgumentException() { + Assert.assertThrows(IllegalArgumentException.class, () -> + new Appointment(VALID_TITLE, VALID_START_TIME, INVALID_END_TIME)); + } + + @Test + public void isValidTime() { + // invalid time stamps + assertFalse(Appointment.isValidTime(VALID_START_TIME, INVALID_END_TIME)); //End time is before Start Time + + // valid time stamps + assertTrue(Appointment.isValidTime(VALID_START_TIME, VALID_END_TIME)); + } +} +``` +###### /java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java +``` java +/** + * A Model stub that always throw a DuplicateEventException when trying to add an appointment/task. + */ +public class ModelStubThrowingDuplicateEventException extends ModelStub { + @Override + public void addAppointment (Appointment appointment) throws DuplicateEventException { + throw new DuplicateEventException(); + } + + @Override + public void addTask (Task task) throws DuplicateEventException { + throw new DuplicateEventException(); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } +} +``` +###### /java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java +``` java +/** + * A Model stub that always accept the task being added. + */ +public class ModelStubAcceptingTaskAdded extends ModelStub { + public final ArrayList<Task> tasksAdded = new ArrayList<>(); + + @Override + public void addTask(Task event) throws DuplicateEventException { + requireNonNull(event); + tasksAdded.add(event); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } +} +``` +###### /java/seedu/address/testutil/AppointmentBuilder.java +``` java +/** + * A utility class to help with building Appointment objects. + */ +public class AppointmentBuilder { + private Title title; + private EventTime time; + private EventTime endTime; + private PersonToMeet personToMeet; + + public AppointmentBuilder(String title, String time, String endTime) { + this(title, time, endTime, (String) null); + } + + public AppointmentBuilder(String title, String time, String endTime, Person personToMeet) { + this(title, time, endTime, personToMeet.getName() + EMAIL_SPLITTER + personToMeet.getEmail()); + } + + public AppointmentBuilder(String title, String time, String endTime, String personToMeet) { + this.title = new Title(title); + this.time = new EventTime(time); + this.endTime = new EventTime(endTime); + if (personToMeet != null) { + String[] components = personToMeet.split(EMAIL_SPLITTER); + this.personToMeet = new PersonToMeet(components[0], components[1]); + } + } + + /** + * @return an {@code Appointment} from the data feed to constructor + */ + public Appointment build() { + return new Appointment(title, time, endTime, personToMeet); + } +} +``` +###### /java/seedu/address/testutil/TypicalEvents.java +``` java +/** + * A utility class containing a list of event objects to be used in tests. + */ +public class TypicalEvents { + public static final Appointment TYPICAL_APPOINTMENT_1 = + new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build(); + public static final Appointment TYPICAL_APPOINTMENT_2 = + new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); + public static final Appointment TYPICAL_APPOINTMENT_3 = + new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00", CARL).build(); + public static final Appointment APPOINTMENT_WITHOUT_PERSON_1 = + new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00").build(); + public static final Appointment APPOINTMENT_WITHOUT_PERSON_2 = + new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); + public static final Appointment APPOINTMENT_WITHOUT_PERSON_3 = + new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00").build(); + + + public static final Task TYPICAL_TASK_1 = + new Task(new Title("To do"), new EventTime("10/10/2018 10:00")); + public static final Task TYPICAL_TASK_2 = + new Task(new Title("Mark papers"), new EventTime("15/04/2018 23:00")); + public static final Task TYPICAL_TASK_3 = + new Task(new Title("Purchase markers"), new EventTime("19/04/2018 10:00")); + public static final Task TYPICAL_TASK_EXPIRED = + new Task(new Title("Expired task"), new EventTime("19/04/2013 10:00")); + + public static List<Appointment> getTypicalAppointments() { + return new ArrayList<>(Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2)); + } + public static List<Task> getTypicalTasks() { + return new ArrayList<>(Arrays.asList(TYPICAL_TASK_1, TYPICAL_TASK_2)); + } +} +``` diff --git a/collated/test/shanmu9898.md b/collated/test/shanmu9898.md new file mode 100644 index 000000000000..834409284f75 --- /dev/null +++ b/collated/test/shanmu9898.md @@ -0,0 +1,1226 @@ +# shanmu9898 +###### /java/seedu/address/ui/ShortcutCardTest.java +``` java +//package seedu.address.ui; +// +//import static org.junit.Assert.assertFalse; +//import static org.junit.Assert.assertTrue; +//import static seedu.address.testutil.TypicalShortcuts.SHORTCUT_DOUBLES_3; +//import static seedu.address.testutil.TypicalShortcuts.SHORTCUT_DOUBLES_5; +// +//import org.junit.Test; +// +//import seedu.address.model.shortcuts.ShortcutDoubles; +// +//public class ShortcutCardTest { +// +// +// @Test +// public void equals() { +// ShortcutDoubles shortcutDoubles = SHORTCUT_DOUBLES_5; +// //ShortcutCard shortcutCard = new ShortcutCard(shortcutDoubles, 0); +// +// // same shortcut, same index -> returns true +// ShortcutCard copy = new ShortcutCard(shortcutDoubles, 0); +// assertTrue(shortcutCard.equals(copy)); +// +// // same object -> returns true +// assertTrue(shortcutCard.equals(shortcutCard)); +// +// // null -> returns false +// assertFalse(shortcutCard.equals(null)); +// +// // different types -> returns false +// assertFalse(shortcutCard.equals(0)); +// +// // different shortcut, same index -> returns false +// ShortcutDoubles differentshortcut = SHORTCUT_DOUBLES_3; +// assertFalse(shortcutCard.equals(new ShortcutCard(differentshortcut, 0))); +// +// // same shortcut, different index -> returns false +// assertFalse(shortcutCard.equals(new ShortcutCard(shortcutDoubles, 1))); +// } +//} +``` +###### /java/seedu/address/logic/parser/ImportCommandParserTest.java +``` java +public class ImportCommandParserTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private ImportCommandParser importCommandParser = new ImportCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + importCommandParser.parse(null); + + } + + @Test + public void parse_emptyString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + importCommandParser.parse(" "); + + } + + @Test + public void parse_moreThanOneBlockOfString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + importCommandParser.parse("invalid two strings"); + } + + @Test + public void parse_validString_success() { + String input = "./src/test/data/XmlAddressBookStorgageTest/importsamplefile.xml"; + ImportCommand expectedCommand = new ImportCommand(input); + assertParseSuccess(importCommandParser, input, expectedCommand); + } + + + + +} +``` +###### /java/seedu/address/logic/parser/AddressBookParserTest.java +``` java + @Test + public void parseCommand_export() throws Exception { + ExportCommand command = (ExportCommand) parser.parseCommand( + ExportCommand.COMMAND_WORD + " " + PREFIX_NAME + NAME_NEEDED + " " + PREFIX_RANGE + RANGE_ALL + + " " + PREFIX_TAG_EXPORT + TAG_NEEDED + " " + PREFIX_PATH + PATH_NEEDED + " " + PREFIX_TYPE + + TYPE_NEEDED); + assertEquals (new ExportCommand ("all", new Tag ("friends"), "./data", + "name", "normal"), command); + } + + @Test + public void parseCommand_import() throws Exception { + ImportCommand command = (ImportCommand) parser.parseCommand( + ImportCommand.COMMAND_WORD + " " + + "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"); + assertEquals(new ImportCommand("src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"), + command); + } + + @Test + public void parseCommand_shortcut() throws Exception { + ShortcutCommand command = (ShortcutCommand) parser.parseCommand( + ShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); + assertEquals(new ShortcutCommand("list", "l"), command); + } + + @Test + public void parseCommand_deleteShortcut() throws Exception { + DeleteShortcutCommand command = (DeleteShortcutCommand) parser.parseCommand( + DeleteShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); + assertEquals(new DeleteShortcutCommand("list", "l"), command); + } +``` +###### /java/seedu/address/logic/parser/DeleteShortcutCommandParserTest.java +``` java +package seedu.address.logic.parser; + +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.commands.DeleteShortcutCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +public class DeleteShortcutCommandParserTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private DeleteShortcutCommandParser deleteShortcutCommandParser = new DeleteShortcutCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + deleteShortcutCommandParser.parse(null); + + } + + @Test + public void parse_emptyString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + deleteShortcutCommandParser.parse(" "); + + } + + @Test + public void parse_validString_success() { + String inputCommandWord = "list"; + String inputShortcutWord = "l"; + String input = "list l"; + DeleteShortcutCommand expectedCommand = new DeleteShortcutCommand(inputCommandWord, inputShortcutWord); + assertParseSuccess(deleteShortcutCommandParser, input, expectedCommand); + } +} +``` +###### /java/seedu/address/logic/parser/ExportCommandParserTest.java +``` java +public class ExportCommandParserTest { + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private ExportCommandParser exportCommandParser = new ExportCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + exportCommandParser.parse(null); + } + + @Test + public void parse_differentType_invalidFormatCommandResult() throws ParseException { + Tag testingTag = new Tag("shouldnotbethistag"); + String testingInput = " n/name r/all p/./data te/random"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); + assertParseFailure(exportCommandParser, testingInput, String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ExportCommand.MESSAGE_USAGE)); + + } + + @Test + public void parse_optionalFieldsMissing_success() { + Tag testingTag = new Tag("shouldnotbethistag"); + String testingInput = " n/name r/all p/./data te/normal"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); + assertParseSuccess(exportCommandParser, testingInput, expectedCommand); + } + + + + @Test + public void parse_allfieldsPresent_success() { + Tag testingTag = new Tag("friends"); + String testingInput = " n/name r/all t/friends p/./data te/normal"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); + assertParseSuccess(exportCommandParser, testingInput, expectedCommand); + } + +} +``` +###### /java/seedu/address/logic/parser/ShortcutCommandParserTest.java +``` java +package seedu.address.logic.parser; + +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.commands.ShortcutCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +public class ShortcutCommandParserTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private ShortcutCommandParser shortcutCommandParser = new ShortcutCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + shortcutCommandParser.parse(null); + + } + + @Test + public void parse_emptyString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + shortcutCommandParser.parse(" "); + + } + + @Test + public void parse_validString_success() { + String inputCommandWord = "list"; + String inputShortcutWord = "l"; + String input = "list l"; + ShortcutCommand expectedCommand = new ShortcutCommand(inputCommandWord, inputShortcutWord); + assertParseSuccess(shortcutCommandParser, input, expectedCommand); + } +} +``` +###### /java/seedu/address/logic/commands/ImportCommandTest.java +``` java +public class ImportCommandTest { + + + private static final String INVALID_FILE_LOCATION = "./data/samplefile.xml"; + private static final String VALID_FILE_LOCATION = + "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"; + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void constructor_nullString_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ImportCommand(null); + } + + @Test + public void execute_importFailure_throwsException() { + ImportCommand command = prepareCommand(INVALID_FILE_LOCATION); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandFailure(command, model, String.format(command.MESSAGE_INVALID_FILE)); + } + + @Test + public void execute_acceptedSuccess_successfulImport() { + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + + ClearCommand clearCommand = new ClearCommand(); + clearCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + clearCommand.executeUndoableCommand(); + + ImportCommand command = prepareCommand(VALID_FILE_LOCATION); + + assertCommandSuccess(command, model, String.format (command.MESSAGE_SUCCESS, "7", "0"), model); + } + + @Test + public void equals() { + final ImportCommand comparableCommand = new ImportCommand(VALID_FILE_LOCATION); + + // same values -> returns true + ImportCommand comparedToCommand = new ImportCommand(VALID_FILE_LOCATION); + assertTrue(comparableCommand.equals(comparedToCommand)); + + // same object -> returns true + assertTrue(comparableCommand.equals(comparableCommand)); + + // null -> returns false + assertFalse(comparableCommand.equals(null)); + + // different types -> returns false + assertFalse(comparableCommand.equals(new ClearCommand())); + + // different range -> returns false + assertFalse(comparableCommand.equals(new ImportCommand("./data/sampleimportfile.xml"))); + } + + + /** + * A method to prepare the Import command based on the path given + */ + private ImportCommand prepareCommand(String path) { + ImportCommand importCommand = new ImportCommand(path); + importCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + return importCommand; + } + +} +``` +###### /java/seedu/address/logic/commands/DeleteShortcutCommandTest.java +``` java +package seedu.address.logic.commands; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +public class DeleteShortcutCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private Model model; + private Model expectedModel; + private final String validtestingCommandWord = "list"; + private final String validtestingShortcutWord = "l"; + private final String invalidtestingCommandWord = "king"; + + @Before + public void setUp() { + model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + } + + @Test + public void constructor_nullCommandWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new DeleteShortcutCommand(null, validtestingShortcutWord); + } + + @Test + public void constructor_nullShortcutWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new DeleteShortcutCommand(validtestingCommandWord, null); + } + + @Test + public void executeUndoCommand_invalidCommandWord_throwsCommandException() throws CommandException { + thrown.expect(CommandException.class); + CommandResult commandResult = getDeleteShortcutForCommand(validtestingShortcutWord, + invalidtestingCommandWord, + model).executeUndoableCommand(); + } + + @Test + public void executeUndoCommand_inputNotPresent_throwsCommandException() throws CommandException { + thrown.expect(CommandException.class); + CommandResult commandResult = getDeleteShortcutForCommand(validtestingShortcutWord, + validtestingCommandWord, + model).executeUndoableCommand(); + } + + @Test + public void executeUndoCommand_validInput_commandSuccess() + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validtestingShortcutWord, validtestingCommandWord); + model.addCommandShortcut(shortcutDoubles); + assertCommandSuccess(getDeleteShortcutForCommand(validtestingShortcutWord, + validtestingCommandWord, + model), + model, + String.format(DeleteShortcutCommand + .MESSAGE_DELETE_SHORTCUT_SUCCESS), + expectedModel); + } + + @Test + public void equals() throws Exception { + DeleteShortcutCommand deleteFirstCommand = getDeleteShortcutForCommand(validtestingShortcutWord, + validtestingCommandWord, + model); + DeleteShortcutCommand deleteSecondCommand = getDeleteShortcutForCommand("c", + "clear", + model); + + // same object -> returns true + assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); + + // same values -> returns true + DeleteShortcutCommand deleteFirstCommandCopy = getDeleteShortcutForCommand("l", + "list", + model); + assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); + + // different types -> returns false + assertFalse(deleteFirstCommand.equals(1)); + + // null -> returns false + assertFalse(deleteFirstCommand.equals(null)); + + // different person -> returns false + assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); + } + + /** + * Generates a new AddCommand with the details of the given person. + */ + private DeleteShortcutCommand getDeleteShortcutForCommand(String shortcutWord, String commandWord, Model model) { + DeleteShortcutCommand command = new DeleteShortcutCommand(commandWord, shortcutWord); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } +} +``` +###### /java/seedu/address/logic/commands/ListCommandTest.java +``` java + @Test + public void execute_listShortcut_success() throws CommandException { + listCommand = new ListCommand(TYPE_SHORTCUT); + listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + CommandResult result = listCommand.execute(); + assertEquals(MESSAGE_SUCCESS + TYPE_SHORTCUT, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); + } +} +``` +###### /java/seedu/address/logic/commands/ShortcutCommandTest.java +``` java +package seedu.address.logic.commands; + +import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +public class ShortcutCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private Model model; + private Model expectedModel; + private final String validTestingCommandWord = "list"; + private final String validTestingShortcutWord = "l"; + private final String invalidTestingCommandWord = "king"; + + @Before + public void setUp() { + model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + } + + + @Test + public void constructor_nullCommandWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ShortcutCommand(null, validTestingShortcutWord); + } + + @Test + public void constructor_nullShortcutWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ShortcutCommand(validTestingCommandWord, null); + } + + @Test + public void executeUndoCommand_invalidCommandWord_throwsCommandException() throws CommandException { + thrown.expect(CommandException.class); + thrown.expectMessage(ShortcutCommand.MESSAGE_NO_COMMAND_TO_MAP); + + CommandResult commandResult = getAddShortcutForCommand(validTestingShortcutWord, + invalidTestingCommandWord, + model).executeUndoableCommand(); + } + + @Test + public void executeUndoCommand_shortcutWordPresent_throwsCommandException() + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException, CommandException { + ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validTestingShortcutWord, validTestingCommandWord); + model.addCommandShortcut(shortcutDoubles); + CommandResult commandResult = getAddShortcutForCommand(validTestingShortcutWord, + validTestingCommandWord, + model).executeUndoableCommand(); + assertEquals(commandResult.feedbackToUser, String.format(ShortcutCommand.MESSAGE_SHORTCUT_AVAILABLE)); + } + + @Test + public void executeUndoCommand_validInput_commandSuccess() + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validTestingShortcutWord, validTestingCommandWord); + expectedModel.addCommandShortcut(shortcutDoubles); + assertCommandSuccess(getAddShortcutForCommand(validTestingShortcutWord, + validTestingCommandWord, + model), model, + String.format(ShortcutCommand.MESSAGE_SUCCESS), expectedModel); + } + + /** + * Generates a new AddCommand with the details of the given person. + */ + private ShortcutCommand getAddShortcutForCommand(String shortcutWord, String commandWord, Model model) { + ShortcutCommand command = new ShortcutCommand(commandWord, shortcutWord); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } + + @Test + public void equals() throws Exception { + ShortcutCommand deleteFirstCommand = getAddShortcutForCommand(validTestingShortcutWord, + validTestingCommandWord, + model); + ShortcutCommand deleteSecondCommand = getAddShortcutForCommand("c", + "clear", + model); + + // same object -> returns true + assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); + + // same values -> returns true + ShortcutCommand deleteFirstCommandCopy = getAddShortcutForCommand("l", + "list", + model); + assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); + + // different types -> returns false + assertFalse(deleteFirstCommand.equals(1)); + + // null -> returns false + assertFalse(deleteFirstCommand.equals(null)); + + // different person -> returns false + assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); + } + +} +``` +###### /java/seedu/address/logic/commands/ExportCommandTest.java +``` java +public class ExportCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private final Tag testingTag = new Tag("testingTag"); + private final String testingPath = "./test/data/XmlAddressBookStorageTest"; + private final String name = "testingName"; + private final String testingRange = "1,5"; + private final String fileTypeNormal = "normal"; + private final String fileTypeExcel = "excel"; + + + @Test + public void constructor_nullRange_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(null, testingTag, testingPath, name, fileTypeExcel); + } + + @Test + public void constructor_nullPath_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(testingRange, testingTag, null, name, fileTypeNormal); + } + + @Test + public void constructor_nullName_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(testingRange, testingTag, testingPath, null, fileTypeNormal); + } + + @Test + public void constructor_nullType_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(testingRange, testingTag, testingPath, name, null); + } + + @Test + public void execute_multipleRange_showsMessageError() { + String testingMultiRange = "1,2,3"; + ExportCommand exportCommand = new ExportCommand(testingMultiRange, testingTag, testingPath, + name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); + + } + + @Test + public void execute_outOfRange_showsMessageError() { + String testingOutOfRange = "0,10000000"; + ExportCommand exportCommand = new ExportCommand(testingOutOfRange, testingTag, testingPath, + name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_OUT_OF_BOUNDS), model); + + } + + @Test + public void execute_successfulExport_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand(testingRange, testingTag, testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_successfulExportWithAllRange_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("all", testingTag, testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_successfulExportWithSingleRange_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("2", testingTag, testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_successfulExportWithExcel_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("1,6", testingTag, testingPath, name, fileTypeExcel); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_rangeNotCorrect_showsMessageError() { + ExportCommand exportCommand = new ExportCommand("2,1", testingTag, testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); + } + + @Test + public void execute_whenTagIsSupposedlyNotGiven_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("all", new Tag("shouldnotbethistag"), + testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_whenTagIsSupposedlyNotGivnAndRangeError_showsMessageError() { + ExportCommand exportCommand = new ExportCommand("2,1", new Tag("shouldnotbethistag"), + testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); + } + + @Test + public void execute_whenTagIsSupposedlyNotGivenAndRangeGiven_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand(testingRange, new Tag("shouldnotbethistag"), + testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + + + @Test + public void execute_whenRangeIsSelectiveAndOutOfRange_showsMessageError() { + ExportCommand exportCommand = new ExportCommand("10000000", new Tag("shouldnotbethistag"), + testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_OUT_OF_BOUNDS), model); + } + + + + @Test + public void equals() { + final ExportCommand comparableCommand = new ExportCommand(testingRange, testingTag, testingPath, + name, fileTypeNormal); + + // same values -> returns true + ExportCommand comparedToCommand = new ExportCommand(testingRange, testingTag, testingPath, + name, fileTypeNormal); + assertTrue(comparableCommand.equals(comparedToCommand)); + + // same object -> returns true + assertTrue(comparableCommand.equals(comparableCommand)); + + // null -> returns false + assertFalse(comparableCommand.equals(null)); + + // different types -> returns false + assertFalse(comparableCommand.equals(new ClearCommand())); + + // different range -> returns false + assertFalse(comparableCommand.equals(new ExportCommand("1,2", testingTag, testingPath, name, + fileTypeNormal))); + } + + + +} +``` +###### /java/seedu/address/model/shortcut/ShortcutDoubleTest.java +``` java +package seedu.address.model.shortcut; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.model.shortcuts.ShortcutDoubles; + +public class ShortcutDoubleTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void constructor_nullCommandWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ShortcutDoubles("l", null); + } + + @Test + public void constructor_nullShortcutWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ShortcutDoubles(null , "list"); + } + + @Test + public void equals() throws Exception { + ShortcutDoubles deleteFirstCommand = new ShortcutDoubles("l", "list"); + ShortcutDoubles deleteSecondCommand = new ShortcutDoubles("c", "clear"); + + // same object -> returns true + assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); + + // same values -> returns true + ShortcutDoubles deleteFirstCommandCopy = new ShortcutDoubles("l", "list"); + assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); + + // different types -> returns false + assertFalse(deleteFirstCommand.equals(1)); + + // null -> returns false + assertFalse(deleteFirstCommand.equals(null)); + + // different person -> returns false + assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); + } +} +``` +###### /java/seedu/address/model/UniqueShortcutDoublesListTest.java +``` java +package seedu.address.model; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +public class UniqueShortcutDoublesListTest { + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void asObservableList_modifyList_throwsUnsupportedOperationException() { + UniqueShortcutDoublesList uniqueShortcutDoublesList = new UniqueShortcutDoublesList(); + thrown.expect(UnsupportedOperationException.class); + uniqueShortcutDoublesList.asObservableList().remove(0); + } +} +``` +###### /java/seedu/address/model/AddressBookTest.java +``` java + @Test + public void getShortcutList_modifyList_throwsUnsupportedOperationException() { + thrown.expect(UnsupportedOperationException.class); + addressBook.getCommandsList().remove(0); + } +``` +###### /java/seedu/address/model/AddressBookTest.java +``` java + + /** + * A stub ReadOnlyAddressBook whose persons, tags and events lists can violate interface constraints. + */ + private static class AddressBookStub implements ReadOnlyAddressBook { + private final ObservableList<Person> persons = FXCollections.observableArrayList(); + private final ObservableList<Student> students = FXCollections.observableArrayList(); + private final ObservableList<Person> contacts = FXCollections.observableArrayList(); + private final ObservableList<Tag> tags = FXCollections.observableArrayList(); + private final ObservableList<Appointment> appointments = FXCollections.observableArrayList(); + private final ObservableList<Task> tasks = FXCollections.observableArrayList(); + private final ObservableList<ShortcutDoubles> commandslist = FXCollections.observableArrayList(); + + AddressBookStub(Collection<Person> persons, Collection<Student> students, + Collection<? extends Tag> tags, Collection<Appointment> appointments, + Collection<Task> tasks, Collection<ShortcutDoubles> commands) { + this.persons.setAll(persons); + this.students.setAll(students); + this.contacts.setAll(persons); + this.contacts.addAll(students); + this.tags.setAll(tags); + this.tasks.setAll(tasks); + this.appointments.setAll(appointments); + this.commandslist.setAll(commands); + } + + @Override + public ObservableList<Person> getPersonList() { + return persons; + } + + @Override + public ObservableList<Student> getStudentList() { + return students; + } + + @Override + public ObservableList<Person> getContactList() { + return contacts; + } + + @Override + public ObservableList<Tag> getTagList() { + return tags; + } + + @Override + public ObservableList<Appointment> getAppointmentList() { + return appointments; + } + + @Override + public ObservableList<Task> getTaskList() { + return tasks; + } + + @Override + public ObservableList<ShortcutDoubles> getCommandsList() { + return commandslist; + } + } + + @Test + public void updatePerson_modifiedAddressBooks_noError() throws PersonNotFoundException, DuplicatePersonException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).build(); + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(AMY).build(); + + testAddressBook.updatePerson(BOB, AMY); + + assertEquals(testAddressBook, expectedAddressBook); + } + +``` +###### /java/seedu/address/model/AddressBookTest.java +``` java + @Test + public void removeTag_tagNotPresent_addressBookUnchanged() throws PersonNotFoundException, + DuplicatePersonException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); + + testAddressBook.removeTag(new Tag(VALID_TAG_NOTUSED)); + + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); + + assertEquals(expectedAddressBook, testAddressBook); + } + + @Test + public void removeTag_tagUsedByMultiplePeople_tagRemoved() throws PersonNotFoundException, + DuplicatePersonException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); + testAddressBook.removeTag(new Tag(VALID_TAG_FRIEND)); + + Person amyWithoutFriendTag = new PersonBuilder(AMY).withTags().build(); + Person bobWithoutFriendTag = new PersonBuilder(BOB).withTags(VALID_TAG_HUSBAND).build(); + + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(bobWithoutFriendTag) + .withPerson(amyWithoutFriendTag).build(); + + assertEquals(expectedAddressBook, testAddressBook); + } +``` +###### /java/seedu/address/model/ModelManagerTest.java +``` java + @Test + public void getFilteredCommandList_modifyList_throwsUnsupportedOperationException() { + ModelManager modelManager = new ModelManager(); + thrown.expect(UnsupportedOperationException.class); + modelManager.getFilteredCommandsList().remove(0); + } +``` +###### /java/seedu/address/model/ModelManagerTest.java +``` java + @Test + public void addShortcut_addShortcutToAddressBook_evokeAddressBookChangedEvent() + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + ModelManager model = new ModelManager(addressBook, userPrefs); + modelManager.addCommandShortcut(SHORTCUT_DOUBLES_1); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); + } +``` +###### /java/seedu/address/model/ModelManagerTest.java +``` java + + @Test + public void equals() { + AddressBook differentAddressBook = new AddressBook(); + + // same values -> returns true + ModelManager modelManagerCopy = new ModelManager(addressBook, userPrefs); + assertTrue(modelManager.equals(modelManagerCopy)); + + // same object -> returns true + assertTrue(modelManager.equals(modelManager)); + + // null -> returns false + assertFalse(modelManager.equals(null)); + + // different types -> returns false + assertFalse(modelManager.equals(5)); + + // different addressBook -> returns false + assertFalse(modelManager.equals(new ModelManager(differentAddressBook, userPrefs))); + + // different filteredList -> returns false + String[] keywords = ALICE.getName().fullName.split("\\s+"); + modelManager.updateFilteredPersonList(new NameContainsKeywordsPredicate(Arrays.asList(keywords))); + assertFalse(modelManager.equals(new ModelManager(addressBook, userPrefs))); + + // resets modelManager to initial state for upcoming tests + modelManager.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + + // different userPrefs -> returns true + UserPrefs differentUserPrefs = new UserPrefs(); + differentUserPrefs.setAddressBookName("differentName"); + assertTrue(modelManager.equals(new ModelManager(addressBook, differentUserPrefs))); + } +``` +###### /java/seedu/address/model/ModelManagerTest.java +``` java + @Test + public void deleteTag_tagNotPresent_modelUnchanged() throws DuplicatePersonException, PersonNotFoundException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(AMY).withPerson(BOB).build(); + UserPrefs userPrefs = new UserPrefs(); + ModelManager modelManager = new ModelManager(testAddressBook, userPrefs); + modelManager.deleteTag(new Tag(VALID_TAG_NOTUSED)); + + assertEquals(new ModelManager(testAddressBook, userPrefs), modelManager); + } + + + @Test + public void deleteTag_tagUsedByMultiplePeople_tagRemoved() throws DuplicatePersonException, + PersonNotFoundException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(AMY).withPerson(BOB).build(); + ModelManager modelManager = new ModelManager(testAddressBook, userPrefs); + modelManager.deleteTag(new Tag(VALID_TAG_FRIEND)); + + Person amyWithoutFriendTag = new PersonBuilder(AMY).withTags().build(); + Person bobWithoutFriendTag = new PersonBuilder(BOB).withTags(VALID_TAG_HUSBAND).build(); + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(amyWithoutFriendTag) + .withPerson(bobWithoutFriendTag).build(); + + assertEquals(new ModelManager(expectedAddressBook, userPrefs), modelManager); + } +``` +###### /java/seedu/address/testutil/ExportCommandHelper.java +``` java +/** + * A utility class containing a list of {@code Index} objects to be used in tests. + */ +public class ExportCommandHelper { + public static final String RANGE_ALL = "all"; + public static final String TAG_NEEDED = "friends"; + public static final String PATH_NEEDED = "./data"; + public static final String NAME_NEEDED = "name"; + public static final String TYPE_NEEDED = "normal"; + + +} +``` +###### /java/seedu/address/testutil/TypicalImportedPersons.java +``` java +package seedu.address.testutil; + +import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_STUDENT; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import seedu.address.model.AddressBook; +import seedu.address.model.person.Person; +import seedu.address.model.person.Student; +import seedu.address.model.person.exceptions.DuplicatePersonException; + +``` +###### /java/seedu/address/testutil/TypicalImportedPersons.java +``` java +/** + * Special Util class to get people for ImportCommandTest class. + */ +public class TypicalImportedPersons { + public static final Person FLICE = new PersonBuilder().withName("Alice Pauline") + .withAddress("123, Jurong West Ave 6, #08-111").withEmail("alice@example.com") + .withPhone("85355255") + .withTags("friends").build(); + public static final Person FENSON = new PersonBuilder().withName("Benson Meier") + .withAddress("311, Clementi Ave 2, #02-25") + .withEmail("johnd@example.com").withPhone("98765432") + .withTags("owesMoney", "friends").build(); + public static final Person FARL = new PersonBuilder().withName("Carl Kurz").withPhone("95352563") + .withEmail("heinz@example.com").withAddress("wall street").build(); + public static final Person FANIEL = new PersonBuilder().withName("Daniel Meier").withPhone("87652533") + .withEmail("cornelia@example.com").withAddress("10th street").build(); + public static final Person FLLE = new PersonBuilder().withName("Elle Meyer").withPhone("9482224") + .withEmail("werner@example.com").withAddress("michegan ave").build(); + public static final Person GIONA = new PersonBuilder().withName("Fiona Kunz").withPhone("9482427") + .withEmail("lydia@example.com").withAddress("little tokyo").build(); + public static final Student FEORGE = new StudentBuilder().withName("George Best").withPhone("9482442") + .withEmail("anna@example.com").withAddress("4th street").build(); + public static final Student FVAN = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") + .withEmail("wolf@example.com").withAddress("Centre Street").build(); + public static final Student FOHN = new StudentBuilder().withName("John Blake").withPhone("9575232") + .withEmail("star@example.com").withAddress("Hollywood").build(); + + // Manually added + public static final Person FOON = new PersonBuilder().withName("Hoon Meier").withPhone("8482424") + .withEmail("stefan@example.com").withAddress("little india").build(); + public static final Person FDA = new PersonBuilder().withName("Ida Mueller").withPhone("8482131") + .withEmail("hans@example.com").withAddress("chicago ave").build(); + + public static final Student FTUDENT_HOON = new StudentBuilder().withName("Hoon Meier").withPhone("8482424") + .withEmail("stefan@example.com").withAddress("little india").build(); + public static final Student FTUDENT_IDA = new StudentBuilder().withName("Ida Mueller").withPhone("8482131") + .withEmail("hans@example.com").withAddress("chicago ave").build(); + + // Manually added - Person's details found in {@code CommandTestUtil} + public static final Person FMY = new PersonBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) + .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_FRIEND).build(); + public static final Person FOB = new PersonBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) + .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_HUSBAND, VALID_TAG_FRIEND) + .build(); + + public static final Student FTUDENT_AMY = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) + .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); + public static final Student FTUDENT_BOB = new StudentBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) + .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_STUDENT) + .build(); + + public static final String KEYWORD_MATCHING_MEIER = "Meier"; // A keyword that matches MEIER + + private TypicalImportedPersons() {} // prevents instantiation + + /** + * Returns an {@code AddressBook} with all the typical persons. + */ + public static AddressBook getImportedAddressBook() { + AddressBook ab = new AddressBook(); + for (Person person : getImportedPersons()) { + try { + ab.addPerson(person); + } catch (DuplicatePersonException e) { + throw new AssertionError("not possible"); + } + } + return ab; + } + + public static List<Person> getImportedPersons() { + return new ArrayList<>(Arrays.asList(FLICE, FENSON, FARL, FANIEL, FLLE, GIONA, FEORGE)); + } +} +``` +###### /java/seedu/address/testutil/TypicalShortcuts.java +``` java +package seedu.address.testutil; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * Few Typical Shortcuts + */ +public class TypicalShortcuts { + public static final ShortcutDoubles SHORTCUT_DOUBLES_1 = + new ShortcutCommandBuilder("l", "list").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_2 = + new ShortcutCommandBuilder("c", "clear").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_3 = + new ShortcutCommandBuilder("ll", "list").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_4 = + new ShortcutCommandBuilder("cc", "clear").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_5 = + new ShortcutCommandBuilder("a", "add").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_6 = + new ShortcutCommandBuilder("aa", "add").build(); + + public static List<ShortcutDoubles> getTypicalShortcuts() { + return new ArrayList<>(Arrays.asList(SHORTCUT_DOUBLES_1, SHORTCUT_DOUBLES_2)); + } + +} +``` +###### /java/seedu/address/testutil/ShortcutCommandBuilder.java +``` java +package seedu.address.testutil; + +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * A utility class to help with building Shortcut objects. + */ +public class ShortcutCommandBuilder { + + private String shortcutWord; + private String commandWord; + + public ShortcutCommandBuilder(String shortcutWord, String commandWord) { + this.commandWord = commandWord; + this.shortcutWord = shortcutWord; + } + + + /** + * @return an {@code Appointment} from the data feed to constructor + */ + public ShortcutDoubles build() { + return new ShortcutDoubles(shortcutWord, commandWord); + } +} +``` +###### /java/seedu/address/testutil/modelstub/ModelStub.java +``` java + @Override + public void addCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + fail("This method should not be called."); + } + + @Override + public void deleteCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { + fail("This method should not be called"); + } +``` diff --git a/src/main/java/seedu/address/ui/TaskListPanel.java b/src/main/java/seedu/address/ui/TaskListPanel.java index b7d6d48d0109..f6f1b33b8cd0 100644 --- a/src/main/java/seedu/address/ui/TaskListPanel.java +++ b/src/main/java/seedu/address/ui/TaskListPanel.java @@ -13,7 +13,7 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.model.event.Task; -//@@author Sisyphus24 +//@@author Sisyphus25 /** * Panel containing the list of tasks. */ From d7656c6aab79f49a01d1766e364b872897dbc126 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 4 Apr 2018 11:34:47 +0800 Subject: [PATCH 263/288] removed collated code --- collated/functional/Sisyphus25-reused.md | 1411 ---------------------- collated/functional/Sisyphus25.md | 1219 ------------------- collated/functional/randypx.md | 120 -- collated/test/Sisyphus25-reused.md | 86 -- collated/test/Sisyphus25.md | 946 --------------- 5 files changed, 3782 deletions(-) delete mode 100644 collated/functional/Sisyphus25-reused.md delete mode 100644 collated/functional/Sisyphus25.md delete mode 100644 collated/functional/randypx.md delete mode 100644 collated/test/Sisyphus25-reused.md delete mode 100644 collated/test/Sisyphus25.md diff --git a/collated/functional/Sisyphus25-reused.md b/collated/functional/Sisyphus25-reused.md deleted file mode 100644 index d4610b4d870b..000000000000 --- a/collated/functional/Sisyphus25-reused.md +++ /dev/null @@ -1,1411 +0,0 @@ -# Sisyphus25-reused -###### \java\seedu\address\model\tag\Tag.java -``` java - //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - private static final String[] TAG_COLOR_STYLES = {"teal", "red", "yellow", "blue", "orange", "brown", - "green", "pink", "black", "grey"}; -``` -###### \java\seedu\address\model\tag\Tag.java -``` java - //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - /** - * Returns a color style for {@code tagName} - */ - private String getTagColorStyle(String tagName) { - // we use the hash code of the tag name to generate a random color, so that the color remain consistent - // between different runs of the program while still making it random enough between tags. - return TAG_COLOR_STYLES[Math.abs(tagName.hashCode()) % TAG_COLOR_STYLES.length]; - } - - -} -``` -###### \java\seedu\address\ui\AppointmentListPanel.java -``` java -//Reuse from PersonListPanel class with modification -/** - * Panel containing the list of appointments. - */ -public class AppointmentListPanel extends UiPart<Region> { - private static final String FXML = "AppointmentListPanel.fxml"; - private final Logger logger = LogsCenter.getLogger(AppointmentListPanel.class); - - @FXML - private ListView<AppointmentCard> appointmentListView; - - public AppointmentListPanel(ObservableList<Appointment> appointmentList) { - super(FXML); - setConnections(appointmentList); - registerAsAnEventHandler(this); - } - - private void setConnections(ObservableList<Appointment> appointmentList) { - ObservableList<AppointmentCard> mappedList = EasyBind.map(appointmentList, (appointment) -> - new AppointmentCard(appointment, appointmentList.indexOf(appointment) + 1)); - appointmentListView.setItems(mappedList); - appointmentListView.setCellFactory(listView -> new AppointmentListViewCell()); - } - - /** - * Custom {@code ListCell} that displays the graphics of a {@code AppointmentCard}. - */ - class AppointmentListViewCell extends ListCell<AppointmentCard> { - - @Override - protected void updateItem(AppointmentCard appointment, boolean empty) { - super.updateItem(appointment, empty); - - if (empty || appointment == null) { - setGraphic(null); - setText(null); - } else { - setGraphic(appointment.getRoot()); - } - } - } - -} -``` -###### \java\seedu\address\ui\CalendarPanel.java -``` java - //Reused from https://github.com/CS2103AUG2017-T17-B2/main with modifications - private void setTime() { - calendarView.setToday(LocalDate.now()); - calendarView.setTime(LocalTime.now()); - } - - @Subscribe - private void handleToggleCalendarViewEvent(ToggleCalendarViewEvent event) { - Character c = event.viewMode; - Platform.runLater(() -> toggleView(c)); - } - - public CalendarView getRoot() { - return this.calendarView; - } - - /** - * Remove clutter from interface - */ - private void disableViews() { - calendarView.setShowAddCalendarButton(false); - calendarView.setShowSearchField(false); - calendarView.setShowSearchResultsTray(false); - calendarView.setShowPrintButton(false); - calendarView.setShowPageSwitcher(false); - calendarView.setShowSourceTrayButton(false); - calendarView.setShowPageToolBarControls(false); - calendarView.setShowToolBar(false); - calendarView.setShowSourceTray(false); - - calendarView.showDayPage(); - } - - /** - * Changes calendar view accordingly - */ - private void toggleView(Character c) { - switch(c) { - case ('d'): - calendarView.showDayPage(); - return; - case ('w'): - calendarView.showWeekPage(); - return; - case ('m'): - calendarView.showMonthPage(); - return; - default: - //should not reach here - assert (false); - } - } -``` -###### \java\seedu\address\ui\PersonCard.java -``` java - //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - /** - * Returns the color style for {@code tagName}'s label. - */ - private void initTags(Person person) { - person.getTags().forEach(tag -> { - Label tagLabel = new Label(tag.tagName); - tagLabel.getStyleClass().add(tag.tagColorStyle); - tags.getChildren().add(tagLabel); - }); - } - -``` -###### \java\seedu\address\ui\TaskListPanel.java -``` java -//Reuse from PersonListPanel class with modification -/** - * Panel containing the list of tasks. - */ -public class TaskListPanel extends UiPart<Region> { - private static final String FXML = "TaskListPanel.fxml"; - private final Logger logger = LogsCenter.getLogger(TaskListPanel.class); - - @FXML - private ListView<TaskCard> taskListView; - - public TaskListPanel(ObservableList<Task> taskList) { - super(FXML); - setConnections(taskList); - registerAsAnEventHandler(this); - } - - private void setConnections(ObservableList<Task> taskList) { - ObservableList<TaskCard> mappedList = EasyBind.map(taskList, (task) -> - new TaskCard(task, taskList.indexOf(task) + 1)); - taskListView.setItems(mappedList); - taskListView.setCellFactory(listView -> new TaskListViewCell()); - } - - /** - * Custom {@code ListCell} that displays the graphics of a {@code TaskCard}. - */ - class TaskListViewCell extends ListCell<TaskCard> { - - @Override - protected void updateItem(TaskCard task, boolean empty) { - super.updateItem(task, empty); - - if (empty || task == null) { - setGraphic(null); - setText(null); - } else { - setGraphic(task.getRoot()); - } - } - } - -} -``` -###### \resources\view\DogeTheme.css -``` css -Reused from DarkTheme.css with modifications */ - -.root { - -fx-background-image: url("../images/doge.jpg"); - -fx-background-repeat: repeat; - -fx-background-position: center center; - -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); -} - -.label { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: #555555; - -fx-opacity: 0.9; -} - -.app-title { - -fx-text-fill: white; - -fx-font-family: "Franklin Gothic Heavy"; - -fx-font-size: 40px; -} - -.app-title .text { - -fx-stroke: black; - -fx-stroke-width: 1px; -} - -.label-bright { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.label-header { - -fx-font-size: 32pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.text-field { - -fx-font-size: 12pt; - -fx-font-family: "Segoe UI Semibold"; -} - -.tab-pane { - -fx-padding: 0 0 0 1; -} - -.tab-pane .tab-header-area { - -fx-padding: 0 0 0 0; - -fx-min-height: 0; - -fx-max-height: 0; -} - -.table-view { - -fx-base: #1d1d1d; - -fx-control-inner-background: transparent; - -fx-background-color: transparent; - -fx-table-cell-border-color: transparent; - -fx-table-header-border-color: transparent; - -fx-padding: 5; -} - -.table-view .column-header-background { - -fx-background-color: transparent; -} - -.table-view .column-header, .table-view .filler { - -fx-size: 35px; - -fx-border-width: 0 0 1 0; - -fx-background-color: transparent; - -fx-border-color: - transparent - transparent - derive(-fx-base, 80%) - transparent; - -fx-border-insets: 0 10 1 0; -} - -.table-view .column-header .label { - -fx-font-size: 20pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: black; - -fx-alignment: center-left; - -fx-opacity: 1; -} - -.table-view:focused .table-row-cell:filled:focused:selected { - -fx-background-color: -fx-focus-color; -} - -.split-pane:horizontal .split-pane-divider { - -fx-background-color: transparent; - -fx-border-color: transparent transparent transparent #635615; -} - -.split-pane { - -fx-border-radius: 1; - -fx-border-width: 1; - -fx-background-color: transparent; -} - -.list-view { - -fx-background-insets: 0; - -fx-padding: 0; - -fx-background-color: transparent; - -} - -.list-cell { - -fx-label-padding: 0 0 0 0; - -fx-graphic-text-gap : 0; - -fx-background-radius: 10 10 10 10; - -fx-border-radius: 10 10 10 10; - -fx-padding: 10px; - -fx-background-insets: 3px, 3px; - -fx-background-color: transparent -} - -.list-cell:filled:even { - -fx-background-color: #efdc7f; -} - -.list-cell:filled:odd { - -fx-background-color: #efdc7f; -} - -.list-cell:filled:selected { - -fx-background-color: #efdc7f; -} - -.list-cell:filled:selected #cardPane { - -fx-border-color: #c1b05b; - -fx-border-width: 1; - -} - -.list-cell .label { - -fx-text-fill: black; -} - -.cell_big_label { - -fx-font-family: "Segoe UI Semibold"; - -fx-font-size: 16px; - -fx-text-fill: #efdc7f; -} - -.cell_small_label { - -fx-font-family: "Segoe UI"; - -fx-font-size: 13px; - -fx-text-fill: #efdc7f; -} - -.anchor-pane { - -fx-background-color: transparent; -} - -.pane-with-border { - -fx-background-color: transparent; - -fx-border-color: derive(#efdc7f, 10%); - -fx-border-top-width: 1px; -} - -.status-bar { - -fx-background-color: transparent; - -fx-text-fill: white; -} - -.result-display { - -fx-background-color: transparent; - -fx-font-family: "Segoe UI"; - -fx-font-size: 13pt; - -fx-text-fill: black; -} - -.result-display .label { - -fx-text-fill: transparent !important; -} - -.status-bar .label { - -fx-font-family: "Segoe UI"; - -fx-text-fill: black; -} - -.status-bar-with-border { - -fx-background-color: transparent; - -fx-border-color: derive(#efdc7f, 25%); - -fx-border-width: 1px; -} - -.status-bar-with-border .label { - -fx-text-fill: black; -} - -.grid-pane { - -fx-background-color: transparent; - -fx-border-color: derive(#efdc7f, 30%); - -fx-border-width: 1px; -} - -.grid-pane .anchor-pane { - -fx-background-color: transparent; -} - -.calendar-panel .button { - -fx-text-fill: #000000; -} - -.calendar-panel { - -fx-background-color: transparent; - background-color: transparent; -} - -.context-menu { - -fx-background-color: derive(#efdc7f, 50%); -} - -.context-menu .label { - -fx-text-fill: black; -} - -.menu-bar { - -fx-background-color: transparent; -} - -.menu-bar .label { - -fx-font-size: 14pt; - -fx-font-family: "Segoe UI"; - -fx-text-fill: black; - -fx-opacity: 0.9; -} - -.menu .left-container { - -fx-background-color: black; -} - -/* - * Metro style Push Button - * Author: Pedro Duque Vieira - * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ - */ -.button { - -fx-padding: 5 22 5 22; - -fx-border-color: #e2e2e2; - -fx-border-width: 2; - -fx-background-radius: 0; - -fx-background-color: #1d1d1d; - -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; - -fx-font-size: 11pt; - -fx-text-fill: #d8d8d8; - -fx-background-insets: 0 0 0 0, 0, 1, 2; -} - -.button:hover { - -fx-background-color: #3a3a3a; -} - -.button:pressed, .button:default:hover:pressed { - -fx-background-color: white; - -fx-text-fill: #1d1d1d; -} - -.button:focused { - -fx-border-color: white, white; - -fx-border-width: 1, 1; - -fx-border-style: solid, segments(1, 1); - -fx-border-radius: 0, 0; - -fx-border-insets: 1 1 1 1, 0; -} - -.button:disabled, .button:default:disabled { - -fx-opacity: 0.4; - -fx-background-color: #1d1d1d; - -fx-text-fill: white; -} - -.button:default { - -fx-background-color: -fx-focus-color; - -fx-text-fill: #ffffff; -} - -.button:default:hover { - -fx-background-color: derive(-fx-focus-color, 30%); -} - -.dialog-pane { - -fx-background-color: transparent; -} - -.dialog-pane > *.button-bar > *.container { - -fx-background-color: #ffffff; -} - -.dialog-pane > *.label.content { - -fx-font-size: 14px; - -fx-font-weight: bold; - -fx-text-fill: black; -} - -.dialog-pane:header *.header-panel { - -fx-background-color: derive(#efdc7f, 25%); -} - -.dialog-pane:header *.header-panel *.label { - -fx-font-size: 18px; - -fx-font-style: italic; - -fx-fill: black; - -fx-text-fill: black; -} - -.scroll-bar { - -fx-background-color: derive(#efdc7f, 20%); - -fx-border-radius: 20px; - -fx-background-radius: 20px; - -} - -.scroll-bar .thumb { - -fx-background-color: derive(#635615, 20%); - -} - -.scroll-bar .increment-button, .scroll-bar .decrement-button { - -fx-background-color: transparent; - -fx-rotate: 0; - -} - -.scroll-bar .increment-arrow { - -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; - -fx-background-color: #ffffff; -} - -.scroll-bar .decrement-arrow { - -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; - -fx-background-color: #ffffff; - -fx-rotate: -180; -} - -.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { - -fx-padding: 3 3 3 3; -} - -.scroll-bar:horizontal .increment-arrow{ - -fx-rotate: -90; - -fx-padding: 3 3 3 3; -} - -.scroll-bar:horizontal .decrement-arrow { - -fx-rotate: 90; - -fx-padding: 3 3 3 3; -} - -#cardPane { - -fx-background-color: transparent; - -fx-border-width: 10pt; -} - -#commandTypeLabel { - -fx-font-size: 11px; - -fx-text-fill: #F70D1A; -} - -#commandTextField { - -fx-background-color: #efdc7f; - -fx-background-insets: 0; - -fx-border-color: #efdc7f #efdc7f black #efdc7f ; - -fx-border-insets: 0; - -fx-border-width: 1; - -fx-font-family: "Segoe UI"; - -fx-font-size: 13pt; - -fx-text-fill: black; -} - -#filterField, #personListPanel, #personWebpage { - -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); -} - -#resultDisplay { - -fx-background-color: transparent; -} - -#resultDisplay .scroll-pane .viewport{ - -fx-background-color: transparent; -} - -#resultDisplay .content { - -fx-background-color: #efdc7f; - -fx-background-radius: 0; -} -``` -###### \resources\view\GalaxyTheme.css -``` css -reused from DarkTheme.css with modifications */ - -.root { - -fx-background-image: url("../images/galaxy.jpg"); - -fx-background-size: cover; - -fx-background-position: center center; - -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); -} - -.label { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: #555555; - -fx-opacity: 0.9; -} - -.app-title { - -fx-text-fill: white; - -fx-font-family: "Franklin Gothic Heavy"; - -fx-font-size: 40px; -} - -.app-title .text { - -fx-stroke: black; - -fx-stroke-width: 1px; -} - -.label-bright { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.label-header { - -fx-font-size: 32pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.text-field { - -fx-font-size: 12pt; - -fx-font-family: "Segoe UI Semibold"; -} - -.tab-pane { - -fx-padding: 0 0 0 1; -} - -.tab-pane .tab-header-area { - -fx-padding: 0 0 0 0; - -fx-min-height: 0; - -fx-max-height: 0; -} - -.table-view { - -fx-base: #1d1d1d; - -fx-control-inner-background: transparent; - -fx-background-color: transparent; - -fx-table-cell-border-color: transparent; - -fx-table-header-border-color: transparent; - -fx-padding: 5; -} - -.table-view .column-header-background { - -fx-background-color: transparent; -} - -.table-view .column-header, .table-view .filler { - -fx-size: 35px; - -fx-border-width: 0 0 1 0; - -fx-background-color: transparent; - -fx-border-color: - transparent - transparent - derive(-fx-base, 80%) - transparent; - -fx-border-insets: 0 10 1 0; -} - -.table-view .column-header .label { - -fx-font-size: 20pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: black; - -fx-alignment: center-left; - -fx-opacity: 1; -} - -.table-view:focused .table-row-cell:filled:focused:selected { - -fx-background-color: -fx-focus-color; -} - -.split-pane:horizontal .split-pane-divider { - -fx-background-color: transparent; - -fx-border-color: transparent; -} - -.split-pane { - -fx-border-radius: 1; - -fx-border-width: 1; - -fx-background-color: transparent; -} - -.list-view { - -fx-background-insets: 0; - -fx-padding: 0; - -fx-background-color: transparent; - -} - -.list-cell { - -fx-label-padding: 0 0 0 0; - -fx-graphic-text-gap : 0; - -fx-background-radius: 10 10 10 10; - -fx-border-radius: 10 10 10 10; - -fx-padding: 10px; - -fx-background-insets: 3px, 3px; - -fx-background-color: transparent -} - -.list-cell:filled:even { - -fx-background-color: #edf2f9; -} - -.list-cell:filled:odd { - -fx-background-color: #edf2f9; -} - -.list-cell:filled:selected { - -fx-background-color: #c0c5f9; -} - -.list-cell .label { - -fx-text-fill: black; -} - -.cell_big_label { - -fx-font-family: "Segoe UI Semibold"; - -fx-font-size: 16px; - -fx-text-fill: #edf2f9; -} - -.cell_small_label { - -fx-font-family: "Segoe UI"; - -fx-font-size: 13px; - -fx-text-fill: #edf2f9; -} - -.anchor-pane { - -fx-background-color: transparent; -} - -.pane-with-border { - -fx-background-color: transparent; - -fx-border-color: transparent; - -fx-border-top-width: 1px; -} - -.status-bar { - -fx-background-color: transparent; - -fx-text-fill: white; -} - -.result-display { - -fx-background-color: transparent; - -fx-font-family: "Segoe UI"; - -fx-font-size: 13pt; - -fx-text-fill: black; -} - -.result-display .label { - -fx-text-fill: transparent !important; -} - -.status-bar .label { - -fx-font-family: "Segoe UI"; - -fx-text-fill: #edf2f9; -} - -.status-bar-with-border { - -fx-background-color: transparent; - -fx-border-color: transparent; - -fx-border-width: 1px; -} - -.status-bar-with-border .label { - -fx-text-fill: black; -} - -.grid-pane { - -fx-background-color: transparent; - -fx-border-color: transparent; - -fx-border-width: 1px; -} - -.grid-pane .anchor-pane { - -fx-background-color: transparent; -} - -.calendar-panel .button { - -fx-text-fill: #000000; -} - -.calendar-panel { - -fx-background-color: transparent; - background-color: transparent; -} - -.context-menu { - -fx-background-color: derive(#070f60, 50%); -} - -.context-menu .label { - -fx-text-fill: #edf2f9; -} - -.menu-bar { - -fx-background-color: transparent; -} - -.menu-bar .label { - -fx-font-size: 14pt; - -fx-font-family: "Segoe UI"; - -fx-text-fill: #edf2f9; - -fx-opacity: 0.9; -} - -.menu .left-container { - -fx-background-color: black; -} - -/* - * Metro style Push Button - * Author: Pedro Duque Vieira - * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ - */ -.button { - -fx-padding: 5 22 5 22; - -fx-border-color: #e2e2e2; - -fx-border-width: 2; - -fx-background-radius: 0; - -fx-background-color: #1d1d1d; - -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; - -fx-font-size: 11pt; - -fx-text-fill: #d8d8d8; - -fx-background-insets: 0 0 0 0, 0, 1, 2; -} - -.button:hover { - -fx-background-color: #3a3a3a; -} - -.button:pressed, .button:default:hover:pressed { - -fx-background-color: white; - -fx-text-fill: #1d1d1d; -} - -.button:focused { - -fx-border-color: white, white; - -fx-border-width: 1, 1; - -fx-border-style: solid, segments(1, 1); - -fx-border-radius: 0, 0; - -fx-border-insets: 1 1 1 1, 0; -} - -.button:disabled, .button:default:disabled { - -fx-opacity: 0.4; - -fx-background-color: #1d1d1d; - -fx-text-fill: white; -} - -.button:default { - -fx-background-color: -fx-focus-color; - -fx-text-fill: #ffffff; -} - -.button:default:hover { - -fx-background-color: derive(-fx-focus-color, 30%); -} - -.dialog-pane { - -fx-background-color: transparent; -} - -.dialog-pane > *.button-bar > *.container { - -fx-background-color: #ffffff; -} - -.dialog-pane > *.label.content { - -fx-font-size: 14px; - -fx-font-weight: bold; - -fx-text-fill: black; -} - -.dialog-pane:header *.header-panel { - -fx-background-color: derive(#edf2f9, 25%); -} - -.dialog-pane:header *.header-panel *.label { - -fx-font-size: 18px; - -fx-font-style: italic; - -fx-fill: black; - -fx-text-fill: black; -} - -.scroll-bar { - -fx-background-color: derive(#edf2f9, 20%); - -fx-border-radius: 20px; - -fx-background-radius: 20px; - -} - -.scroll-bar .thumb { - -fx-background-color: derive(#070f60, 20%); - -} - -.scroll-bar .increment-button, .scroll-bar .decrement-button { - -fx-background-color: transparent; - -fx-rotate: 0; - -} - -.scroll-bar .increment-arrow { - -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; - -fx-background-color: #ffffff; -} - -.scroll-bar .decrement-arrow { - -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; - -fx-background-color: #ffffff; - -fx-rotate: -180; -} - -.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { - -fx-padding: 3 3 3 3; -} - -.scroll-bar:horizontal .increment-arrow{ - -fx-rotate: -90; - -fx-padding: 3 3 3 3; -} - -.scroll-bar:horizontal .decrement-arrow { - -fx-rotate: 90; - -fx-padding: 3 3 3 3; -} - -#cardPane { - -fx-background-color: transparent; - -fx-border-width: 10pt; -} - -#commandTypeLabel { - -fx-font-size: 11px; - -fx-text-fill: #F70D1A; -} - -#commandTextField { - -fx-background-color: #edf2f9; - -fx-background-insets: 0; - -fx-border-color: #edf2f9 #edf2f9 black #edf2f9 ; - -fx-border-insets: 0; - -fx-border-width: 1; - -fx-font-family: "Segoe UI"; - -fx-font-size: 13pt; - -fx-text-fill: black; -} - -#filterField, #personListPanel, #personWebpage { - -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); -} - -#resultDisplay { - -fx-background-color: transparent; -} - -#resultDisplay .scroll-pane .viewport{ - -fx-background-color: transparent; -} - -#resultDisplay .content { - -fx-background-color: #edf2f9; - -fx-background-radius: 0; -} -``` -###### \resources\view\LightTheme.css -``` css -Feused from DarkTheme.css with modifications */ - -.background { - -fx-background-color: #ffffff; - background-color: #ffffff; /* Used in the default.html file */ -} - -.label { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: #555555; - -fx-opacity: 0.9; -} - -.app-title { - -fx-text-fill: brown; - -fx-font-family: "Franklin Gothic Medium"; - -fx-font-weight: bold; - -fx-font-size: 36px -} - -.label-bright { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.label-header { - -fx-font-size: 32pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.text-field { - -fx-font-size: 12pt; - -fx-font-family: "Segoe UI Semibold"; -} - -.tab-pane { - -fx-padding: 0 0 0 1; -} - -.tab-pane .tab-header-area { - -fx-padding: 0 0 0 0; - -fx-min-height: 0; - -fx-max-height: 0; -} - -.table-view { - -fx-base: #1d1d1d; - -fx-control-inner-background: #ffffff; - -fx-background-color: #ffffff; - -fx-table-cell-border-color: transparent; - -fx-table-header-border-color: transparent; - -fx-padding: 5; -} - -.table-view .column-header-background { - -fx-background-color: transparent; -} - -.table-view .column-header, .table-view .filler { - -fx-size: 35; - -fx-border-width: 0 0 1 0; - -fx-background-color: transparent; - -fx-border-color: - transparent - transparent - derive(-fx-base, 80%) - transparent; - -fx-border-insets: 0 10 1 0; -} - -.table-view .column-header .label { - -fx-font-size: 20pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: black; - -fx-alignment: center-left; - -fx-opacity: 1; -} - -.table-view:focused .table-row-cell:filled:focused:selected { - -fx-background-color: -fx-focus-color; -} - -.split-pane:horizontal .split-pane-divider { - -fx-background-color: derive(#ffffff, 20%); - -fx-border-color: transparent transparent transparent tomato; -} - -.split-pane { - -fx-border-radius: 1; - -fx-border-width: 1; - -fx-background-color: derive(#ffffff, 20%); -} - -.list-view { - -fx-background-insets: 0; - -fx-padding: 0; - -fx-background-color: derive(#ffffff, 20%); - -} - -.list-cell { - -fx-label-padding: 0 0 0 0; - -fx-graphic-text-gap : 0; - -fx-background-radius: 10 10 10 10; - -fx-border-radius: 10 10 10 10; - -fx-padding: 10px; - -fx-background-insets: 3px, 3px; - -fx-background-color: transparent -} - -.list-cell:filled:even { - -fx-background-color: #ffd0d0; -} - -.list-cell:filled:odd { - -fx-background-color: #ffd0d0; -} - -.list-cell:filled:selected { - -fx-background-color: #ffc2c2; -} - -.list-cell:filled:selected #cardPane { - -fx-border-color: #ffc2c2; - -fx-border-width: 1; -} - -.list-cell .label { - -fx-text-fill: brown; -} - -.cell_big_label { - -fx-font-family: "Segoe UI Semibold"; - -fx-font-size: 16px; - -fx-text-fill: #ffd0d0; -} - -.cell_small_label { - -fx-font-family: "Segoe UI"; - -fx-font-size: 13px; - -fx-text-fill: #ffd0d0; -} - -.anchor-pane { - -fx-background-color: derive(#ffffff, 20%); -} - -.pane-with-border { - -fx-background-color: derive(#ffffff, 20%); - -fx-border-color: transparent; - -fx-border-top-width: 1px; -} - -.status-bar { - -fx-background-color: derive(#ffd0d0, 20%); - -fx-text-fill: white; -} - -.result-display { - -fx-background-color: transparent; - -fx-font-family: "Segoe UI"; - -fx-font-size: 13pt; - -fx-text-fill: brown; -} - -.result-display .label { - -fx-text-fill: white !important; -} - -.status-bar .label { - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: brown; -} - -.status-bar-with-border { - -fx-background-color: derive(#ffd0d0, 30%); - -fx-border-color: derive(#ffd0d0, 25%); - -fx-border-width: 1px; -} - -.status-bar-with-border .label { - -fx-text-fill: brown; -} - -.grid-pane { - -fx-background-color: derive(#ffd0d0, 30%); - -fx-border-color: derive(#ffd0d0, 30%); - -fx-border-width: 1px; -} - -.grid-pane .anchor-pane { - -fx-background-color: derive(#ffd0d0, 30%); -} - -.calendar-panel .button { - -fx-text-fill: #000000; -} - -.calendar-panel { - -fx-background-color: #ffffff; - background-color: #ffffff; -} - -.calendar-panel .content { - -fx-border-color: transparent transparent tomato transparent; -} - -.calendar-panel .header { - -fx-border-color: tomato transparent transparent transparent; -} - -.context-menu { - -fx-background-color: derive(#ffd0d0, 50%); -} - -.context-menu .label { - -fx-text-fill: brown; -} - -.menu-bar { - -fx-background-color: derive(#ffd0d0, 20%); -} - -.menu-bar .label { - -fx-font-size: 14pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: brown; - -fx-opacity: 0.9; -} - -.menu .left-container { - -fx-background-color: black; -} - -/* - * Metro style Push Button - * Author: Pedro Duque Vieira - * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ - */ -.button { - -fx-padding: 5 22 5 22; - -fx-border-color: #e2e2e2; - -fx-border-width: 2; - -fx-background-radius: 0; - -fx-background-color: #1d1d1d; - -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; - -fx-font-size: 11pt; - -fx-text-fill: #d8d8d8; - -fx-background-insets: 0 0 0 0, 0, 1, 2; -} - -.button:hover { - -fx-background-color: #3a3a3a; -} - -.button:pressed, .button:default:hover:pressed { - -fx-background-color: white; - -fx-text-fill: #1d1d1d; -} - -.button:focused { - -fx-border-color: white, white; - -fx-border-width: 1, 1; - -fx-border-style: solid, segments(1, 1); - -fx-border-radius: 0, 0; - -fx-border-insets: 1 1 1 1, 0; -} - -.button:disabled, .button:default:disabled { - -fx-opacity: 0.4; - -fx-background-color: #1d1d1d; - -fx-text-fill: white; -} - -.button:default { - -fx-background-color: -fx-focus-color; - -fx-text-fill: #ffffff; -} - -.button:default:hover { - -fx-background-color: derive(-fx-focus-color, 30%); -} - -.dialog-pane { - -fx-background-color: #ffffff; -} - -.dialog-pane > *.button-bar > *.container { - -fx-background-color: #ffffff; -} - -.dialog-pane > *.label.content { - -fx-font-size: 14px; - -fx-font-weight: bold; - -fx-text-fill: brown; -} - -.dialog-pane:header *.header-panel { - -fx-background-color: derive(#ffd0d0, 25%); -} - -.dialog-pane:header *.header-panel *.label { - -fx-font-size: 18px; - -fx-font-style: italic; - -fx-fill: brown; - -fx-text-fill: brown; -} - -.scroll-bar { - -fx-background-color: derive(#ffd0d0, 20%); - -fx-border-radius: 20px; - -fx-background-radius: 20px; - -} - -.scroll-bar .thumb { - -fx-background-color: derive(tomato, 20%); - -} - -.scroll-bar .increment-button, .scroll-bar .decrement-button { - -fx-background-color: transparent; - -fx-rotate: 0; - -} - -.scroll-bar .increment-arrow { - -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; - -fx-background-color: #ffffff; -} - -.scroll-bar .decrement-arrow { - -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; - -fx-background-color: #ffffff; - -fx-rotate: -180; -} - -.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { - -fx-padding: 3 3 3 3; -} - -.scroll-bar:horizontal .increment-arrow{ - -fx-rotate: -90; - -fx-padding: 3 3 3 3; -} - -.scroll-bar:horizontal .decrement-arrow { - -fx-rotate: 90; - -fx-padding: 3 3 3 3; -} - -#cardPane { - -fx-background-color: transparent; - -fx-border-width: 10pt; -} - -#commandTypeLabel { - -fx-font-size: 11px; - -fx-text-fill: #F70D1A; -} - -#commandTextField { - -fx-background-color: transparent #ffd0d0 transparent #ffd0d0; - -fx-background-insets: 0; - -fx-border-color: #ffd0d0 #ffd0d0 brown #ffd0d0 ; - -fx-border-insets: 0; - -fx-border-width: 1; - -fx-font-family: "Segoe UI"; - -fx-font-size: 13pt; - -fx-text-fill: brown; -} - -#filterField, #personListPanel, #personWebpage { - -fx-effect: innershadow(gaussian, brown, 10, 0, 0, 0); -} - -#resultDisplay .content { - -fx-background-color: transparent, #ffffff, transparent, #ffffff; - -fx-background-radius: 0; - -fx-border-color: #ffd0d0; -} -``` -###### \resources\view\TagColour.css -``` css -Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - */ -#tags .teal { - -fx-text-fill: white; - -fx-background-color: #3e7b91; -} - -#tags .red { - -fx-text-fill: black; - -fx-background-color: red; -} - -#tags .yellow { - -fx-background-color: yellow; - -fx-text-fill: black; -} - -#tags .blue { - -fx-text-fill: white; - -fx-background-color: blue; -} - -#tags .orange { - -fx-text-fill: black; - -fx-background-color: orange; -} - -#tags .brown { - -fx-text-fill: white; - -fx-background-color: brown; -} - -#tags .green { - -fx-text-fill: black; - -fx-background-color: green; -} - -#tags .pink { - -fx-text-fill: black; - -fx-background-color: pink; -} - -#tags .black { - -fx-text-fill: white; - -fx-background-color: black; -} - -#tags .grey { - -fx-text-fill: black; - -fx-background-color: grey; -} -``` diff --git a/collated/functional/Sisyphus25.md b/collated/functional/Sisyphus25.md deleted file mode 100644 index 21be558ba4d2..000000000000 --- a/collated/functional/Sisyphus25.md +++ /dev/null @@ -1,1219 +0,0 @@ -# Sisyphus25 -###### \java\seedu\address\commons\events\model\AppointmentListChangedEvent.java -``` java -/** - * Indicates the appointment list has changed - */ -public class AppointmentListChangedEvent extends BaseEvent { - public final ObservableList<Appointment> appointmentList; - - public AppointmentListChangedEvent(ObservableList<Appointment> appointmentList) { - this.appointmentList = appointmentList; - } - - @Override - public String toString() { - return this.getClass().getSimpleName(); - } -} -``` -###### \java\seedu\address\commons\events\ui\ThemeChangeEvent.java -``` java -/** - * Indicates a request to change them - */ -public class ThemeChangeEvent extends BaseEvent { - public final String theme; - - public ThemeChangeEvent(String theme) { - this.theme = theme; - } - - @Override - public String toString() { - return this.getClass().getSimpleName(); - } -} -``` -###### \java\seedu\address\commons\events\ui\ToggleCalendarViewEvent.java -``` java -/** - * Indicates a request to toggle Calendar view mode - */ -public class ToggleCalendarViewEvent extends BaseEvent { - public final Character viewMode; - - public ToggleCalendarViewEvent(Character viewMode) { - this.viewMode = viewMode; - } - - @Override - public String toString() { - return this.getClass().getSimpleName(); - } -} -``` -###### \java\seedu\address\commons\events\ui\ToggleListEvent.java -``` java - -import seedu.address.commons.events.BaseEvent; - -/** - * Indicates a request to toggle List - */ -public class ToggleListEvent extends BaseEvent { - public final String list; - - public ToggleListEvent(String list) { - this.list = list; - } - - @Override - public String toString() { - return this.getClass().getSimpleName(); - } -} -``` -###### \java\seedu\address\logic\commands\ChangeThemeCommand.java -``` java -/** - * Change theme of the GUI. - */ -public class ChangeThemeCommand extends Command { - public static final String COMMAND_WORD = "theme"; - - public static final String MESSAGE_USAGE = COMMAND_WORD - + ": Change the theme of TeachConnect.\n" - + "Parameters: THEME\n" - + "Example: " + COMMAND_WORD + " dark"; - - public static final String MESSAGE_CHANGE_THEME_SUCCESS = "Theme changed"; - - public static final String MESSAGE_INVALID_THEME = "Not a valid theme"; - - private final String theme; - - public ChangeThemeCommand(String theme) { - requireNonNull(theme); - this.theme = theme; - } - - @Override - public CommandResult execute() throws CommandException { - EventsCenter.getInstance().post(new ThemeChangeEvent(theme)); - return new CommandResult(MESSAGE_CHANGE_THEME_SUCCESS); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof ChangeThemeCommand // instanceof handles nulls - && this.theme.equals(((ChangeThemeCommand) other).theme)); // state check - } -} -``` -###### \java\seedu\address\logic\commands\ListCommand.java -``` java - @Override - public CommandResult execute() throws CommandException { - switch (type) { - case TYPE_CONTACT: - evokeToggleListEvent(TYPE_CONTACT); - model.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); - return new CommandResult(MESSAGE_SUCCESS + TYPE_CONTACT); - - case TYPE_STUDENT: - evokeToggleListEvent(TYPE_CONTACT); - model.updateFilteredPersonList(PREDICATE_SHOW_ONLY_STUDENTS); - return new CommandResult(MESSAGE_SUCCESS + TYPE_STUDENT); - - case TYPE_APPOINTMENT: - evokeToggleListEvent(TYPE_APPOINTMENT); - return new CommandResult(MESSAGE_SUCCESS + TYPE_APPOINTMENT); - - case TYPE_TASK: - evokeToggleListEvent(TYPE_TASK); - return new CommandResult(MESSAGE_SUCCESS + TYPE_TASK); - - default: - throw new CommandException(MESSAGE_INVALID_TYPE); - } - } - - private void evokeToggleListEvent(String type) { - model.changeCurrentActiveListType(type); - EventsCenter.getInstance().post(new ToggleListEvent(type)); - } - -``` -###### \java\seedu\address\logic\commands\RemoveCommand.java -``` java -/** - * Remove an appointment or task identified using its last displayed index from the address book. - */ -public class RemoveCommand extends UndoableCommand { - - public static final String COMMAND_WORD = "remove"; - - public static final String MESSAGE_USAGE = COMMAND_WORD - + ": Removes the event identified by the index number used in the last event listing.\n" - + "Parameters: " - + " EVENT_TYPE (could be appointment or task)" - + "INDEX (must be a positive integer)\n" - + "Example: " + COMMAND_WORD + " appointment " + " 1"; - - public static final String MESSAGE_DELETE_EVENT_SUCCESS = "Removed %1$s: %2$s"; - - private final Index targetIndex; - - private String eventTypeOfDeletedTarget; - - private Object eventToBeDeleted; - - public RemoveCommand(Index targetIndex, String eventTypeOfDeletedTarget) { - this.eventTypeOfDeletedTarget = eventTypeOfDeletedTarget; - this.targetIndex = targetIndex; - } - - @Override - public CommandResult executeUndoableCommand() { - requireNonNull(eventToBeDeleted); - try { - if (eventTypeOfDeletedTarget.equals(LIST_TYPE_APPOINTMENT)) { - model.deleteAppointment((Appointment) eventToBeDeleted); - } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { - model.deleteTask((Task) eventToBeDeleted); - } - } catch (EventNotFoundException ive) { - throw new AssertionError(String.format("The target %s cannot be missing", eventTypeOfDeletedTarget)); - } - return new CommandResult( - String.format(MESSAGE_DELETE_EVENT_SUCCESS, eventTypeOfDeletedTarget, eventToBeDeleted)); - } - - @Override - protected void preprocessUndoableCommand() throws CommandException { - if (eventTypeOfDeletedTarget.equals(LIST_TYPE_APPOINTMENT)) { - List<Appointment> lastShownList = model.getFilteredAppointmentList(); - if (targetIndex.getZeroBased() >= lastShownList.size()) { - throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); - } - eventToBeDeleted = lastShownList.get(targetIndex.getZeroBased()); - } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { - List<Task> lastShownList = model.getFilteredTaskList(); - if (targetIndex.getZeroBased() >= lastShownList.size()) { - throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); - } - eventToBeDeleted = lastShownList.get(targetIndex.getZeroBased()); - } - - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof RemoveCommand // instanceof handles nulls - && this.targetIndex.equals(((RemoveCommand) other).targetIndex) // state check - && Objects.equals(this.eventToBeDeleted, ((RemoveCommand) other).eventToBeDeleted)); - } -} -``` -###### \java\seedu\address\logic\commands\SetAppointmentCommand.java -``` java -/** - * Adds an appointment with the person at {@code index} in the person list to the address book. - */ -public class SetAppointmentCommand extends UndoableCommand { - - public static final String COMMAND_WORD = "set_appointment"; - - public static final String MESSAGE_USAGE = COMMAND_WORD - + ": Adds an appoinment to the address book.\n" - + "Parameters: " - + PREFIX_TITLE + "TITLE " - + PREFIX_START_TIME + "START-DATE START-TIME " - + PREFIX_END_TIME + "END-DATE END-TIME " - + PREFIX_PERSON_TO_MEET_INDEX + "PERSON TO MEET\n" - + "Example: " + COMMAND_WORD + " " - + PREFIX_TITLE + "Meet James " - + PREFIX_START_TIME + "20/05/2018 10:00 " - + PREFIX_END_TIME + "20/05/2018 12:00 " - + PREFIX_PERSON_TO_MEET_INDEX + "3 "; - - public static final String MESSAGE_SUCCESS = "New appointment added: %1$s"; - public static final String MESSAGE_DUPLICATE_APPOINTMENT = "This appointment already exists in the address book"; - - private final Appointment baseAppointmentWithoutPerson; - private final Index index; - - private PersonToMeet personToMeet; - - /** - * Creates a SetAppointmentCommand without any PersonToMeet - */ - public SetAppointmentCommand(Appointment baseAppointmentWithoutPerson) { - this(baseAppointmentWithoutPerson, null); - } - - /** - * Creates a SetAppointmentCommand to add the specified {@code Appointment} - */ - public SetAppointmentCommand(Appointment baseAppointmentWithoutPerson, Index index) { - requireNonNull(baseAppointmentWithoutPerson); - this.baseAppointmentWithoutPerson = baseAppointmentWithoutPerson; - this.index = index; - } - - @Override - public CommandResult executeUndoableCommand() throws CommandException { - requireNonNull(model); - try { - Appointment toAdd; - if (personToMeet != null) { - toAdd = new Appointment(baseAppointmentWithoutPerson.getTitle(), baseAppointmentWithoutPerson.getTime(), - baseAppointmentWithoutPerson.getEndTime(), personToMeet); - } else { - toAdd = baseAppointmentWithoutPerson; - } - model.addAppointment(toAdd); - return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (DuplicateEventException e) { - throw new CommandException(MESSAGE_DUPLICATE_APPOINTMENT); - } - - } - - @Override - protected void preprocessUndoableCommand() throws CommandException { - if (index != null) { - List<Person> lastShownList = model.getFilteredPersonList(); - - if (index.getZeroBased() >= lastShownList.size()) { - throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); - } - - Person person = lastShownList.get(index.getZeroBased()); - personToMeet = new PersonToMeet(person.getName().fullName, person.getEmail().value); - } - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof SetAppointmentCommand // instanceof handles nulls - && baseAppointmentWithoutPerson.equals(((SetAppointmentCommand) other).baseAppointmentWithoutPerson)); - } -} -``` -###### \java\seedu\address\logic\commands\SetTaskCommand.java -``` java -/** - * Adds a task to the address book. - */ -public class SetTaskCommand extends UndoableCommand { - - public static final String COMMAND_WORD = "set_task"; - - public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a task to the address book.\n" - + "Parameters: " - + PREFIX_TITLE + "TITLE " - + PREFIX_END_TIME + "DATE TIME\n" - + "Example: " + COMMAND_WORD + " " - + PREFIX_TITLE + "Mark papers " - + PREFIX_END_TIME + "20/05/2018 12:00 "; - - public static final String MESSAGE_SUCCESS = "New task added: %1$s"; - public static final String MESSAGE_DUPLICATE_TASK = "This task already exists in the address book"; - - private final Task toAdd; - - /** - * Creates a SetTaskCommand to add the specified {@code Task} - */ - public SetTaskCommand(Task task) { - requireNonNull(task); - toAdd = task; - } - - @Override - public CommandResult executeUndoableCommand() throws CommandException { - requireNonNull(model); - try { - model.addTask(toAdd); - return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (DuplicateEventException e) { - throw new CommandException(MESSAGE_DUPLICATE_TASK); - } - - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof SetTaskCommand // instanceof handles nulls - && toAdd.equals(((SetTaskCommand) other).toAdd)); - } -} -``` -###### \java\seedu\address\logic\commands\ToggleCalendarViewCommand.java -``` java -/** - * Command to change calendar view - */ -public class ToggleCalendarViewCommand extends Command { - - public static final String COMMAND_WORD = "calendar"; - - public static final String MESSAGE_USAGE = COMMAND_WORD + ": Toggles calendar view. \n" - + "Parameter: VIEW_MODE\n" - + "View mode: Day view: d, Week view: w, Month view: m\n" - + "Example: " + COMMAND_WORD + " d"; - - public static final String MESSAGE_VIEW_TOGGLE_SUCCESS = "View changed."; - - private Character viewMode; - - public ToggleCalendarViewCommand(Character viewMode) { - requireNonNull(viewMode); - this.viewMode = viewMode; - } - @Override - public CommandResult execute() throws CommandException { - EventsCenter.getInstance().post(new ToggleCalendarViewEvent(viewMode)); - return new CommandResult(MESSAGE_VIEW_TOGGLE_SUCCESS); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof ToggleCalendarViewCommand // instanceof handles nulls - && this.viewMode == ((ToggleCalendarViewCommand) other).viewMode); // state check - } -} -``` -###### \java\seedu\address\logic\parser\ChangeThemeCommandParser.java -``` java -/** - * Parses input arguments and creates a new ChangeThemeCommand object - */ -public class ChangeThemeCommandParser implements Parser<ChangeThemeCommand> { - /** - * Parses the given {@code viewMode} of arguments in the context of the ChangeThemeCommandParser - * and returns an ChangeThemeCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public ChangeThemeCommand parse(String args) throws ParseException { - String theme = args.trim(); - if (!isValidTheme(theme)) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, - ChangeThemeCommand.MESSAGE_INVALID_THEME)); - } - return new ChangeThemeCommand(theme); - } - - /** - * - * @param theme - * @return whether if {@code theme} is a valid theme name - */ - private boolean isValidTheme(String theme) { - return !theme.isEmpty() && Arrays.asList(THEME_LIST).contains(theme); - } -} -``` -###### \java\seedu\address\logic\parser\ListCommandParser.java -``` java -/** - * Parser for ListCommand - */ -public class ListCommandParser implements Parser<ListCommand> { - /** - * Parses the given {@code args} of arguments in the context of the ListCommandParser - * and returns an ListCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public ListCommand parse(String args) throws ParseException { - String item = args.trim(); - if (!isValidItem(item)) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, - ListCommand.MESSAGE_USAGE)); - } - return new ListCommand(item); - } - - /** - * @param str - * @return whether if the string is a valid view mode or not - */ - private boolean isValidItem(String str) { - switch (str) { - case(ListCommand.TYPE_CONTACT): - case(ListCommand.TYPE_STUDENT): - case(ListCommand.TYPE_APPOINTMENT): - case(ListCommand.TYPE_TASK): - return true; - default: - return false; - } - } -} -``` -###### \java\seedu\address\logic\parser\ParserUtil.java -``` java - /** - * Parses a {@code Optional<String> title} into an {@code Optional<Title>} if {@code title} is present. - * See header comment of this class regarding the use of {@code Optional} parameters. - */ - public static Optional<Title> parseTitle(Optional<String> title) throws IllegalValueException { - requireNonNull(title); - return title.isPresent() ? Optional.of(parseTitle(title.get())) : Optional.empty(); - } - - /** - * Parses a {@code String title} into a {@code Title}. - * Leading and trailing whitespaces will be trimmed. - * - * @throws IllegalValueException if the given {@code title} is invalid. - */ - public static Title parseTitle(String title) throws IllegalValueException { - requireNonNull(title); - String trimmedTitle = title.trim(); - if (!Title.isValidTitle(trimmedTitle)) { - throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); - } - return new Title(trimmedTitle); - } - - /** - * Parses a {@code Optional<String> eventTime} into an {@code Optional<EventTime>} if {@code eventTime} is present. - * See header comment of this class regarding the use of {@code Optional} parameters. - */ - public static Optional<EventTime> parseEventTime(Optional<String> eventTime) throws IllegalArgumentException { - requireNonNull(eventTime); - return eventTime.isPresent() ? Optional.of(parseEventTime(eventTime.get())) : Optional.empty(); - } - - /** - * Parses a {@code String eventTime} into a {@code EventTime}. - * Leading and trailing whitespaces will be trimmed. - */ - public static EventTime parseEventTime(String eventTime) throws IllegalArgumentException { - requireNonNull(eventTime); - String trimmedEventTime = eventTime.trim(); - return new EventTime(trimmedEventTime); - } - - /** - * Parses a {@code String tag} into a {@code Tag}. - * Leading and trailing whitespaces will be trimmed. - * - * @throws IllegalValueException if the given {@code tag} is invalid. - */ - public static Tag parseTag(String tag) throws IllegalValueException { - requireNonNull(tag); - String trimmedTag = tag.trim(); - if (!Tag.isValidTagName(trimmedTag)) { - throw new IllegalValueException(Tag.MESSAGE_TAG_NAME_CONSTRAINTS); - } - return new Tag(trimmedTag); - } - - /** - * Parses {@code Collection<String> tags} into a {@code Set<Tag>}. - */ - public static Set<Tag> parseTags(Collection<String> tags) throws IllegalValueException { - requireNonNull(tags); - final Set<Tag> tagSet = new HashSet<>(); - for (String tagName : tags) { - tagSet.add(parseTag(tagName)); - } - return tagSet; - } -} -``` -###### \java\seedu\address\logic\parser\RemoveCommandParser.java -``` java -/** - * Parses input arguments and creates a new RemoveCommand object - */ -public class RemoveCommandParser implements Parser<RemoveCommand> { - - /** - * Parses the given {@code String} of arguments in the context of the RemoveCommand - * and returns an RemoveCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public RemoveCommand parse(String args) throws ParseException { - requireNonNull(args); - String trimmedArgs = args.trim(); - String[] parameterGetterArray = trimmedArgs.split(" "); - if (trimmedArgs.isEmpty() || parameterGetterArray.length != 2) { - throw new ParseException( - String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); - } - try { - if (!isValidEventType(parameterGetterArray[0])) { - throw new IllegalValueException("Invalid event type"); - } - Index index = ParserUtil.parseIndex(parameterGetterArray[1]); - return new RemoveCommand(index, parameterGetterArray[0]); - } catch (IllegalValueException ive) { - throw new ParseException( - String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); - } - } - - private boolean isValidEventType(String type) { - return type.equals("appointment") || type.equals("task"); - } -} - - - -``` -###### \java\seedu\address\logic\parser\ToggleCalendarViewParser.java -``` java -/** - * Parser for ToggleCalendarViewCommand - */ -public class ToggleCalendarViewParser implements Parser<ToggleCalendarViewCommand> { - /** - * Parses the given {@code viewMode} of arguments in the context of the ToggleCalendarViewParser - * and returns an ToggleCalendarViewCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public ToggleCalendarViewCommand parse(String args) throws ParseException { - String viewMode = args.trim(); - if (viewMode.isEmpty() || !isValidViewMode(viewMode)) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, - ToggleCalendarViewCommand.MESSAGE_USAGE)); - } - return new ToggleCalendarViewCommand(viewMode.charAt(0)); - } - - /** - * - * @param str - * @return whether if the string is a valid view mode or not - */ - private boolean isValidViewMode(String str) { - if (str.length() != 1) { - return false; - } - switch (str.charAt(0)) { - case('w'): - case('d'): - case('m'): - return true; - default: - return false; - } - } -} -``` -###### \java\seedu\address\model\AddressBook.java -``` java - //event operations - /** - * Adds an appointment to the address book. - * - * @throws DuplicateEventException if an equivalent appointment already exists. - */ - public void addAppointment(Appointment e) throws DuplicateEventException { - appointments.add(e); - } - - /** - * Removes {@code key} from this {@code AddressBook}. - * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. - */ - public boolean removeAppointment(Appointment key) throws EventNotFoundException { - if (appointments.remove(key)) { - return true; - } else { - throw new EventNotFoundException(); - } - } - - /** - * Adds a task to the address book. - * - * @throws DuplicateEventException if an equivalent appointment already exists. - */ - public void addTask(Task e) throws DuplicateEventException { - tasks.add(e); - } - - /** - * Removes {@code key} from this {@code AddressBook}. - * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. - */ - public boolean removeTask(Task key) throws EventNotFoundException { - if (tasks.remove(key)) { - return true; - } else { - throw new EventNotFoundException(); - } - } -} -``` -###### \java\seedu\address\model\event\Appointment.java -``` java -/** - * Represent an appointment in the schedule, contains time of the appointment as well as details and personMeet. - */ -public class Appointment { - public static final String MESSAGE_TIME_PERIOD_CONSTRAINTS = "The end time should be after the start time"; - - private final Title title; - private final EventTime time; - private final EventTime endTime; - private final PersonToMeet personToMeet; - - //Every field must be present and not null - public Appointment(Title title, EventTime startTime, EventTime endTime) { - this(title, startTime, endTime, null); - } - - //Every field except personToMeet must be present and not null - public Appointment(Title title, EventTime startTime, EventTime endTime, PersonToMeet personToMeet) { - requireAllNonNull(title, startTime, endTime); - checkArgument(isValidTime(startTime, endTime), MESSAGE_TIME_PERIOD_CONSTRAINTS); - this.title = title; - this.time = startTime; - this.endTime = endTime; - this.personToMeet = personToMeet; - } - - public Title getTitle() { - return title; - } - - public EventTime getTime() { - return time; - } - - public EventTime getEndTime() { - return endTime; - } - - public PersonToMeet getPersonToMeet() { - return personToMeet; - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof Appointment)) { - return false; - } - - Appointment otherAppointment = (Appointment) other; - return otherAppointment.getTitle().equals(this.getTitle()) - && otherAppointment.getTime().equals(this.getTime()) - && otherAppointment.getEndTime().equals(this.getEndTime()); - } - - @Override - public String toString() { - final StringBuilder builder = new StringBuilder(); - builder.append(getTitle()) - .append(", Start Time: ") - .append(getTime().toString()) - .append(", End Time: ") - .append(getEndTime().toString()); - if (personToMeet != null) { - builder.append(", With: ") - .append(personToMeet.getName()); - } - return builder.toString(); - } - - /** - * Returns true if the given time is valid - */ - public static boolean isValidTime(EventTime startTime, EventTime endTime) { - return endTime.value.after(startTime.value); - } -} -``` -###### \java\seedu\address\model\event\Task.java -``` java -/** - * Represent a Task in the schedule, contains deadline as well as the title - */ -public class Task { - private Title title; - private EventTime time; - - //Every field must be present and not null - public Task(Title title, EventTime deadline) { - requireAllNonNull(title, deadline); - this.title = title; - this.time = deadline; - } - - public Title getTitle() { - return title; - } - - public EventTime getTime() { - return time; - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof Task)) { - return false; - } - - Task otherTask = (Task) other; - return otherTask.getTitle().equals(this.getTitle()) - && otherTask.getTime().equals(this.getTime()); - } - - @Override - public String toString() { - return title + ", Deadline: " + time; - } -} -``` -###### \java\seedu\address\storage\XmlAdaptedAppointment.java -``` java -/** - * JAXB-friendly version of the Person. - */ -public class XmlAdaptedAppointment { - - public static final String MISSING_FIELD_MESSAGE_FORMAT = "Appointment's %s field is missing!"; - - @XmlElement(required = true) - private String title; - @XmlElement(required = true) - private String startTime; - @XmlElement(required = true) - private String endTime; - @XmlElement(required = true) - private String personToMeet; - - /** - * Constructs an XmlAdaptedAppointment. - * This is the no-arg constructor that is required by JAXB. - */ - public XmlAdaptedAppointment() {} - - public XmlAdaptedAppointment(String title, String startTime, String endTime) { - this(title, startTime, endTime, null); - } - - /** - * Constructs an {@code XmlAdaptedAppointment} with the given appointment details. - */ - public XmlAdaptedAppointment(String title, String startTime, String endTime, String personToMeet) { - this.title = title; - this.startTime = startTime; - this.endTime = endTime; - if (personToMeet != null) { - this.personToMeet = personToMeet; - } - } - - /** - * Converts a given Appointment into this class for JAXB use. - * - * @param source future changes to this will not affect the created XmlAdaptedAppointment - */ - public XmlAdaptedAppointment(Appointment source) { - title = source.getTitle().toString(); - startTime = source.getTime().toString(); - endTime = source.getEndTime().toString(); - if (source.getPersonToMeet() != null) { - personToMeet = source.getPersonToMeet().toString(); - } - } - - /** - * Converts this jaxb-friendly adapted person object into the model's Appointment object. - * - * @throws IllegalValueException if there were any data constraints violated in the adapted appointment - */ - public Appointment toModelType() throws IllegalValueException { - if (this.title == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName())); - } - if (!Title.isValidTitle(this.title)) { - throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); - } - final Title title = new Title(this.title); - - if (this.startTime == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "Start Time")); - } - if (this.endTime == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "End Time")); - } - - final EventTime startTime = new EventTime(this.startTime); - final EventTime endTime = new EventTime(this.endTime); - - if (!Appointment.isValidTime(startTime, endTime)) { - throw new IllegalValueException(Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS); - } - - if (this.personToMeet != null) { - String[] components = this.personToMeet.split(EMAIL_SPLITTER); - PersonToMeet personToMeet = new PersonToMeet(components[0], components[1]); - return new Appointment(title, startTime, endTime, personToMeet); - } - - return new Appointment(title, startTime, endTime); - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof XmlAdaptedAppointment)) { - return false; - } - - XmlAdaptedAppointment otherAppointment = (XmlAdaptedAppointment) other; - return Objects.equals(title, otherAppointment.title) - && Objects.equals(startTime, otherAppointment.startTime) - && Objects.equals(endTime, otherAppointment.endTime) - && Objects.equals(personToMeet, otherAppointment.personToMeet); - } -} -``` -###### \java\seedu\address\storage\XmlAdaptedTask.java -``` java -/** - * JAXB-friendly version of the Person. - */ -public class XmlAdaptedTask { - - public static final String MISSING_FIELD_MESSAGE_FORMAT = "Task's %s field is missing!"; - - @XmlElement(required = true) - private String title; - @XmlElement(required = true) - private String time; - - /** - * Constructs an XmlAdaptedTask. - * This is the no-arg constructor that is required by JAXB. - */ - public XmlAdaptedTask() {} - - /** - * Constructs an {@code XmlAdaptedTask} with the given task details. - */ - public XmlAdaptedTask(String title, String time) { - this.title = title; - this.time = time; - } - - /** - * Converts a given Task into this class for JAXB use. - * - * @param source future changes to this will not affect the created XmlAdaptedTask - */ - public XmlAdaptedTask(Task source) { - title = source.getTitle().toString(); - time = source.getTime().toString(); - } - - /** - * Converts this jaxb-friendly adapted person object into the model's Task object. - * - * @throws IllegalValueException if there were any data constraints violated in the adapted task - */ - public Task toModelType() throws IllegalValueException { - if (this.title == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName())); - } - if (!Title.isValidTitle(this.title)) { - throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); - } - final Title title = new Title(this.title); - - if (this.time == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time")); - } - final EventTime time = new EventTime(this.time); - - return new Task(title, time); - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof XmlAdaptedTask)) { - return false; - } - - XmlAdaptedTask otherTask = (XmlAdaptedTask) other; - return Objects.equals(title, otherTask.title) - && Objects.equals(time, otherTask.time); - } -} -``` -###### \java\seedu\address\ui\AppointmentCard.java -``` java -/** - * An UI component that displays information of a {@code Appointment}. - */ -public class AppointmentCard extends UiPart<Region> { - - private static final String FXML = "AppointmentListCard.fxml"; - private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; - private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); - - public final Appointment appointment; - - @FXML - private HBox cardPane; - @FXML - private Label title; - @FXML - private Label id; - @FXML - private Label time; - @FXML - private Label endTime; - @FXML - private Label personToMeet; - - public AppointmentCard(Appointment appointment, int displayedIndex) { - super(FXML); - this.appointment = appointment; - id.setText(displayedIndex + ". "); - title.setText(appointment.getTitle().value); - time.setText("From: " + DATE_FORMATTER.format(appointment.getTime().value.getTime())); - endTime.setText("To: " + DATE_FORMATTER.format(appointment.getEndTime().value.getTime())); - if (appointment.getPersonToMeet() != null) { - personToMeet.setText("With " + appointment.getPersonToMeet().getName()); - } else { - personToMeet.setText(""); - } - } - - @Override - public boolean equals(Object other) { - // short circuit if same object - if (other == this) { - return true; - } - - // instanceof handles nulls - if (!(other instanceof AppointmentCard)) { - return false; - } - - // state check - AppointmentCard card = (AppointmentCard) other; - return id.getText().equals(card.id.getText()) - && appointment.equals(card.appointment); - } -} -``` -###### \java\seedu\address\ui\CalendarPanel.java -``` java -/** - * The Calendar Panel of the App. - */ -public class CalendarPanel extends UiPart<Region> { - private static final String FXML = "CalendarPanel.fxml"; - - @FXML - private CalendarView calendarView; - private Calendar calendar; - - private ObservableList<Appointment> appointmentList; - - public CalendarPanel(ObservableList<Appointment> appointmentObservableList) { - super(FXML); - this.appointmentList = appointmentObservableList; - - calendarView = new CalendarView(); - CalendarSource calendarSource = new CalendarSource("My Calendar"); - calendar = new Calendar("Appointments"); - - calendarView.setRequestedTime(LocalTime.now()); - calendarView.setToday(LocalDate.now()); - calendarView.setTime(LocalTime.now()); - - calendarView.getCalendarSources().add(calendarSource); - calendarSource.getCalendars().add(calendar); - calendar.setStyle(Calendar.Style.getStyle(0)); - calendar.setLookAheadDuration(Duration.ofDays(365)); - - updateCalendar(); - disableViews(); - registerAsAnEventHandler(this); - } - - /** - * Clear the entry list in the CalendarFX calendar and - * populate it with appointment in the updated appointmentList - */ - private void updateCalendar() { - calendar.clear(); - ArrayList<Entry> entries = getEntries(); - for (Entry entry : entries) { - calendar.addEntry(entry); - } - } - - private ArrayList<Entry> getEntries() { - ArrayList<Entry> entries = new ArrayList<>(); - for (Appointment appointment : appointmentList) { - entries.add(getEntry(appointment)); - } - return entries; - } - - private Entry getEntry(Appointment appointment) { - LocalDateTime ldtstart = LocalDateTime.ofInstant( - appointment.getTime().value.getTime().toInstant(), ZoneId.systemDefault()); - LocalDateTime ldtend = LocalDateTime.ofInstant( - appointment.getEndTime().value.getTime().toInstant(), ZoneId.systemDefault()); - String description = appointment.getTitle().value; - return new Entry(description, new Interval(ldtstart, ldtend)); - } - - @Subscribe - private void handleAppointmentListChangedEvent(AppointmentListChangedEvent event) { - appointmentList = event.appointmentList; - Platform.runLater( - this::updateCalendar - ); - } - - -``` -###### \java\seedu\address\ui\MainWindow.java -``` java - private void setTheme() { - setTheme(DEFAULT_THEME); - } - - private void setTheme(String theme) { - primaryStage.getScene().getStylesheets().add(EXTENSIONS_STYLESHEET); - primaryStage.getScene().getStylesheets().add(TAG_COLOUR_STYLESHEET); - primaryStage.getScene().getStylesheets().add(THEME_LIST.getThemeStyleSheet(theme)); - } - - @Subscribe - private void handleThemeChangeEvent(ThemeChangeEvent event) { - theme = event.theme; - Platform.runLater( - this::changeTheme - ); - } - - private void changeTheme() { - primaryStage.getScene().getStylesheets().clear(); - setTheme(theme); - } -``` -###### \java\seedu\address\ui\TaskCard.java -``` java -/** - * An UI component that displays information of a {@code Task}. - */ -public class TaskCard extends UiPart<Region> { - - private static final String FXML = "TaskListCard.fxml"; - private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; - private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); - private static final Calendar CALENDAR = Calendar.getInstance(); - - public final Task task; - - @FXML - private HBox cardPane; - @FXML - private Label title; - @FXML - private Label id; - @FXML - private Label time; - @FXML - private FlowPane tags; - - public TaskCard(Task task, int displayedIndex) { - super(FXML); - this.task = task; - id.setText(displayedIndex + ". "); - title.setText(task.getTitle().value); - time.setText("Finish before: " + DATE_FORMATTER.format(task.getTime().value.getTime())); - if (task.getTime().isExpired()) { - addExpiredTag(); - } - } - - /** - * Add an expired tag to the Task Card - */ - private void addExpiredTag() { - Label expiredTask = new Label("Expired"); - expiredTask.getStyleClass().add("red"); - tags.getChildren().add(expiredTask); - } - - @Override - public boolean equals(Object other) { - // short circuit if same object - if (other == this) { - return true; - } - - // instanceof handles nulls - if (!(other instanceof TaskCard)) { - return false; - } - - // state check - TaskCard card = (TaskCard) other; - return id.getText().equals(card.id.getText()) - && task.equals(card.task); - } -} -``` -###### \java\seedu\address\ui\ThemeList.java -``` java -/** - * Provide list of themes and respective URL to their CSS stylesheet - */ -public class ThemeList { - private HashMap<String, String> themeList; - - public ThemeList() { - themeList = new HashMap<>(); - themeList.put("dark", "view/DarkTheme.css"); - themeList.put("light", "view/LightTheme.css"); - themeList.put("doge", "view/DogeTheme.css"); - themeList.put("galaxy", "view/GalaxyTheme.css"); - } - - public String getThemeStyleSheet(String theme) { - if (!themeList.containsKey(theme)) { - return themeList.get("light"); - } - return themeList.get(theme); - } -} -``` diff --git a/collated/functional/randypx.md b/collated/functional/randypx.md deleted file mode 100644 index 66a7b40f37b6..000000000000 --- a/collated/functional/randypx.md +++ /dev/null @@ -1,120 +0,0 @@ -# randypx -###### \java\seedu\address\model\person\UniqueContactList.java -``` java -/** - * A list that is the aggregation of {@code UniquePersonList} and {@code UniqueStudentList} - * and is the list displayed in the GUI. - * This list remains up-to-date by listening to the changes of both lists and is not changed by anything else. - */ -public class UniqueContactList { - private final UniquePersonList persons; - private final UniqueStudentList students; - private final ObservableList<Person> combinedList = FXCollections.observableArrayList(); - - public UniqueContactList(UniquePersonList p, UniqueStudentList s) { - persons = p; - students = s; - persons.addListener(this); - students.addListener(this); - } - - /** - * This method is called when there is a change in eithor {@code UniquePersonList} or {@code UniqueStudentList}. - * @param c this contains the change(s) that has occured. - */ - public void updateList(ListChangeListener.Change<? extends Person> c) { - while (c.next()) { - if (c.wasReplaced()) { - for (int i = 0; i < c.getRemovedSize(); i++) { - int index = combinedList.indexOf(c.getRemoved().get(i)); - combinedList.set(index, c.getAddedSubList().get(i)); - } - if (c.getTo() > c.getRemovedSize()) { - for (int i = c.getRemovedSize(); i < c.getTo(); i++) { - combinedList.add(c.getAddedSubList().get(i)); - } - } - } else if (c.wasRemoved()) { - combinedList.removeAll(c.getRemoved()); - } else if (c.wasAdded()) { - combinedList.addAll(c.getAddedSubList()); - } - } - } - - /** - * Returns the backing list as an unmodifiable {@code ObservableList}. - */ - public ObservableList<Person> asObservableList() { - return FXCollections.unmodifiableObservableList(combinedList); - } - -} -``` -###### \java\seedu\address\model\person\UniquePersonList.java -``` java - /** - * Add a listener to the list for any changes. - * Update {@code contacts} for any changes made. - */ - public void addListener(UniqueContactList contacts) { - internalList.addListener(new ListChangeListener<Person>() { - @Override - public void onChanged(Change<? extends Person> c) { - contacts.updateList(c); - } - }); - } - - @Override - public Iterator<Person> iterator() { - return internalList.iterator(); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof UniquePersonList // instanceof handles nulls - && this.internalList.equals(((UniquePersonList) other).internalList)); - } - - @Override - public int hashCode() { - return internalList.hashCode(); - } - -} -``` -###### \java\seedu\address\model\person\UniqueStudentList.java -``` java - /** - * Add a listener to the list for any changes. - * Update {@code contacts} for any changes made. - */ - public void addListener(UniqueContactList contacts) { - internalList.addListener(new ListChangeListener<Student>() { - @Override - public void onChanged(Change<? extends Student> c) { - contacts.updateList(c); - } - }); - } - - @Override - public Iterator<Student> iterator() { - return internalList.iterator(); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof UniqueStudentList // instanceof handles nulls - && this.internalList.equals(((UniqueStudentList) other).internalList)); - } - - @Override - public int hashCode() { - return internalList.hashCode(); - } -} -``` diff --git a/collated/test/Sisyphus25-reused.md b/collated/test/Sisyphus25-reused.md deleted file mode 100644 index 9915828f597c..000000000000 --- a/collated/test/Sisyphus25-reused.md +++ /dev/null @@ -1,86 +0,0 @@ -# Sisyphus25-reused -###### \java\guitests\guihandles\PersonCardHandle.java -``` java - //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - /** - * - * @param tag Text value of the tag label - * @return List of style classes for tag label with text value {@code tag} - */ - public List<String> getTagStyleClasses(String tag) { - return tagLabels - .stream() - .filter(label -> label.getText().equals(tag)) - .map(Label::getStyleClass) - .findFirst() - .orElseThrow(() -> new IllegalArgumentException("No such tag.")); - } -} -``` -###### \java\seedu\address\ui\AppointmentCardTest.java -``` java -//Reuse with modification from PersonCardTest -public class AppointmentCardTest extends GuiUnitTest { - - @Test - public void equals() { - Appointment appointment = TYPICAL_APPOINTMENT_2; - AppointmentCard appointmentCard = new AppointmentCard(appointment, 0); - - // same appointment, same index -> returns true - AppointmentCard copy = new AppointmentCard(appointment, 0); - assertTrue(appointmentCard.equals(copy)); - - // same object -> returns true - assertTrue(appointmentCard.equals(appointmentCard)); - - // null -> returns false - assertFalse(appointmentCard.equals(null)); - - // different types -> returns false - assertFalse(appointmentCard.equals(0)); - - // different appointment, same index -> returns false - Appointment differentAppointment = TYPICAL_APPOINTMENT_3; - assertFalse(appointmentCard.equals(new AppointmentCard(differentAppointment, 0))); - - // same appointment, different index -> returns false - assertFalse(appointmentCard.equals(new AppointmentCard(appointment, 1))); - } - -} -``` -###### \java\seedu\address\ui\TaskCardTest.java -``` java -//Reuse with modification from PersonCardTest -public class TaskCardTest extends GuiUnitTest { - - @Test - public void equals() { - Task task = TYPICAL_TASK_2; - TaskCard taskCard = new TaskCard(task, 0); - - // same task, same index -> returns true - TaskCard copy = new TaskCard(task, 0); - assertTrue(taskCard.equals(copy)); - - // same object -> returns true - assertTrue(taskCard.equals(taskCard)); - - // null -> returns false - assertFalse(taskCard.equals(null)); - - // different types -> returns false - assertFalse(taskCard.equals(0)); - - // different task, same index -> returns false - Task differentTask = TYPICAL_TASK_1; - assertFalse(taskCard.equals(new TaskCard(differentTask, 0))); - - Task expiredTask = TYPICAL_TASK_EXPIRED; - TaskCard expiredTaskCard = new TaskCard(TYPICAL_TASK_EXPIRED, 1); - // same task, different index -> returns false - assertFalse(taskCard.equals(expiredTaskCard)); - } -} -``` diff --git a/collated/test/Sisyphus25.md b/collated/test/Sisyphus25.md deleted file mode 100644 index ac5f0472b003..000000000000 --- a/collated/test/Sisyphus25.md +++ /dev/null @@ -1,946 +0,0 @@ -# Sisyphus25 -###### \java\seedu\address\logic\commands\ChangeThemeCommandTest.java -``` java -public class ChangeThemeCommandTest { - @Rule - public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); - - @Test - public void execute_help_success() throws CommandException { - String theme = "dark"; - CommandResult result = new ChangeThemeCommand(theme).execute(); - assertEquals(MESSAGE_CHANGE_THEME_SUCCESS, result.feedbackToUser); - assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ThemeChangeEvent); - assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); - } -} -``` -###### \java\seedu\address\logic\commands\ListCommandTest.java -``` java - @Test - public void execute_listEvent_success() throws CommandException { - assertListEventSuccess(TYPE_APPOINTMENT); - assertListEventSuccess(TYPE_TASK); - } - - /** - * assert if execution of listing of event is successful or not - * @throws CommandException - */ - private void assertListEventSuccess(String eventType) throws CommandException{ - listCommand = new ListCommand(eventType); - listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); - CommandResult result = listCommand.execute(); - assertEquals(MESSAGE_SUCCESS + eventType, result.feedbackToUser); - assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); - } -} -``` -###### \java\seedu\address\logic\commands\RemoveCommandTest.java -``` java - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; -import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; -import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND; -import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; - -import org.junit.Test; - -import seedu.address.commons.core.Messages; -import seedu.address.commons.core.index.Index; -import seedu.address.logic.CommandHistory; -import seedu.address.logic.UndoRedoStack; -import seedu.address.model.Model; -import seedu.address.model.ModelManager; -import seedu.address.model.UserPrefs; -import seedu.address.model.event.Appointment; -import seedu.address.model.event.Task; - -/** - * Contains Test for {@code RemoveCommand} - */ -public class RemoveCommandTest { - private Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - - @Test - public void execute_validIndexRemoveAppointment_success() throws Exception { - ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); - Appointment appointmentToDelete = model.getFilteredAppointmentList().get(INDEX_FIRST.getZeroBased()); - RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); - String expectedMessage = - String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "appointment", appointmentToDelete); - expectedModel.deleteAppointment(appointmentToDelete); - assertCommandSuccess(removeCommandRemovingAppointment, model, expectedMessage, expectedModel); - } - - @Test - public void execute_validIndexRemoveTask_success() throws Exception { - ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); - Task taskToDelete = model.getFilteredTaskList().get(INDEX_FIRST.getZeroBased()); - RemoveCommand removeCommandRemovingTask = prepareCommand(INDEX_FIRST, "task"); - String expectedMessage = - String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "task", taskToDelete); - expectedModel.deleteTask(taskToDelete); - assertCommandSuccess(removeCommandRemovingTask, model, expectedMessage, expectedModel); - } - - @Test - public void execute_invalidIndex_throwsCommandException() throws Exception { - Index outOfBoundIndex = Index.fromOneBased(model.getFilteredTaskList().size() + 1); - RemoveCommand removeCommandRemovingTask = prepareCommand(outOfBoundIndex, "task"); - - Index outOfBoundIndex2 = Index.fromOneBased(model.getFilteredAppointmentList().size() + 1); - RemoveCommand removeCommandRemovingAppointment = prepareCommand(outOfBoundIndex2, "appointment"); - - assertCommandFailure(removeCommandRemovingTask, model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); - assertCommandFailure(removeCommandRemovingAppointment, - model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); - } - - @Test - public void equals() throws Exception { - RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); - RemoveCommand removeCommandRemovingTask = prepareCommand(INDEX_SECOND, "task"); - - // same object -> returns true - assertTrue(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointment)); - - // same values -> returns true - RemoveCommand removeCommandRemovingAppointmentCopy = prepareCommand(INDEX_FIRST, "appointment"); - assertTrue(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointmentCopy)); - - // one command preprocessed when previously equal -> returns false - removeCommandRemovingAppointmentCopy.preprocessUndoableCommand(); - assertFalse(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointmentCopy)); - - // different types -> returns false - assertFalse(removeCommandRemovingAppointment.equals(1)); - - // null -> returns false - assertFalse(removeCommandRemovingAppointment.equals(null)); - - // different person -> returns false - assertFalse(removeCommandRemovingAppointment.equals(removeCommandRemovingTask)); - } - - /** - * Returns a {@code RemoveCommand} with the parameter {@code index}, {@code eventType}. - */ - private RemoveCommand prepareCommand(Index index, String eventType) { - RemoveCommand removeCommand = new RemoveCommand(index, eventType); - removeCommand.setData(model, new CommandHistory(), new UndoRedoStack()); - return removeCommand; - } -} -``` -###### \java\seedu\address\logic\commands\SetAppointmentCommandTest.java -``` java -public class SetAppointmentCommandTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - private Model model; - - @Before - public void setUp() { - model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - } - - @Test - public void constructor_nullAppointment_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new SetAppointmentCommand(null, null); - } - - @Test - public void execute_invalidPersonToMeetIndex_failure() { - Index outOfBoundsIndex = Index.fromOneBased(model.getFilteredPersonList().size() + 1); - SetAppointmentCommand command = getSetAppointmentCommand(TYPICAL_APPOINTMENT_3, outOfBoundsIndex, model); - - try { - command.execute(); - fail("The expected CommandException was not thrown."); - } catch (CommandException ce) { - assertEquals(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX, ce.getMessage()); - } - } - - @Test - public void execute_appointmentWithoutPersonToMeetAccepted_addSuccessful() throws Exception { - CommandResult commandResult = - getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_3, null, model).execute(); - - assertEquals(String.format( - SetAppointmentCommand.MESSAGE_SUCCESS, APPOINTMENT_WITHOUT_PERSON_3), commandResult.feedbackToUser); - } - - @Test - public void execute_appointmentWithPersonToMeetAccepted_addSuccessful() throws Exception { - CommandResult commandResult = - getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_3, INDEX_THIRD, model).execute(); - - assertEquals(String.format( - SetAppointmentCommand.MESSAGE_SUCCESS, TYPICAL_APPOINTMENT_3), commandResult.feedbackToUser); - } - - @Test - public void execute_duplicateAppointmentsameIndex_throwsCommandException() throws Exception { - thrown.expect(CommandException.class); - thrown.expectMessage(SetAppointmentCommand.MESSAGE_DUPLICATE_APPOINTMENT); - - getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_1, INDEX_FIRST, model).execute(); - } - - @Test - public void equals() { - SetAppointmentCommand addAppointment1 = - new SetAppointmentCommand(TYPICAL_APPOINTMENT_1); - SetAppointmentCommand addAppointment2 = - new SetAppointmentCommand(TYPICAL_APPOINTMENT_2); - - // same object -> returns true - assertTrue(addAppointment1.equals(addAppointment1)); - - // same values -> returns true - SetAppointmentCommand addAppointment1Copy = - new SetAppointmentCommand(TYPICAL_APPOINTMENT_1); - assertTrue(addAppointment1.equals(addAppointment1Copy)); - - // different types -> returns false - assertFalse(addAppointment1.equals(1)); - - // null -> returns false - assertFalse(addAppointment1.equals(null)); - - // different appointments -> returns false - assertFalse(addAppointment1.equals(addAppointment2)); - } - - /** - * Generates a new SetAppointmentCommand with the details of the given appointment. - */ - private SetAppointmentCommand getSetAppointmentCommand(Appointment baseAppointment, Index index, Model model) { - SetAppointmentCommand command = new SetAppointmentCommand(baseAppointment, index); - command.setData(model, new CommandHistory(), new UndoRedoStack()); - return command; - } - -} -``` -###### \java\seedu\address\logic\commands\SetTaskCommandTest.java -``` java -public class SetTaskCommandTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - @Test - public void constructor_nullAppointment_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new SetTaskCommand(null); - } - - @Test - public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception { - ModelStubAcceptingTaskAdded modelStub = new ModelStubAcceptingTaskAdded(); - - CommandResult commandResult = getSetTaskCommand(TYPICAL_TASK_2, modelStub).execute(); - - assertEquals(String.format(SetTaskCommand.MESSAGE_SUCCESS, TYPICAL_TASK_2), commandResult.feedbackToUser); - assertEquals(Arrays.asList(TYPICAL_TASK_2), modelStub.tasksAdded); - } - - @Test - public void execute_duplicateEvent_throwsCommandException() throws Exception { - ModelStub modelStub = new ModelStubThrowingDuplicateEventException(); - - thrown.expect(CommandException.class); - thrown.expectMessage(SetTaskCommand.MESSAGE_DUPLICATE_TASK); - - getSetTaskCommand(TYPICAL_TASK_1, modelStub).execute(); - } - - @Test - public void equals() { - SetTaskCommand addTask1 = - new SetTaskCommand(TYPICAL_TASK_1); - SetTaskCommand addTask2 = - new SetTaskCommand(TYPICAL_TASK_2); - - // same object -> returns true - assertTrue(addTask1.equals(addTask1)); - - // same values -> returns true - SetTaskCommand addAppointment1Copy = - new SetTaskCommand(TYPICAL_TASK_1); - assertTrue(addTask1.equals(addAppointment1Copy)); - - // different types -> returns false - assertFalse(addTask1.equals(1)); - - // null -> returns false - assertFalse(addTask1.equals(null)); - - // different tasks -> returns false - assertFalse(addTask1.equals(addTask2)); - } - - /** - * Generates a new SetTaskCommand with the details of the given task. - */ - private SetTaskCommand getSetTaskCommand(Task task, Model model) { - SetTaskCommand command = new SetTaskCommand(task); - command.setData(model, new CommandHistory(), new UndoRedoStack()); - return command; - } - -} -``` -###### \java\seedu\address\logic\commands\ToggleCalendarViewCommandTest.java -``` java -public class ToggleCalendarViewCommandTest { - @Rule - public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); - - @Test - public void execute_help_success() throws CommandException { - Character viewMode = 'd'; - CommandResult result = new ToggleCalendarViewCommand(viewMode).execute(); - assertEquals(MESSAGE_VIEW_TOGGLE_SUCCESS, result.feedbackToUser); - assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleCalendarViewEvent); - assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); - } -} -``` -###### \java\seedu\address\logic\parser\AddressBookParserTest.java -``` java - @Test - public void parseCommand_toggleCalendarView() throws Exception { - ToggleCalendarViewCommand command = - (ToggleCalendarViewCommand) parser.parseCommand(ToggleCalendarViewCommand.COMMAND_WORD + " " + "m"); - assertEquals(new ToggleCalendarViewCommand('m'), command); - } - - @Test - public void parseCommand_setAppointment() throws Exception { - SetAppointmentCommand command = - (SetAppointmentCommand) parser.parseCommand(SetAppointmentCommand.COMMAND_WORD - + TITLE_DESC + START_TIME_DESC + END_TIME_DESC); - Appointment appointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); - assertEquals(new SetAppointmentCommand(appointment), command); - } - - @Test - public void parseCommand_setTask() throws Exception { - SetTaskCommand command = - (SetTaskCommand) parser.parseCommand(SetTaskCommand.COMMAND_WORD + TITLE_DESC + END_TIME_DESC); - Task task = new Task(new Title(VALID_TITLE), new EventTime(VALID_END_TIME)); - assertEquals(new SetTaskCommand(task), command); - } - - @Test - public void parseCommand_changeTheme() throws Exception { - ChangeThemeCommand command = - (ChangeThemeCommand) parser.parseCommand(ChangeThemeCommand.COMMAND_WORD + " " + "dark"); - assertEquals(new ChangeThemeCommand("dark"), command); - } - - @Test - public void parseCommand_remove() throws Exception { - RemoveCommand commandRemoveAppointment = - (RemoveCommand) parser.parseCommand(RemoveCommand.COMMAND_WORD + " " + "appointment" + " " + "1"); - RemoveCommand commandRemoveTask = - (RemoveCommand) parser.parseCommand(RemoveCommand.COMMAND_WORD + " " + "task" + " " + "2"); - assertEquals(new RemoveCommand(Index.fromOneBased(1), "appointment"), commandRemoveAppointment); - assertEquals(new RemoveCommand(Index.fromOneBased(2), "task"), commandRemoveTask); - } -``` -###### \java\seedu\address\logic\parser\ChangeThemeCommandParserTest.java -``` java -/** - * Test scope: similar to ToggleCalendarViewCommandParser Test - */ -public class ChangeThemeCommandParserTest { - private ChangeThemeCommandParser parser = new ChangeThemeCommandParser(); - - @Test - public void parse_validArgs_returnsToggleCalendarViewCommand() { - assertParseSuccess(parser, "dark ", new ChangeThemeCommand("dark")); - } - - @Test - public void parse_invalidArgs_throwsParseException() { - assertParseFailure(parser, "not a theme", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ChangeThemeCommand.MESSAGE_INVALID_THEME)); - assertParseFailure(parser, "x", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ChangeThemeCommand.MESSAGE_INVALID_THEME)); - } -} -``` -###### \java\seedu\address\logic\parser\ListCommandParserTest.java -``` java -public class ListCommandParserTest { - private ListCommandParser parser = new ListCommandParser(); - - @Test - public void parse_validArgs_returnsListCommand() { - assertParseSuccess(parser, "contact", new ListCommand(ListCommand.TYPE_CONTACT)); - assertParseSuccess(parser, "student", new ListCommand(ListCommand.TYPE_STUDENT)); - assertParseSuccess(parser, "task", new ListCommand(ListCommand.TYPE_TASK)); - assertParseSuccess(parser, "appointment", new ListCommand(ListCommand.TYPE_APPOINTMENT)); - } - - @Test - public void parse_invalidArgs_throwsParseException() { - assertParseFailure(parser, "ffffffd", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ListCommand.MESSAGE_USAGE)); - assertParseFailure(parser, "event", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ListCommand.MESSAGE_USAGE)); - } -} -``` -###### \java\seedu\address\logic\parser\ParserUtilTest.java -``` java - @Test - public void parseTitle_null_throwsNullPointerException() { - Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseTitle((String) null)); - Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseTitle((Optional<String>) null)); - } - - @Test - public void parseTitle_invalidValue_throwsIllegalValueException() { - Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseTitle(" ")); - Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseTitle(Optional.of(" "))); - } - - @Test - public void parseTitle_optionalEmpty_returnsOptionalEmpty() throws Exception { - assertFalse(ParserUtil.parseTitle(Optional.empty()).isPresent()); - } - - @Test - public void parseTitle_validValue_returnsTitle() throws Exception { - String validTitle = "Hanging out"; - Title expectedTitle = new Title(validTitle); - assertEquals(expectedTitle, ParserUtil.parseTitle(validTitle)); - assertEquals(Optional.of(expectedTitle), ParserUtil.parseTitle(Optional.of(validTitle))); - } - - @Test - public void parseEventTime_null_throwsNullPointerException() { - Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseEventTime((String) null)); - Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseEventTime((Optional<String>) null)); - } - - @Test - public void parseEventTime_optionalEmpty_returnsOptionalEmpty() throws Exception { - assertFalse(ParserUtil.parseEventTime(Optional.empty()).isPresent()); - } - - @Test - public void parseEventTime_validValue_returnsEventTime() throws Exception { - String validTime = "20/10/2018 10:00"; - EventTime expectedEventTime = new EventTime(validTime); - assertEquals(expectedEventTime, ParserUtil.parseEventTime(validTime)); - assertEquals(Optional.of(expectedEventTime), ParserUtil.parseEventTime(Optional.of(validTime))); - } - -``` -###### \java\seedu\address\logic\parser\RemoveCommandParserTest.java -``` java -public class RemoveCommandParserTest { - private RemoveCommandParser parser = new RemoveCommandParser(); - - @Test - public void parse_validArgs_returnsDeleteCommand() { - assertParseSuccess(parser, "appointment" + " 1", new RemoveCommand(INDEX_FIRST, "appointment")); - } - - @Test - public void parse_invalidArgs_throwsParseException() { - assertParseFailure(parser, "not valid", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); - assertParseFailure(parser, "", String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); - assertParseFailure(parser, "Appointment" + " 1", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); - assertParseFailure(parser, "appointment" + " -1", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); - } -} -``` -###### \java\seedu\address\logic\parser\SetAppointmentCommandParserTest.java -``` java -public class SetAppointmentCommandParserTest { - private SetAppointmentCommandParser parser = new SetAppointmentCommandParser(); - - @Test - public void parse_allFieldsPresent_success() { - Appointment expectedAppointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); - - // whitespace only preamble - assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + START_TIME_DESC + END_TIME_DESC, - new SetAppointmentCommand(expectedAppointment)); - } - - @Test - public void parse_optionalFieldsMissing_success() { - // no personToMeet - Appointment expectedAppointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); - assertParseSuccess(parser, TITLE_DESC + START_TIME_DESC + END_TIME_DESC, - new SetAppointmentCommand((expectedAppointment))); - } - - @Test - public void parse_compulsoryFieldMissing_failure() { - String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, SetAppointmentCommand.MESSAGE_USAGE); - - // missing title prefix - assertParseFailure(parser, VALID_TITLE + START_TIME_DESC + END_TIME_DESC, - expectedMessage); - - // missing start time prefix - assertParseFailure(parser, TITLE_DESC + VALID_START_TIME + END_TIME_DESC, - expectedMessage); - - // missing start time prefix - assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + VALID_END_TIME, - expectedMessage); - - // all prefixes missing - assertParseFailure(parser, VALID_TITLE + VALID_START_TIME + VALID_END_TIME, - expectedMessage); - } - - @Test - public void parse_invalidValue_failure() { - // invalid title - assertParseFailure(parser, INVALID_TITLE_DESC + START_TIME_DESC + END_TIME_DESC, - Title.MESSAGE_TITLE_CONSTRAINTS); - - // invalid start time - assertParseFailure(parser, TITLE_DESC + INVALID_START_TIME_DESC + END_TIME_DESC, - EventTime.MESSAGE_TIME_CONSTRAINTS); - - // invalid end time - assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + INVALID_END_TIME_DESC, - EventTime.MESSAGE_TIME_CONSTRAINTS); - } -} -``` -###### \java\seedu\address\logic\parser\SetTaskCommandParserTest.java -``` java -public class SetTaskCommandParserTest { - private SetTaskCommandParser parser = new SetTaskCommandParser(); - - @Test - public void parse_allFieldsPresent_success() { - Task expectedTask = new Task(new Title(VALID_TITLE), new EventTime(VALID_END_TIME)); - - // whitespace only preamble - assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + END_TIME_DESC, - new SetTaskCommand(expectedTask)); - } - - @Test - public void parse_compulsoryFieldMissing_failure() { - String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, SetTaskCommand.MESSAGE_USAGE); - - // missing title prefix - assertParseFailure(parser, VALID_TITLE + END_TIME_DESC, - expectedMessage); - - // missing end time prefix - assertParseFailure(parser, TITLE_DESC + VALID_END_TIME, - expectedMessage); - - // all prefixes missing - assertParseFailure(parser, VALID_TITLE + VALID_END_TIME, - expectedMessage); - } - - @Test - public void parse_invalidValue_failure() { - // invalid title - assertParseFailure(parser, INVALID_TITLE_DESC + END_TIME_DESC, Title.MESSAGE_TITLE_CONSTRAINTS); - - // invalid end time - assertParseFailure(parser, TITLE_DESC + INVALID_END_TIME_DESC, EventTime.MESSAGE_TIME_CONSTRAINTS); - } -} -``` -###### \java\seedu\address\logic\parser\ToggleCalendarViewParserTest.java -``` java -public class ToggleCalendarViewParserTest { - private ToggleCalendarViewParser parser = new ToggleCalendarViewParser(); - - @Test - public void parse_validArgs_returnsToggleCalendarViewCommand() { - assertParseSuccess(parser, "d", new ToggleCalendarViewCommand('d')); - } - - @Test - public void parse_invalidArgs_throwsParseException() { - assertParseFailure(parser, "day", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ToggleCalendarViewCommand.MESSAGE_USAGE)); - assertParseFailure(parser, "x", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ToggleCalendarViewCommand.MESSAGE_USAGE)); - } -} -``` -###### \java\seedu\address\model\event\AppointmentTest.java -``` java -public class AppointmentTest { - private static final Title VALID_TITLE = new Title("Meet Student"); - private static final EventTime VALID_START_TIME = new EventTime("05/04/2018 10:00"); - private static final EventTime VALID_END_TIME = new EventTime("05/04/2018 11:00"); - private static final EventTime INVALID_END_TIME = new EventTime("05/04/2018 09:00"); - - @Test - public void constructor_invalidAppointmentTime_throwsIllegalArgumentException() { - Assert.assertThrows(IllegalArgumentException.class, () -> - new Appointment(VALID_TITLE, VALID_START_TIME, INVALID_END_TIME)); - } - - @Test - public void isValidTime() { - // invalid time stamps - assertFalse(Appointment.isValidTime(VALID_START_TIME, INVALID_END_TIME)); //End time is before Start Time - - // valid time stamps - assertTrue(Appointment.isValidTime(VALID_START_TIME, VALID_END_TIME)); - } -} -``` -###### \java\seedu\address\model\event\EventTimeTest.java -``` java -public class EventTimeTest { - @Test - public void constructor_null_throwsNullPointerException() { - Assert.assertThrows(NullPointerException.class, () -> new EventTime(null)); - } - - @Test - public void constructor_invalid_throwsIllegalArgumentException() { - Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("invalidTimeStamp")); - Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("")); - Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("10/20 10:00")); - Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("May 17 2018 10:00")); - Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("17-05-2019 10:00")); - } - - @Test - public void isExpired() { - EventTime pastTime = new EventTime("20/10/2013 10:00"); - EventTime futureTime = new EventTime("20/10/2100 10:00"); - assertFalse(futureTime.isExpired()); - - assertTrue(pastTime.isExpired()); - } -} - -``` -###### \java\seedu\address\model\event\TitleTest.java -``` java -public class TitleTest { - @Test - public void constructor_null_throwsNullPointerException() { - Assert.assertThrows(NullPointerException.class, () -> new Title(null)); - } - - @Test - public void constructor_invalidTitle_throwsIllegalArgumentException() { - String invalidTitle = ""; - Assert.assertThrows(IllegalArgumentException.class, () -> - new Title(invalidTitle)); - } - - @Test - public void isValidTitle() { - // null title - Assert.assertThrows(NullPointerException.class, () -> Title.isValidTitle(null)); - - // invalid title - assertFalse(Title.isValidTitle("")); // empty string - assertFalse(Title.isValidTitle(" ")); // spaces only - - // valid title - assertTrue(Title.isValidTitle("Meet Dave")); - assertTrue(Title.isValidTitle("-")); // one character - } -} -``` -###### \java\seedu\address\storage\XmlAdaptedAppointmentTest.java -``` java -public class XmlAdaptedAppointmentTest { - - private static final String INVALID_TITLE = " "; - private static final String VALID_PERSON_TO_MEET = "Alice Email: alice@gmail.com"; - private static final String INVALID_TIME = "not a time stamp"; - - @Test - public void toModelType_validAppointmentDetails_returnsPerson() throws Exception { - XmlAdaptedAppointment appointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); - assertEquals(TYPICAL_APPOINTMENT_1, appointment.toModelType()); - } - - @Test - public void toModelType_invalidTitle_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(INVALID_TITLE, VALID_START_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); - String expectedMessage = Title.MESSAGE_TITLE_CONSTRAINTS; - Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void toModelType_invalidStartTime_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(VALID_TITLE, INVALID_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); - String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; - Assert.assertThrows(IllegalArgumentException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void toModelType_invalidStartEndTime_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(VALID_TITLE, VALID_START_TIME, INVALID_TIME, VALID_PERSON_TO_MEET); - String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; - Assert.assertThrows(IllegalArgumentException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void toModelType_nullTitle_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(null, VALID_START_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName()); - Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void toModelType_nullStartTime_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(VALID_TITLE, null, VALID_END_TIME, VALID_PERSON_TO_MEET); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Start Time"); - Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void toModelType_nullEndTime_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(VALID_TITLE, VALID_START_TIME, null, VALID_PERSON_TO_MEET); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "End Time"); - Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void toModelType_invalidTimePeriod_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(VALID_TITLE, "20/10/2018 10:00", "20/10/2018 09:00"); - String expectedMessage = Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS; - Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void equals() { - XmlAdaptedAppointment appointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); - - //same object - assertTrue(appointment.equals(appointment)); - - //same value - XmlAdaptedAppointment appointmentCopy = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); - assertTrue(appointment.equals(appointmentCopy)); - - //different type - assertFalse(appointment.equals(TYPICAL_APPOINTMENT_1)); - - //different obj - XmlAdaptedAppointment anotherAppointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_2); - assertFalse(appointment.equals(anotherAppointment)); - } -} -``` -###### \java\seedu\address\storage\XmlAdaptedTaskTest.java -``` java -public class XmlAdaptedTaskTest { - - private static final String INVALID_TITLE = " "; - private static final String INVALID_TIME = "not a time stamp"; - - @Test - public void toModelType_validTaskDetails_returnsPerson() throws Exception { - XmlAdaptedTask task = new XmlAdaptedTask(TYPICAL_TASK_1); - assertEquals(TYPICAL_TASK_1, task.toModelType()); - } - - @Test - public void toModelType_invalidTitle_throwsIllegalValueException() { - XmlAdaptedTask task = - new XmlAdaptedTask(INVALID_TITLE, VALID_END_TIME); - String expectedMessage = Title.MESSAGE_TITLE_CONSTRAINTS; - Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); - } - - @Test - public void toModelType_invalidTime_throwsIllegalValueException() { - XmlAdaptedTask task = - new XmlAdaptedTask(VALID_TITLE, INVALID_TIME); - String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; - Assert.assertThrows(IllegalArgumentException.class, expectedMessage, task::toModelType); - } - - @Test - public void toModelType_nullTitle_throwsIllegalValueException() { - XmlAdaptedTask task = - new XmlAdaptedTask(null, VALID_END_TIME); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName()); - Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); - } - - @Test - public void toModelType_nullTime_throwsIllegalValueException() { - XmlAdaptedTask task = - new XmlAdaptedTask(VALID_TITLE, null); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time"); - Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); - } - - @Test - public void equals() { - XmlAdaptedTask task = new XmlAdaptedTask(TYPICAL_TASK_1); - - //same object - assertTrue(task.equals(task)); - - //same value - XmlAdaptedTask taskCopy = new XmlAdaptedTask(TYPICAL_TASK_1); - assertTrue(task.equals(taskCopy)); - - //different type - assertFalse(task.equals(TYPICAL_TASK_1)); - - //different obj - XmlAdaptedTask anotherTask = new XmlAdaptedTask(TYPICAL_TASK_2); - assertFalse(task.equals(anotherTask)); - } -} -``` -###### \java\seedu\address\testutil\AppointmentBuilder.java -``` java -/** - * A utility class to help with building Appointment objects. - */ -public class AppointmentBuilder { - private Title title; - private EventTime time; - private EventTime endTime; - private PersonToMeet personToMeet; - - public AppointmentBuilder(String title, String time, String endTime) { - this(title, time, endTime, (String) null); - } - - public AppointmentBuilder(String title, String time, String endTime, Person personToMeet) { - this(title, time, endTime, personToMeet.getName() + EMAIL_SPLITTER + personToMeet.getEmail()); - } - - public AppointmentBuilder(String title, String time, String endTime, String personToMeet) { - this.title = new Title(title); - this.time = new EventTime(time); - this.endTime = new EventTime(endTime); - if (personToMeet != null) { - String[] components = personToMeet.split(EMAIL_SPLITTER); - this.personToMeet = new PersonToMeet(components[0], components[1]); - } - } - - /** - * @return an {@code Appointment} from the data feed to constructor - */ - public Appointment build() { - return new Appointment(title, time, endTime, personToMeet); - } -} -``` -###### \java\seedu\address\testutil\modelstub\ModelStubAcceptingTaskAdded.java -``` java -/** - * A Model stub that always accept the task being added. - */ -public class ModelStubAcceptingTaskAdded extends ModelStub { - public final ArrayList<Task> tasksAdded = new ArrayList<>(); - - @Override - public void addTask(Task event) throws DuplicateEventException { - requireNonNull(event); - tasksAdded.add(event); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - return new AddressBook(); - } -} -``` -###### \java\seedu\address\testutil\modelstub\ModelStubThrowingDuplicateEventException.java -``` java -/** - * A Model stub that always throw a DuplicateEventException when trying to add an appointment/task. - */ -public class ModelStubThrowingDuplicateEventException extends ModelStub { - @Override - public void addAppointment (Appointment appointment) throws DuplicateEventException { - throw new DuplicateEventException(); - } - - @Override - public void addTask (Task task) throws DuplicateEventException { - throw new DuplicateEventException(); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - return new AddressBook(); - } -} -``` -###### \java\seedu\address\testutil\TypicalEvents.java -``` java -/** - * A utility class containing a list of event objects to be used in tests. - */ -public class TypicalEvents { - public static final Appointment TYPICAL_APPOINTMENT_1 = - new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build(); - public static final Appointment TYPICAL_APPOINTMENT_2 = - new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); - public static final Appointment TYPICAL_APPOINTMENT_3 = - new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00", CARL).build(); - public static final Appointment APPOINTMENT_WITHOUT_PERSON_1 = - new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00").build(); - public static final Appointment APPOINTMENT_WITHOUT_PERSON_2 = - new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); - public static final Appointment APPOINTMENT_WITHOUT_PERSON_3 = - new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00").build(); - - - public static final Task TYPICAL_TASK_1 = - new Task(new Title("To do"), new EventTime("10/10/2018 10:00")); - public static final Task TYPICAL_TASK_2 = - new Task(new Title("Mark papers"), new EventTime("15/04/2018 23:00")); - public static final Task TYPICAL_TASK_3 = - new Task(new Title("Purchase markers"), new EventTime("19/04/2018 10:00")); - public static final Task TYPICAL_TASK_EXPIRED = - new Task(new Title("Expired task"), new EventTime("19/04/2013 10:00")); - - public static List<Appointment> getTypicalAppointments() { - return new ArrayList<>(Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2)); - } - public static List<Task> getTypicalTasks() { - return new ArrayList<>(Arrays.asList(TYPICAL_TASK_1, TYPICAL_TASK_2)); - } -} -``` From 4702917e4f19be930318ece4adce053b0329b706 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 4 Apr 2018 11:38:12 +0800 Subject: [PATCH 264/288] Updating collated code --- collated/functional/Sisyphus25-reused.md | 146 - collated/functional/Sisyphus25.md | 2541 ----------------- collated/functional/randypx.md | 120 - collated/functional/shanmu9898.md | 1091 ------- collated/test/Sisyphus25-reused.md | 19 - collated/test/Sisyphus25.md | 933 ------ collated/test/shanmu9898.md | 1226 -------- .../java/seedu/address/ui/TaskListPanel.java | 3 +- 8 files changed, 2 insertions(+), 6077 deletions(-) delete mode 100644 collated/functional/Sisyphus25-reused.md delete mode 100644 collated/functional/Sisyphus25.md delete mode 100644 collated/functional/randypx.md delete mode 100644 collated/functional/shanmu9898.md delete mode 100644 collated/test/Sisyphus25-reused.md delete mode 100644 collated/test/Sisyphus25.md delete mode 100644 collated/test/shanmu9898.md diff --git a/collated/functional/Sisyphus25-reused.md b/collated/functional/Sisyphus25-reused.md deleted file mode 100644 index ca0ec3c775d8..000000000000 --- a/collated/functional/Sisyphus25-reused.md +++ /dev/null @@ -1,146 +0,0 @@ -# Sisyphus25-reused -###### /resources/view/TagColour.css -``` css -Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - */ -#tags .teal { - -fx-text-fill: white; - -fx-background-color: #3e7b91; -} - -#tags .red { - -fx-text-fill: black; - -fx-background-color: red; -} - -#tags .yellow { - -fx-background-color: yellow; - -fx-text-fill: black; -} - -#tags .blue { - -fx-text-fill: white; - -fx-background-color: blue; -} - -#tags .orange { - -fx-text-fill: black; - -fx-background-color: orange; -} - -#tags .brown { - -fx-text-fill: white; - -fx-background-color: brown; -} - -#tags .green { - -fx-text-fill: black; - -fx-background-color: green; -} - -#tags .pink { - -fx-text-fill: black; - -fx-background-color: pink; -} - -#tags .black { - -fx-text-fill: white; - -fx-background-color: black; -} - -#tags .grey { - -fx-text-fill: black; - -fx-background-color: grey; -} -``` -###### /java/seedu/address/ui/CalendarPanel.java -``` java - //Reused from https://github.com/CS2103AUG2017-T17-B2/main with modifications - private void setTime() { - calendarView.setToday(LocalDate.now()); - calendarView.setTime(LocalTime.now()); - } - - @Subscribe - private void handleToggleCalendarViewEvent(ToggleCalendarViewEvent event) { - Character c = event.viewMode; - Platform.runLater(() -> toggleView(c)); - } - - public CalendarView getRoot() { - return this.calendarView; - } - - /** - * Remove clutter from interface - */ - private void disableViews() { - calendarView.setShowAddCalendarButton(false); - calendarView.setShowSearchField(false); - calendarView.setShowSearchResultsTray(false); - calendarView.setShowPrintButton(false); - calendarView.setShowPageSwitcher(false); - calendarView.setShowSourceTrayButton(false); - calendarView.setShowPageToolBarControls(false); - calendarView.setShowToolBar(false); - calendarView.setShowSourceTray(false); - - calendarView.showDayPage(); - } - - /** - * Changes calendar view accordingly - */ - private void toggleView(Character c) { - switch(c) { - case ('d'): - calendarView.showDayPage(); - return; - case ('w'): - calendarView.showWeekPage(); - return; - case ('m'): - calendarView.showMonthPage(); - return; - default: - //should not reach here - assert (false); - } - } -``` -###### /java/seedu/address/ui/PersonCard.java -``` java - //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - /** - * Returns the color style for {@code tagName}'s label. - */ - private void initTags(Person person) { - person.getTags().forEach(tag -> { - Label tagLabel = new Label(tag.tagName); - tagLabel.getStyleClass().add(tag.tagColorStyle); - tags.getChildren().add(tagLabel); - }); - } - -``` -###### /java/seedu/address/model/tag/Tag.java -``` java - //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - private static final String[] TAG_COLOR_STYLES = {"teal", "red", "yellow", "blue", "orange", "brown", - "green", "pink", "black", "grey"}; -``` -###### /java/seedu/address/model/tag/Tag.java -``` java - //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - /** - * Returns a color style for {@code tagName} - */ - private String getTagColorStyle(String tagName) { - // we use the hash code of the tag name to generate a random color, so that the color remain consistent - // between different runs of the program while still making it random enough between tags. - return TAG_COLOR_STYLES[Math.abs(tagName.hashCode()) % TAG_COLOR_STYLES.length]; - } - - -} -``` diff --git a/collated/functional/Sisyphus25.md b/collated/functional/Sisyphus25.md deleted file mode 100644 index d81e5f1595ae..000000000000 --- a/collated/functional/Sisyphus25.md +++ /dev/null @@ -1,2541 +0,0 @@ -# Sisyphus25 -###### /resources/view/LightTheme.css -``` css - */ -.background { - -fx-background-color: #ffffff; - background-color: #ffffff; /* Used in the default.html file */ -} - -.label { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: #555555; - -fx-opacity: 0.9; -} - -.app-title { - -fx-text-fill: brown; - -fx-font-family: "Franklin Gothic Medium"; - -fx-font-weight: bold; - -fx-font-size: 36px -} - -.label-bright { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.label-header { - -fx-font-size: 32pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.text-field { - -fx-font-size: 12pt; - -fx-font-family: "Segoe UI Semibold"; -} - -.tab-pane { - -fx-padding: 0 0 0 1; -} - -.tab-pane .tab-header-area { - -fx-padding: 0 0 0 0; - -fx-min-height: 0; - -fx-max-height: 0; -} - -.table-view { - -fx-base: #1d1d1d; - -fx-control-inner-background: #ffffff; - -fx-background-color: #ffffff; - -fx-table-cell-border-color: transparent; - -fx-table-header-border-color: transparent; - -fx-padding: 5; -} - -.table-view .column-header-background { - -fx-background-color: transparent; -} - -.table-view .column-header, .table-view .filler { - -fx-size: 35; - -fx-border-width: 0 0 1 0; - -fx-background-color: transparent; - -fx-border-color: - transparent - transparent - derive(-fx-base, 80%) - transparent; - -fx-border-insets: 0 10 1 0; -} - -.table-view .column-header .label { - -fx-font-size: 20pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: black; - -fx-alignment: center-left; - -fx-opacity: 1; -} - -.table-view:focused .table-row-cell:filled:focused:selected { - -fx-background-color: -fx-focus-color; -} - -.split-pane:horizontal .split-pane-divider { - -fx-background-color: derive(#ffffff, 20%); - -fx-border-color: transparent transparent transparent tomato; -} - -.split-pane { - -fx-border-radius: 1; - -fx-border-width: 1; - -fx-background-color: derive(#ffffff, 20%); -} - -.list-view { - -fx-background-insets: 0; - -fx-padding: 0; - -fx-background-color: derive(#ffffff, 20%); - -} - -.list-cell { - -fx-label-padding: 0 0 0 0; - -fx-graphic-text-gap : 0; - -fx-background-radius: 10 10 10 10; - -fx-border-radius: 10 10 10 10; - -fx-padding: 10px; - -fx-background-insets: 3px, 3px; - -fx-background-color: transparent -} - -.list-cell:filled:even { - -fx-background-color: #ffd0d0; -} - -.list-cell:filled:odd { - -fx-background-color: #ffd0d0; -} - -.list-cell:filled:selected { - -fx-background-color: #ffc2c2; -} - -.list-cell:filled:selected #cardPane { - -fx-border-color: #ffc2c2; - -fx-border-width: 1; -} - -.list-cell .label { - -fx-text-fill: brown; -} - -.cell_big_label { - -fx-font-family: "Segoe UI Semibold"; - -fx-font-size: 16px; - -fx-text-fill: #ffd0d0; -} - -.cell_small_label { - -fx-font-family: "Segoe UI"; - -fx-font-size: 13px; - -fx-text-fill: #ffd0d0; -} - -.anchor-pane { - -fx-background-color: derive(#ffffff, 20%); -} - -.pane-with-border { - -fx-background-color: derive(#ffffff, 20%); - -fx-border-color: transparent; - -fx-border-top-width: 1px; -} - -.status-bar { - -fx-background-color: derive(#ffd0d0, 20%); - -fx-text-fill: white; -} - -.result-display { - -fx-background-color: transparent; - -fx-font-family: "Segoe UI"; - -fx-font-size: 13pt; - -fx-text-fill: brown; -} - -.result-display .label { - -fx-text-fill: white !important; -} - -.status-bar .label { - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: brown; -} - -.status-bar-with-border { - -fx-background-color: derive(#ffd0d0, 30%); - -fx-border-color: derive(#ffd0d0, 25%); - -fx-border-width: 1px; -} - -.status-bar-with-border .label { - -fx-text-fill: brown; -} - -.grid-pane { - -fx-background-color: derive(#ffd0d0, 30%); - -fx-border-color: derive(#ffd0d0, 30%); - -fx-border-width: 1px; -} - -.grid-pane .anchor-pane { - -fx-background-color: derive(#ffd0d0, 30%); -} - -.calendar-panel .button { - -fx-text-fill: #000000; -} - -.calendar-panel { - -fx-background-color: #ffffff; - background-color: #ffffff; -} - -.calendar-panel .content { - -fx-border-color: transparent transparent tomato transparent; -} - -.calendar-panel .header { - -fx-border-color: tomato transparent transparent transparent; -} - -.context-menu { - -fx-background-color: derive(#ffd0d0, 50%); -} - -.context-menu .label { - -fx-text-fill: brown; -} - -.menu-bar { - -fx-background-color: derive(#ffd0d0, 20%); -} - -.menu-bar .label { - -fx-font-size: 14pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: brown; - -fx-opacity: 0.9; -} - -.menu .left-container { - -fx-background-color: black; -} - -/* - * Metro style Push Button - * Author: Pedro Duque Vieira - * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ - */ -.button { - -fx-padding: 5 22 5 22; - -fx-border-color: #e2e2e2; - -fx-border-width: 2; - -fx-background-radius: 0; - -fx-background-color: #1d1d1d; - -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; - -fx-font-size: 11pt; - -fx-text-fill: #d8d8d8; - -fx-background-insets: 0 0 0 0, 0, 1, 2; -} - -.button:hover { - -fx-background-color: #3a3a3a; -} - -.button:pressed, .button:default:hover:pressed { - -fx-background-color: white; - -fx-text-fill: #1d1d1d; -} - -.button:focused { - -fx-border-color: white, white; - -fx-border-width: 1, 1; - -fx-border-style: solid, segments(1, 1); - -fx-border-radius: 0, 0; - -fx-border-insets: 1 1 1 1, 0; -} - -.button:disabled, .button:default:disabled { - -fx-opacity: 0.4; - -fx-background-color: #1d1d1d; - -fx-text-fill: white; -} - -.button:default { - -fx-background-color: -fx-focus-color; - -fx-text-fill: #ffffff; -} - -.button:default:hover { - -fx-background-color: derive(-fx-focus-color, 30%); -} - -.dialog-pane { - -fx-background-color: #ffffff; -} - -.dialog-pane > *.button-bar > *.container { - -fx-background-color: #ffffff; -} - -.dialog-pane > *.label.content { - -fx-font-size: 14px; - -fx-font-weight: bold; - -fx-text-fill: brown; -} - -.dialog-pane:header *.header-panel { - -fx-background-color: derive(#ffd0d0, 25%); -} - -.dialog-pane:header *.header-panel *.label { - -fx-font-size: 18px; - -fx-font-style: italic; - -fx-fill: brown; - -fx-text-fill: brown; -} - -.scroll-bar { - -fx-background-color: derive(#ffd0d0, 20%); - -fx-border-radius: 20px; - -fx-background-radius: 20px; - -} - -.scroll-bar .thumb { - -fx-background-color: derive(tomato, 20%); - -} - -.scroll-bar .increment-button, .scroll-bar .decrement-button { - -fx-background-color: transparent; - -fx-rotate: 0; - -} - -.scroll-bar .increment-arrow { - -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; - -fx-background-color: #ffffff; -} - -.scroll-bar .decrement-arrow { - -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; - -fx-background-color: #ffffff; - -fx-rotate: -180; -} - -.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { - -fx-padding: 3 3 3 3; -} - -.scroll-bar:horizontal .increment-arrow{ - -fx-rotate: -90; - -fx-padding: 3 3 3 3; -} - -.scroll-bar:horizontal .decrement-arrow { - -fx-rotate: 90; - -fx-padding: 3 3 3 3; -} - -#cardPane { - -fx-background-color: transparent; - -fx-border-width: 10pt; -} - -#commandTypeLabel { - -fx-font-size: 11px; - -fx-text-fill: #F70D1A; -} - -#commandTextField { - -fx-background-color: transparent #ffd0d0 transparent #ffd0d0; - -fx-background-insets: 0; - -fx-border-color: #ffd0d0 #ffd0d0 brown #ffd0d0 ; - -fx-border-insets: 0; - -fx-border-width: 1; - -fx-font-family: "Segoe UI"; - -fx-font-size: 13pt; - -fx-text-fill: brown; -} - -#filterField, #personListPanel, #personWebpage { - -fx-effect: innershadow(gaussian, brown, 10, 0, 0, 0); -} - -#resultDisplay .content { - -fx-background-color: transparent, #ffffff, transparent, #ffffff; - -fx-background-radius: 0; - -fx-border-color: #ffd0d0; -} -``` -###### /resources/view/DogeTheme.css -``` css - */ - -.root { - -fx-background-image: url("../images/doge.jpg"); - -fx-background-repeat: repeat; - -fx-background-position: center center; - -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); -} - -.label { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: #555555; - -fx-opacity: 0.9; -} - -.app-title { - -fx-text-fill: white; - -fx-font-family: "Franklin Gothic Heavy"; - -fx-font-size: 40px; -} - -.app-title .text { - -fx-stroke: black; - -fx-stroke-width: 1px; -} - -.label-bright { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.label-header { - -fx-font-size: 32pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.text-field { - -fx-font-size: 12pt; - -fx-font-family: "Segoe UI Semibold"; -} - -.tab-pane { - -fx-padding: 0 0 0 1; -} - -.tab-pane .tab-header-area { - -fx-padding: 0 0 0 0; - -fx-min-height: 0; - -fx-max-height: 0; -} - -.table-view { - -fx-base: #1d1d1d; - -fx-control-inner-background: transparent; - -fx-background-color: transparent; - -fx-table-cell-border-color: transparent; - -fx-table-header-border-color: transparent; - -fx-padding: 5; -} - -.table-view .column-header-background { - -fx-background-color: transparent; -} - -.table-view .column-header, .table-view .filler { - -fx-size: 35px; - -fx-border-width: 0 0 1 0; - -fx-background-color: transparent; - -fx-border-color: - transparent - transparent - derive(-fx-base, 80%) - transparent; - -fx-border-insets: 0 10 1 0; -} - -.table-view .column-header .label { - -fx-font-size: 20pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: black; - -fx-alignment: center-left; - -fx-opacity: 1; -} - -.table-view:focused .table-row-cell:filled:focused:selected { - -fx-background-color: -fx-focus-color; -} - -.split-pane:horizontal .split-pane-divider { - -fx-background-color: transparent; - -fx-border-color: transparent transparent transparent #635615; -} - -.split-pane { - -fx-border-radius: 1; - -fx-border-width: 1; - -fx-background-color: transparent; -} - -.list-view { - -fx-background-insets: 0; - -fx-padding: 0; - -fx-background-color: transparent; - -} - -.list-cell { - -fx-label-padding: 0 0 0 0; - -fx-graphic-text-gap : 0; - -fx-background-radius: 10 10 10 10; - -fx-border-radius: 10 10 10 10; - -fx-padding: 10px; - -fx-background-insets: 3px, 3px; - -fx-background-color: transparent -} - -.list-cell:filled:even { - -fx-background-color: #efdc7f; -} - -.list-cell:filled:odd { - -fx-background-color: #efdc7f; -} - -.list-cell:filled:selected { - -fx-background-color: #efdc7f; -} - -.list-cell:filled:selected #cardPane { - -fx-border-color: #c1b05b; - -fx-border-width: 1; - -} - -.list-cell .label { - -fx-text-fill: black; -} - -.cell_big_label { - -fx-font-family: "Segoe UI Semibold"; - -fx-font-size: 16px; - -fx-text-fill: #efdc7f; -} - -.cell_small_label { - -fx-font-family: "Segoe UI"; - -fx-font-size: 13px; - -fx-text-fill: #efdc7f; -} - -.anchor-pane { - -fx-background-color: transparent; -} - -.pane-with-border { - -fx-background-color: transparent; - -fx-border-color: derive(#efdc7f, 10%); - -fx-border-top-width: 1px; -} - -.status-bar { - -fx-background-color: transparent; - -fx-text-fill: white; -} - -.result-display { - -fx-background-color: transparent; - -fx-font-family: "Segoe UI"; - -fx-font-size: 13pt; - -fx-text-fill: black; -} - -.result-display .label { - -fx-text-fill: transparent !important; -} - -.status-bar .label { - -fx-font-family: "Segoe UI"; - -fx-text-fill: black; -} - -.status-bar-with-border { - -fx-background-color: transparent; - -fx-border-color: derive(#efdc7f, 25%); - -fx-border-width: 1px; -} - -.status-bar-with-border .label { - -fx-text-fill: black; -} - -.grid-pane { - -fx-background-color: transparent; - -fx-border-color: derive(#efdc7f, 30%); - -fx-border-width: 1px; -} - -.grid-pane .anchor-pane { - -fx-background-color: transparent; -} - -.calendar-panel .button { - -fx-text-fill: #000000; -} - -.calendar-panel { - -fx-background-color: transparent; - background-color: transparent; -} - -.context-menu { - -fx-background-color: derive(#efdc7f, 50%); -} - -.context-menu .label { - -fx-text-fill: black; -} - -.menu-bar { - -fx-background-color: transparent; -} - -.menu-bar .label { - -fx-font-size: 14pt; - -fx-font-family: "Segoe UI"; - -fx-text-fill: black; - -fx-opacity: 0.9; -} - -.menu .left-container { - -fx-background-color: black; -} - -/* - * Metro style Push Button - * Author: Pedro Duque Vieira - * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ - */ -.button { - -fx-padding: 5 22 5 22; - -fx-border-color: #e2e2e2; - -fx-border-width: 2; - -fx-background-radius: 0; - -fx-background-color: #1d1d1d; - -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; - -fx-font-size: 11pt; - -fx-text-fill: #d8d8d8; - -fx-background-insets: 0 0 0 0, 0, 1, 2; -} - -.button:hover { - -fx-background-color: #3a3a3a; -} - -.button:pressed, .button:default:hover:pressed { - -fx-background-color: white; - -fx-text-fill: #1d1d1d; -} - -.button:focused { - -fx-border-color: white, white; - -fx-border-width: 1, 1; - -fx-border-style: solid, segments(1, 1); - -fx-border-radius: 0, 0; - -fx-border-insets: 1 1 1 1, 0; -} - -.button:disabled, .button:default:disabled { - -fx-opacity: 0.4; - -fx-background-color: #1d1d1d; - -fx-text-fill: white; -} - -.button:default { - -fx-background-color: -fx-focus-color; - -fx-text-fill: #ffffff; -} - -.button:default:hover { - -fx-background-color: derive(-fx-focus-color, 30%); -} - -.dialog-pane { - -fx-background-color: transparent; -} - -.dialog-pane > *.button-bar > *.container { - -fx-background-color: #ffffff; -} - -.dialog-pane > *.label.content { - -fx-font-size: 14px; - -fx-font-weight: bold; - -fx-text-fill: black; -} - -.dialog-pane:header *.header-panel { - -fx-background-color: derive(#efdc7f, 25%); -} - -.dialog-pane:header *.header-panel *.label { - -fx-font-size: 18px; - -fx-font-style: italic; - -fx-fill: black; - -fx-text-fill: black; -} - -.scroll-bar { - -fx-background-color: derive(#efdc7f, 20%); - -fx-border-radius: 20px; - -fx-background-radius: 20px; - -} - -.scroll-bar .thumb { - -fx-background-color: derive(#635615, 20%); - -} - -.scroll-bar .increment-button, .scroll-bar .decrement-button { - -fx-background-color: transparent; - -fx-rotate: 0; - -} - -.scroll-bar .increment-arrow { - -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; - -fx-background-color: #ffffff; -} - -.scroll-bar .decrement-arrow { - -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; - -fx-background-color: #ffffff; - -fx-rotate: -180; -} - -.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { - -fx-padding: 3 3 3 3; -} - -.scroll-bar:horizontal .increment-arrow{ - -fx-rotate: -90; - -fx-padding: 3 3 3 3; -} - -.scroll-bar:horizontal .decrement-arrow { - -fx-rotate: 90; - -fx-padding: 3 3 3 3; -} - -#cardPane { - -fx-background-color: transparent; - -fx-border-width: 10pt; -} - -#commandTypeLabel { - -fx-font-size: 11px; - -fx-text-fill: #F70D1A; -} - -#commandTextField { - -fx-background-color: #efdc7f; - -fx-background-insets: 0; - -fx-border-color: #efdc7f #efdc7f black #efdc7f ; - -fx-border-insets: 0; - -fx-border-width: 1; - -fx-font-family: "Segoe UI"; - -fx-font-size: 13pt; - -fx-text-fill: black; -} - -#filterField, #personListPanel, #personWebpage { - -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); -} - -#resultDisplay { - -fx-background-color: transparent; -} - -#resultDisplay .scroll-pane .viewport{ - -fx-background-color: transparent; -} - -#resultDisplay .content { - -fx-background-color: #efdc7f; - -fx-background-radius: 0; -} -``` -###### /resources/view/GalaxyTheme.css -``` css - */ - -.root { - -fx-background-image: url("../images/galaxy.jpg"); - -fx-background-size: cover; - -fx-background-position: center center; - -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); -} - -.label { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: #555555; - -fx-opacity: 0.9; -} - -.app-title { - -fx-text-fill: white; - -fx-font-family: "Franklin Gothic Heavy"; - -fx-font-size: 40px; -} - -.app-title .text { - -fx-stroke: black; - -fx-stroke-width: 1px; -} - -.label-bright { - -fx-font-size: 11pt; - -fx-font-family: "Segoe UI Semibold"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.label-header { - -fx-font-size: 32pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: white; - -fx-opacity: 1; -} - -.text-field { - -fx-font-size: 12pt; - -fx-font-family: "Segoe UI Semibold"; -} - -.tab-pane { - -fx-padding: 0 0 0 1; -} - -.tab-pane .tab-header-area { - -fx-padding: 0 0 0 0; - -fx-min-height: 0; - -fx-max-height: 0; -} - -.table-view { - -fx-base: #1d1d1d; - -fx-control-inner-background: transparent; - -fx-background-color: transparent; - -fx-table-cell-border-color: transparent; - -fx-table-header-border-color: transparent; - -fx-padding: 5; -} - -.table-view .column-header-background { - -fx-background-color: transparent; -} - -.table-view .column-header, .table-view .filler { - -fx-size: 35px; - -fx-border-width: 0 0 1 0; - -fx-background-color: transparent; - -fx-border-color: - transparent - transparent - derive(-fx-base, 80%) - transparent; - -fx-border-insets: 0 10 1 0; -} - -.table-view .column-header .label { - -fx-font-size: 20pt; - -fx-font-family: "Segoe UI Light"; - -fx-text-fill: black; - -fx-alignment: center-left; - -fx-opacity: 1; -} - -.table-view:focused .table-row-cell:filled:focused:selected { - -fx-background-color: -fx-focus-color; -} - -.split-pane:horizontal .split-pane-divider { - -fx-background-color: transparent; - -fx-border-color: transparent; -} - -.split-pane { - -fx-border-radius: 1; - -fx-border-width: 1; - -fx-background-color: transparent; -} - -.list-view { - -fx-background-insets: 0; - -fx-padding: 0; - -fx-background-color: transparent; - -} - -.list-cell { - -fx-label-padding: 0 0 0 0; - -fx-graphic-text-gap : 0; - -fx-background-radius: 10 10 10 10; - -fx-border-radius: 10 10 10 10; - -fx-padding: 10px; - -fx-background-insets: 3px, 3px; - -fx-background-color: transparent -} - -.list-cell:filled:even { - -fx-background-color: #edf2f9; -} - -.list-cell:filled:odd { - -fx-background-color: #edf2f9; -} - -.list-cell:filled:selected { - -fx-background-color: #c0c5f9; -} - -.list-cell .label { - -fx-text-fill: black; -} - -.cell_big_label { - -fx-font-family: "Segoe UI Semibold"; - -fx-font-size: 16px; - -fx-text-fill: #edf2f9; -} - -.cell_small_label { - -fx-font-family: "Segoe UI"; - -fx-font-size: 13px; - -fx-text-fill: #edf2f9; -} - -.anchor-pane { - -fx-background-color: transparent; -} - -.pane-with-border { - -fx-background-color: transparent; - -fx-border-color: transparent; - -fx-border-top-width: 1px; -} - -.status-bar { - -fx-background-color: transparent; - -fx-text-fill: white; -} - -.result-display { - -fx-background-color: transparent; - -fx-font-family: "Segoe UI"; - -fx-font-size: 13pt; - -fx-text-fill: black; -} - -.result-display .label { - -fx-text-fill: transparent !important; -} - -.status-bar .label { - -fx-font-family: "Segoe UI"; - -fx-text-fill: #edf2f9; -} - -.status-bar-with-border { - -fx-background-color: transparent; - -fx-border-color: transparent; - -fx-border-width: 1px; -} - -.status-bar-with-border .label { - -fx-text-fill: black; -} - -.grid-pane { - -fx-background-color: transparent; - -fx-border-color: transparent; - -fx-border-width: 1px; -} - -.grid-pane .anchor-pane { - -fx-background-color: transparent; -} - -.calendar-panel .button { - -fx-text-fill: #000000; -} - -.calendar-panel { - -fx-background-color: transparent; - background-color: transparent; -} - -.context-menu { - -fx-background-color: derive(#070f60, 50%); -} - -.context-menu .label { - -fx-text-fill: #edf2f9; -} - -.menu-bar { - -fx-background-color: transparent; -} - -.menu-bar .label { - -fx-font-size: 14pt; - -fx-font-family: "Segoe UI"; - -fx-text-fill: #edf2f9; - -fx-opacity: 0.9; -} - -.menu .left-container { - -fx-background-color: black; -} - -/* - * Metro style Push Button - * Author: Pedro Duque Vieira - * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ - */ -.button { - -fx-padding: 5 22 5 22; - -fx-border-color: #e2e2e2; - -fx-border-width: 2; - -fx-background-radius: 0; - -fx-background-color: #1d1d1d; - -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; - -fx-font-size: 11pt; - -fx-text-fill: #d8d8d8; - -fx-background-insets: 0 0 0 0, 0, 1, 2; -} - -.button:hover { - -fx-background-color: #3a3a3a; -} - -.button:pressed, .button:default:hover:pressed { - -fx-background-color: white; - -fx-text-fill: #1d1d1d; -} - -.button:focused { - -fx-border-color: white, white; - -fx-border-width: 1, 1; - -fx-border-style: solid, segments(1, 1); - -fx-border-radius: 0, 0; - -fx-border-insets: 1 1 1 1, 0; -} - -.button:disabled, .button:default:disabled { - -fx-opacity: 0.4; - -fx-background-color: #1d1d1d; - -fx-text-fill: white; -} - -.button:default { - -fx-background-color: -fx-focus-color; - -fx-text-fill: #ffffff; -} - -.button:default:hover { - -fx-background-color: derive(-fx-focus-color, 30%); -} - -.dialog-pane { - -fx-background-color: transparent; -} - -.dialog-pane > *.button-bar > *.container { - -fx-background-color: #ffffff; -} - -.dialog-pane > *.label.content { - -fx-font-size: 14px; - -fx-font-weight: bold; - -fx-text-fill: black; -} - -.dialog-pane:header *.header-panel { - -fx-background-color: derive(#edf2f9, 25%); -} - -.dialog-pane:header *.header-panel *.label { - -fx-font-size: 18px; - -fx-font-style: italic; - -fx-fill: black; - -fx-text-fill: black; -} - -.scroll-bar { - -fx-background-color: derive(#edf2f9, 20%); - -fx-border-radius: 20px; - -fx-background-radius: 20px; - -} - -.scroll-bar .thumb { - -fx-background-color: derive(#070f60, 20%); - -} - -.scroll-bar .increment-button, .scroll-bar .decrement-button { - -fx-background-color: transparent; - -fx-rotate: 0; - -} - -.scroll-bar .increment-arrow { - -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; - -fx-background-color: #ffffff; -} - -.scroll-bar .decrement-arrow { - -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; - -fx-background-color: #ffffff; - -fx-rotate: -180; -} - -.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { - -fx-padding: 3 3 3 3; -} - -.scroll-bar:horizontal .increment-arrow{ - -fx-rotate: -90; - -fx-padding: 3 3 3 3; -} - -.scroll-bar:horizontal .decrement-arrow { - -fx-rotate: 90; - -fx-padding: 3 3 3 3; -} - -#cardPane { - -fx-background-color: transparent; - -fx-border-width: 10pt; -} - -#commandTypeLabel { - -fx-font-size: 11px; - -fx-text-fill: #F70D1A; -} - -#commandTextField { - -fx-background-color: #edf2f9; - -fx-background-insets: 0; - -fx-border-color: #edf2f9 #edf2f9 black #edf2f9 ; - -fx-border-insets: 0; - -fx-border-width: 1; - -fx-font-family: "Segoe UI"; - -fx-font-size: 13pt; - -fx-text-fill: black; -} - -#filterField, #personListPanel, #personWebpage { - -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); -} - -#resultDisplay { - -fx-background-color: transparent; -} - -#resultDisplay .scroll-pane .viewport{ - -fx-background-color: transparent; -} - -#resultDisplay .content { - -fx-background-color: #edf2f9; - -fx-background-radius: 0; -} -``` -###### /java/seedu/address/ui/TaskCard.java -``` java -/** - * An UI component that displays information of a {@code Task}. - */ -public class TaskCard extends UiPart<Region> { - - private static final String FXML = "TaskListCard.fxml"; - private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; - private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); - private static final Calendar CALENDAR = Calendar.getInstance(); - - public final Task task; - - @FXML - private HBox cardPane; - @FXML - private Label title; - @FXML - private Label id; - @FXML - private Label time; - @FXML - private FlowPane tags; - - public TaskCard(Task task, int displayedIndex) { - super(FXML); - this.task = task; - id.setText(displayedIndex + ". "); - title.setText(task.getTitle().value); - time.setText("Finish before: " + DATE_FORMATTER.format(task.getTime().value.getTime())); - if (task.getTime().isExpired()) { - addExpiredTag(); - } - } - - /** - * Add an expired tag to the Task Card - */ - private void addExpiredTag() { - Label expiredTask = new Label("Expired"); - expiredTask.getStyleClass().add("red"); - tags.getChildren().add(expiredTask); - } - - @Override - public boolean equals(Object other) { - // short circuit if same object - if (other == this) { - return true; - } - - // instanceof handles nulls - if (!(other instanceof TaskCard)) { - return false; - } - - // state check - TaskCard card = (TaskCard) other; - return id.getText().equals(card.id.getText()) - && task.equals(card.task); - } -} -``` -###### /java/seedu/address/ui/CalendarPanel.java -``` java -/** - * The Calendar Panel of the App. - */ -public class CalendarPanel extends UiPart<Region> { - private static final String FXML = "CalendarPanel.fxml"; - - @FXML - private CalendarView calendarView; - private Calendar calendar; - - private ObservableList<Appointment> appointmentList; - - public CalendarPanel(ObservableList<Appointment> appointmentObservableList) { - super(FXML); - this.appointmentList = appointmentObservableList; - - calendarView = new CalendarView(); - CalendarSource calendarSource = new CalendarSource("My Calendar"); - calendar = new Calendar("Appointments"); - - calendarView.setRequestedTime(LocalTime.now()); - calendarView.setToday(LocalDate.now()); - calendarView.setTime(LocalTime.now()); - - calendarView.getCalendarSources().add(calendarSource); - calendarSource.getCalendars().add(calendar); - calendar.setStyle(Calendar.Style.getStyle(0)); - calendar.setLookAheadDuration(Duration.ofDays(365)); - - updateCalendar(); - disableViews(); - registerAsAnEventHandler(this); - } - - /** - * Clear the entry list in the CalendarFX calendar and - * populate it with appointment in the updated appointmentList - */ - private void updateCalendar() { - calendar.clear(); - ArrayList<Entry> entries = getEntries(); - for (Entry entry : entries) { - calendar.addEntry(entry); - } - } - - private ArrayList<Entry> getEntries() { - ArrayList<Entry> entries = new ArrayList<>(); - for (Appointment appointment : appointmentList) { - entries.add(getEntry(appointment)); - } - return entries; - } - - private Entry getEntry(Appointment appointment) { - LocalDateTime ldtstart = LocalDateTime.ofInstant( - appointment.getTime().value.getTime().toInstant(), ZoneId.systemDefault()); - LocalDateTime ldtend = LocalDateTime.ofInstant( - appointment.getEndTime().value.getTime().toInstant(), ZoneId.systemDefault()); - String description = appointment.getTitle().value; - return new Entry(description, new Interval(ldtstart, ldtend)); - } - - @Subscribe - private void handleAppointmentListChangedEvent(AppointmentListChangedEvent event) { - appointmentList = event.appointmentList; - Platform.runLater( - this::updateCalendar - ); - } - - -``` -###### /java/seedu/address/ui/ThemeList.java -``` java -/** - * Provide list of themes and respective URL to their CSS stylesheet - */ -public class ThemeList { - private HashMap<String, String> themeList; - - public ThemeList() { - themeList = new HashMap<>(); - themeList.put("dark", "view/DarkTheme.css"); - themeList.put("light", "view/LightTheme.css"); - themeList.put("doge", "view/DogeTheme.css"); - themeList.put("galaxy", "view/GalaxyTheme.css"); - } - - public String getThemeStyleSheet(String theme) { - if (!themeList.containsKey(theme)) { - return themeList.get("light"); - } - return themeList.get(theme); - } -} -``` -###### /java/seedu/address/ui/AppointmentCard.java -``` java -/** - * An UI component that displays information of a {@code Appointment}. - */ -public class AppointmentCard extends UiPart<Region> { - - private static final String FXML = "AppointmentListCard.fxml"; - private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; - private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); - - public final Appointment appointment; - - @FXML - private HBox cardPane; - @FXML - private Label title; - @FXML - private Label id; - @FXML - private Label time; - @FXML - private Label endTime; - @FXML - private Label personToMeet; - - public AppointmentCard(Appointment appointment, int displayedIndex) { - super(FXML); - this.appointment = appointment; - id.setText(displayedIndex + ". "); - title.setText(appointment.getTitle().value); - time.setText("From: " + DATE_FORMATTER.format(appointment.getTime().value.getTime())); - endTime.setText("To: " + DATE_FORMATTER.format(appointment.getEndTime().value.getTime())); - if (appointment.getPersonToMeet() != null) { - personToMeet.setText("With " + appointment.getPersonToMeet().getName()); - } else { - personToMeet.setText(""); - } - } - - @Override - public boolean equals(Object other) { - // short circuit if same object - if (other == this) { - return true; - } - - // instanceof handles nulls - if (!(other instanceof AppointmentCard)) { - return false; - } - - // state check - AppointmentCard card = (AppointmentCard) other; - return id.getText().equals(card.id.getText()) - && appointment.equals(card.appointment); - } -} -``` -###### /java/seedu/address/ui/TaskListPanel.java -``` java -/** - * Panel containing the list of tasks. - */ -public class TaskListPanel extends UiPart<Region> { - private static final String FXML = "TaskListPanel.fxml"; - private final Logger logger = LogsCenter.getLogger(TaskListPanel.class); - - @FXML - private ListView<TaskCard> taskListView; - - public TaskListPanel(ObservableList<Task> taskList) { - super(FXML); - setConnections(taskList); - registerAsAnEventHandler(this); - } - - private void setConnections(ObservableList<Task> taskList) { - ObservableList<TaskCard> mappedList = EasyBind.map(taskList, (task) -> - new TaskCard(task, taskList.indexOf(task) + 1)); - taskListView.setItems(mappedList); - taskListView.setCellFactory(listView -> new TaskListViewCell()); - } - - /** - * Custom {@code ListCell} that displays the graphics of a {@code TaskCard}. - */ - class TaskListViewCell extends ListCell<TaskCard> { - - @Override - protected void updateItem(TaskCard task, boolean empty) { - super.updateItem(task, empty); - - if (empty || task == null) { - setGraphic(null); - setText(null); - } else { - setGraphic(task.getRoot()); - } - } - } - -} -``` -###### /java/seedu/address/ui/AppointmentListPanel.java -``` java -/** - * Panel containing the list of appointments. - */ -public class AppointmentListPanel extends UiPart<Region> { - private static final String FXML = "AppointmentListPanel.fxml"; - private final Logger logger = LogsCenter.getLogger(AppointmentListPanel.class); - - @FXML - private ListView<AppointmentCard> appointmentListView; - - public AppointmentListPanel(ObservableList<Appointment> appointmentList) { - super(FXML); - setConnections(appointmentList); - registerAsAnEventHandler(this); - } - - private void setConnections(ObservableList<Appointment> appointmentList) { - ObservableList<AppointmentCard> mappedList = EasyBind.map(appointmentList, (appointment) -> - new AppointmentCard(appointment, appointmentList.indexOf(appointment) + 1)); - appointmentListView.setItems(mappedList); - appointmentListView.setCellFactory(listView -> new AppointmentListViewCell()); - } - - /** - * Custom {@code ListCell} that displays the graphics of a {@code AppointmentCard}. - */ - class AppointmentListViewCell extends ListCell<AppointmentCard> { - - @Override - protected void updateItem(AppointmentCard appointment, boolean empty) { - super.updateItem(appointment, empty); - - if (empty || appointment == null) { - setGraphic(null); - setText(null); - } else { - setGraphic(appointment.getRoot()); - } - } - } - -} -``` -###### /java/seedu/address/ui/MainWindow.java -``` java - private void setTheme() { - setTheme(DEFAULT_THEME); - } - - private void setTheme(String theme) { - primaryStage.getScene().getStylesheets().add(EXTENSIONS_STYLESHEET); - primaryStage.getScene().getStylesheets().add(TAG_COLOUR_STYLESHEET); - primaryStage.getScene().getStylesheets().add(THEME_LIST.getThemeStyleSheet(theme)); - } - - @Subscribe - private void handleThemeChangeEvent(ThemeChangeEvent event) { - theme = event.theme; - Platform.runLater( - this::changeTheme - ); - } - - private void changeTheme() { - primaryStage.getScene().getStylesheets().clear(); - setTheme(theme); - } -``` -###### /java/seedu/address/commons/events/ui/ToggleListEvent.java -``` java - -import seedu.address.commons.events.BaseEvent; - -/** - * Indicates a request to toggle List - */ -public class ToggleListEvent extends BaseEvent { - public final String list; - - public ToggleListEvent(String list) { - this.list = list; - } - - @Override - public String toString() { - return this.getClass().getSimpleName(); - } -} -``` -###### /java/seedu/address/commons/events/ui/ToggleCalendarViewEvent.java -``` java -/** - * Indicates a request to toggle Calendar view mode - */ -public class ToggleCalendarViewEvent extends BaseEvent { - public final Character viewMode; - - public ToggleCalendarViewEvent(Character viewMode) { - this.viewMode = viewMode; - } - - @Override - public String toString() { - return this.getClass().getSimpleName(); - } -} -``` -###### /java/seedu/address/commons/events/ui/ThemeChangeEvent.java -``` java -/** - * Indicates a request to change them - */ -public class ThemeChangeEvent extends BaseEvent { - public final String theme; - - public ThemeChangeEvent(String theme) { - this.theme = theme; - } - - @Override - public String toString() { - return this.getClass().getSimpleName(); - } -} -``` -###### /java/seedu/address/commons/events/model/AppointmentListChangedEvent.java -``` java -/** - * Indicates the appointment list has changed - */ -public class AppointmentListChangedEvent extends BaseEvent { - public final ObservableList<Appointment> appointmentList; - - public AppointmentListChangedEvent(ObservableList<Appointment> appointmentList) { - this.appointmentList = appointmentList; - } - - @Override - public String toString() { - return this.getClass().getSimpleName(); - } -} -``` -###### /java/seedu/address/logic/parser/RemoveCommandParser.java -``` java -/** - * Parses input arguments and creates a new RemoveCommand object - */ -public class RemoveCommandParser implements Parser<RemoveCommand> { - - /** - * Parses the given {@code String} of arguments in the context of the RemoveCommand - * and returns an RemoveCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public RemoveCommand parse(String args) throws ParseException { - requireNonNull(args); - String trimmedArgs = args.trim(); - String[] parameterGetterArray = trimmedArgs.split(" "); - if (trimmedArgs.isEmpty() || parameterGetterArray.length != 2) { - throw new ParseException( - String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); - } - try { - if (!isValidEventType(parameterGetterArray[0])) { - throw new IllegalValueException("Invalid event type"); - } - Index index = ParserUtil.parseIndex(parameterGetterArray[1]); - return new RemoveCommand(index, parameterGetterArray[0]); - } catch (IllegalValueException ive) { - throw new ParseException( - String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); - } - } - - private boolean isValidEventType(String type) { - return type.equals("appointment") || type.equals("task"); - } -} - - - -``` -###### /java/seedu/address/logic/parser/ToggleCalendarViewParser.java -``` java -/** - * Parser for ToggleCalendarViewCommand - */ -public class ToggleCalendarViewParser implements Parser<ToggleCalendarViewCommand> { - /** - * Parses the given {@code viewMode} of arguments in the context of the ToggleCalendarViewParser - * and returns an ToggleCalendarViewCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public ToggleCalendarViewCommand parse(String args) throws ParseException { - String viewMode = args.trim(); - if (viewMode.isEmpty() || !isValidViewMode(viewMode)) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, - ToggleCalendarViewCommand.MESSAGE_USAGE)); - } - return new ToggleCalendarViewCommand(viewMode.charAt(0)); - } - - /** - * - * @param str - * @return whether if the string is a valid view mode or not - */ - private boolean isValidViewMode(String str) { - if (str.length() != 1) { - return false; - } - switch (str.charAt(0)) { - case('w'): - case('d'): - case('m'): - return true; - default: - return false; - } - } -} -``` -###### /java/seedu/address/logic/parser/SetAppointmentCommandParser.java -``` java -/** - * Parses input arguments and creates a new SetAppointmentCommand object - */ -public class SetAppointmentCommandParser implements Parser<SetAppointmentCommand> { - - /** - * Parses the given {@code String} of arguments in the context of the SetAppointmentCommand - * and returns a SetAppointmentCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public SetAppointmentCommand parse(String args) throws ParseException { - ArgumentMultimap argMultimap = - ArgumentTokenizer.tokenize(args, PREFIX_TITLE, PREFIX_START_TIME, - PREFIX_END_TIME, PREFIX_PERSON_TO_MEET_INDEX); - - if (!arePrefixesPresent(argMultimap, PREFIX_TITLE, PREFIX_START_TIME, PREFIX_END_TIME) - || !argMultimap.getPreamble().isEmpty()) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, - SetAppointmentCommand.MESSAGE_USAGE)); - } - - try { - Index index = null; - Title title = ParserUtil.parseTitle(argMultimap.getValue(PREFIX_TITLE)).get(); - EventTime startTime = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_START_TIME)).get(); - EventTime endTime = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_END_TIME)).get(); - Optional<Index> optionalIndex = ParserUtil.parseIndex(argMultimap.getValue(PREFIX_PERSON_TO_MEET_INDEX)); - if (optionalIndex.isPresent()) { - index = optionalIndex.get(); - } - Appointment appointment = new Appointment(title, startTime, endTime); - - return new SetAppointmentCommand(appointment, index); - } catch (IllegalValueException | IllegalArgumentException ive) { - throw new ParseException(ive.getMessage(), ive); - } - } - - /** - * Returns true if none of the prefixes contains empty {@code Optional} values in the given - * {@code ArgumentMultimap}. - */ - private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { - return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); - } -} -``` -###### /java/seedu/address/logic/parser/ListCommandParser.java -``` java -/** - * Parser for ListCommand - */ -public class ListCommandParser implements Parser<ListCommand> { - /** - * Parses the given {@code args} of arguments in the context of the ListCommandParser - * and returns an ListCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public ListCommand parse(String args) throws ParseException { - String item = args.trim(); - if (!isValidItem(item)) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, - ListCommand.MESSAGE_USAGE)); - } - return new ListCommand(item); - } - - /** - * @param str - * @return whether if the string is a valid view mode or not - */ - private boolean isValidItem(String str) { - switch (str) { - case(ListCommand.TYPE_CONTACT): - case(ListCommand.TYPE_STUDENT): - case(ListCommand.TYPE_APPOINTMENT): - case(ListCommand.TYPE_TASK): - case(ListCommand.TYPE_SHORTCUT): - return true; - default: - return false; - } - } -} -``` -###### /java/seedu/address/logic/parser/ParserUtil.java -``` java - /** - * Parses a {@code Optional<String> title} into an {@code Optional<Title>} if {@code title} is present. - * See header comment of this class regarding the use of {@code Optional} parameters. - */ - public static Optional<Title> parseTitle(Optional<String> title) throws IllegalValueException { - requireNonNull(title); - return title.isPresent() ? Optional.of(parseTitle(title.get())) : Optional.empty(); - } - - /** - * Parses a {@code String title} into a {@code Title}. - * Leading and trailing whitespaces will be trimmed. - * - * @throws IllegalValueException if the given {@code title} is invalid. - */ - public static Title parseTitle(String title) throws IllegalValueException { - requireNonNull(title); - String trimmedTitle = title.trim(); - if (!Title.isValidTitle(trimmedTitle)) { - throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); - } - return new Title(trimmedTitle); - } - - /** - * Parses a {@code Optional<String> eventTime} into an {@code Optional<EventTime>} if {@code eventTime} is present. - * See header comment of this class regarding the use of {@code Optional} parameters. - */ - public static Optional<EventTime> parseEventTime(Optional<String> eventTime) throws IllegalArgumentException { - requireNonNull(eventTime); - return eventTime.isPresent() ? Optional.of(parseEventTime(eventTime.get())) : Optional.empty(); - } - - /** - * Parses a {@code String eventTime} into a {@code EventTime}. - * Leading and trailing whitespaces will be trimmed. - */ - public static EventTime parseEventTime(String eventTime) throws IllegalArgumentException { - requireNonNull(eventTime); - String trimmedEventTime = eventTime.trim(); - return new EventTime(trimmedEventTime); - } - - /** - * Parses a {@code String tag} into a {@code Tag}. - * Leading and trailing whitespaces will be trimmed. - * - * @throws IllegalValueException if the given {@code tag} is invalid. - */ - public static Tag parseTag(String tag) throws IllegalValueException { - requireNonNull(tag); - String trimmedTag = tag.trim(); - if (!Tag.isValidTagName(trimmedTag)) { - throw new IllegalValueException(Tag.MESSAGE_TAG_NAME_CONSTRAINTS); - } - return new Tag(trimmedTag); - } - - /** - * Parses {@code Collection<String> tags} into a {@code Set<Tag>}. - */ - public static Set<Tag> parseTags(Collection<String> tags) throws IllegalValueException { - requireNonNull(tags); - final Set<Tag> tagSet = new HashSet<>(); - for (String tagName : tags) { - tagSet.add(parseTag(tagName)); - } - return tagSet; - } -} -``` -###### /java/seedu/address/logic/parser/ChangeThemeCommandParser.java -``` java -/** - * Parses input arguments and creates a new ChangeThemeCommand object - */ -public class ChangeThemeCommandParser implements Parser<ChangeThemeCommand> { - /** - * Parses the given {@code viewMode} of arguments in the context of the ChangeThemeCommandParser - * and returns an ChangeThemeCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public ChangeThemeCommand parse(String args) throws ParseException { - String theme = args.trim(); - if (!isValidTheme(theme)) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, - ChangeThemeCommand.MESSAGE_INVALID_THEME)); - } - return new ChangeThemeCommand(theme); - } - - /** - * - * @param theme - * @return whether if {@code theme} is a valid theme name - */ - private boolean isValidTheme(String theme) { - return !theme.isEmpty() && Arrays.asList(THEME_LIST).contains(theme); - } -} -``` -###### /java/seedu/address/logic/parser/SetTaskCommandParser.java -``` java -/** - * Parses input arguments and creates a new SetTaskCommand object - */ -public class SetTaskCommandParser implements Parser<SetTaskCommand> { - - /** - * Parses the given {@code String} of arguments in the context of the SetTaskCommand - * and returns a SetTaskCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public SetTaskCommand parse(String args) throws ParseException { - ArgumentMultimap argMultimap = - ArgumentTokenizer.tokenize(args, PREFIX_TITLE, PREFIX_END_TIME); - - if (!arePrefixesPresent(argMultimap, PREFIX_TITLE, PREFIX_END_TIME) - || !argMultimap.getPreamble().isEmpty()) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, - SetTaskCommand.MESSAGE_USAGE)); - } - - try { - Title title = ParserUtil.parseTitle(argMultimap.getValue(PREFIX_TITLE)).get(); - EventTime time = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_END_TIME)).get(); - - Task task = new Task(title, time); - - return new SetTaskCommand(task); - } catch (IllegalValueException | IllegalArgumentException ive) { - throw new ParseException(ive.getMessage(), ive); - } - } - - /** - * Returns true if none of the prefixes contains empty {@code Optional} values in the given - * {@code ArgumentMultimap}. - */ - private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { - return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); - } - -} -``` -###### /java/seedu/address/logic/commands/RemoveCommand.java -``` java -/** - * Remove an appointment or task identified using its last displayed index from the address book. - */ -public class RemoveCommand extends UndoableCommand { - - public static final String COMMAND_WORD = "remove"; - - public static final String MESSAGE_USAGE = COMMAND_WORD - + ": Removes the event identified by the index number used in the last event listing.\n" - + "Parameters: " - + " EVENT_TYPE (could be appointment or task)" - + "INDEX (must be a positive integer)\n" - + "Example: " + COMMAND_WORD + " appointment " + " 1"; - - public static final String MESSAGE_DELETE_EVENT_SUCCESS = "Removed %1$s: %2$s"; - - private final Index targetIndex; - - private String eventTypeOfDeletedTarget; - - private Object eventToBeDeleted; - - public RemoveCommand(Index targetIndex, String eventTypeOfDeletedTarget) { - this.eventTypeOfDeletedTarget = eventTypeOfDeletedTarget; - this.targetIndex = targetIndex; - } - - @Override - public CommandResult executeUndoableCommand() { - requireNonNull(eventToBeDeleted); - try { - if (eventTypeOfDeletedTarget.equals(LIST_TYPE_APPOINTMENT)) { - model.deleteAppointment((Appointment) eventToBeDeleted); - } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { - model.deleteTask((Task) eventToBeDeleted); - } - } catch (EventNotFoundException ive) { - throw new AssertionError(String.format("The target %s cannot be missing", eventTypeOfDeletedTarget)); - } - return new CommandResult( - String.format(MESSAGE_DELETE_EVENT_SUCCESS, eventTypeOfDeletedTarget, eventToBeDeleted)); - } - - @Override - protected void preprocessUndoableCommand() throws CommandException { - if (eventTypeOfDeletedTarget.equals(LIST_TYPE_APPOINTMENT)) { - List<Appointment> lastShownList = model.getFilteredAppointmentList(); - if (targetIndex.getZeroBased() >= lastShownList.size()) { - throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); - } - eventToBeDeleted = lastShownList.get(targetIndex.getZeroBased()); - } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { - List<Task> lastShownList = model.getFilteredTaskList(); - if (targetIndex.getZeroBased() >= lastShownList.size()) { - throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); - } - eventToBeDeleted = lastShownList.get(targetIndex.getZeroBased()); - } - - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof RemoveCommand // instanceof handles nulls - && this.targetIndex.equals(((RemoveCommand) other).targetIndex) // state check - && Objects.equals(this.eventToBeDeleted, ((RemoveCommand) other).eventToBeDeleted)); - } -} -``` -###### /java/seedu/address/logic/commands/ToggleCalendarViewCommand.java -``` java -/** - * Command to change calendar view - */ -public class ToggleCalendarViewCommand extends Command { - - public static final String COMMAND_WORD = "calendar"; - - public static final String MESSAGE_USAGE = COMMAND_WORD + ": Toggles calendar view. \n" - + "Parameter: VIEW_MODE\n" - + "View mode: Day view: d, Week view: w, Month view: m\n" - + "Example: " + COMMAND_WORD + " d"; - - public static final String MESSAGE_VIEW_TOGGLE_SUCCESS = "View changed."; - - private Character viewMode; - - public ToggleCalendarViewCommand(Character viewMode) { - requireNonNull(viewMode); - this.viewMode = viewMode; - } - @Override - public CommandResult execute() throws CommandException { - EventsCenter.getInstance().post(new ToggleCalendarViewEvent(viewMode)); - return new CommandResult(MESSAGE_VIEW_TOGGLE_SUCCESS); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof ToggleCalendarViewCommand // instanceof handles nulls - && this.viewMode == ((ToggleCalendarViewCommand) other).viewMode); // state check - } -} -``` -###### /java/seedu/address/logic/commands/ChangeThemeCommand.java -``` java -/** - * Change theme of the GUI. - */ -public class ChangeThemeCommand extends Command { - public static final String COMMAND_WORD = "theme"; - - public static final String MESSAGE_USAGE = COMMAND_WORD - + ": Change the theme of TeachConnect.\n" - + "Parameters: THEME\n" - + "Example: " + COMMAND_WORD + " dark"; - - public static final String MESSAGE_CHANGE_THEME_SUCCESS = "Theme changed"; - - public static final String MESSAGE_INVALID_THEME = "Not a valid theme"; - - private final String theme; - - public ChangeThemeCommand(String theme) { - requireNonNull(theme); - this.theme = theme; - } - - @Override - public CommandResult execute() throws CommandException { - EventsCenter.getInstance().post(new ThemeChangeEvent(theme)); - return new CommandResult(MESSAGE_CHANGE_THEME_SUCCESS); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof ChangeThemeCommand // instanceof handles nulls - && this.theme.equals(((ChangeThemeCommand) other).theme)); // state check - } -} -``` -###### /java/seedu/address/logic/commands/SetTaskCommand.java -``` java -/** - * Adds a task to the address book. - */ -public class SetTaskCommand extends UndoableCommand { - - public static final String COMMAND_WORD = "set_task"; - - public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a task to the address book.\n" - + "Parameters: " - + PREFIX_TITLE + "TITLE " - + PREFIX_END_TIME + "DATE TIME\n" - + "Example: " + COMMAND_WORD + " " - + PREFIX_TITLE + "Mark papers " - + PREFIX_END_TIME + "20/05/2018 12:00 "; - - public static final String MESSAGE_SUCCESS = "New task added: %1$s"; - public static final String MESSAGE_DUPLICATE_TASK = "This task already exists in the address book"; - - private final Task toAdd; - - /** - * Creates a SetTaskCommand to add the specified {@code Task} - */ - public SetTaskCommand(Task task) { - requireNonNull(task); - toAdd = task; - } - - @Override - public CommandResult executeUndoableCommand() throws CommandException { - requireNonNull(model); - try { - model.addTask(toAdd); - return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (DuplicateEventException e) { - throw new CommandException(MESSAGE_DUPLICATE_TASK); - } - - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof SetTaskCommand // instanceof handles nulls - && toAdd.equals(((SetTaskCommand) other).toAdd)); - } -} -``` -###### /java/seedu/address/logic/commands/SetAppointmentCommand.java -``` java -/** - * Adds an appointment with the person at {@code index} in the person list to the address book. - */ -public class SetAppointmentCommand extends UndoableCommand { - - public static final String COMMAND_WORD = "set_appointment"; - - public static final String MESSAGE_USAGE = COMMAND_WORD - + ": Adds an appoinment to the address book.\n" - + "Parameters: " - + PREFIX_TITLE + "TITLE " - + PREFIX_START_TIME + "START-DATE START-TIME " - + PREFIX_END_TIME + "END-DATE END-TIME " - + PREFIX_PERSON_TO_MEET_INDEX + "PERSON TO MEET\n" - + "Example: " + COMMAND_WORD + " " - + PREFIX_TITLE + "Meet James " - + PREFIX_START_TIME + "20/05/2018 10:00 " - + PREFIX_END_TIME + "20/05/2018 12:00 " - + PREFIX_PERSON_TO_MEET_INDEX + "3 "; - - public static final String MESSAGE_SUCCESS = "New appointment added: %1$s"; - public static final String MESSAGE_DUPLICATE_APPOINTMENT = "This appointment already exists in the address book"; - - private final Appointment baseAppointmentWithoutPerson; - private final Index index; - - private PersonToMeet personToMeet; - - /** - * Creates a SetAppointmentCommand without any PersonToMeet - */ - public SetAppointmentCommand(Appointment baseAppointmentWithoutPerson) { - this(baseAppointmentWithoutPerson, null); - } - - /** - * Creates a SetAppointmentCommand to add the specified {@code Appointment} - */ - public SetAppointmentCommand(Appointment baseAppointmentWithoutPerson, Index index) { - requireNonNull(baseAppointmentWithoutPerson); - this.baseAppointmentWithoutPerson = baseAppointmentWithoutPerson; - this.index = index; - } - - @Override - public CommandResult executeUndoableCommand() throws CommandException { - requireNonNull(model); - try { - Appointment toAdd; - if (personToMeet != null) { - toAdd = new Appointment(baseAppointmentWithoutPerson.getTitle(), baseAppointmentWithoutPerson.getTime(), - baseAppointmentWithoutPerson.getEndTime(), personToMeet); - } else { - toAdd = baseAppointmentWithoutPerson; - } - model.addAppointment(toAdd); - return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); - } catch (DuplicateEventException e) { - throw new CommandException(MESSAGE_DUPLICATE_APPOINTMENT); - } - - } - - @Override - protected void preprocessUndoableCommand() throws CommandException { - if (index != null) { - List<Person> lastShownList = model.getFilteredPersonList(); - - if (index.getZeroBased() >= lastShownList.size()) { - throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); - } - - Person person = lastShownList.get(index.getZeroBased()); - personToMeet = new PersonToMeet(person.getName().fullName, person.getEmail().value); - } - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof SetAppointmentCommand // instanceof handles nulls - && baseAppointmentWithoutPerson.equals(((SetAppointmentCommand) other).baseAppointmentWithoutPerson)); - } -} -``` -###### /java/seedu/address/storage/XmlAdaptedAppointment.java -``` java -/** - * JAXB-friendly version of the Person. - */ -public class XmlAdaptedAppointment { - - public static final String MISSING_FIELD_MESSAGE_FORMAT = "Appointment's %s field is missing!"; - - @XmlElement(required = true) - private String title; - @XmlElement(required = true) - private String startTime; - @XmlElement(required = true) - private String endTime; - @XmlElement(required = true) - private String personToMeet; - - /** - * Constructs an XmlAdaptedAppointment. - * This is the no-arg constructor that is required by JAXB. - */ - public XmlAdaptedAppointment() {} - - public XmlAdaptedAppointment(String title, String startTime, String endTime) { - this(title, startTime, endTime, null); - } - - /** - * Constructs an {@code XmlAdaptedAppointment} with the given appointment details. - */ - public XmlAdaptedAppointment(String title, String startTime, String endTime, String personToMeet) { - this.title = title; - this.startTime = startTime; - this.endTime = endTime; - if (personToMeet != null) { - this.personToMeet = personToMeet; - } - } - - /** - * Converts a given Appointment into this class for JAXB use. - * - * @param source future changes to this will not affect the created XmlAdaptedAppointment - */ - public XmlAdaptedAppointment(Appointment source) { - title = source.getTitle().toString(); - startTime = source.getTime().toString(); - endTime = source.getEndTime().toString(); - if (source.getPersonToMeet() != null) { - personToMeet = source.getPersonToMeet().toString(); - } - } - - /** - * Converts this jaxb-friendly adapted person object into the model's Appointment object. - * - * @throws IllegalValueException if there were any data constraints violated in the adapted appointment - */ - public Appointment toModelType() throws IllegalValueException { - if (this.title == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName())); - } - if (!Title.isValidTitle(this.title)) { - throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); - } - final Title title = new Title(this.title); - - if (this.startTime == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "Start Time")); - } - if (this.endTime == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "End Time")); - } - - final EventTime startTime = new EventTime(this.startTime); - final EventTime endTime = new EventTime(this.endTime); - - if (!Appointment.isValidTime(startTime, endTime)) { - throw new IllegalValueException(Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS); - } - - if (this.personToMeet != null) { - String[] components = this.personToMeet.split(EMAIL_SPLITTER); - PersonToMeet personToMeet = new PersonToMeet(components[0], components[1]); - return new Appointment(title, startTime, endTime, personToMeet); - } - - return new Appointment(title, startTime, endTime); - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof XmlAdaptedAppointment)) { - return false; - } - - XmlAdaptedAppointment otherAppointment = (XmlAdaptedAppointment) other; - return Objects.equals(title, otherAppointment.title) - && Objects.equals(startTime, otherAppointment.startTime) - && Objects.equals(endTime, otherAppointment.endTime) - && Objects.equals(personToMeet, otherAppointment.personToMeet); - } -} -``` -###### /java/seedu/address/storage/XmlAdaptedTask.java -``` java -/** - * JAXB-friendly version of the Person. - */ -public class XmlAdaptedTask { - - public static final String MISSING_FIELD_MESSAGE_FORMAT = "Task's %s field is missing!"; - - @XmlElement(required = true) - private String title; - @XmlElement(required = true) - private String time; - - /** - * Constructs an XmlAdaptedTask. - * This is the no-arg constructor that is required by JAXB. - */ - public XmlAdaptedTask() {} - - /** - * Constructs an {@code XmlAdaptedTask} with the given task details. - */ - public XmlAdaptedTask(String title, String time) { - this.title = title; - this.time = time; - } - - /** - * Converts a given Task into this class for JAXB use. - * - * @param source future changes to this will not affect the created XmlAdaptedTask - */ - public XmlAdaptedTask(Task source) { - title = source.getTitle().toString(); - time = source.getTime().toString(); - } - - /** - * Converts this jaxb-friendly adapted person object into the model's Task object. - * - * @throws IllegalValueException if there were any data constraints violated in the adapted task - */ - public Task toModelType() throws IllegalValueException { - if (this.title == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName())); - } - if (!Title.isValidTitle(this.title)) { - throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); - } - final Title title = new Title(this.title); - - if (this.time == null) { - throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time")); - } - final EventTime time = new EventTime(this.time); - - return new Task(title, time); - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof XmlAdaptedTask)) { - return false; - } - - XmlAdaptedTask otherTask = (XmlAdaptedTask) other; - return Objects.equals(title, otherTask.title) - && Objects.equals(time, otherTask.time); - } -} -``` -###### /java/seedu/address/model/AddressBook.java -``` java - //event operations - /** - * Adds an appointment to the address book. - * - * @throws DuplicateEventException if an equivalent appointment already exists. - */ - public void addAppointment(Appointment e) throws DuplicateEventException { - appointments.add(e); - } - - /** - * Removes {@code key} from this {@code AddressBook}. - * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. - */ - public boolean removeAppointment(Appointment key) throws EventNotFoundException { - if (appointments.remove(key)) { - return true; - } else { - throw new EventNotFoundException(); - } - } - - /** - * Adds a task to the address book. - * - * @throws DuplicateEventException if an equivalent appointment already exists. - */ - public void addTask(Task e) throws DuplicateEventException { - tasks.add(e); - } - - /** - * Removes {@code key} from this {@code AddressBook}. - * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. - */ - public boolean removeTask(Task key) throws EventNotFoundException { - if (tasks.remove(key)) { - return true; - } else { - throw new EventNotFoundException(); - } - } -} -``` -###### /java/seedu/address/model/event/Appointment.java -``` java -/** - * Represent an appointment in the schedule, contains time of the appointment as well as details and personMeet. - */ -public class Appointment { - public static final String MESSAGE_TIME_PERIOD_CONSTRAINTS = "The end time should be after the start time"; - - private final Title title; - private final EventTime time; - private final EventTime endTime; - private final PersonToMeet personToMeet; - - //Every field must be present and not null - public Appointment(Title title, EventTime startTime, EventTime endTime) { - this(title, startTime, endTime, null); - } - - //Every field except personToMeet must be present and not null - public Appointment(Title title, EventTime startTime, EventTime endTime, PersonToMeet personToMeet) { - requireAllNonNull(title, startTime, endTime); - checkArgument(isValidTime(startTime, endTime), MESSAGE_TIME_PERIOD_CONSTRAINTS); - this.title = title; - this.time = startTime; - this.endTime = endTime; - this.personToMeet = personToMeet; - } - - public Title getTitle() { - return title; - } - - public EventTime getTime() { - return time; - } - - public EventTime getEndTime() { - return endTime; - } - - public PersonToMeet getPersonToMeet() { - return personToMeet; - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof Appointment)) { - return false; - } - - Appointment otherAppointment = (Appointment) other; - return otherAppointment.getTitle().equals(this.getTitle()) - && otherAppointment.getTime().equals(this.getTime()) - && otherAppointment.getEndTime().equals(this.getEndTime()); - } - - @Override - public String toString() { - final StringBuilder builder = new StringBuilder(); - builder.append(getTitle()) - .append(", Start Time: ") - .append(getTime().toString()) - .append(", End Time: ") - .append(getEndTime().toString()); - if (personToMeet != null) { - builder.append(", With: ") - .append(personToMeet.getName()); - } - return builder.toString(); - } - - /** - * Returns true if the given time is valid - */ - public static boolean isValidTime(EventTime startTime, EventTime endTime) { - return endTime.value.after(startTime.value); - } -} -``` -###### /java/seedu/address/model/event/Task.java -``` java -/** - * Represent a Task in the schedule, contains deadline as well as the title - */ -public class Task { - private Title title; - private EventTime time; - - //Every field must be present and not null - public Task(Title title, EventTime deadline) { - requireAllNonNull(title, deadline); - this.title = title; - this.time = deadline; - } - - public Title getTitle() { - return title; - } - - public EventTime getTime() { - return time; - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof Task)) { - return false; - } - - Task otherTask = (Task) other; - return otherTask.getTitle().equals(this.getTitle()) - && otherTask.getTime().equals(this.getTime()); - } - - @Override - public String toString() { - return title + ", Deadline: " + time; - } -} -``` diff --git a/collated/functional/randypx.md b/collated/functional/randypx.md deleted file mode 100644 index 5b252855418a..000000000000 --- a/collated/functional/randypx.md +++ /dev/null @@ -1,120 +0,0 @@ -# randypx -###### /java/seedu/address/model/person/UniquePersonList.java -``` java - /** - * Add a listener to the list for any changes. - * Update {@code contacts} for any changes made. - */ - public void addListener(UniqueContactList contacts) { - internalList.addListener(new ListChangeListener<Person>() { - @Override - public void onChanged(Change<? extends Person> c) { - contacts.updateList(c); - } - }); - } - - @Override - public Iterator<Person> iterator() { - return internalList.iterator(); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof UniquePersonList // instanceof handles nulls - && this.internalList.equals(((UniquePersonList) other).internalList)); - } - - @Override - public int hashCode() { - return internalList.hashCode(); - } - -} -``` -###### /java/seedu/address/model/person/UniqueContactList.java -``` java -/** - * A list that is the aggregation of {@code UniquePersonList} and {@code UniqueStudentList} - * and is the list displayed in the GUI. - * This list remains up-to-date by listening to the changes of both lists and is not changed by anything else. - */ -public class UniqueContactList { - private final UniquePersonList persons; - private final UniqueStudentList students; - private final ObservableList<Person> combinedList = FXCollections.observableArrayList(); - - public UniqueContactList(UniquePersonList p, UniqueStudentList s) { - persons = p; - students = s; - persons.addListener(this); - students.addListener(this); - } - - /** - * This method is called when there is a change in eithor {@code UniquePersonList} or {@code UniqueStudentList}. - * @param c this contains the change(s) that has occured. - */ - public void updateList(ListChangeListener.Change<? extends Person> c) { - while (c.next()) { - if (c.wasReplaced()) { - for (int i = 0; i < c.getRemovedSize(); i++) { - int index = combinedList.indexOf(c.getRemoved().get(i)); - combinedList.set(index, c.getAddedSubList().get(i)); - } - if (c.getTo() > c.getRemovedSize()) { - for (int i = c.getRemovedSize(); i < c.getTo(); i++) { - combinedList.add(c.getAddedSubList().get(i)); - } - } - } else if (c.wasRemoved()) { - combinedList.removeAll(c.getRemoved()); - } else if (c.wasAdded()) { - combinedList.addAll(c.getAddedSubList()); - } - } - } - - /** - * Returns the backing list as an unmodifiable {@code ObservableList}. - */ - public ObservableList<Person> asObservableList() { - return FXCollections.unmodifiableObservableList(combinedList); - } - -} -``` -###### /java/seedu/address/model/person/UniqueStudentList.java -``` java - /** - * Add a listener to the list for any changes. - * Update {@code contacts} for any changes made. - */ - public void addListener(UniqueContactList contacts) { - internalList.addListener(new ListChangeListener<Student>() { - @Override - public void onChanged(Change<? extends Student> c) { - contacts.updateList(c); - } - }); - } - - @Override - public Iterator<Student> iterator() { - return internalList.iterator(); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof UniqueStudentList // instanceof handles nulls - && this.internalList.equals(((UniqueStudentList) other).internalList)); - } - - @Override - public int hashCode() { - return internalList.hashCode(); - } -} -``` diff --git a/collated/functional/shanmu9898.md b/collated/functional/shanmu9898.md deleted file mode 100644 index cc7ceca97025..000000000000 --- a/collated/functional/shanmu9898.md +++ /dev/null @@ -1,1091 +0,0 @@ -# shanmu9898 -###### /resources/view/ShortcutListCard.fxml -``` fxml -<?import javafx.geometry.Insets?> -<?import javafx.scene.control.Label?> -<?import javafx.scene.layout.ColumnConstraints?> -<?import javafx.scene.layout.GridPane?> -<?import javafx.scene.layout.HBox?> -<?import javafx.scene.layout.Region?> -<?import javafx.scene.layout.VBox?> - -<HBox id="cardPane" fx:id="cardPane" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> - <GridPane HBox.hgrow="ALWAYS"> - <columnConstraints> - <ColumnConstraints hgrow="SOMETIMES" minWidth="10" prefWidth="150" /> - </columnConstraints> - <VBox alignment="CENTER_LEFT" minHeight="80" GridPane.columnIndex="0"> - <padding> - <Insets top="5" right="5" bottom="5" left="15" /> - </padding> - <HBox spacing="5" alignment="CENTER_LEFT"> - <Label fx:id="id" styleClass="cell_big_label"> - <minWidth> - <!-- Ensures that the label text is never truncated --> - <Region fx:constant="USE_PREF_SIZE" /> - </minWidth> - </Label> - <Label fx:id="command" text="\$command" styleClass="cell_big_label" /> - <Label fx:id="shortcut" styleClass="cell_big_label_label" text="\$shortcut" /> - </HBox> - - </VBox> - </GridPane> -</HBox> -``` -###### /resources/view/ShortcutListPanel.fxml -``` fxml -<?import javafx.scene.control.ListView?> -<?import javafx.scene.layout.VBox?> - -<VBox xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> - <ListView fx:id="shortcutListView" VBox.vgrow="ALWAYS" /> -</VBox> -``` -###### /java/seedu/address/ui/ShortcutListPanel.java -``` java -package seedu.address.ui; - -import java.util.logging.Logger; - -import org.fxmisc.easybind.EasyBind; - -import javafx.collections.ObservableList; -import javafx.fxml.FXML; -import javafx.scene.control.ListCell; -import javafx.scene.control.ListView; -import javafx.scene.layout.Region; -import seedu.address.commons.core.LogsCenter; -import seedu.address.model.shortcuts.ShortcutDoubles; - -/** - * Panel containing the list of Shortcuts. - */ -public class ShortcutListPanel extends UiPart<Region> { - private static final String FXML = "ShortcutListPanel.fxml"; - private final Logger logger = LogsCenter.getLogger(PersonListPanel.class); - - @FXML - private ListView<ShortcutCard> shortcutListView; - - public ShortcutListPanel(ObservableList<ShortcutDoubles> shortcutList) { - super(FXML); - setConnections(shortcutList); - registerAsAnEventHandler(this); - } - - private void setConnections(ObservableList<ShortcutDoubles> shortcutList) { - ObservableList<ShortcutCard> mappedList = EasyBind.map(shortcutList, (shortcutDoubles) -> - new ShortcutCard(shortcutDoubles, shortcutList.indexOf(shortcutDoubles) + 1)); - shortcutListView.setItems(mappedList); - shortcutListView.setCellFactory(listView -> new ShortcutListViewCell()); - } - - /** - * Custom {@code ListCell} that displays the graphics of a {@code AppointmentCard}. - */ - class ShortcutListViewCell extends ListCell<ShortcutCard> { - - @Override - protected void updateItem(ShortcutCard shortcutCard, boolean empty) { - super.updateItem(shortcutCard, empty); - - if (empty || shortcutCard == null) { - setGraphic(null); - setText(null); - } else { - setGraphic(shortcutCard.getRoot()); - } - } - } -} -``` -###### /java/seedu/address/ui/ShortcutCard.java -``` java -package seedu.address.ui; - -import javafx.fxml.FXML; -import javafx.scene.control.Label; -import javafx.scene.layout.HBox; -import javafx.scene.layout.Region; -import seedu.address.model.shortcuts.ShortcutDoubles; - -/** - * An UI component that displays information of a {@code Shortcut Double} - */ -public class ShortcutCard extends UiPart<Region> { - - private static final String FXML = "ShortcutListCard.fxml"; - - public final ShortcutDoubles shortcutDoubles; - - @FXML - private HBox cardPane; - @FXML - private Label shortcut; - @FXML - private Label command; - @FXML - private Label id; - - public ShortcutCard(ShortcutDoubles shortcutDoubles, int displayedIndex) { - super(FXML); - - this.shortcutDoubles = shortcutDoubles; - id.setText(displayedIndex + ". "); - shortcut.setText("===> " + shortcutDoubles.shortcutWord); - command.setText(shortcutDoubles.commandWord); - } - - @Override - public boolean equals(Object other) { - // short circuit if same object - if (other == this) { - return true; - } - - // instanceof handles nulls - if (!(other instanceof ShortcutCard)) { - return false; - } - - // state check - ShortcutCard card = (ShortcutCard) other; - return id.getText().equals(card.id.getText()) - && shortcutDoubles.equals(card.shortcutDoubles); - } -} -``` -###### /java/seedu/address/logic/Logic.java -``` java - /** Returns an unmodifiable view of the filtered list of Shortcuts */ - ObservableList<ShortcutDoubles> getFilteredShortcutList(); -} -``` -###### /java/seedu/address/logic/parser/DeleteShortcutCommandParser.java -``` java -package seedu.address.logic.parser; - -import static java.util.Objects.requireNonNull; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; - -import seedu.address.logic.commands.DeleteShortcutCommand; -import seedu.address.logic.parser.exceptions.ParseException; - -/** - * Parses input arguments and creates a new DeleteShortcutCommand object - */ -public class DeleteShortcutCommandParser implements Parser<DeleteShortcutCommand> { - - /** - * Parses the given {@code String} of arguments in the context of the DeleteShortcutCommand - * and returns a DeleteShortcutCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public DeleteShortcutCommand parse(String args) throws ParseException { - requireNonNull(args); - String trimmedArgs = args.trim(); - String[] splitWords = trimmedArgs.split(" "); - if (splitWords.length > 2 || splitWords.length < 2) { - throw new ParseException( - String.format(MESSAGE_INVALID_COMMAND_FORMAT, DeleteShortcutCommand.MESSAGE_USAGE)); - } else { - return new DeleteShortcutCommand(splitWords[0], splitWords[1]); - } - } -} -``` -###### /java/seedu/address/logic/parser/ImportCommandParser.java -``` java -/** - * Parses input arguments and creates a new ImportCommand object - */ -public class ImportCommandParser implements Parser<ImportCommand> { - - /** - * Parses the given {@code String} of arguments in the context of the ImportCommand - * and returns an ImportCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public ImportCommand parse(String args) throws ParseException { - requireNonNull(args); - String trimmedArgs = args.trim(); - if (trimmedArgs.isEmpty()) { - throw new ParseException( - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); - } - - String[] parameterGetterArray = trimmedArgs.split(" "); - - if (parameterGetterArray.length != 1) { - throw new ParseException( - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); - } else { - return new ImportCommand(parameterGetterArray[0]); - } - - } - - - -} -``` -###### /java/seedu/address/logic/parser/ExportCommandParser.java -``` java -/** - * Parses input arguments and creates a new ExportCommand object - */ -public class ExportCommandParser implements Parser<ExportCommand> { - - /** - * Parses the given {@code String} of arguments in the context of the ExportCommand - * and returns an ExportCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - @Override - public ExportCommand parse(String args) throws ParseException { - requireNonNull(args); - ArgumentMultimap argMultiMap = ArgumentTokenizer.tokenize(args, PREFIX_NAME, PREFIX_RANGE, - PREFIX_TAG_EXPORT, PREFIX_PATH, PREFIX_TYPE); - - String[] preambleArgs = argMultiMap.getPreamble().split(" "); - if (!arePrefixesPresent(argMultiMap, PREFIX_NAME, PREFIX_RANGE, PREFIX_PATH, PREFIX_TYPE) - || preambleArgs.length > 1) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); - } - - String name = argMultiMap.getValue(PREFIX_NAME).orElse(""); - String range = argMultiMap.getValue(PREFIX_RANGE).orElse("all"); - String tag = argMultiMap.getValue(PREFIX_TAG_EXPORT).orElse("shouldnotbethistag"); - String path = argMultiMap.getValue(PREFIX_PATH).orElse(""); - String type = argMultiMap.getValue(PREFIX_TYPE).orElse("normal"); - - if (!(type.equals("excel") || type.equals("normal"))) { - throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); - } - - Tag tagExport = new Tag(tag); - return new ExportCommand(range, tagExport, path, name, type); - - - } - - /** - * Returns true if none of the prefixes contains empty {@code Optional} values in the given - * {@code ArgumentMultimap}. - */ - private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { - return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); - } - - - -} -``` -###### /java/seedu/address/logic/parser/ShortcutCommandParser.java -``` java -/** - * Parser - */ -public class ShortcutCommandParser implements Parser<ShortcutCommand> { - /** - * Parses the given {@code String} of arguments in the context of the ShortcutCommand - * and returns an ShortcutCommand object for execution. - * @throws ParseException if the user input does not conform the expected format - */ - public ShortcutCommand parse(String args) throws ParseException { - requireNonNull(args); - String trimmedArgs = args.trim(); - String[] splitWords = trimmedArgs.split(" "); - if (splitWords.length > 2 || splitWords.length < 2) { - throw new ParseException( - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ShortcutCommand.MESSAGE_USAGE)); - } else { - return new ShortcutCommand(splitWords[0], splitWords[1]); - } - } -} -``` -###### /java/seedu/address/logic/commands/DeleteShortcutCommand.java -``` java -package seedu.address.logic.commands; - -import static java.util.Objects.requireNonNull; - -import java.util.Objects; - -import seedu.address.logic.commands.exceptions.CommandException; -import seedu.address.model.shortcuts.ShortcutDoubles; -import seedu.address.model.shortcuts.UniqueShortcutDoublesList; - -/** - * Deletes a specific shortcut from the addressbook. - */ -public class DeleteShortcutCommand extends UndoableCommand { - public static final String COMMAND_WORD = "delete_shortcut"; - public static final String MESSAGE_USAGE = COMMAND_WORD + " CommandWord " + " ShortcutWord " - + " :Deletes a shortcut for any command word"; - public static final String MESSAGE_DELETE_SHORTCUT_SUCCESS = "The shortcut has been deleted!"; - private final String shortcutWord; - - private final String commandWord; - - private ShortcutDoubles commandShortcut; - - - public DeleteShortcutCommand(String commandWord, String shortcutWord) { - requireNonNull(commandWord); - requireNonNull(shortcutWord); - this.commandWord = commandWord; - this.shortcutWord = shortcutWord; - commandShortcut = new ShortcutDoubles(shortcutWord, commandWord); - } - - @Override - public CommandResult executeUndoableCommand() throws CommandException { - requireNonNull(commandShortcut); - try { - model.deleteCommandShortcut(commandShortcut); - } catch (UniqueShortcutDoublesList.CommandShortcutNotFoundException csnf) { - throw new CommandException("Please enter a valid Shortcut Command you have saved"); - } - - return new CommandResult(String.format(MESSAGE_DELETE_SHORTCUT_SUCCESS)); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof DeleteShortcutCommand // instanceof handles nulls - && this.shortcutWord.equals(((DeleteShortcutCommand) other).shortcutWord) // state check - && this.commandWord.equals(((DeleteShortcutCommand) other).commandWord) // state check - && Objects.equals(this.commandShortcut, ((DeleteShortcutCommand) other).commandShortcut)); - } -} -``` -###### /java/seedu/address/logic/commands/ExportCommand.java -``` java -/** - * - * Exports people to an XML file of choice based on tag, index or range - */ -public class ExportCommand extends Command { - - public static final String MESSAGE_FAIL = "TeachConnect faced some error while exporting! Please try again!"; - public static final String MESSAGE_OUT_OF_BOUNDS = "Please check the index bounds!"; - public static final String MESSAGE_SUCCESS = "Contacts have been successfully exported!"; - public static final String MESSAGE_RANGE_ERROR = "Please input valid range"; - - public static final String COMMAND_WORD = "export"; - - public static final String MESSAGE_USAGE = COMMAND_WORD + ": exports contacts to the TeachConnect Book based " - + "on index, range or tag \n" - + "Parameters: " - + PREFIX_NAME + " NAME " - + PREFIX_RANGE + " RANGE " - + PREFIX_TAG_EXPORT + " TAG " - + PREFIX_PATH + " PATH " - + PREFIX_TYPE + "FORMAT \n" - + "Example 1: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "all " - + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/Normal \n" - + "Example 2: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "1 " - + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/Normal \n" - + "Example 3: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "1,2 " - + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/normal \n"; - - - private Tag tag; - private final String range; - private final String path; - private AddressBook teachConnectBook; - private AddressBookStorage teachConnectStorage; - private final String nameOfExportFile; - private final String type; - - /** - * Creates an ExportCommand to export the specified {@code Persons} - */ - public ExportCommand(String range, Tag tag, String path, String nameOfExportFile, String type) { - requireNonNull(range); - requireNonNull(tag); - requireNonNull(path); - requireNonNull(nameOfExportFile); - requireNonNull(type); - - this.range = range; - this.path = path; - this.tag = tag; - this.nameOfExportFile = nameOfExportFile; - this.type = type; - - - teachConnectBook = new AddressBook(); - } - - @Override - public CommandResult execute() { - String[] rangeGiven; - try { - rangeGiven = handleRange(); - } catch (IOException e) { - return new CommandResult(MESSAGE_RANGE_ERROR); - } - CommandResult handledRangeSituation; - try { - handledRangeSituation = handleRangeArray(rangeGiven); - } catch (DuplicatePersonException e) { - return new CommandResult(MESSAGE_FAIL); - } catch (IndexOutOfBoundsException e) { - return new CommandResult(MESSAGE_OUT_OF_BOUNDS); - } - if (handledRangeSituation != null) { - return handledRangeSituation; - } - - if (!tryStorage(type)) { - return new CommandResult(MESSAGE_FAIL); - } - return new CommandResult(MESSAGE_SUCCESS); - - } - - /** - * This method tries creating and storing the export file. - * @return - */ - private boolean tryStorage(String type) { - teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ".xml"); - try { - teachConnectStorage.saveAddressBook(teachConnectBook); - } catch (IOException e) { - return false; - } - if (type.equals("excel")) { - return saveAsCsv(); - } - return true; - } - - /** - * Will save as a CSV file depending on the type of input - * @return boolean - */ - private boolean saveAsCsv() { - File stylesheet = new File("./src/main/resources/Util/style.xsl"); - File xmlSource = new File(path + "/" + nameOfExportFile + ".xml"); - - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder; - try { - builder = factory.newDocumentBuilder(); - } catch (ParserConfigurationException e) { - return false; - } - Document document; - try { - document = builder.parse(xmlSource); - } catch (SAXException e) { - return false; - } catch (IOException e) { - return false; - } - - StreamSource styleSource = new StreamSource(stylesheet); - Transformer transformer; - try { - transformer = TransformerFactory.newInstance().newTransformer(styleSource); - } catch (TransformerConfigurationException e) { - return false; - } - Source source = new DOMSource(document); - Result outputTarget = new StreamResult(new File(path + "/" + nameOfExportFile + ".csv")); - try { - transformer.transform(source, outputTarget); - } catch (TransformerException e) { - return false; - } - - return true; - } - - /** - * Handles the range array returned by the handleRange() function - * @param rangeGiven - * @return - */ - private CommandResult handleRangeArray(String[] rangeGiven) throws DuplicatePersonException, - IndexOutOfBoundsException { - if (rangeGiven[0].equals("all")) { - exportAllRange(tag); - } else { - if (rangeGiven.length != 1) { - for (int i = 0; i < rangeGiven.length; i++) { - int low = Integer.parseInt(rangeGiven[0]); - int high = Integer.parseInt(rangeGiven[1]); - if (low >= high) { - return new CommandResult(MESSAGE_RANGE_ERROR); - } else { - exportRange(low, high, tag); - } - } - } else { - int low = Integer.parseInt(rangeGiven[0]); - exportSpecific(low); - } - - - } - return null; - } - - /** - * Adds a specific person to the teachConnectBook - * - * @param low - * @throws DuplicatePersonException - * @throws IndexOutOfBoundsException - */ - private void exportSpecific(int low) throws DuplicatePersonException, IndexOutOfBoundsException { - ObservableList<Person> exportPeople = model.getFilteredPersonList(); - teachConnectBook.addPerson(exportPeople.get(low - 1)); - } - - /** - * Exports a range of people based on the tag and the index range given - * - * @param low - * @param high - * @param tag - * @throws DuplicatePersonException - * @throws IndexOutOfBoundsException - */ - private void exportRange(int low, int high, Tag tag) throws DuplicatePersonException, IndexOutOfBoundsException { - ObservableList<Person> exportPeople = model.getFilteredPersonList(); - ArrayList<Person> exportAddition = new ArrayList<Person>(); - if (tag.equals(new Tag("shouldnotbethistag"))) { - for (int i = low; i < high; i++) { - exportAddition.add(exportPeople.get(i - 1)); - } - teachConnectBook.setPersons(exportAddition); - } else { - for (int i = low; i < high; i++) { - if (exportPeople.get(i - 1).getTags().contains(tag)) { - exportAddition.add(exportPeople.get(i - 1)); - } - - } - } - - teachConnectBook.setPersons(exportAddition); - } - - /** - * Exports all the contacts in the TeachConnect book if contain certain tag - * - * @param tag - * @throws DuplicatePersonException - */ - private void exportAllRange(Tag tag) throws DuplicatePersonException { - ObservableList<Person> exportPeople = model.getFilteredPersonList(); - if (tag.equals(new Tag("shouldnotbethistag"))) { - teachConnectBook.setPersons(exportPeople); - } else { - ArrayList<Person> exportAddition = new ArrayList<Person>(); - for (int i = 0; i < exportPeople.size(); i++) { - if (exportPeople.get(i).getTags().contains(tag)) { - exportAddition.add(exportPeople.get(i)); - } - } - teachConnectBook.setPersons(exportAddition); - } - } - - /** - * Helper method to identify the lower and higher end of the range given - * - * @return rangeStringArray - */ - public String[] handleRange() throws IOException { - String[] rangeStringArray = this.range.split(","); - if (rangeStringArray.length > 2) { - throw new IOException(); - } - return rangeStringArray; - - } - - /** - * - * @param other [in this case ExportCommand] - * @return a boolean value - */ - @Override - public boolean equals(Object other) { - if (this == other) { - return true; - } - - if (!(other instanceof ExportCommand)) { - return false; - } - - ExportCommand e = (ExportCommand) other; - return range.equals(e.range) && path.equals(e.path); - } - -} -``` -###### /java/seedu/address/logic/commands/ShortcutCommand.java -``` java -package seedu.address.logic.commands; - -import static java.util.Objects.requireNonNull; - -import java.util.List; - -import seedu.address.logic.commands.exceptions.CommandException; -import seedu.address.model.shortcuts.ShortcutDoubles; -import seedu.address.model.shortcuts.UniqueShortcutDoublesList; - -/** - * - */ -public class ShortcutCommand extends UndoableCommand { - - public static final String COMMAND_WORD = "shortcut"; - public static final String MESSAGE_USAGE = COMMAND_WORD + " CommandWord " + " ShortcutWord " - + " :Creates a shortcut for any command word"; - public static final String MESSAGE_SHORTCUT_AVAILABLE = "This shortcut already exists!"; - public static final String MESSAGE_SUCCESS = "Successfully added the shortcut"; - public static final String MESSAGE_NO_COMMAND_TO_MAP = "The command statement is invalid and hence cant be mapped!"; - - private final String shortcutWord; - - private final String commandWord; - - private List<ShortcutDoubles> commandsList; - - private final String[] commandsPresent = {"add", "clear", "theme", "delete", "edit", "exit", "export", "find", - "help", "history", "import", "list", "redo", "undo", "select", - "set_appointment", "set_task", "shortcut", "undo", "calendar", - "delete_shortcut", "remove"}; - - public ShortcutCommand(String commandWord, String shortcutWord) { - requireNonNull(commandWord); - requireNonNull(shortcutWord); - this.shortcutWord = shortcutWord; - this.commandWord = commandWord; - } - - @Override - public CommandResult executeUndoableCommand() throws CommandException { - commandsList = model.getFilteredCommandsList(); - if (commandsList != null) { - if (checkIfCommandPresent()) { - return new CommandResult(String.format(MESSAGE_SHORTCUT_AVAILABLE)); - } - - } - - ShortcutDoubles toAdd = new ShortcutDoubles(shortcutWord, commandWord); - try { - model.addCommandShortcut(toAdd); - } catch (UniqueShortcutDoublesList.DuplicateShortcutDoublesException e) { - return new CommandResult(String.format(MESSAGE_SHORTCUT_AVAILABLE)); - } - - return new CommandResult(String.format(MESSAGE_SUCCESS)); - } - - /** - * Checks if the shortcut command is valid or not - * @return whether true or false - */ - private boolean checkIfCommandPresent() throws CommandException { - if (!containsKeyWord(commandWord) || containsKeyWord(shortcutWord)) { - throw new CommandException(MESSAGE_NO_COMMAND_TO_MAP); - } - for (ShortcutDoubles s : commandsList) { - if (s.shortcutWord.equals(shortcutWord)) { - return true; - } - } - return false; - } - - /** - * Checks if the command word is in the Array of commands present - * @param commandWord - * @return whether true if the command is present in the command word list or false otherwise - */ - private boolean containsKeyWord(String commandWord) { - for (String s : commandsPresent) { - if (s.equals(commandWord)) { - return true; - } - } - return false; - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof ShortcutCommand // instanceof handles nulls - && this.shortcutWord.equals(((ShortcutCommand) other).shortcutWord) // state check - && this.commandWord.equals(((ShortcutCommand) other).commandWord)); // state check - } -} -``` -###### /java/seedu/address/logic/commands/ImportCommand.java -``` java -/** - * Imports contacts from a different TeachConnect XML file - */ -public class ImportCommand extends UndoableCommand { - - public static final String COMMAND_WORD = "import"; - public static final String MESSAGE_USAGE = COMMAND_WORD + ": imports contacts to the address book." - + "Parameters: file location...\n" - + "Example: " + COMMAND_WORD + " main/src/test/data/sandbox/somerandomfile.xml"; - public static final String MESSAGE_SUCCESS = "%1$s contacts have been successfully imported " - + "and %2$s have been left out!"; - protected static final String MESSAGE_INVALID_FILE = "Please input a valid file location"; - protected Storage storage; - private AddressBook addressBookImported; - private AddressBookStorage addressBookStorage; - private String filePath; - private int numberAdded = 0; - private int numberNotAdded = 0; - - /** - * Creates an ImportCommand to import the specified TeachConnect XML file - */ - public ImportCommand(String importPath) { - requireNonNull(importPath); - this.filePath = importPath; - addressBookStorage = new XmlAddressBookStorage(filePath); - } - - @Override - public CommandResult executeUndoableCommand() throws CommandException { - try { - if (addressBookStorage.readAddressBook(filePath).isPresent()) { - this.addressBookImported = new AddressBook(addressBookStorage.readAddressBook().get()); - ObservableList<Person> people = addressBookImported.getPersonList(); - for (int i = 0; i < people.size(); i++) { - try { - model.addPerson(people.get(i)); - numberAdded++; - } catch (DuplicatePersonException e) { - numberNotAdded++; - } - } - } else { - throw new CommandException(String.format(MESSAGE_INVALID_FILE)); - } - } catch (DataConversionException e) { - throw new CommandException(String.format(MESSAGE_INVALID_FILE)); - } catch (IOException e) { - throw new CommandException(String.format(MESSAGE_INVALID_FILE)); - } - - return new CommandResult(String.format(MESSAGE_SUCCESS, numberAdded, numberNotAdded)); - } - - @Override - public boolean equals(Object other) { - return other == this // short circuit if same object - || (other instanceof ImportCommand // instanceof handles nulls - && filePath.equals(((ImportCommand) other).filePath)); - } - - -} - - - - -``` -###### /java/seedu/address/storage/XmlAdaptedShortcutDouble.java -``` java -package seedu.address.storage; - -import javax.xml.bind.annotation.XmlElement; - -import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.shortcuts.ShortcutDoubles; - -/** - * - */ -public class XmlAdaptedShortcutDouble { - @XmlElement - private String shortcutWord; - @XmlElement - private String commandWord; - - public XmlAdaptedShortcutDouble() {} - - public XmlAdaptedShortcutDouble(String shortcutWord, String commandWord) { - this.shortcutWord = shortcutWord; - this.commandWord = commandWord; - } - - public XmlAdaptedShortcutDouble(ShortcutDoubles source) { - shortcutWord = source.shortcutWord; - commandWord = source.commandWord; - } - - public ShortcutDoubles toModelType() throws IllegalValueException { - return new ShortcutDoubles(shortcutWord, commandWord); - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof XmlAdaptedShortcutDouble)) { - return false; - } - - return commandWord.equals(((XmlAdaptedShortcutDouble) other).commandWord) - && shortcutWord.equals(((XmlAdaptedShortcutDouble) other).shortcutWord); - } - -} -``` -###### /java/seedu/address/model/AddressBook.java -``` java - public void setShorcutCommands(List<ShortcutDoubles> shorcutCommands) { - this.shorcutCommands.setCommandsList(shorcutCommands); - } -``` -###### /java/seedu/address/model/AddressBook.java -``` java - /** - * - * @param commandShortcut - * @return a boolean variable - * @throws UniqueShortcutDoublesList.CommandShortcutNotFoundException - */ - public boolean removeShortcutDouble(ShortcutDoubles commandShortcut) - throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { - if (shorcutCommands.remove(commandShortcut)) { - return true; - } else { - throw new UniqueShortcutDoublesList.CommandShortcutNotFoundException(); - } - } - //author - - //// tag-level operations - - public void addTag(Tag t) throws UniqueTagList.DuplicateTagException { - tags.add(t); - } -``` -###### /java/seedu/address/model/AddressBook.java -``` java - public void addShortcutDoubles(ShortcutDoubles s) - throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { - shorcutCommands.add(s); - } -``` -###### /java/seedu/address/model/AddressBook.java -``` java - /** - * Removes the particular tag for all people in the AddressBook. - */ - public void removeTag(Tag tag) throws DuplicatePersonException, PersonNotFoundException { - for (Person person : persons) { - removeTagFromPerson(tag, person); - } - for (Student student : students) { - removeTagFromStudent(tag, student); - } - - } - - - /** - * Removes the particular tag for that particular person in the AddressBook. - */ - private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundException, DuplicatePersonException { - Set<Tag> listOfTags = new HashSet<>(person.getTags()); - - if (listOfTags.contains(tag)) { - listOfTags.remove(tag); - } else { - return; - } - - Person updatedPerson = new Person(person.getName(), person.getPhone(), person.getEmail(), - person.getAddress(), listOfTags); - - updatePerson(person, updatedPerson); - } -``` -###### /java/seedu/address/model/ModelManager.java -``` java - @Override - public synchronized void addCommandShortcut(ShortcutDoubles shortcutDoubles) - throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { - addressBook.addShortcutDoubles(shortcutDoubles); - indicateAddressBookChanged(); - } - - @Override - public synchronized void deleteCommandShortcut(ShortcutDoubles shortcutDoubles) - throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { - addressBook.removeShortcutDouble(shortcutDoubles); - } -``` -###### /java/seedu/address/model/ModelManager.java -``` java - @Override - public ObservableList<ShortcutDoubles> getFilteredCommandsList() { - return FXCollections.unmodifiableObservableList(filteredShortcutCommands); - } -``` -###### /java/seedu/address/model/shortcuts/ShortcutDoubles.java -``` java -package seedu.address.model.shortcuts; - -import static java.util.Objects.requireNonNull; - -/** - * Represents a Command Double - */ -public class ShortcutDoubles { - - public final String shortcutWord; - public final String commandWord; - - public ShortcutDoubles(String shortcutWord, String commandWord) { - requireNonNull(shortcutWord); - requireNonNull(commandWord); - this.shortcutWord = shortcutWord; - this.commandWord = commandWord; - } - - @Override - public boolean equals(Object other) { - if (other == this) { - return true; - } - - if (!(other instanceof ShortcutDoubles)) { - return false; - } - - ShortcutDoubles otherShortcut = (ShortcutDoubles) other; - return otherShortcut.commandWord.equals(this.commandWord) - && otherShortcut.shortcutWord.equals(this.shortcutWord); - } -} -``` -###### /java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java -``` java -package seedu.address.model.shortcuts; - -import static java.util.Objects.requireNonNull; - -import java.util.List; - -import javafx.collections.FXCollections; -import javafx.collections.ObservableList; -import seedu.address.commons.exceptions.DuplicateDataException; -import seedu.address.commons.util.CollectionUtil; - -/** - * - */ -public class UniqueShortcutDoublesList { - - private final ObservableList<ShortcutDoubles> internalList = FXCollections.observableArrayList(); - - public UniqueShortcutDoublesList(){ - - } - - /** - * Adds Shortcut Doubles to the internal list - * @param toAdd - * @throws DuplicateShortcutDoublesException - */ - public void add(ShortcutDoubles toAdd) throws DuplicateShortcutDoublesException { - requireNonNull(toAdd); - if (contains(toAdd)) { - throw new DuplicateShortcutDoublesException(); - } - internalList.add(toAdd); - - assert CollectionUtil.elementsAreUnique(internalList); - } - - /** - * Returns an ObservableList of the internallist - * @return - */ - public ObservableList<ShortcutDoubles> asObservableList() { - assert CollectionUtil.elementsAreUnique(internalList); - return FXCollections.unmodifiableObservableList(internalList); - } - - /** - * Gives a duplicate Except - */ - public static class DuplicateShortcutDoublesException extends DuplicateDataException { - protected DuplicateShortcutDoublesException() { - super("Operation would result in duplicate Doubles"); - } - } - - /** - * Helps in checking if there are duplicates - * @param toCheck - * @return - */ - public boolean contains(ShortcutDoubles toCheck) { - requireNonNull(toCheck); - return internalList.contains(toCheck); - } - - @Override - public boolean equals(Object other) { - assert CollectionUtil.elementsAreUnique(internalList); - return other == this // short circuit if same object - || (other instanceof UniqueShortcutDoublesList // instanceof handles nulls - && this.internalList.equals(((UniqueShortcutDoublesList) other).internalList)); - } - - public void setCommandsList(List<ShortcutDoubles> commandsList) { - requireNonNull(commandsList); - internalList.setAll(commandsList); - assert CollectionUtil.elementsAreUnique(internalList); - } - - /** - * Removes the equvivalent command shortcut from the list. - * @param shortcutDoubles - * - * @throws UniqueShortcutDoublesList.CommandShortcutNotFoundException - */ - public boolean remove(ShortcutDoubles shortcutDoubles) - throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { - requireNonNull(shortcutDoubles); - final boolean shortcutToBeDeleted = internalList.remove(shortcutDoubles); - if (!shortcutToBeDeleted) { - throw new UniqueShortcutDoublesList.CommandShortcutNotFoundException(); - } - return shortcutToBeDeleted; - } - - /** - * Exception when the command shortcut is not present in the list of stored commands - */ - public static class CommandShortcutNotFoundException extends Exception {} -} -``` diff --git a/collated/test/Sisyphus25-reused.md b/collated/test/Sisyphus25-reused.md deleted file mode 100644 index ca27d38124a8..000000000000 --- a/collated/test/Sisyphus25-reused.md +++ /dev/null @@ -1,19 +0,0 @@ -# Sisyphus25-reused -###### /java/guitests/guihandles/PersonCardHandle.java -``` java - //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c - /** - * - * @param tag Text value of the tag label - * @return List of style classes for tag label with text value {@code tag} - */ - public List<String> getTagStyleClasses(String tag) { - return tagLabels - .stream() - .filter(label -> label.getText().equals(tag)) - .map(Label::getStyleClass) - .findFirst() - .orElseThrow(() -> new IllegalArgumentException("No such tag.")); - } -} -``` diff --git a/collated/test/Sisyphus25.md b/collated/test/Sisyphus25.md deleted file mode 100644 index ea831a1bad9b..000000000000 --- a/collated/test/Sisyphus25.md +++ /dev/null @@ -1,933 +0,0 @@ -# Sisyphus25 -###### /java/seedu/address/ui/AppointmentCardTest.java -``` java -public class AppointmentCardTest extends GuiUnitTest { - - @Test - public void equals() { - Appointment appointment = TYPICAL_APPOINTMENT_2; - AppointmentCard appointmentCard = new AppointmentCard(appointment, 0); - - // same appointment, same index -> returns true - AppointmentCard copy = new AppointmentCard(appointment, 0); - assertTrue(appointmentCard.equals(copy)); - - // same object -> returns true - assertTrue(appointmentCard.equals(appointmentCard)); - - // null -> returns false - assertFalse(appointmentCard.equals(null)); - - // different types -> returns false - assertFalse(appointmentCard.equals(0)); - - // different appointment, same index -> returns false - Appointment differentAppointment = TYPICAL_APPOINTMENT_3; - assertFalse(appointmentCard.equals(new AppointmentCard(differentAppointment, 0))); - - // same appointment, different index -> returns false - assertFalse(appointmentCard.equals(new AppointmentCard(appointment, 1))); - } - -} -``` -###### /java/seedu/address/ui/TaskCardTest.java -``` java -public class TaskCardTest extends GuiUnitTest { - - @Test - public void equals() { - Task task = TYPICAL_TASK_2; - TaskCard taskCard = new TaskCard(task, 0); - - // same task, same index -> returns true - TaskCard copy = new TaskCard(task, 0); - assertTrue(taskCard.equals(copy)); - - // same object -> returns true - assertTrue(taskCard.equals(taskCard)); - - // null -> returns false - assertFalse(taskCard.equals(null)); - - // different types -> returns false - assertFalse(taskCard.equals(0)); - - // different task, same index -> returns false - Task differentTask = TYPICAL_TASK_1; - assertFalse(taskCard.equals(new TaskCard(differentTask, 0))); - - Task expiredTask = TYPICAL_TASK_EXPIRED; - TaskCard expiredTaskCard = new TaskCard(TYPICAL_TASK_EXPIRED, 1); - // same task, different index -> returns false - assertFalse(taskCard.equals(expiredTaskCard)); - } -} -``` -###### /java/seedu/address/logic/parser/RemoveCommandParserTest.java -``` java -public class RemoveCommandParserTest { - private RemoveCommandParser parser = new RemoveCommandParser(); - - @Test - public void parse_validArgs_returnsDeleteCommand() { - assertParseSuccess(parser, "appointment" + " 1", new RemoveCommand(INDEX_FIRST, "appointment")); - } - - @Test - public void parse_invalidArgs_throwsParseException() { - assertParseFailure(parser, "not valid", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); - assertParseFailure(parser, "", String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); - assertParseFailure(parser, "Appointment" + " 1", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); - assertParseFailure(parser, "appointment" + " -1", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); - } -} -``` -###### /java/seedu/address/logic/parser/ChangeThemeCommandParserTest.java -``` java -/** - * Test scope: similar to ToggleCalendarViewCommandParser Test - */ -public class ChangeThemeCommandParserTest { - private ChangeThemeCommandParser parser = new ChangeThemeCommandParser(); - - @Test - public void parse_validArgs_returnsToggleCalendarViewCommand() { - assertParseSuccess(parser, "dark ", new ChangeThemeCommand("dark")); - } - - @Test - public void parse_invalidArgs_throwsParseException() { - assertParseFailure(parser, "not a theme", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ChangeThemeCommand.MESSAGE_INVALID_THEME)); - assertParseFailure(parser, "x", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ChangeThemeCommand.MESSAGE_INVALID_THEME)); - } -} -``` -###### /java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java -``` java -public class SetAppointmentCommandParserTest { - private SetAppointmentCommandParser parser = new SetAppointmentCommandParser(); - - @Test - public void parse_allFieldsPresent_success() { - Appointment expectedAppointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); - - // whitespace only preamble - assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + START_TIME_DESC + END_TIME_DESC, - new SetAppointmentCommand(expectedAppointment)); - } - - @Test - public void parse_optionalFieldsMissing_success() { - // no personToMeet - Appointment expectedAppointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); - assertParseSuccess(parser, TITLE_DESC + START_TIME_DESC + END_TIME_DESC, - new SetAppointmentCommand((expectedAppointment))); - } - - @Test - public void parse_compulsoryFieldMissing_failure() { - String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, SetAppointmentCommand.MESSAGE_USAGE); - - // missing title prefix - assertParseFailure(parser, VALID_TITLE + START_TIME_DESC + END_TIME_DESC, - expectedMessage); - - // missing start time prefix - assertParseFailure(parser, TITLE_DESC + VALID_START_TIME + END_TIME_DESC, - expectedMessage); - - // missing start time prefix - assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + VALID_END_TIME, - expectedMessage); - - // all prefixes missing - assertParseFailure(parser, VALID_TITLE + VALID_START_TIME + VALID_END_TIME, - expectedMessage); - } - - @Test - public void parse_invalidValue_failure() { - // invalid title - assertParseFailure(parser, INVALID_TITLE_DESC + START_TIME_DESC + END_TIME_DESC, - Title.MESSAGE_TITLE_CONSTRAINTS); - - // invalid start time - assertParseFailure(parser, TITLE_DESC + INVALID_START_TIME_DESC + END_TIME_DESC, - EventTime.MESSAGE_TIME_CONSTRAINTS); - - // invalid end time - assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + INVALID_END_TIME_DESC, - EventTime.MESSAGE_TIME_CONSTRAINTS); - } -} -``` -###### /java/seedu/address/logic/parser/SetTaskCommandParserTest.java -``` java -public class SetTaskCommandParserTest { - private SetTaskCommandParser parser = new SetTaskCommandParser(); - - @Test - public void parse_allFieldsPresent_success() { - Task expectedTask = new Task(new Title(VALID_TITLE), new EventTime(VALID_END_TIME)); - - // whitespace only preamble - assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + END_TIME_DESC, - new SetTaskCommand(expectedTask)); - } - - @Test - public void parse_compulsoryFieldMissing_failure() { - String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, SetTaskCommand.MESSAGE_USAGE); - - // missing title prefix - assertParseFailure(parser, VALID_TITLE + END_TIME_DESC, - expectedMessage); - - // missing end time prefix - assertParseFailure(parser, TITLE_DESC + VALID_END_TIME, - expectedMessage); - - // all prefixes missing - assertParseFailure(parser, VALID_TITLE + VALID_END_TIME, - expectedMessage); - } - - @Test - public void parse_invalidValue_failure() { - // invalid title - assertParseFailure(parser, INVALID_TITLE_DESC + END_TIME_DESC, Title.MESSAGE_TITLE_CONSTRAINTS); - - // invalid end time - assertParseFailure(parser, TITLE_DESC + INVALID_END_TIME_DESC, EventTime.MESSAGE_TIME_CONSTRAINTS); - } -} -``` -###### /java/seedu/address/logic/parser/ListCommandParserTest.java -``` java -public class ListCommandParserTest { - private ListCommandParser parser = new ListCommandParser(); - - @Test - public void parse_validArgs_returnsListCommand() { - assertParseSuccess(parser, "contacts", new ListCommand(ListCommand.TYPE_CONTACT)); - assertParseSuccess(parser, "students", new ListCommand(ListCommand.TYPE_STUDENT)); - assertParseSuccess(parser, "tasks", new ListCommand(ListCommand.TYPE_TASK)); - assertParseSuccess(parser, "appointments", new ListCommand(ListCommand.TYPE_APPOINTMENT)); - assertParseSuccess(parser, "shortcuts", new ListCommand(ListCommand.TYPE_SHORTCUT)); - } - - @Test - public void parse_invalidArgs_throwsParseException() { - assertParseFailure(parser, "ffffffd", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ListCommand.MESSAGE_USAGE)); - assertParseFailure(parser, "event", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ListCommand.MESSAGE_USAGE)); - } -} -``` -###### /java/seedu/address/logic/parser/AddressBookParserTest.java -``` java - @Test - public void parseCommand_toggleCalendarView() throws Exception { - ToggleCalendarViewCommand command = - (ToggleCalendarViewCommand) parser.parseCommand(ToggleCalendarViewCommand.COMMAND_WORD + " " + "m"); - assertEquals(new ToggleCalendarViewCommand('m'), command); - } - - @Test - public void parseCommand_setAppointment() throws Exception { - SetAppointmentCommand command = - (SetAppointmentCommand) parser.parseCommand(SetAppointmentCommand.COMMAND_WORD - + TITLE_DESC + START_TIME_DESC + END_TIME_DESC); - Appointment appointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); - assertEquals(new SetAppointmentCommand(appointment), command); - } - - @Test - public void parseCommand_setTask() throws Exception { - SetTaskCommand command = - (SetTaskCommand) parser.parseCommand(SetTaskCommand.COMMAND_WORD + TITLE_DESC + END_TIME_DESC); - Task task = new Task(new Title(VALID_TITLE), new EventTime(VALID_END_TIME)); - assertEquals(new SetTaskCommand(task), command); - } - - @Test - public void parseCommand_changeTheme() throws Exception { - ChangeThemeCommand command = - (ChangeThemeCommand) parser.parseCommand(ChangeThemeCommand.COMMAND_WORD + " " + "dark"); - assertEquals(new ChangeThemeCommand("dark"), command); - } - - @Test - public void parseCommand_remove() throws Exception { - RemoveCommand commandRemoveAppointment = - (RemoveCommand) parser.parseCommand(RemoveCommand.COMMAND_WORD + " " + "appointment" + " " + "1"); - RemoveCommand commandRemoveTask = - (RemoveCommand) parser.parseCommand(RemoveCommand.COMMAND_WORD + " " + "task" + " " + "2"); - assertEquals(new RemoveCommand(Index.fromOneBased(1), "appointment"), commandRemoveAppointment); - assertEquals(new RemoveCommand(Index.fromOneBased(2), "task"), commandRemoveTask); - } -``` -###### /java/seedu/address/logic/parser/ParserUtilTest.java -``` java - @Test - public void parseTitle_null_throwsNullPointerException() { - Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseTitle((String) null)); - Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseTitle((Optional<String>) null)); - } - - @Test - public void parseTitle_invalidValue_throwsIllegalValueException() { - Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseTitle(" ")); - Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseTitle(Optional.of(" "))); - } - - @Test - public void parseTitle_optionalEmpty_returnsOptionalEmpty() throws Exception { - assertFalse(ParserUtil.parseTitle(Optional.empty()).isPresent()); - } - - @Test - public void parseTitle_validValue_returnsTitle() throws Exception { - String validTitle = "Hanging out"; - Title expectedTitle = new Title(validTitle); - assertEquals(expectedTitle, ParserUtil.parseTitle(validTitle)); - assertEquals(Optional.of(expectedTitle), ParserUtil.parseTitle(Optional.of(validTitle))); - } - - @Test - public void parseEventTime_null_throwsNullPointerException() { - Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseEventTime((String) null)); - Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseEventTime((Optional<String>) null)); - } - - @Test - public void parseEventTime_optionalEmpty_returnsOptionalEmpty() throws Exception { - assertFalse(ParserUtil.parseEventTime(Optional.empty()).isPresent()); - } - - @Test - public void parseEventTime_validValue_returnsEventTime() throws Exception { - String validTime = "20/10/2018 10:00"; - EventTime expectedEventTime = new EventTime(validTime); - assertEquals(expectedEventTime, ParserUtil.parseEventTime(validTime)); - assertEquals(Optional.of(expectedEventTime), ParserUtil.parseEventTime(Optional.of(validTime))); - } - -``` -###### /java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java -``` java -public class ToggleCalendarViewParserTest { - private ToggleCalendarViewParser parser = new ToggleCalendarViewParser(); - - @Test - public void parse_validArgs_returnsToggleCalendarViewCommand() { - assertParseSuccess(parser, "d", new ToggleCalendarViewCommand('d')); - } - - @Test - public void parse_invalidArgs_throwsParseException() { - assertParseFailure(parser, "day", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ToggleCalendarViewCommand.MESSAGE_USAGE)); - assertParseFailure(parser, "x", - String.format(MESSAGE_INVALID_COMMAND_FORMAT, ToggleCalendarViewCommand.MESSAGE_USAGE)); - } -} -``` -###### /java/seedu/address/logic/commands/RemoveCommandTest.java -``` java - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; -import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; -import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; -import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND; -import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; - -import org.junit.Test; - -import seedu.address.commons.core.Messages; -import seedu.address.commons.core.index.Index; -import seedu.address.logic.CommandHistory; -import seedu.address.logic.UndoRedoStack; -import seedu.address.model.Model; -import seedu.address.model.ModelManager; -import seedu.address.model.UserPrefs; -import seedu.address.model.event.Appointment; -import seedu.address.model.event.Task; - -/** - * Contains Test for {@code RemoveCommand} - */ -public class RemoveCommandTest { - private Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - - @Test - public void execute_validIndexRemoveAppointment_success() throws Exception { - ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); - Appointment appointmentToDelete = model.getFilteredAppointmentList().get(INDEX_FIRST.getZeroBased()); - RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); - String expectedMessage = - String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "appointment", appointmentToDelete); - expectedModel.deleteAppointment(appointmentToDelete); - assertCommandSuccess(removeCommandRemovingAppointment, model, expectedMessage, expectedModel); - } - - @Test - public void execute_validIndexRemoveTask_success() throws Exception { - ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); - Task taskToDelete = model.getFilteredTaskList().get(INDEX_FIRST.getZeroBased()); - RemoveCommand removeCommandRemovingTask = prepareCommand(INDEX_FIRST, "task"); - String expectedMessage = - String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "task", taskToDelete); - expectedModel.deleteTask(taskToDelete); - assertCommandSuccess(removeCommandRemovingTask, model, expectedMessage, expectedModel); - } - - @Test - public void execute_invalidIndex_throwsCommandException() throws Exception { - Index outOfBoundIndex = Index.fromOneBased(model.getFilteredTaskList().size() + 1); - RemoveCommand removeCommandRemovingTask = prepareCommand(outOfBoundIndex, "task"); - - Index outOfBoundIndex2 = Index.fromOneBased(model.getFilteredAppointmentList().size() + 1); - RemoveCommand removeCommandRemovingAppointment = prepareCommand(outOfBoundIndex2, "appointment"); - - assertCommandFailure(removeCommandRemovingTask, model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); - assertCommandFailure(removeCommandRemovingAppointment, - model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); - } - - @Test - public void equals() throws Exception { - RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); - RemoveCommand removeCommandRemovingTask = prepareCommand(INDEX_SECOND, "task"); - - // same object -> returns true - assertTrue(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointment)); - - // same values -> returns true - RemoveCommand removeCommandRemovingAppointmentCopy = prepareCommand(INDEX_FIRST, "appointment"); - assertTrue(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointmentCopy)); - - // one command preprocessed when previously equal -> returns false - removeCommandRemovingAppointmentCopy.preprocessUndoableCommand(); - assertFalse(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointmentCopy)); - - // different types -> returns false - assertFalse(removeCommandRemovingAppointment.equals(1)); - - // null -> returns false - assertFalse(removeCommandRemovingAppointment.equals(null)); - - // different person -> returns false - assertFalse(removeCommandRemovingAppointment.equals(removeCommandRemovingTask)); - } - - /** - * Returns a {@code RemoveCommand} with the parameter {@code index}, {@code eventType}. - */ - private RemoveCommand prepareCommand(Index index, String eventType) { - RemoveCommand removeCommand = new RemoveCommand(index, eventType); - removeCommand.setData(model, new CommandHistory(), new UndoRedoStack()); - return removeCommand; - } -} -``` -###### /java/seedu/address/logic/commands/ToggleCalendarViewCommandTest.java -``` java -public class ToggleCalendarViewCommandTest { - @Rule - public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); - - @Test - public void execute_help_success() throws CommandException { - Character viewMode = 'd'; - CommandResult result = new ToggleCalendarViewCommand(viewMode).execute(); - assertEquals(MESSAGE_VIEW_TOGGLE_SUCCESS, result.feedbackToUser); - assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleCalendarViewEvent); - assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); - } -} -``` -###### /java/seedu/address/logic/commands/SetTaskCommandTest.java -``` java -public class SetTaskCommandTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - @Test - public void constructor_nullAppointment_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new SetTaskCommand(null); - } - - @Test - public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception { - ModelStubAcceptingTaskAdded modelStub = new ModelStubAcceptingTaskAdded(); - - CommandResult commandResult = getSetTaskCommand(TYPICAL_TASK_2, modelStub).execute(); - - assertEquals(String.format(SetTaskCommand.MESSAGE_SUCCESS, TYPICAL_TASK_2), commandResult.feedbackToUser); - assertEquals(Arrays.asList(TYPICAL_TASK_2), modelStub.tasksAdded); - } - - @Test - public void execute_duplicateEvent_throwsCommandException() throws Exception { - ModelStub modelStub = new ModelStubThrowingDuplicateEventException(); - - thrown.expect(CommandException.class); - thrown.expectMessage(SetTaskCommand.MESSAGE_DUPLICATE_TASK); - - getSetTaskCommand(TYPICAL_TASK_1, modelStub).execute(); - } - - @Test - public void equals() { - SetTaskCommand addTask1 = - new SetTaskCommand(TYPICAL_TASK_1); - SetTaskCommand addTask2 = - new SetTaskCommand(TYPICAL_TASK_2); - - // same object -> returns true - assertTrue(addTask1.equals(addTask1)); - - // same values -> returns true - SetTaskCommand addAppointment1Copy = - new SetTaskCommand(TYPICAL_TASK_1); - assertTrue(addTask1.equals(addAppointment1Copy)); - - // different types -> returns false - assertFalse(addTask1.equals(1)); - - // null -> returns false - assertFalse(addTask1.equals(null)); - - // different tasks -> returns false - assertFalse(addTask1.equals(addTask2)); - } - - /** - * Generates a new SetTaskCommand with the details of the given task. - */ - private SetTaskCommand getSetTaskCommand(Task task, Model model) { - SetTaskCommand command = new SetTaskCommand(task); - command.setData(model, new CommandHistory(), new UndoRedoStack()); - return command; - } - -} -``` -###### /java/seedu/address/logic/commands/SetAppointmentCommandTest.java -``` java -public class SetAppointmentCommandTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - private Model model; - - @Before - public void setUp() { - model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - } - - @Test - public void constructor_nullAppointment_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new SetAppointmentCommand(null, null); - } - - @Test - public void execute_invalidPersonToMeetIndex_failure() { - Index outOfBoundsIndex = Index.fromOneBased(model.getFilteredPersonList().size() + 1); - SetAppointmentCommand command = getSetAppointmentCommand(TYPICAL_APPOINTMENT_3, outOfBoundsIndex, model); - - try { - command.execute(); - fail("The expected CommandException was not thrown."); - } catch (CommandException ce) { - assertEquals(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX, ce.getMessage()); - } - } - - @Test - public void execute_appointmentWithoutPersonToMeetAccepted_addSuccessful() throws Exception { - CommandResult commandResult = - getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_3, null, model).execute(); - - assertEquals(String.format( - SetAppointmentCommand.MESSAGE_SUCCESS, APPOINTMENT_WITHOUT_PERSON_3), commandResult.feedbackToUser); - } - - @Test - public void execute_appointmentWithPersonToMeetAccepted_addSuccessful() throws Exception { - CommandResult commandResult = - getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_3, INDEX_THIRD, model).execute(); - - assertEquals(String.format( - SetAppointmentCommand.MESSAGE_SUCCESS, TYPICAL_APPOINTMENT_3), commandResult.feedbackToUser); - } - - @Test - public void execute_duplicateAppointmentsameIndex_throwsCommandException() throws Exception { - thrown.expect(CommandException.class); - thrown.expectMessage(SetAppointmentCommand.MESSAGE_DUPLICATE_APPOINTMENT); - - getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_1, INDEX_FIRST, model).execute(); - } - - @Test - public void equals() { - SetAppointmentCommand addAppointment1 = - new SetAppointmentCommand(TYPICAL_APPOINTMENT_1); - SetAppointmentCommand addAppointment2 = - new SetAppointmentCommand(TYPICAL_APPOINTMENT_2); - - // same object -> returns true - assertTrue(addAppointment1.equals(addAppointment1)); - - // same values -> returns true - SetAppointmentCommand addAppointment1Copy = - new SetAppointmentCommand(TYPICAL_APPOINTMENT_1); - assertTrue(addAppointment1.equals(addAppointment1Copy)); - - // different types -> returns false - assertFalse(addAppointment1.equals(1)); - - // null -> returns false - assertFalse(addAppointment1.equals(null)); - - // different appointments -> returns false - assertFalse(addAppointment1.equals(addAppointment2)); - } - - /** - * Generates a new SetAppointmentCommand with the details of the given appointment. - */ - private SetAppointmentCommand getSetAppointmentCommand(Appointment baseAppointment, Index index, Model model) { - SetAppointmentCommand command = new SetAppointmentCommand(baseAppointment, index); - command.setData(model, new CommandHistory(), new UndoRedoStack()); - return command; - } - -} -``` -###### /java/seedu/address/logic/commands/ChangeThemeCommandTest.java -``` java -public class ChangeThemeCommandTest { - @Rule - public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); - - @Test - public void execute_help_success() throws CommandException { - String theme = "dark"; - CommandResult result = new ChangeThemeCommand(theme).execute(); - assertEquals(MESSAGE_CHANGE_THEME_SUCCESS, result.feedbackToUser); - assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ThemeChangeEvent); - assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); - } -} -``` -###### /java/seedu/address/storage/XmlAdaptedTaskTest.java -``` java -public class XmlAdaptedTaskTest { - - private static final String INVALID_TITLE = " "; - private static final String INVALID_TIME = "not a time stamp"; - - @Test - public void toModelType_validTaskDetails_returnsPerson() throws Exception { - XmlAdaptedTask task = new XmlAdaptedTask(TYPICAL_TASK_1); - assertEquals(TYPICAL_TASK_1, task.toModelType()); - } - - @Test - public void toModelType_invalidTitle_throwsIllegalValueException() { - XmlAdaptedTask task = - new XmlAdaptedTask(INVALID_TITLE, VALID_END_TIME); - String expectedMessage = Title.MESSAGE_TITLE_CONSTRAINTS; - Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); - } - - @Test - public void toModelType_invalidTime_throwsIllegalValueException() { - XmlAdaptedTask task = - new XmlAdaptedTask(VALID_TITLE, INVALID_TIME); - String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; - Assert.assertThrows(IllegalArgumentException.class, expectedMessage, task::toModelType); - } - - @Test - public void toModelType_nullTitle_throwsIllegalValueException() { - XmlAdaptedTask task = - new XmlAdaptedTask(null, VALID_END_TIME); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName()); - Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); - } - - @Test - public void toModelType_nullTime_throwsIllegalValueException() { - XmlAdaptedTask task = - new XmlAdaptedTask(VALID_TITLE, null); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time"); - Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); - } - - @Test - public void equals() { - XmlAdaptedTask task = new XmlAdaptedTask(TYPICAL_TASK_1); - - //same object - assertTrue(task.equals(task)); - - //same value - XmlAdaptedTask taskCopy = new XmlAdaptedTask(TYPICAL_TASK_1); - assertTrue(task.equals(taskCopy)); - - //different type - assertFalse(task.equals(TYPICAL_TASK_1)); - - //different obj - XmlAdaptedTask anotherTask = new XmlAdaptedTask(TYPICAL_TASK_2); - assertFalse(task.equals(anotherTask)); - } -} -``` -###### /java/seedu/address/storage/XmlAdaptedAppointmentTest.java -``` java -public class XmlAdaptedAppointmentTest { - - private static final String INVALID_TITLE = " "; - private static final String VALID_PERSON_TO_MEET = "Alice Email: alice@gmail.com"; - private static final String INVALID_TIME = "not a time stamp"; - - @Test - public void toModelType_validAppointmentDetails_returnsPerson() throws Exception { - XmlAdaptedAppointment appointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); - assertEquals(TYPICAL_APPOINTMENT_1, appointment.toModelType()); - } - - @Test - public void toModelType_invalidTitle_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(INVALID_TITLE, VALID_START_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); - String expectedMessage = Title.MESSAGE_TITLE_CONSTRAINTS; - Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void toModelType_invalidStartTime_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(VALID_TITLE, INVALID_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); - String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; - Assert.assertThrows(IllegalArgumentException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void toModelType_invalidStartEndTime_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(VALID_TITLE, VALID_START_TIME, INVALID_TIME, VALID_PERSON_TO_MEET); - String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; - Assert.assertThrows(IllegalArgumentException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void toModelType_nullTitle_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(null, VALID_START_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName()); - Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void toModelType_nullStartTime_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(VALID_TITLE, null, VALID_END_TIME, VALID_PERSON_TO_MEET); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Start Time"); - Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void toModelType_nullEndTime_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(VALID_TITLE, VALID_START_TIME, null, VALID_PERSON_TO_MEET); - String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "End Time"); - Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void toModelType_invalidTimePeriod_throwsIllegalValueException() { - XmlAdaptedAppointment appointment = - new XmlAdaptedAppointment(VALID_TITLE, "20/10/2018 10:00", "20/10/2018 09:00"); - String expectedMessage = Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS; - Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); - } - - @Test - public void equals() { - XmlAdaptedAppointment appointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); - - //same object - assertTrue(appointment.equals(appointment)); - - //same value - XmlAdaptedAppointment appointmentCopy = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); - assertTrue(appointment.equals(appointmentCopy)); - - //different type - assertFalse(appointment.equals(TYPICAL_APPOINTMENT_1)); - - //different obj - XmlAdaptedAppointment anotherAppointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_2); - assertFalse(appointment.equals(anotherAppointment)); - } -} -``` -###### /java/seedu/address/model/event/AppointmentTest.java -``` java -public class AppointmentTest { - private static final Title VALID_TITLE = new Title("Meet Student"); - private static final EventTime VALID_START_TIME = new EventTime("05/04/2018 10:00"); - private static final EventTime VALID_END_TIME = new EventTime("05/04/2018 11:00"); - private static final EventTime INVALID_END_TIME = new EventTime("05/04/2018 09:00"); - - @Test - public void constructor_invalidAppointmentTime_throwsIllegalArgumentException() { - Assert.assertThrows(IllegalArgumentException.class, () -> - new Appointment(VALID_TITLE, VALID_START_TIME, INVALID_END_TIME)); - } - - @Test - public void isValidTime() { - // invalid time stamps - assertFalse(Appointment.isValidTime(VALID_START_TIME, INVALID_END_TIME)); //End time is before Start Time - - // valid time stamps - assertTrue(Appointment.isValidTime(VALID_START_TIME, VALID_END_TIME)); - } -} -``` -###### /java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java -``` java -/** - * A Model stub that always throw a DuplicateEventException when trying to add an appointment/task. - */ -public class ModelStubThrowingDuplicateEventException extends ModelStub { - @Override - public void addAppointment (Appointment appointment) throws DuplicateEventException { - throw new DuplicateEventException(); - } - - @Override - public void addTask (Task task) throws DuplicateEventException { - throw new DuplicateEventException(); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - return new AddressBook(); - } -} -``` -###### /java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java -``` java -/** - * A Model stub that always accept the task being added. - */ -public class ModelStubAcceptingTaskAdded extends ModelStub { - public final ArrayList<Task> tasksAdded = new ArrayList<>(); - - @Override - public void addTask(Task event) throws DuplicateEventException { - requireNonNull(event); - tasksAdded.add(event); - } - - @Override - public ReadOnlyAddressBook getAddressBook() { - return new AddressBook(); - } -} -``` -###### /java/seedu/address/testutil/AppointmentBuilder.java -``` java -/** - * A utility class to help with building Appointment objects. - */ -public class AppointmentBuilder { - private Title title; - private EventTime time; - private EventTime endTime; - private PersonToMeet personToMeet; - - public AppointmentBuilder(String title, String time, String endTime) { - this(title, time, endTime, (String) null); - } - - public AppointmentBuilder(String title, String time, String endTime, Person personToMeet) { - this(title, time, endTime, personToMeet.getName() + EMAIL_SPLITTER + personToMeet.getEmail()); - } - - public AppointmentBuilder(String title, String time, String endTime, String personToMeet) { - this.title = new Title(title); - this.time = new EventTime(time); - this.endTime = new EventTime(endTime); - if (personToMeet != null) { - String[] components = personToMeet.split(EMAIL_SPLITTER); - this.personToMeet = new PersonToMeet(components[0], components[1]); - } - } - - /** - * @return an {@code Appointment} from the data feed to constructor - */ - public Appointment build() { - return new Appointment(title, time, endTime, personToMeet); - } -} -``` -###### /java/seedu/address/testutil/TypicalEvents.java -``` java -/** - * A utility class containing a list of event objects to be used in tests. - */ -public class TypicalEvents { - public static final Appointment TYPICAL_APPOINTMENT_1 = - new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build(); - public static final Appointment TYPICAL_APPOINTMENT_2 = - new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); - public static final Appointment TYPICAL_APPOINTMENT_3 = - new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00", CARL).build(); - public static final Appointment APPOINTMENT_WITHOUT_PERSON_1 = - new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00").build(); - public static final Appointment APPOINTMENT_WITHOUT_PERSON_2 = - new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); - public static final Appointment APPOINTMENT_WITHOUT_PERSON_3 = - new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00").build(); - - - public static final Task TYPICAL_TASK_1 = - new Task(new Title("To do"), new EventTime("10/10/2018 10:00")); - public static final Task TYPICAL_TASK_2 = - new Task(new Title("Mark papers"), new EventTime("15/04/2018 23:00")); - public static final Task TYPICAL_TASK_3 = - new Task(new Title("Purchase markers"), new EventTime("19/04/2018 10:00")); - public static final Task TYPICAL_TASK_EXPIRED = - new Task(new Title("Expired task"), new EventTime("19/04/2013 10:00")); - - public static List<Appointment> getTypicalAppointments() { - return new ArrayList<>(Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2)); - } - public static List<Task> getTypicalTasks() { - return new ArrayList<>(Arrays.asList(TYPICAL_TASK_1, TYPICAL_TASK_2)); - } -} -``` diff --git a/collated/test/shanmu9898.md b/collated/test/shanmu9898.md deleted file mode 100644 index 834409284f75..000000000000 --- a/collated/test/shanmu9898.md +++ /dev/null @@ -1,1226 +0,0 @@ -# shanmu9898 -###### /java/seedu/address/ui/ShortcutCardTest.java -``` java -//package seedu.address.ui; -// -//import static org.junit.Assert.assertFalse; -//import static org.junit.Assert.assertTrue; -//import static seedu.address.testutil.TypicalShortcuts.SHORTCUT_DOUBLES_3; -//import static seedu.address.testutil.TypicalShortcuts.SHORTCUT_DOUBLES_5; -// -//import org.junit.Test; -// -//import seedu.address.model.shortcuts.ShortcutDoubles; -// -//public class ShortcutCardTest { -// -// -// @Test -// public void equals() { -// ShortcutDoubles shortcutDoubles = SHORTCUT_DOUBLES_5; -// //ShortcutCard shortcutCard = new ShortcutCard(shortcutDoubles, 0); -// -// // same shortcut, same index -> returns true -// ShortcutCard copy = new ShortcutCard(shortcutDoubles, 0); -// assertTrue(shortcutCard.equals(copy)); -// -// // same object -> returns true -// assertTrue(shortcutCard.equals(shortcutCard)); -// -// // null -> returns false -// assertFalse(shortcutCard.equals(null)); -// -// // different types -> returns false -// assertFalse(shortcutCard.equals(0)); -// -// // different shortcut, same index -> returns false -// ShortcutDoubles differentshortcut = SHORTCUT_DOUBLES_3; -// assertFalse(shortcutCard.equals(new ShortcutCard(differentshortcut, 0))); -// -// // same shortcut, different index -> returns false -// assertFalse(shortcutCard.equals(new ShortcutCard(shortcutDoubles, 1))); -// } -//} -``` -###### /java/seedu/address/logic/parser/ImportCommandParserTest.java -``` java -public class ImportCommandParserTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - private ImportCommandParser importCommandParser = new ImportCommandParser(); - - @Test - public void parse_nullString_throwsNullPointerException() throws ParseException { - thrown.expect(NullPointerException.class); - importCommandParser.parse(null); - - } - - @Test - public void parse_emptyString_throwsParseException() throws ParseException { - thrown.expect(ParseException.class); - importCommandParser.parse(" "); - - } - - @Test - public void parse_moreThanOneBlockOfString_throwsParseException() throws ParseException { - thrown.expect(ParseException.class); - importCommandParser.parse("invalid two strings"); - } - - @Test - public void parse_validString_success() { - String input = "./src/test/data/XmlAddressBookStorgageTest/importsamplefile.xml"; - ImportCommand expectedCommand = new ImportCommand(input); - assertParseSuccess(importCommandParser, input, expectedCommand); - } - - - - -} -``` -###### /java/seedu/address/logic/parser/AddressBookParserTest.java -``` java - @Test - public void parseCommand_export() throws Exception { - ExportCommand command = (ExportCommand) parser.parseCommand( - ExportCommand.COMMAND_WORD + " " + PREFIX_NAME + NAME_NEEDED + " " + PREFIX_RANGE + RANGE_ALL - + " " + PREFIX_TAG_EXPORT + TAG_NEEDED + " " + PREFIX_PATH + PATH_NEEDED + " " + PREFIX_TYPE - + TYPE_NEEDED); - assertEquals (new ExportCommand ("all", new Tag ("friends"), "./data", - "name", "normal"), command); - } - - @Test - public void parseCommand_import() throws Exception { - ImportCommand command = (ImportCommand) parser.parseCommand( - ImportCommand.COMMAND_WORD + " " - + "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"); - assertEquals(new ImportCommand("src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"), - command); - } - - @Test - public void parseCommand_shortcut() throws Exception { - ShortcutCommand command = (ShortcutCommand) parser.parseCommand( - ShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); - assertEquals(new ShortcutCommand("list", "l"), command); - } - - @Test - public void parseCommand_deleteShortcut() throws Exception { - DeleteShortcutCommand command = (DeleteShortcutCommand) parser.parseCommand( - DeleteShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); - assertEquals(new DeleteShortcutCommand("list", "l"), command); - } -``` -###### /java/seedu/address/logic/parser/DeleteShortcutCommandParserTest.java -``` java -package seedu.address.logic.parser; - -import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; - -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; - -import seedu.address.logic.commands.DeleteShortcutCommand; -import seedu.address.logic.parser.exceptions.ParseException; - -public class DeleteShortcutCommandParserTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - private DeleteShortcutCommandParser deleteShortcutCommandParser = new DeleteShortcutCommandParser(); - - @Test - public void parse_nullString_throwsNullPointerException() throws ParseException { - thrown.expect(NullPointerException.class); - deleteShortcutCommandParser.parse(null); - - } - - @Test - public void parse_emptyString_throwsParseException() throws ParseException { - thrown.expect(ParseException.class); - deleteShortcutCommandParser.parse(" "); - - } - - @Test - public void parse_validString_success() { - String inputCommandWord = "list"; - String inputShortcutWord = "l"; - String input = "list l"; - DeleteShortcutCommand expectedCommand = new DeleteShortcutCommand(inputCommandWord, inputShortcutWord); - assertParseSuccess(deleteShortcutCommandParser, input, expectedCommand); - } -} -``` -###### /java/seedu/address/logic/parser/ExportCommandParserTest.java -``` java -public class ExportCommandParserTest { - @Rule - public ExpectedException thrown = ExpectedException.none(); - - private ExportCommandParser exportCommandParser = new ExportCommandParser(); - - @Test - public void parse_nullString_throwsNullPointerException() throws ParseException { - thrown.expect(NullPointerException.class); - exportCommandParser.parse(null); - } - - @Test - public void parse_differentType_invalidFormatCommandResult() throws ParseException { - Tag testingTag = new Tag("shouldnotbethistag"); - String testingInput = " n/name r/all p/./data te/random"; - ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); - assertParseFailure(exportCommandParser, testingInput, String.format(MESSAGE_INVALID_COMMAND_FORMAT, - ExportCommand.MESSAGE_USAGE)); - - } - - @Test - public void parse_optionalFieldsMissing_success() { - Tag testingTag = new Tag("shouldnotbethistag"); - String testingInput = " n/name r/all p/./data te/normal"; - ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); - assertParseSuccess(exportCommandParser, testingInput, expectedCommand); - } - - - - @Test - public void parse_allfieldsPresent_success() { - Tag testingTag = new Tag("friends"); - String testingInput = " n/name r/all t/friends p/./data te/normal"; - ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); - assertParseSuccess(exportCommandParser, testingInput, expectedCommand); - } - -} -``` -###### /java/seedu/address/logic/parser/ShortcutCommandParserTest.java -``` java -package seedu.address.logic.parser; - -import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; - -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; - -import seedu.address.logic.commands.ShortcutCommand; -import seedu.address.logic.parser.exceptions.ParseException; - -public class ShortcutCommandParserTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - private ShortcutCommandParser shortcutCommandParser = new ShortcutCommandParser(); - - @Test - public void parse_nullString_throwsNullPointerException() throws ParseException { - thrown.expect(NullPointerException.class); - shortcutCommandParser.parse(null); - - } - - @Test - public void parse_emptyString_throwsParseException() throws ParseException { - thrown.expect(ParseException.class); - shortcutCommandParser.parse(" "); - - } - - @Test - public void parse_validString_success() { - String inputCommandWord = "list"; - String inputShortcutWord = "l"; - String input = "list l"; - ShortcutCommand expectedCommand = new ShortcutCommand(inputCommandWord, inputShortcutWord); - assertParseSuccess(shortcutCommandParser, input, expectedCommand); - } -} -``` -###### /java/seedu/address/logic/commands/ImportCommandTest.java -``` java -public class ImportCommandTest { - - - private static final String INVALID_FILE_LOCATION = "./data/samplefile.xml"; - private static final String VALID_FILE_LOCATION = - "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"; - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - @Test - public void constructor_nullString_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ImportCommand(null); - } - - @Test - public void execute_importFailure_throwsException() { - ImportCommand command = prepareCommand(INVALID_FILE_LOCATION); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandFailure(command, model, String.format(command.MESSAGE_INVALID_FILE)); - } - - @Test - public void execute_acceptedSuccess_successfulImport() { - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - - ClearCommand clearCommand = new ClearCommand(); - clearCommand.setData(model, new CommandHistory(), new UndoRedoStack()); - clearCommand.executeUndoableCommand(); - - ImportCommand command = prepareCommand(VALID_FILE_LOCATION); - - assertCommandSuccess(command, model, String.format (command.MESSAGE_SUCCESS, "7", "0"), model); - } - - @Test - public void equals() { - final ImportCommand comparableCommand = new ImportCommand(VALID_FILE_LOCATION); - - // same values -> returns true - ImportCommand comparedToCommand = new ImportCommand(VALID_FILE_LOCATION); - assertTrue(comparableCommand.equals(comparedToCommand)); - - // same object -> returns true - assertTrue(comparableCommand.equals(comparableCommand)); - - // null -> returns false - assertFalse(comparableCommand.equals(null)); - - // different types -> returns false - assertFalse(comparableCommand.equals(new ClearCommand())); - - // different range -> returns false - assertFalse(comparableCommand.equals(new ImportCommand("./data/sampleimportfile.xml"))); - } - - - /** - * A method to prepare the Import command based on the path given - */ - private ImportCommand prepareCommand(String path) { - ImportCommand importCommand = new ImportCommand(path); - importCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - return importCommand; - } - -} -``` -###### /java/seedu/address/logic/commands/DeleteShortcutCommandTest.java -``` java -package seedu.address.logic.commands; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; -import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; - -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; - -import seedu.address.logic.CommandHistory; -import seedu.address.logic.UndoRedoStack; -import seedu.address.logic.commands.exceptions.CommandException; -import seedu.address.model.Model; -import seedu.address.model.ModelManager; -import seedu.address.model.UserPrefs; -import seedu.address.model.shortcuts.ShortcutDoubles; -import seedu.address.model.shortcuts.UniqueShortcutDoublesList; - -public class DeleteShortcutCommandTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - private Model model; - private Model expectedModel; - private final String validtestingCommandWord = "list"; - private final String validtestingShortcutWord = "l"; - private final String invalidtestingCommandWord = "king"; - - @Before - public void setUp() { - model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); - } - - @Test - public void constructor_nullCommandWord_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new DeleteShortcutCommand(null, validtestingShortcutWord); - } - - @Test - public void constructor_nullShortcutWord_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new DeleteShortcutCommand(validtestingCommandWord, null); - } - - @Test - public void executeUndoCommand_invalidCommandWord_throwsCommandException() throws CommandException { - thrown.expect(CommandException.class); - CommandResult commandResult = getDeleteShortcutForCommand(validtestingShortcutWord, - invalidtestingCommandWord, - model).executeUndoableCommand(); - } - - @Test - public void executeUndoCommand_inputNotPresent_throwsCommandException() throws CommandException { - thrown.expect(CommandException.class); - CommandResult commandResult = getDeleteShortcutForCommand(validtestingShortcutWord, - validtestingCommandWord, - model).executeUndoableCommand(); - } - - @Test - public void executeUndoCommand_validInput_commandSuccess() - throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { - ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validtestingShortcutWord, validtestingCommandWord); - model.addCommandShortcut(shortcutDoubles); - assertCommandSuccess(getDeleteShortcutForCommand(validtestingShortcutWord, - validtestingCommandWord, - model), - model, - String.format(DeleteShortcutCommand - .MESSAGE_DELETE_SHORTCUT_SUCCESS), - expectedModel); - } - - @Test - public void equals() throws Exception { - DeleteShortcutCommand deleteFirstCommand = getDeleteShortcutForCommand(validtestingShortcutWord, - validtestingCommandWord, - model); - DeleteShortcutCommand deleteSecondCommand = getDeleteShortcutForCommand("c", - "clear", - model); - - // same object -> returns true - assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); - - // same values -> returns true - DeleteShortcutCommand deleteFirstCommandCopy = getDeleteShortcutForCommand("l", - "list", - model); - assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); - - // different types -> returns false - assertFalse(deleteFirstCommand.equals(1)); - - // null -> returns false - assertFalse(deleteFirstCommand.equals(null)); - - // different person -> returns false - assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); - } - - /** - * Generates a new AddCommand with the details of the given person. - */ - private DeleteShortcutCommand getDeleteShortcutForCommand(String shortcutWord, String commandWord, Model model) { - DeleteShortcutCommand command = new DeleteShortcutCommand(commandWord, shortcutWord); - command.setData(model, new CommandHistory(), new UndoRedoStack()); - return command; - } -} -``` -###### /java/seedu/address/logic/commands/ListCommandTest.java -``` java - @Test - public void execute_listShortcut_success() throws CommandException { - listCommand = new ListCommand(TYPE_SHORTCUT); - listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); - CommandResult result = listCommand.execute(); - assertEquals(MESSAGE_SUCCESS + TYPE_SHORTCUT, result.feedbackToUser); - assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); - assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); - } -} -``` -###### /java/seedu/address/logic/commands/ShortcutCommandTest.java -``` java -package seedu.address.logic.commands; - -import static junit.framework.TestCase.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; -import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; - -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; - -import seedu.address.logic.CommandHistory; -import seedu.address.logic.UndoRedoStack; -import seedu.address.logic.commands.exceptions.CommandException; -import seedu.address.model.Model; -import seedu.address.model.ModelManager; -import seedu.address.model.UserPrefs; -import seedu.address.model.shortcuts.ShortcutDoubles; -import seedu.address.model.shortcuts.UniqueShortcutDoublesList; - -public class ShortcutCommandTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - private Model model; - private Model expectedModel; - private final String validTestingCommandWord = "list"; - private final String validTestingShortcutWord = "l"; - private final String invalidTestingCommandWord = "king"; - - @Before - public void setUp() { - model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); - } - - - @Test - public void constructor_nullCommandWord_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ShortcutCommand(null, validTestingShortcutWord); - } - - @Test - public void constructor_nullShortcutWord_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ShortcutCommand(validTestingCommandWord, null); - } - - @Test - public void executeUndoCommand_invalidCommandWord_throwsCommandException() throws CommandException { - thrown.expect(CommandException.class); - thrown.expectMessage(ShortcutCommand.MESSAGE_NO_COMMAND_TO_MAP); - - CommandResult commandResult = getAddShortcutForCommand(validTestingShortcutWord, - invalidTestingCommandWord, - model).executeUndoableCommand(); - } - - @Test - public void executeUndoCommand_shortcutWordPresent_throwsCommandException() - throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException, CommandException { - ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validTestingShortcutWord, validTestingCommandWord); - model.addCommandShortcut(shortcutDoubles); - CommandResult commandResult = getAddShortcutForCommand(validTestingShortcutWord, - validTestingCommandWord, - model).executeUndoableCommand(); - assertEquals(commandResult.feedbackToUser, String.format(ShortcutCommand.MESSAGE_SHORTCUT_AVAILABLE)); - } - - @Test - public void executeUndoCommand_validInput_commandSuccess() - throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { - ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validTestingShortcutWord, validTestingCommandWord); - expectedModel.addCommandShortcut(shortcutDoubles); - assertCommandSuccess(getAddShortcutForCommand(validTestingShortcutWord, - validTestingCommandWord, - model), model, - String.format(ShortcutCommand.MESSAGE_SUCCESS), expectedModel); - } - - /** - * Generates a new AddCommand with the details of the given person. - */ - private ShortcutCommand getAddShortcutForCommand(String shortcutWord, String commandWord, Model model) { - ShortcutCommand command = new ShortcutCommand(commandWord, shortcutWord); - command.setData(model, new CommandHistory(), new UndoRedoStack()); - return command; - } - - @Test - public void equals() throws Exception { - ShortcutCommand deleteFirstCommand = getAddShortcutForCommand(validTestingShortcutWord, - validTestingCommandWord, - model); - ShortcutCommand deleteSecondCommand = getAddShortcutForCommand("c", - "clear", - model); - - // same object -> returns true - assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); - - // same values -> returns true - ShortcutCommand deleteFirstCommandCopy = getAddShortcutForCommand("l", - "list", - model); - assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); - - // different types -> returns false - assertFalse(deleteFirstCommand.equals(1)); - - // null -> returns false - assertFalse(deleteFirstCommand.equals(null)); - - // different person -> returns false - assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); - } - -} -``` -###### /java/seedu/address/logic/commands/ExportCommandTest.java -``` java -public class ExportCommandTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - private final Tag testingTag = new Tag("testingTag"); - private final String testingPath = "./test/data/XmlAddressBookStorageTest"; - private final String name = "testingName"; - private final String testingRange = "1,5"; - private final String fileTypeNormal = "normal"; - private final String fileTypeExcel = "excel"; - - - @Test - public void constructor_nullRange_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ExportCommand(null, testingTag, testingPath, name, fileTypeExcel); - } - - @Test - public void constructor_nullPath_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ExportCommand(testingRange, testingTag, null, name, fileTypeNormal); - } - - @Test - public void constructor_nullName_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ExportCommand(testingRange, testingTag, testingPath, null, fileTypeNormal); - } - - @Test - public void constructor_nullType_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ExportCommand(testingRange, testingTag, testingPath, name, null); - } - - @Test - public void execute_multipleRange_showsMessageError() { - String testingMultiRange = "1,2,3"; - ExportCommand exportCommand = new ExportCommand(testingMultiRange, testingTag, testingPath, - name, fileTypeNormal); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); - - } - - @Test - public void execute_outOfRange_showsMessageError() { - String testingOutOfRange = "0,10000000"; - ExportCommand exportCommand = new ExportCommand(testingOutOfRange, testingTag, testingPath, - name, fileTypeNormal); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_OUT_OF_BOUNDS), model); - - } - - @Test - public void execute_successfulExport_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand(testingRange, testingTag, testingPath, name, fileTypeNormal); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); - } - - @Test - public void execute_successfulExportWithAllRange_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand("all", testingTag, testingPath, name, fileTypeNormal); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); - } - - @Test - public void execute_successfulExportWithSingleRange_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand("2", testingTag, testingPath, name, fileTypeNormal); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); - } - - @Test - public void execute_successfulExportWithExcel_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand("1,6", testingTag, testingPath, name, fileTypeExcel); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); - } - - @Test - public void execute_rangeNotCorrect_showsMessageError() { - ExportCommand exportCommand = new ExportCommand("2,1", testingTag, testingPath, name, fileTypeNormal); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); - } - - @Test - public void execute_whenTagIsSupposedlyNotGiven_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand("all", new Tag("shouldnotbethistag"), - testingPath, name, fileTypeNormal); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); - } - - @Test - public void execute_whenTagIsSupposedlyNotGivnAndRangeError_showsMessageError() { - ExportCommand exportCommand = new ExportCommand("2,1", new Tag("shouldnotbethistag"), - testingPath, name, fileTypeNormal); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); - } - - @Test - public void execute_whenTagIsSupposedlyNotGivenAndRangeGiven_showsNoMessageError() { - ExportCommand exportCommand = new ExportCommand(testingRange, new Tag("shouldnotbethistag"), - testingPath, name, fileTypeNormal); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); - } - - - - @Test - public void execute_whenRangeIsSelectiveAndOutOfRange_showsMessageError() { - ExportCommand exportCommand = new ExportCommand("10000000", new Tag("shouldnotbethistag"), - testingPath, name, fileTypeNormal); - exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), - new UndoRedoStack()); - Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_OUT_OF_BOUNDS), model); - } - - - - @Test - public void equals() { - final ExportCommand comparableCommand = new ExportCommand(testingRange, testingTag, testingPath, - name, fileTypeNormal); - - // same values -> returns true - ExportCommand comparedToCommand = new ExportCommand(testingRange, testingTag, testingPath, - name, fileTypeNormal); - assertTrue(comparableCommand.equals(comparedToCommand)); - - // same object -> returns true - assertTrue(comparableCommand.equals(comparableCommand)); - - // null -> returns false - assertFalse(comparableCommand.equals(null)); - - // different types -> returns false - assertFalse(comparableCommand.equals(new ClearCommand())); - - // different range -> returns false - assertFalse(comparableCommand.equals(new ExportCommand("1,2", testingTag, testingPath, name, - fileTypeNormal))); - } - - - -} -``` -###### /java/seedu/address/model/shortcut/ShortcutDoubleTest.java -``` java -package seedu.address.model.shortcut; - -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; - -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; - -import seedu.address.model.shortcuts.ShortcutDoubles; - -public class ShortcutDoubleTest { - - @Rule - public ExpectedException thrown = ExpectedException.none(); - - @Test - public void constructor_nullCommandWord_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ShortcutDoubles("l", null); - } - - @Test - public void constructor_nullShortcutWord_throwsNullPointerException() { - thrown.expect(NullPointerException.class); - new ShortcutDoubles(null , "list"); - } - - @Test - public void equals() throws Exception { - ShortcutDoubles deleteFirstCommand = new ShortcutDoubles("l", "list"); - ShortcutDoubles deleteSecondCommand = new ShortcutDoubles("c", "clear"); - - // same object -> returns true - assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); - - // same values -> returns true - ShortcutDoubles deleteFirstCommandCopy = new ShortcutDoubles("l", "list"); - assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); - - // different types -> returns false - assertFalse(deleteFirstCommand.equals(1)); - - // null -> returns false - assertFalse(deleteFirstCommand.equals(null)); - - // different person -> returns false - assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); - } -} -``` -###### /java/seedu/address/model/UniqueShortcutDoublesListTest.java -``` java -package seedu.address.model; - -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; - -import seedu.address.model.shortcuts.UniqueShortcutDoublesList; - -public class UniqueShortcutDoublesListTest { - @Rule - public ExpectedException thrown = ExpectedException.none(); - - @Test - public void asObservableList_modifyList_throwsUnsupportedOperationException() { - UniqueShortcutDoublesList uniqueShortcutDoublesList = new UniqueShortcutDoublesList(); - thrown.expect(UnsupportedOperationException.class); - uniqueShortcutDoublesList.asObservableList().remove(0); - } -} -``` -###### /java/seedu/address/model/AddressBookTest.java -``` java - @Test - public void getShortcutList_modifyList_throwsUnsupportedOperationException() { - thrown.expect(UnsupportedOperationException.class); - addressBook.getCommandsList().remove(0); - } -``` -###### /java/seedu/address/model/AddressBookTest.java -``` java - - /** - * A stub ReadOnlyAddressBook whose persons, tags and events lists can violate interface constraints. - */ - private static class AddressBookStub implements ReadOnlyAddressBook { - private final ObservableList<Person> persons = FXCollections.observableArrayList(); - private final ObservableList<Student> students = FXCollections.observableArrayList(); - private final ObservableList<Person> contacts = FXCollections.observableArrayList(); - private final ObservableList<Tag> tags = FXCollections.observableArrayList(); - private final ObservableList<Appointment> appointments = FXCollections.observableArrayList(); - private final ObservableList<Task> tasks = FXCollections.observableArrayList(); - private final ObservableList<ShortcutDoubles> commandslist = FXCollections.observableArrayList(); - - AddressBookStub(Collection<Person> persons, Collection<Student> students, - Collection<? extends Tag> tags, Collection<Appointment> appointments, - Collection<Task> tasks, Collection<ShortcutDoubles> commands) { - this.persons.setAll(persons); - this.students.setAll(students); - this.contacts.setAll(persons); - this.contacts.addAll(students); - this.tags.setAll(tags); - this.tasks.setAll(tasks); - this.appointments.setAll(appointments); - this.commandslist.setAll(commands); - } - - @Override - public ObservableList<Person> getPersonList() { - return persons; - } - - @Override - public ObservableList<Student> getStudentList() { - return students; - } - - @Override - public ObservableList<Person> getContactList() { - return contacts; - } - - @Override - public ObservableList<Tag> getTagList() { - return tags; - } - - @Override - public ObservableList<Appointment> getAppointmentList() { - return appointments; - } - - @Override - public ObservableList<Task> getTaskList() { - return tasks; - } - - @Override - public ObservableList<ShortcutDoubles> getCommandsList() { - return commandslist; - } - } - - @Test - public void updatePerson_modifiedAddressBooks_noError() throws PersonNotFoundException, DuplicatePersonException { - AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).build(); - AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(AMY).build(); - - testAddressBook.updatePerson(BOB, AMY); - - assertEquals(testAddressBook, expectedAddressBook); - } - -``` -###### /java/seedu/address/model/AddressBookTest.java -``` java - @Test - public void removeTag_tagNotPresent_addressBookUnchanged() throws PersonNotFoundException, - DuplicatePersonException { - AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); - - testAddressBook.removeTag(new Tag(VALID_TAG_NOTUSED)); - - AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); - - assertEquals(expectedAddressBook, testAddressBook); - } - - @Test - public void removeTag_tagUsedByMultiplePeople_tagRemoved() throws PersonNotFoundException, - DuplicatePersonException { - AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); - testAddressBook.removeTag(new Tag(VALID_TAG_FRIEND)); - - Person amyWithoutFriendTag = new PersonBuilder(AMY).withTags().build(); - Person bobWithoutFriendTag = new PersonBuilder(BOB).withTags(VALID_TAG_HUSBAND).build(); - - AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(bobWithoutFriendTag) - .withPerson(amyWithoutFriendTag).build(); - - assertEquals(expectedAddressBook, testAddressBook); - } -``` -###### /java/seedu/address/model/ModelManagerTest.java -``` java - @Test - public void getFilteredCommandList_modifyList_throwsUnsupportedOperationException() { - ModelManager modelManager = new ModelManager(); - thrown.expect(UnsupportedOperationException.class); - modelManager.getFilteredCommandsList().remove(0); - } -``` -###### /java/seedu/address/model/ModelManagerTest.java -``` java - @Test - public void addShortcut_addShortcutToAddressBook_evokeAddressBookChangedEvent() - throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { - ModelManager model = new ModelManager(addressBook, userPrefs); - modelManager.addCommandShortcut(SHORTCUT_DOUBLES_1); - assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); - } -``` -###### /java/seedu/address/model/ModelManagerTest.java -``` java - - @Test - public void equals() { - AddressBook differentAddressBook = new AddressBook(); - - // same values -> returns true - ModelManager modelManagerCopy = new ModelManager(addressBook, userPrefs); - assertTrue(modelManager.equals(modelManagerCopy)); - - // same object -> returns true - assertTrue(modelManager.equals(modelManager)); - - // null -> returns false - assertFalse(modelManager.equals(null)); - - // different types -> returns false - assertFalse(modelManager.equals(5)); - - // different addressBook -> returns false - assertFalse(modelManager.equals(new ModelManager(differentAddressBook, userPrefs))); - - // different filteredList -> returns false - String[] keywords = ALICE.getName().fullName.split("\\s+"); - modelManager.updateFilteredPersonList(new NameContainsKeywordsPredicate(Arrays.asList(keywords))); - assertFalse(modelManager.equals(new ModelManager(addressBook, userPrefs))); - - // resets modelManager to initial state for upcoming tests - modelManager.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); - - // different userPrefs -> returns true - UserPrefs differentUserPrefs = new UserPrefs(); - differentUserPrefs.setAddressBookName("differentName"); - assertTrue(modelManager.equals(new ModelManager(addressBook, differentUserPrefs))); - } -``` -###### /java/seedu/address/model/ModelManagerTest.java -``` java - @Test - public void deleteTag_tagNotPresent_modelUnchanged() throws DuplicatePersonException, PersonNotFoundException { - AddressBook testAddressBook = new AddressBookBuilder().withPerson(AMY).withPerson(BOB).build(); - UserPrefs userPrefs = new UserPrefs(); - ModelManager modelManager = new ModelManager(testAddressBook, userPrefs); - modelManager.deleteTag(new Tag(VALID_TAG_NOTUSED)); - - assertEquals(new ModelManager(testAddressBook, userPrefs), modelManager); - } - - - @Test - public void deleteTag_tagUsedByMultiplePeople_tagRemoved() throws DuplicatePersonException, - PersonNotFoundException { - AddressBook testAddressBook = new AddressBookBuilder().withPerson(AMY).withPerson(BOB).build(); - ModelManager modelManager = new ModelManager(testAddressBook, userPrefs); - modelManager.deleteTag(new Tag(VALID_TAG_FRIEND)); - - Person amyWithoutFriendTag = new PersonBuilder(AMY).withTags().build(); - Person bobWithoutFriendTag = new PersonBuilder(BOB).withTags(VALID_TAG_HUSBAND).build(); - AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(amyWithoutFriendTag) - .withPerson(bobWithoutFriendTag).build(); - - assertEquals(new ModelManager(expectedAddressBook, userPrefs), modelManager); - } -``` -###### /java/seedu/address/testutil/ExportCommandHelper.java -``` java -/** - * A utility class containing a list of {@code Index} objects to be used in tests. - */ -public class ExportCommandHelper { - public static final String RANGE_ALL = "all"; - public static final String TAG_NEEDED = "friends"; - public static final String PATH_NEEDED = "./data"; - public static final String NAME_NEEDED = "name"; - public static final String TYPE_NEEDED = "normal"; - - -} -``` -###### /java/seedu/address/testutil/TypicalImportedPersons.java -``` java -package seedu.address.testutil; - -import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_AMY; -import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_BOB; -import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_AMY; -import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_BOB; -import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_AMY; -import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_BOB; -import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_AMY; -import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_BOB; -import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; -import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; -import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_STUDENT; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import seedu.address.model.AddressBook; -import seedu.address.model.person.Person; -import seedu.address.model.person.Student; -import seedu.address.model.person.exceptions.DuplicatePersonException; - -``` -###### /java/seedu/address/testutil/TypicalImportedPersons.java -``` java -/** - * Special Util class to get people for ImportCommandTest class. - */ -public class TypicalImportedPersons { - public static final Person FLICE = new PersonBuilder().withName("Alice Pauline") - .withAddress("123, Jurong West Ave 6, #08-111").withEmail("alice@example.com") - .withPhone("85355255") - .withTags("friends").build(); - public static final Person FENSON = new PersonBuilder().withName("Benson Meier") - .withAddress("311, Clementi Ave 2, #02-25") - .withEmail("johnd@example.com").withPhone("98765432") - .withTags("owesMoney", "friends").build(); - public static final Person FARL = new PersonBuilder().withName("Carl Kurz").withPhone("95352563") - .withEmail("heinz@example.com").withAddress("wall street").build(); - public static final Person FANIEL = new PersonBuilder().withName("Daniel Meier").withPhone("87652533") - .withEmail("cornelia@example.com").withAddress("10th street").build(); - public static final Person FLLE = new PersonBuilder().withName("Elle Meyer").withPhone("9482224") - .withEmail("werner@example.com").withAddress("michegan ave").build(); - public static final Person GIONA = new PersonBuilder().withName("Fiona Kunz").withPhone("9482427") - .withEmail("lydia@example.com").withAddress("little tokyo").build(); - public static final Student FEORGE = new StudentBuilder().withName("George Best").withPhone("9482442") - .withEmail("anna@example.com").withAddress("4th street").build(); - public static final Student FVAN = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") - .withEmail("wolf@example.com").withAddress("Centre Street").build(); - public static final Student FOHN = new StudentBuilder().withName("John Blake").withPhone("9575232") - .withEmail("star@example.com").withAddress("Hollywood").build(); - - // Manually added - public static final Person FOON = new PersonBuilder().withName("Hoon Meier").withPhone("8482424") - .withEmail("stefan@example.com").withAddress("little india").build(); - public static final Person FDA = new PersonBuilder().withName("Ida Mueller").withPhone("8482131") - .withEmail("hans@example.com").withAddress("chicago ave").build(); - - public static final Student FTUDENT_HOON = new StudentBuilder().withName("Hoon Meier").withPhone("8482424") - .withEmail("stefan@example.com").withAddress("little india").build(); - public static final Student FTUDENT_IDA = new StudentBuilder().withName("Ida Mueller").withPhone("8482131") - .withEmail("hans@example.com").withAddress("chicago ave").build(); - - // Manually added - Person's details found in {@code CommandTestUtil} - public static final Person FMY = new PersonBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) - .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_FRIEND).build(); - public static final Person FOB = new PersonBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) - .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_HUSBAND, VALID_TAG_FRIEND) - .build(); - - public static final Student FTUDENT_AMY = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) - .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); - public static final Student FTUDENT_BOB = new StudentBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) - .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_STUDENT) - .build(); - - public static final String KEYWORD_MATCHING_MEIER = "Meier"; // A keyword that matches MEIER - - private TypicalImportedPersons() {} // prevents instantiation - - /** - * Returns an {@code AddressBook} with all the typical persons. - */ - public static AddressBook getImportedAddressBook() { - AddressBook ab = new AddressBook(); - for (Person person : getImportedPersons()) { - try { - ab.addPerson(person); - } catch (DuplicatePersonException e) { - throw new AssertionError("not possible"); - } - } - return ab; - } - - public static List<Person> getImportedPersons() { - return new ArrayList<>(Arrays.asList(FLICE, FENSON, FARL, FANIEL, FLLE, GIONA, FEORGE)); - } -} -``` -###### /java/seedu/address/testutil/TypicalShortcuts.java -``` java -package seedu.address.testutil; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import seedu.address.model.shortcuts.ShortcutDoubles; - -/** - * Few Typical Shortcuts - */ -public class TypicalShortcuts { - public static final ShortcutDoubles SHORTCUT_DOUBLES_1 = - new ShortcutCommandBuilder("l", "list").build(); - public static final ShortcutDoubles SHORTCUT_DOUBLES_2 = - new ShortcutCommandBuilder("c", "clear").build(); - public static final ShortcutDoubles SHORTCUT_DOUBLES_3 = - new ShortcutCommandBuilder("ll", "list").build(); - public static final ShortcutDoubles SHORTCUT_DOUBLES_4 = - new ShortcutCommandBuilder("cc", "clear").build(); - public static final ShortcutDoubles SHORTCUT_DOUBLES_5 = - new ShortcutCommandBuilder("a", "add").build(); - public static final ShortcutDoubles SHORTCUT_DOUBLES_6 = - new ShortcutCommandBuilder("aa", "add").build(); - - public static List<ShortcutDoubles> getTypicalShortcuts() { - return new ArrayList<>(Arrays.asList(SHORTCUT_DOUBLES_1, SHORTCUT_DOUBLES_2)); - } - -} -``` -###### /java/seedu/address/testutil/ShortcutCommandBuilder.java -``` java -package seedu.address.testutil; - -import seedu.address.model.shortcuts.ShortcutDoubles; - -/** - * A utility class to help with building Shortcut objects. - */ -public class ShortcutCommandBuilder { - - private String shortcutWord; - private String commandWord; - - public ShortcutCommandBuilder(String shortcutWord, String commandWord) { - this.commandWord = commandWord; - this.shortcutWord = shortcutWord; - } - - - /** - * @return an {@code Appointment} from the data feed to constructor - */ - public ShortcutDoubles build() { - return new ShortcutDoubles(shortcutWord, commandWord); - } -} -``` -###### /java/seedu/address/testutil/modelstub/ModelStub.java -``` java - @Override - public void addCommandShortcut(ShortcutDoubles shortcutDoubles) - throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { - fail("This method should not be called."); - } - - @Override - public void deleteCommandShortcut(ShortcutDoubles shortcutDoubles) - throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { - fail("This method should not be called"); - } -``` diff --git a/src/main/java/seedu/address/ui/TaskListPanel.java b/src/main/java/seedu/address/ui/TaskListPanel.java index f6f1b33b8cd0..790b04184a81 100644 --- a/src/main/java/seedu/address/ui/TaskListPanel.java +++ b/src/main/java/seedu/address/ui/TaskListPanel.java @@ -13,7 +13,8 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.model.event.Task; -//@@author Sisyphus25 +//@@author Sisyphus25-reused +//Reuse from PersonListPanel class with modification /** * Panel containing the list of tasks. */ From a7d4d0168a01488fa9e6c33ba7799b5a5d1c4bc5 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 4 Apr 2018 11:39:25 +0800 Subject: [PATCH 265/288] Updated collate --- collated/functional/Sisyphus25-reused.md | 192 ++ collated/functional/Sisyphus25.md | 2496 ++++++++++++++++++++++ collated/functional/randypx.md | 120 ++ collated/functional/shanmu9898.md | 1091 ++++++++++ collated/test/Sisyphus25-reused.md | 19 + collated/test/Sisyphus25.md | 933 ++++++++ collated/test/shanmu9898.md | 1226 +++++++++++ 7 files changed, 6077 insertions(+) create mode 100644 collated/functional/Sisyphus25-reused.md create mode 100644 collated/functional/Sisyphus25.md create mode 100644 collated/functional/randypx.md create mode 100644 collated/functional/shanmu9898.md create mode 100644 collated/test/Sisyphus25-reused.md create mode 100644 collated/test/Sisyphus25.md create mode 100644 collated/test/shanmu9898.md diff --git a/collated/functional/Sisyphus25-reused.md b/collated/functional/Sisyphus25-reused.md new file mode 100644 index 000000000000..d514fa88a217 --- /dev/null +++ b/collated/functional/Sisyphus25-reused.md @@ -0,0 +1,192 @@ +# Sisyphus25-reused +###### /resources/view/TagColour.css +``` css +Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + */ +#tags .teal { + -fx-text-fill: white; + -fx-background-color: #3e7b91; +} + +#tags .red { + -fx-text-fill: black; + -fx-background-color: red; +} + +#tags .yellow { + -fx-background-color: yellow; + -fx-text-fill: black; +} + +#tags .blue { + -fx-text-fill: white; + -fx-background-color: blue; +} + +#tags .orange { + -fx-text-fill: black; + -fx-background-color: orange; +} + +#tags .brown { + -fx-text-fill: white; + -fx-background-color: brown; +} + +#tags .green { + -fx-text-fill: black; + -fx-background-color: green; +} + +#tags .pink { + -fx-text-fill: black; + -fx-background-color: pink; +} + +#tags .black { + -fx-text-fill: white; + -fx-background-color: black; +} + +#tags .grey { + -fx-text-fill: black; + -fx-background-color: grey; +} +``` +###### /java/seedu/address/ui/CalendarPanel.java +``` java + //Reused from https://github.com/CS2103AUG2017-T17-B2/main with modifications + private void setTime() { + calendarView.setToday(LocalDate.now()); + calendarView.setTime(LocalTime.now()); + } + + @Subscribe + private void handleToggleCalendarViewEvent(ToggleCalendarViewEvent event) { + Character c = event.viewMode; + Platform.runLater(() -> toggleView(c)); + } + + public CalendarView getRoot() { + return this.calendarView; + } + + /** + * Remove clutter from interface + */ + private void disableViews() { + calendarView.setShowAddCalendarButton(false); + calendarView.setShowSearchField(false); + calendarView.setShowSearchResultsTray(false); + calendarView.setShowPrintButton(false); + calendarView.setShowPageSwitcher(false); + calendarView.setShowSourceTrayButton(false); + calendarView.setShowPageToolBarControls(false); + calendarView.setShowToolBar(false); + calendarView.setShowSourceTray(false); + + calendarView.showDayPage(); + } + + /** + * Changes calendar view accordingly + */ + private void toggleView(Character c) { + switch(c) { + case ('d'): + calendarView.showDayPage(); + return; + case ('w'): + calendarView.showWeekPage(); + return; + case ('m'): + calendarView.showMonthPage(); + return; + default: + //should not reach here + assert (false); + } + } +``` +###### /java/seedu/address/ui/TaskListPanel.java +``` java +//Reuse from PersonListPanel class with modification +/** + * Panel containing the list of tasks. + */ +public class TaskListPanel extends UiPart<Region> { + private static final String FXML = "TaskListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(TaskListPanel.class); + + @FXML + private ListView<TaskCard> taskListView; + + public TaskListPanel(ObservableList<Task> taskList) { + super(FXML); + setConnections(taskList); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList<Task> taskList) { + ObservableList<TaskCard> mappedList = EasyBind.map(taskList, (task) -> + new TaskCard(task, taskList.indexOf(task) + 1)); + taskListView.setItems(mappedList); + taskListView.setCellFactory(listView -> new TaskListViewCell()); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code TaskCard}. + */ + class TaskListViewCell extends ListCell<TaskCard> { + + @Override + protected void updateItem(TaskCard task, boolean empty) { + super.updateItem(task, empty); + + if (empty || task == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(task.getRoot()); + } + } + } + +} +``` +###### /java/seedu/address/ui/PersonCard.java +``` java + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * Returns the color style for {@code tagName}'s label. + */ + private void initTags(Person person) { + person.getTags().forEach(tag -> { + Label tagLabel = new Label(tag.tagName); + tagLabel.getStyleClass().add(tag.tagColorStyle); + tags.getChildren().add(tagLabel); + }); + } + +``` +###### /java/seedu/address/model/tag/Tag.java +``` java + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + private static final String[] TAG_COLOR_STYLES = {"teal", "red", "yellow", "blue", "orange", "brown", + "green", "pink", "black", "grey"}; +``` +###### /java/seedu/address/model/tag/Tag.java +``` java + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * Returns a color style for {@code tagName} + */ + private String getTagColorStyle(String tagName) { + // we use the hash code of the tag name to generate a random color, so that the color remain consistent + // between different runs of the program while still making it random enough between tags. + return TAG_COLOR_STYLES[Math.abs(tagName.hashCode()) % TAG_COLOR_STYLES.length]; + } + + +} +``` diff --git a/collated/functional/Sisyphus25.md b/collated/functional/Sisyphus25.md new file mode 100644 index 000000000000..0b37e9a7ed5f --- /dev/null +++ b/collated/functional/Sisyphus25.md @@ -0,0 +1,2496 @@ +# Sisyphus25 +###### /resources/view/LightTheme.css +``` css + */ +.background { + -fx-background-color: #ffffff; + background-color: #ffffff; /* Used in the default.html file */ +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.app-title { + -fx-text-fill: brown; + -fx-font-family: "Franklin Gothic Medium"; + -fx-font-weight: bold; + -fx-font-size: 36px +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: #ffffff; + -fx-background-color: #ffffff; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: black; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: derive(#ffffff, 20%); + -fx-border-color: transparent transparent transparent tomato; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: derive(#ffffff, 20%); +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: derive(#ffffff, 20%); + +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent +} + +.list-cell:filled:even { + -fx-background-color: #ffd0d0; +} + +.list-cell:filled:odd { + -fx-background-color: #ffd0d0; +} + +.list-cell:filled:selected { + -fx-background-color: #ffc2c2; +} + +.list-cell:filled:selected #cardPane { + -fx-border-color: #ffc2c2; + -fx-border-width: 1; +} + +.list-cell .label { + -fx-text-fill: brown; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 16px; + -fx-text-fill: #ffd0d0; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #ffd0d0; +} + +.anchor-pane { + -fx-background-color: derive(#ffffff, 20%); +} + +.pane-with-border { + -fx-background-color: derive(#ffffff, 20%); + -fx-border-color: transparent; + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: derive(#ffd0d0, 20%); + -fx-text-fill: white; +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: brown; +} + +.result-display .label { + -fx-text-fill: white !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: brown; +} + +.status-bar-with-border { + -fx-background-color: derive(#ffd0d0, 30%); + -fx-border-color: derive(#ffd0d0, 25%); + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: brown; +} + +.grid-pane { + -fx-background-color: derive(#ffd0d0, 30%); + -fx-border-color: derive(#ffd0d0, 30%); + -fx-border-width: 1px; +} + +.grid-pane .anchor-pane { + -fx-background-color: derive(#ffd0d0, 30%); +} + +.calendar-panel .button { + -fx-text-fill: #000000; +} + +.calendar-panel { + -fx-background-color: #ffffff; + background-color: #ffffff; +} + +.calendar-panel .content { + -fx-border-color: transparent transparent tomato transparent; +} + +.calendar-panel .header { + -fx-border-color: tomato transparent transparent transparent; +} + +.context-menu { + -fx-background-color: derive(#ffd0d0, 50%); +} + +.context-menu .label { + -fx-text-fill: brown; +} + +.menu-bar { + -fx-background-color: derive(#ffd0d0, 20%); +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: brown; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: brown; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#ffd0d0, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: brown; + -fx-text-fill: brown; +} + +.scroll-bar { + -fx-background-color: derive(#ffd0d0, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + +} + +.scroll-bar .thumb { + -fx-background-color: derive(tomato, 20%); + +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-rotate: 0; + +} + +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 10pt; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: transparent #ffd0d0 transparent #ffd0d0; + -fx-background-insets: 0; + -fx-border-color: #ffd0d0 #ffd0d0 brown #ffd0d0 ; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: brown; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, brown, 10, 0, 0, 0); +} + +#resultDisplay .content { + -fx-background-color: transparent, #ffffff, transparent, #ffffff; + -fx-background-radius: 0; + -fx-border-color: #ffd0d0; +} +``` +###### /resources/view/DogeTheme.css +``` css + */ + +.root { + -fx-background-image: url("../images/doge.jpg"); + -fx-background-repeat: repeat; + -fx-background-position: center center; + -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.app-title { + -fx-text-fill: white; + -fx-font-family: "Franklin Gothic Heavy"; + -fx-font-size: 40px; +} + +.app-title .text { + -fx-stroke: black; + -fx-stroke-width: 1px; +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: transparent; + -fx-background-color: transparent; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35px; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: black; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: transparent; + -fx-border-color: transparent transparent transparent #635615; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: transparent; +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: transparent; + +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent +} + +.list-cell:filled:even { + -fx-background-color: #efdc7f; +} + +.list-cell:filled:odd { + -fx-background-color: #efdc7f; +} + +.list-cell:filled:selected { + -fx-background-color: #efdc7f; +} + +.list-cell:filled:selected #cardPane { + -fx-border-color: #c1b05b; + -fx-border-width: 1; + +} + +.list-cell .label { + -fx-text-fill: black; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 16px; + -fx-text-fill: #efdc7f; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #efdc7f; +} + +.anchor-pane { + -fx-background-color: transparent; +} + +.pane-with-border { + -fx-background-color: transparent; + -fx-border-color: derive(#efdc7f, 10%); + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: transparent; + -fx-text-fill: white; +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +.result-display .label { + -fx-text-fill: transparent !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI"; + -fx-text-fill: black; +} + +.status-bar-with-border { + -fx-background-color: transparent; + -fx-border-color: derive(#efdc7f, 25%); + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: black; +} + +.grid-pane { + -fx-background-color: transparent; + -fx-border-color: derive(#efdc7f, 30%); + -fx-border-width: 1px; +} + +.grid-pane .anchor-pane { + -fx-background-color: transparent; +} + +.calendar-panel .button { + -fx-text-fill: #000000; +} + +.calendar-panel { + -fx-background-color: transparent; + background-color: transparent; +} + +.context-menu { + -fx-background-color: derive(#efdc7f, 50%); +} + +.context-menu .label { + -fx-text-fill: black; +} + +.menu-bar { + -fx-background-color: transparent; +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI"; + -fx-text-fill: black; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: transparent; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: black; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#efdc7f, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: black; + -fx-text-fill: black; +} + +.scroll-bar { + -fx-background-color: derive(#efdc7f, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + +} + +.scroll-bar .thumb { + -fx-background-color: derive(#635615, 20%); + +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-rotate: 0; + +} + +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 10pt; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: #efdc7f; + -fx-background-insets: 0; + -fx-border-color: #efdc7f #efdc7f black #efdc7f ; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); +} + +#resultDisplay { + -fx-background-color: transparent; +} + +#resultDisplay .scroll-pane .viewport{ + -fx-background-color: transparent; +} + +#resultDisplay .content { + -fx-background-color: #efdc7f; + -fx-background-radius: 0; +} +``` +###### /resources/view/GalaxyTheme.css +``` css + */ + +.root { + -fx-background-image: url("../images/galaxy.jpg"); + -fx-background-size: cover; + -fx-background-position: center center; + -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); +} + +.label { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: #555555; + -fx-opacity: 0.9; +} + +.app-title { + -fx-text-fill: white; + -fx-font-family: "Franklin Gothic Heavy"; + -fx-font-size: 40px; +} + +.app-title .text { + -fx-stroke: black; + -fx-stroke-width: 1px; +} + +.label-bright { + -fx-font-size: 11pt; + -fx-font-family: "Segoe UI Semibold"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.label-header { + -fx-font-size: 32pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: white; + -fx-opacity: 1; +} + +.text-field { + -fx-font-size: 12pt; + -fx-font-family: "Segoe UI Semibold"; +} + +.tab-pane { + -fx-padding: 0 0 0 1; +} + +.tab-pane .tab-header-area { + -fx-padding: 0 0 0 0; + -fx-min-height: 0; + -fx-max-height: 0; +} + +.table-view { + -fx-base: #1d1d1d; + -fx-control-inner-background: transparent; + -fx-background-color: transparent; + -fx-table-cell-border-color: transparent; + -fx-table-header-border-color: transparent; + -fx-padding: 5; +} + +.table-view .column-header-background { + -fx-background-color: transparent; +} + +.table-view .column-header, .table-view .filler { + -fx-size: 35px; + -fx-border-width: 0 0 1 0; + -fx-background-color: transparent; + -fx-border-color: + transparent + transparent + derive(-fx-base, 80%) + transparent; + -fx-border-insets: 0 10 1 0; +} + +.table-view .column-header .label { + -fx-font-size: 20pt; + -fx-font-family: "Segoe UI Light"; + -fx-text-fill: black; + -fx-alignment: center-left; + -fx-opacity: 1; +} + +.table-view:focused .table-row-cell:filled:focused:selected { + -fx-background-color: -fx-focus-color; +} + +.split-pane:horizontal .split-pane-divider { + -fx-background-color: transparent; + -fx-border-color: transparent; +} + +.split-pane { + -fx-border-radius: 1; + -fx-border-width: 1; + -fx-background-color: transparent; +} + +.list-view { + -fx-background-insets: 0; + -fx-padding: 0; + -fx-background-color: transparent; + +} + +.list-cell { + -fx-label-padding: 0 0 0 0; + -fx-graphic-text-gap : 0; + -fx-background-radius: 10 10 10 10; + -fx-border-radius: 10 10 10 10; + -fx-padding: 10px; + -fx-background-insets: 3px, 3px; + -fx-background-color: transparent +} + +.list-cell:filled:even { + -fx-background-color: #edf2f9; +} + +.list-cell:filled:odd { + -fx-background-color: #edf2f9; +} + +.list-cell:filled:selected { + -fx-background-color: #c0c5f9; +} + +.list-cell .label { + -fx-text-fill: black; +} + +.cell_big_label { + -fx-font-family: "Segoe UI Semibold"; + -fx-font-size: 16px; + -fx-text-fill: #edf2f9; +} + +.cell_small_label { + -fx-font-family: "Segoe UI"; + -fx-font-size: 13px; + -fx-text-fill: #edf2f9; +} + +.anchor-pane { + -fx-background-color: transparent; +} + +.pane-with-border { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-border-top-width: 1px; +} + +.status-bar { + -fx-background-color: transparent; + -fx-text-fill: white; +} + +.result-display { + -fx-background-color: transparent; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +.result-display .label { + -fx-text-fill: transparent !important; +} + +.status-bar .label { + -fx-font-family: "Segoe UI"; + -fx-text-fill: #edf2f9; +} + +.status-bar-with-border { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-border-width: 1px; +} + +.status-bar-with-border .label { + -fx-text-fill: black; +} + +.grid-pane { + -fx-background-color: transparent; + -fx-border-color: transparent; + -fx-border-width: 1px; +} + +.grid-pane .anchor-pane { + -fx-background-color: transparent; +} + +.calendar-panel .button { + -fx-text-fill: #000000; +} + +.calendar-panel { + -fx-background-color: transparent; + background-color: transparent; +} + +.context-menu { + -fx-background-color: derive(#070f60, 50%); +} + +.context-menu .label { + -fx-text-fill: #edf2f9; +} + +.menu-bar { + -fx-background-color: transparent; +} + +.menu-bar .label { + -fx-font-size: 14pt; + -fx-font-family: "Segoe UI"; + -fx-text-fill: #edf2f9; + -fx-opacity: 0.9; +} + +.menu .left-container { + -fx-background-color: black; +} + +/* + * Metro style Push Button + * Author: Pedro Duque Vieira + * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/ + */ +.button { + -fx-padding: 5 22 5 22; + -fx-border-color: #e2e2e2; + -fx-border-width: 2; + -fx-background-radius: 0; + -fx-background-color: #1d1d1d; + -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif; + -fx-font-size: 11pt; + -fx-text-fill: #d8d8d8; + -fx-background-insets: 0 0 0 0, 0, 1, 2; +} + +.button:hover { + -fx-background-color: #3a3a3a; +} + +.button:pressed, .button:default:hover:pressed { + -fx-background-color: white; + -fx-text-fill: #1d1d1d; +} + +.button:focused { + -fx-border-color: white, white; + -fx-border-width: 1, 1; + -fx-border-style: solid, segments(1, 1); + -fx-border-radius: 0, 0; + -fx-border-insets: 1 1 1 1, 0; +} + +.button:disabled, .button:default:disabled { + -fx-opacity: 0.4; + -fx-background-color: #1d1d1d; + -fx-text-fill: white; +} + +.button:default { + -fx-background-color: -fx-focus-color; + -fx-text-fill: #ffffff; +} + +.button:default:hover { + -fx-background-color: derive(-fx-focus-color, 30%); +} + +.dialog-pane { + -fx-background-color: transparent; +} + +.dialog-pane > *.button-bar > *.container { + -fx-background-color: #ffffff; +} + +.dialog-pane > *.label.content { + -fx-font-size: 14px; + -fx-font-weight: bold; + -fx-text-fill: black; +} + +.dialog-pane:header *.header-panel { + -fx-background-color: derive(#edf2f9, 25%); +} + +.dialog-pane:header *.header-panel *.label { + -fx-font-size: 18px; + -fx-font-style: italic; + -fx-fill: black; + -fx-text-fill: black; +} + +.scroll-bar { + -fx-background-color: derive(#edf2f9, 20%); + -fx-border-radius: 20px; + -fx-background-radius: 20px; + +} + +.scroll-bar .thumb { + -fx-background-color: derive(#070f60, 20%); + +} + +.scroll-bar .increment-button, .scroll-bar .decrement-button { + -fx-background-color: transparent; + -fx-rotate: 0; + +} + +.scroll-bar .increment-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; +} + +.scroll-bar .decrement-arrow { + -fx-shape: "M 0 0 L 4 8 L 8 0 Z"; + -fx-background-color: #ffffff; + -fx-rotate: -180; +} + +.scroll-bar:vertical .increment-arrow, .scroll-bar:vertical .decrement-arrow { + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .increment-arrow{ + -fx-rotate: -90; + -fx-padding: 3 3 3 3; +} + +.scroll-bar:horizontal .decrement-arrow { + -fx-rotate: 90; + -fx-padding: 3 3 3 3; +} + +#cardPane { + -fx-background-color: transparent; + -fx-border-width: 10pt; +} + +#commandTypeLabel { + -fx-font-size: 11px; + -fx-text-fill: #F70D1A; +} + +#commandTextField { + -fx-background-color: #edf2f9; + -fx-background-insets: 0; + -fx-border-color: #edf2f9 #edf2f9 black #edf2f9 ; + -fx-border-insets: 0; + -fx-border-width: 1; + -fx-font-family: "Segoe UI"; + -fx-font-size: 13pt; + -fx-text-fill: black; +} + +#filterField, #personListPanel, #personWebpage { + -fx-effect: innershadow(gaussian, black, 10, 0, 0, 0); +} + +#resultDisplay { + -fx-background-color: transparent; +} + +#resultDisplay .scroll-pane .viewport{ + -fx-background-color: transparent; +} + +#resultDisplay .content { + -fx-background-color: #edf2f9; + -fx-background-radius: 0; +} +``` +###### /java/seedu/address/ui/TaskCard.java +``` java +/** + * An UI component that displays information of a {@code Task}. + */ +public class TaskCard extends UiPart<Region> { + + private static final String FXML = "TaskListCard.fxml"; + private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; + private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + private static final Calendar CALENDAR = Calendar.getInstance(); + + public final Task task; + + @FXML + private HBox cardPane; + @FXML + private Label title; + @FXML + private Label id; + @FXML + private Label time; + @FXML + private FlowPane tags; + + public TaskCard(Task task, int displayedIndex) { + super(FXML); + this.task = task; + id.setText(displayedIndex + ". "); + title.setText(task.getTitle().value); + time.setText("Finish before: " + DATE_FORMATTER.format(task.getTime().value.getTime())); + if (task.getTime().isExpired()) { + addExpiredTag(); + } + } + + /** + * Add an expired tag to the Task Card + */ + private void addExpiredTag() { + Label expiredTask = new Label("Expired"); + expiredTask.getStyleClass().add("red"); + tags.getChildren().add(expiredTask); + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof TaskCard)) { + return false; + } + + // state check + TaskCard card = (TaskCard) other; + return id.getText().equals(card.id.getText()) + && task.equals(card.task); + } +} +``` +###### /java/seedu/address/ui/CalendarPanel.java +``` java +/** + * The Calendar Panel of the App. + */ +public class CalendarPanel extends UiPart<Region> { + private static final String FXML = "CalendarPanel.fxml"; + + @FXML + private CalendarView calendarView; + private Calendar calendar; + + private ObservableList<Appointment> appointmentList; + + public CalendarPanel(ObservableList<Appointment> appointmentObservableList) { + super(FXML); + this.appointmentList = appointmentObservableList; + + calendarView = new CalendarView(); + CalendarSource calendarSource = new CalendarSource("My Calendar"); + calendar = new Calendar("Appointments"); + + calendarView.setRequestedTime(LocalTime.now()); + calendarView.setToday(LocalDate.now()); + calendarView.setTime(LocalTime.now()); + + calendarView.getCalendarSources().add(calendarSource); + calendarSource.getCalendars().add(calendar); + calendar.setStyle(Calendar.Style.getStyle(0)); + calendar.setLookAheadDuration(Duration.ofDays(365)); + + updateCalendar(); + disableViews(); + registerAsAnEventHandler(this); + } + + /** + * Clear the entry list in the CalendarFX calendar and + * populate it with appointment in the updated appointmentList + */ + private void updateCalendar() { + calendar.clear(); + ArrayList<Entry> entries = getEntries(); + for (Entry entry : entries) { + calendar.addEntry(entry); + } + } + + private ArrayList<Entry> getEntries() { + ArrayList<Entry> entries = new ArrayList<>(); + for (Appointment appointment : appointmentList) { + entries.add(getEntry(appointment)); + } + return entries; + } + + private Entry getEntry(Appointment appointment) { + LocalDateTime ldtstart = LocalDateTime.ofInstant( + appointment.getTime().value.getTime().toInstant(), ZoneId.systemDefault()); + LocalDateTime ldtend = LocalDateTime.ofInstant( + appointment.getEndTime().value.getTime().toInstant(), ZoneId.systemDefault()); + String description = appointment.getTitle().value; + return new Entry(description, new Interval(ldtstart, ldtend)); + } + + @Subscribe + private void handleAppointmentListChangedEvent(AppointmentListChangedEvent event) { + appointmentList = event.appointmentList; + Platform.runLater( + this::updateCalendar + ); + } + + +``` +###### /java/seedu/address/ui/ThemeList.java +``` java +/** + * Provide list of themes and respective URL to their CSS stylesheet + */ +public class ThemeList { + private HashMap<String, String> themeList; + + public ThemeList() { + themeList = new HashMap<>(); + themeList.put("dark", "view/DarkTheme.css"); + themeList.put("light", "view/LightTheme.css"); + themeList.put("doge", "view/DogeTheme.css"); + themeList.put("galaxy", "view/GalaxyTheme.css"); + } + + public String getThemeStyleSheet(String theme) { + if (!themeList.containsKey(theme)) { + return themeList.get("light"); + } + return themeList.get(theme); + } +} +``` +###### /java/seedu/address/ui/AppointmentCard.java +``` java +/** + * An UI component that displays information of a {@code Appointment}. + */ +public class AppointmentCard extends UiPart<Region> { + + private static final String FXML = "AppointmentListCard.fxml"; + private static final String DATE_FORMAT = "EEE, MMMMM dd, HH:mm a"; + private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + + public final Appointment appointment; + + @FXML + private HBox cardPane; + @FXML + private Label title; + @FXML + private Label id; + @FXML + private Label time; + @FXML + private Label endTime; + @FXML + private Label personToMeet; + + public AppointmentCard(Appointment appointment, int displayedIndex) { + super(FXML); + this.appointment = appointment; + id.setText(displayedIndex + ". "); + title.setText(appointment.getTitle().value); + time.setText("From: " + DATE_FORMATTER.format(appointment.getTime().value.getTime())); + endTime.setText("To: " + DATE_FORMATTER.format(appointment.getEndTime().value.getTime())); + if (appointment.getPersonToMeet() != null) { + personToMeet.setText("With " + appointment.getPersonToMeet().getName()); + } else { + personToMeet.setText(""); + } + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof AppointmentCard)) { + return false; + } + + // state check + AppointmentCard card = (AppointmentCard) other; + return id.getText().equals(card.id.getText()) + && appointment.equals(card.appointment); + } +} +``` +###### /java/seedu/address/ui/AppointmentListPanel.java +``` java +/** + * Panel containing the list of appointments. + */ +public class AppointmentListPanel extends UiPart<Region> { + private static final String FXML = "AppointmentListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(AppointmentListPanel.class); + + @FXML + private ListView<AppointmentCard> appointmentListView; + + public AppointmentListPanel(ObservableList<Appointment> appointmentList) { + super(FXML); + setConnections(appointmentList); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList<Appointment> appointmentList) { + ObservableList<AppointmentCard> mappedList = EasyBind.map(appointmentList, (appointment) -> + new AppointmentCard(appointment, appointmentList.indexOf(appointment) + 1)); + appointmentListView.setItems(mappedList); + appointmentListView.setCellFactory(listView -> new AppointmentListViewCell()); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code AppointmentCard}. + */ + class AppointmentListViewCell extends ListCell<AppointmentCard> { + + @Override + protected void updateItem(AppointmentCard appointment, boolean empty) { + super.updateItem(appointment, empty); + + if (empty || appointment == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(appointment.getRoot()); + } + } + } + +} +``` +###### /java/seedu/address/ui/MainWindow.java +``` java + private void setTheme() { + setTheme(DEFAULT_THEME); + } + + private void setTheme(String theme) { + primaryStage.getScene().getStylesheets().add(EXTENSIONS_STYLESHEET); + primaryStage.getScene().getStylesheets().add(TAG_COLOUR_STYLESHEET); + primaryStage.getScene().getStylesheets().add(THEME_LIST.getThemeStyleSheet(theme)); + } + + @Subscribe + private void handleThemeChangeEvent(ThemeChangeEvent event) { + theme = event.theme; + Platform.runLater( + this::changeTheme + ); + } + + private void changeTheme() { + primaryStage.getScene().getStylesheets().clear(); + setTheme(theme); + } +``` +###### /java/seedu/address/commons/events/ui/ToggleListEvent.java +``` java + +import seedu.address.commons.events.BaseEvent; + +/** + * Indicates a request to toggle List + */ +public class ToggleListEvent extends BaseEvent { + public final String list; + + public ToggleListEvent(String list) { + this.list = list; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} +``` +###### /java/seedu/address/commons/events/ui/ToggleCalendarViewEvent.java +``` java +/** + * Indicates a request to toggle Calendar view mode + */ +public class ToggleCalendarViewEvent extends BaseEvent { + public final Character viewMode; + + public ToggleCalendarViewEvent(Character viewMode) { + this.viewMode = viewMode; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} +``` +###### /java/seedu/address/commons/events/ui/ThemeChangeEvent.java +``` java +/** + * Indicates a request to change them + */ +public class ThemeChangeEvent extends BaseEvent { + public final String theme; + + public ThemeChangeEvent(String theme) { + this.theme = theme; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} +``` +###### /java/seedu/address/commons/events/model/AppointmentListChangedEvent.java +``` java +/** + * Indicates the appointment list has changed + */ +public class AppointmentListChangedEvent extends BaseEvent { + public final ObservableList<Appointment> appointmentList; + + public AppointmentListChangedEvent(ObservableList<Appointment> appointmentList) { + this.appointmentList = appointmentList; + } + + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} +``` +###### /java/seedu/address/logic/parser/RemoveCommandParser.java +``` java +/** + * Parses input arguments and creates a new RemoveCommand object + */ +public class RemoveCommandParser implements Parser<RemoveCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the RemoveCommand + * and returns an RemoveCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public RemoveCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + String[] parameterGetterArray = trimmedArgs.split(" "); + if (trimmedArgs.isEmpty() || parameterGetterArray.length != 2) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + } + try { + if (!isValidEventType(parameterGetterArray[0])) { + throw new IllegalValueException("Invalid event type"); + } + Index index = ParserUtil.parseIndex(parameterGetterArray[1]); + return new RemoveCommand(index, parameterGetterArray[0]); + } catch (IllegalValueException ive) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + } + } + + private boolean isValidEventType(String type) { + return type.equals("appointment") || type.equals("task"); + } +} + + + +``` +###### /java/seedu/address/logic/parser/ToggleCalendarViewParser.java +``` java +/** + * Parser for ToggleCalendarViewCommand + */ +public class ToggleCalendarViewParser implements Parser<ToggleCalendarViewCommand> { + /** + * Parses the given {@code viewMode} of arguments in the context of the ToggleCalendarViewParser + * and returns an ToggleCalendarViewCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ToggleCalendarViewCommand parse(String args) throws ParseException { + String viewMode = args.trim(); + if (viewMode.isEmpty() || !isValidViewMode(viewMode)) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ToggleCalendarViewCommand.MESSAGE_USAGE)); + } + return new ToggleCalendarViewCommand(viewMode.charAt(0)); + } + + /** + * + * @param str + * @return whether if the string is a valid view mode or not + */ + private boolean isValidViewMode(String str) { + if (str.length() != 1) { + return false; + } + switch (str.charAt(0)) { + case('w'): + case('d'): + case('m'): + return true; + default: + return false; + } + } +} +``` +###### /java/seedu/address/logic/parser/SetAppointmentCommandParser.java +``` java +/** + * Parses input arguments and creates a new SetAppointmentCommand object + */ +public class SetAppointmentCommandParser implements Parser<SetAppointmentCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the SetAppointmentCommand + * and returns a SetAppointmentCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public SetAppointmentCommand parse(String args) throws ParseException { + ArgumentMultimap argMultimap = + ArgumentTokenizer.tokenize(args, PREFIX_TITLE, PREFIX_START_TIME, + PREFIX_END_TIME, PREFIX_PERSON_TO_MEET_INDEX); + + if (!arePrefixesPresent(argMultimap, PREFIX_TITLE, PREFIX_START_TIME, PREFIX_END_TIME) + || !argMultimap.getPreamble().isEmpty()) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + SetAppointmentCommand.MESSAGE_USAGE)); + } + + try { + Index index = null; + Title title = ParserUtil.parseTitle(argMultimap.getValue(PREFIX_TITLE)).get(); + EventTime startTime = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_START_TIME)).get(); + EventTime endTime = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_END_TIME)).get(); + Optional<Index> optionalIndex = ParserUtil.parseIndex(argMultimap.getValue(PREFIX_PERSON_TO_MEET_INDEX)); + if (optionalIndex.isPresent()) { + index = optionalIndex.get(); + } + Appointment appointment = new Appointment(title, startTime, endTime); + + return new SetAppointmentCommand(appointment, index); + } catch (IllegalValueException | IllegalArgumentException ive) { + throw new ParseException(ive.getMessage(), ive); + } + } + + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } +} +``` +###### /java/seedu/address/logic/parser/ListCommandParser.java +``` java +/** + * Parser for ListCommand + */ +public class ListCommandParser implements Parser<ListCommand> { + /** + * Parses the given {@code args} of arguments in the context of the ListCommandParser + * and returns an ListCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ListCommand parse(String args) throws ParseException { + String item = args.trim(); + if (!isValidItem(item)) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ListCommand.MESSAGE_USAGE)); + } + return new ListCommand(item); + } + + /** + * @param str + * @return whether if the string is a valid view mode or not + */ + private boolean isValidItem(String str) { + switch (str) { + case(ListCommand.TYPE_CONTACT): + case(ListCommand.TYPE_STUDENT): + case(ListCommand.TYPE_APPOINTMENT): + case(ListCommand.TYPE_TASK): + case(ListCommand.TYPE_SHORTCUT): + return true; + default: + return false; + } + } +} +``` +###### /java/seedu/address/logic/parser/ParserUtil.java +``` java + /** + * Parses a {@code Optional<String> title} into an {@code Optional<Title>} if {@code title} is present. + * See header comment of this class regarding the use of {@code Optional} parameters. + */ + public static Optional<Title> parseTitle(Optional<String> title) throws IllegalValueException { + requireNonNull(title); + return title.isPresent() ? Optional.of(parseTitle(title.get())) : Optional.empty(); + } + + /** + * Parses a {@code String title} into a {@code Title}. + * Leading and trailing whitespaces will be trimmed. + * + * @throws IllegalValueException if the given {@code title} is invalid. + */ + public static Title parseTitle(String title) throws IllegalValueException { + requireNonNull(title); + String trimmedTitle = title.trim(); + if (!Title.isValidTitle(trimmedTitle)) { + throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); + } + return new Title(trimmedTitle); + } + + /** + * Parses a {@code Optional<String> eventTime} into an {@code Optional<EventTime>} if {@code eventTime} is present. + * See header comment of this class regarding the use of {@code Optional} parameters. + */ + public static Optional<EventTime> parseEventTime(Optional<String> eventTime) throws IllegalArgumentException { + requireNonNull(eventTime); + return eventTime.isPresent() ? Optional.of(parseEventTime(eventTime.get())) : Optional.empty(); + } + + /** + * Parses a {@code String eventTime} into a {@code EventTime}. + * Leading and trailing whitespaces will be trimmed. + */ + public static EventTime parseEventTime(String eventTime) throws IllegalArgumentException { + requireNonNull(eventTime); + String trimmedEventTime = eventTime.trim(); + return new EventTime(trimmedEventTime); + } + + /** + * Parses a {@code String tag} into a {@code Tag}. + * Leading and trailing whitespaces will be trimmed. + * + * @throws IllegalValueException if the given {@code tag} is invalid. + */ + public static Tag parseTag(String tag) throws IllegalValueException { + requireNonNull(tag); + String trimmedTag = tag.trim(); + if (!Tag.isValidTagName(trimmedTag)) { + throw new IllegalValueException(Tag.MESSAGE_TAG_NAME_CONSTRAINTS); + } + return new Tag(trimmedTag); + } + + /** + * Parses {@code Collection<String> tags} into a {@code Set<Tag>}. + */ + public static Set<Tag> parseTags(Collection<String> tags) throws IllegalValueException { + requireNonNull(tags); + final Set<Tag> tagSet = new HashSet<>(); + for (String tagName : tags) { + tagSet.add(parseTag(tagName)); + } + return tagSet; + } +} +``` +###### /java/seedu/address/logic/parser/ChangeThemeCommandParser.java +``` java +/** + * Parses input arguments and creates a new ChangeThemeCommand object + */ +public class ChangeThemeCommandParser implements Parser<ChangeThemeCommand> { + /** + * Parses the given {@code viewMode} of arguments in the context of the ChangeThemeCommandParser + * and returns an ChangeThemeCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ChangeThemeCommand parse(String args) throws ParseException { + String theme = args.trim(); + if (!isValidTheme(theme)) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ChangeThemeCommand.MESSAGE_INVALID_THEME)); + } + return new ChangeThemeCommand(theme); + } + + /** + * + * @param theme + * @return whether if {@code theme} is a valid theme name + */ + private boolean isValidTheme(String theme) { + return !theme.isEmpty() && Arrays.asList(THEME_LIST).contains(theme); + } +} +``` +###### /java/seedu/address/logic/parser/SetTaskCommandParser.java +``` java +/** + * Parses input arguments and creates a new SetTaskCommand object + */ +public class SetTaskCommandParser implements Parser<SetTaskCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the SetTaskCommand + * and returns a SetTaskCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public SetTaskCommand parse(String args) throws ParseException { + ArgumentMultimap argMultimap = + ArgumentTokenizer.tokenize(args, PREFIX_TITLE, PREFIX_END_TIME); + + if (!arePrefixesPresent(argMultimap, PREFIX_TITLE, PREFIX_END_TIME) + || !argMultimap.getPreamble().isEmpty()) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + SetTaskCommand.MESSAGE_USAGE)); + } + + try { + Title title = ParserUtil.parseTitle(argMultimap.getValue(PREFIX_TITLE)).get(); + EventTime time = ParserUtil.parseEventTime(argMultimap.getValue(PREFIX_END_TIME)).get(); + + Task task = new Task(title, time); + + return new SetTaskCommand(task); + } catch (IllegalValueException | IllegalArgumentException ive) { + throw new ParseException(ive.getMessage(), ive); + } + } + + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } + +} +``` +###### /java/seedu/address/logic/commands/RemoveCommand.java +``` java +/** + * Remove an appointment or task identified using its last displayed index from the address book. + */ +public class RemoveCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "remove"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Removes the event identified by the index number used in the last event listing.\n" + + "Parameters: " + + " EVENT_TYPE (could be appointment or task)" + + "INDEX (must be a positive integer)\n" + + "Example: " + COMMAND_WORD + " appointment " + " 1"; + + public static final String MESSAGE_DELETE_EVENT_SUCCESS = "Removed %1$s: %2$s"; + + private final Index targetIndex; + + private String eventTypeOfDeletedTarget; + + private Object eventToBeDeleted; + + public RemoveCommand(Index targetIndex, String eventTypeOfDeletedTarget) { + this.eventTypeOfDeletedTarget = eventTypeOfDeletedTarget; + this.targetIndex = targetIndex; + } + + @Override + public CommandResult executeUndoableCommand() { + requireNonNull(eventToBeDeleted); + try { + if (eventTypeOfDeletedTarget.equals(LIST_TYPE_APPOINTMENT)) { + model.deleteAppointment((Appointment) eventToBeDeleted); + } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { + model.deleteTask((Task) eventToBeDeleted); + } + } catch (EventNotFoundException ive) { + throw new AssertionError(String.format("The target %s cannot be missing", eventTypeOfDeletedTarget)); + } + return new CommandResult( + String.format(MESSAGE_DELETE_EVENT_SUCCESS, eventTypeOfDeletedTarget, eventToBeDeleted)); + } + + @Override + protected void preprocessUndoableCommand() throws CommandException { + if (eventTypeOfDeletedTarget.equals(LIST_TYPE_APPOINTMENT)) { + List<Appointment> lastShownList = model.getFilteredAppointmentList(); + if (targetIndex.getZeroBased() >= lastShownList.size()) { + throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + } + eventToBeDeleted = lastShownList.get(targetIndex.getZeroBased()); + } else if (eventTypeOfDeletedTarget.equals(LIST_TYPE_TASK)) { + List<Task> lastShownList = model.getFilteredTaskList(); + if (targetIndex.getZeroBased() >= lastShownList.size()) { + throw new CommandException(Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + } + eventToBeDeleted = lastShownList.get(targetIndex.getZeroBased()); + } + + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof RemoveCommand // instanceof handles nulls + && this.targetIndex.equals(((RemoveCommand) other).targetIndex) // state check + && Objects.equals(this.eventToBeDeleted, ((RemoveCommand) other).eventToBeDeleted)); + } +} +``` +###### /java/seedu/address/logic/commands/ToggleCalendarViewCommand.java +``` java +/** + * Command to change calendar view + */ +public class ToggleCalendarViewCommand extends Command { + + public static final String COMMAND_WORD = "calendar"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Toggles calendar view. \n" + + "Parameter: VIEW_MODE\n" + + "View mode: Day view: d, Week view: w, Month view: m\n" + + "Example: " + COMMAND_WORD + " d"; + + public static final String MESSAGE_VIEW_TOGGLE_SUCCESS = "View changed."; + + private Character viewMode; + + public ToggleCalendarViewCommand(Character viewMode) { + requireNonNull(viewMode); + this.viewMode = viewMode; + } + @Override + public CommandResult execute() throws CommandException { + EventsCenter.getInstance().post(new ToggleCalendarViewEvent(viewMode)); + return new CommandResult(MESSAGE_VIEW_TOGGLE_SUCCESS); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ToggleCalendarViewCommand // instanceof handles nulls + && this.viewMode == ((ToggleCalendarViewCommand) other).viewMode); // state check + } +} +``` +###### /java/seedu/address/logic/commands/ChangeThemeCommand.java +``` java +/** + * Change theme of the GUI. + */ +public class ChangeThemeCommand extends Command { + public static final String COMMAND_WORD = "theme"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Change the theme of TeachConnect.\n" + + "Parameters: THEME\n" + + "Example: " + COMMAND_WORD + " dark"; + + public static final String MESSAGE_CHANGE_THEME_SUCCESS = "Theme changed"; + + public static final String MESSAGE_INVALID_THEME = "Not a valid theme"; + + private final String theme; + + public ChangeThemeCommand(String theme) { + requireNonNull(theme); + this.theme = theme; + } + + @Override + public CommandResult execute() throws CommandException { + EventsCenter.getInstance().post(new ThemeChangeEvent(theme)); + return new CommandResult(MESSAGE_CHANGE_THEME_SUCCESS); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ChangeThemeCommand // instanceof handles nulls + && this.theme.equals(((ChangeThemeCommand) other).theme)); // state check + } +} +``` +###### /java/seedu/address/logic/commands/SetTaskCommand.java +``` java +/** + * Adds a task to the address book. + */ +public class SetTaskCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "set_task"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds a task to the address book.\n" + + "Parameters: " + + PREFIX_TITLE + "TITLE " + + PREFIX_END_TIME + "DATE TIME\n" + + "Example: " + COMMAND_WORD + " " + + PREFIX_TITLE + "Mark papers " + + PREFIX_END_TIME + "20/05/2018 12:00 "; + + public static final String MESSAGE_SUCCESS = "New task added: %1$s"; + public static final String MESSAGE_DUPLICATE_TASK = "This task already exists in the address book"; + + private final Task toAdd; + + /** + * Creates a SetTaskCommand to add the specified {@code Task} + */ + public SetTaskCommand(Task task) { + requireNonNull(task); + toAdd = task; + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + requireNonNull(model); + try { + model.addTask(toAdd); + return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); + } catch (DuplicateEventException e) { + throw new CommandException(MESSAGE_DUPLICATE_TASK); + } + + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof SetTaskCommand // instanceof handles nulls + && toAdd.equals(((SetTaskCommand) other).toAdd)); + } +} +``` +###### /java/seedu/address/logic/commands/SetAppointmentCommand.java +``` java +/** + * Adds an appointment with the person at {@code index} in the person list to the address book. + */ +public class SetAppointmentCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "set_appointment"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Adds an appoinment to the address book.\n" + + "Parameters: " + + PREFIX_TITLE + "TITLE " + + PREFIX_START_TIME + "START-DATE START-TIME " + + PREFIX_END_TIME + "END-DATE END-TIME " + + PREFIX_PERSON_TO_MEET_INDEX + "PERSON TO MEET\n" + + "Example: " + COMMAND_WORD + " " + + PREFIX_TITLE + "Meet James " + + PREFIX_START_TIME + "20/05/2018 10:00 " + + PREFIX_END_TIME + "20/05/2018 12:00 " + + PREFIX_PERSON_TO_MEET_INDEX + "3 "; + + public static final String MESSAGE_SUCCESS = "New appointment added: %1$s"; + public static final String MESSAGE_DUPLICATE_APPOINTMENT = "This appointment already exists in the address book"; + + private final Appointment baseAppointmentWithoutPerson; + private final Index index; + + private PersonToMeet personToMeet; + + /** + * Creates a SetAppointmentCommand without any PersonToMeet + */ + public SetAppointmentCommand(Appointment baseAppointmentWithoutPerson) { + this(baseAppointmentWithoutPerson, null); + } + + /** + * Creates a SetAppointmentCommand to add the specified {@code Appointment} + */ + public SetAppointmentCommand(Appointment baseAppointmentWithoutPerson, Index index) { + requireNonNull(baseAppointmentWithoutPerson); + this.baseAppointmentWithoutPerson = baseAppointmentWithoutPerson; + this.index = index; + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + requireNonNull(model); + try { + Appointment toAdd; + if (personToMeet != null) { + toAdd = new Appointment(baseAppointmentWithoutPerson.getTitle(), baseAppointmentWithoutPerson.getTime(), + baseAppointmentWithoutPerson.getEndTime(), personToMeet); + } else { + toAdd = baseAppointmentWithoutPerson; + } + model.addAppointment(toAdd); + return new CommandResult(String.format(MESSAGE_SUCCESS, toAdd)); + } catch (DuplicateEventException e) { + throw new CommandException(MESSAGE_DUPLICATE_APPOINTMENT); + } + + } + + @Override + protected void preprocessUndoableCommand() throws CommandException { + if (index != null) { + List<Person> lastShownList = model.getFilteredPersonList(); + + if (index.getZeroBased() >= lastShownList.size()) { + throw new CommandException(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX); + } + + Person person = lastShownList.get(index.getZeroBased()); + personToMeet = new PersonToMeet(person.getName().fullName, person.getEmail().value); + } + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof SetAppointmentCommand // instanceof handles nulls + && baseAppointmentWithoutPerson.equals(((SetAppointmentCommand) other).baseAppointmentWithoutPerson)); + } +} +``` +###### /java/seedu/address/storage/XmlAdaptedAppointment.java +``` java +/** + * JAXB-friendly version of the Person. + */ +public class XmlAdaptedAppointment { + + public static final String MISSING_FIELD_MESSAGE_FORMAT = "Appointment's %s field is missing!"; + + @XmlElement(required = true) + private String title; + @XmlElement(required = true) + private String startTime; + @XmlElement(required = true) + private String endTime; + @XmlElement(required = true) + private String personToMeet; + + /** + * Constructs an XmlAdaptedAppointment. + * This is the no-arg constructor that is required by JAXB. + */ + public XmlAdaptedAppointment() {} + + public XmlAdaptedAppointment(String title, String startTime, String endTime) { + this(title, startTime, endTime, null); + } + + /** + * Constructs an {@code XmlAdaptedAppointment} with the given appointment details. + */ + public XmlAdaptedAppointment(String title, String startTime, String endTime, String personToMeet) { + this.title = title; + this.startTime = startTime; + this.endTime = endTime; + if (personToMeet != null) { + this.personToMeet = personToMeet; + } + } + + /** + * Converts a given Appointment into this class for JAXB use. + * + * @param source future changes to this will not affect the created XmlAdaptedAppointment + */ + public XmlAdaptedAppointment(Appointment source) { + title = source.getTitle().toString(); + startTime = source.getTime().toString(); + endTime = source.getEndTime().toString(); + if (source.getPersonToMeet() != null) { + personToMeet = source.getPersonToMeet().toString(); + } + } + + /** + * Converts this jaxb-friendly adapted person object into the model's Appointment object. + * + * @throws IllegalValueException if there were any data constraints violated in the adapted appointment + */ + public Appointment toModelType() throws IllegalValueException { + if (this.title == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName())); + } + if (!Title.isValidTitle(this.title)) { + throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); + } + final Title title = new Title(this.title); + + if (this.startTime == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "Start Time")); + } + if (this.endTime == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "End Time")); + } + + final EventTime startTime = new EventTime(this.startTime); + final EventTime endTime = new EventTime(this.endTime); + + if (!Appointment.isValidTime(startTime, endTime)) { + throw new IllegalValueException(Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS); + } + + if (this.personToMeet != null) { + String[] components = this.personToMeet.split(EMAIL_SPLITTER); + PersonToMeet personToMeet = new PersonToMeet(components[0], components[1]); + return new Appointment(title, startTime, endTime, personToMeet); + } + + return new Appointment(title, startTime, endTime); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof XmlAdaptedAppointment)) { + return false; + } + + XmlAdaptedAppointment otherAppointment = (XmlAdaptedAppointment) other; + return Objects.equals(title, otherAppointment.title) + && Objects.equals(startTime, otherAppointment.startTime) + && Objects.equals(endTime, otherAppointment.endTime) + && Objects.equals(personToMeet, otherAppointment.personToMeet); + } +} +``` +###### /java/seedu/address/storage/XmlAdaptedTask.java +``` java +/** + * JAXB-friendly version of the Person. + */ +public class XmlAdaptedTask { + + public static final String MISSING_FIELD_MESSAGE_FORMAT = "Task's %s field is missing!"; + + @XmlElement(required = true) + private String title; + @XmlElement(required = true) + private String time; + + /** + * Constructs an XmlAdaptedTask. + * This is the no-arg constructor that is required by JAXB. + */ + public XmlAdaptedTask() {} + + /** + * Constructs an {@code XmlAdaptedTask} with the given task details. + */ + public XmlAdaptedTask(String title, String time) { + this.title = title; + this.time = time; + } + + /** + * Converts a given Task into this class for JAXB use. + * + * @param source future changes to this will not affect the created XmlAdaptedTask + */ + public XmlAdaptedTask(Task source) { + title = source.getTitle().toString(); + time = source.getTime().toString(); + } + + /** + * Converts this jaxb-friendly adapted person object into the model's Task object. + * + * @throws IllegalValueException if there were any data constraints violated in the adapted task + */ + public Task toModelType() throws IllegalValueException { + if (this.title == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName())); + } + if (!Title.isValidTitle(this.title)) { + throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); + } + final Title title = new Title(this.title); + + if (this.time == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time")); + } + final EventTime time = new EventTime(this.time); + + return new Task(title, time); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof XmlAdaptedTask)) { + return false; + } + + XmlAdaptedTask otherTask = (XmlAdaptedTask) other; + return Objects.equals(title, otherTask.title) + && Objects.equals(time, otherTask.time); + } +} +``` +###### /java/seedu/address/model/AddressBook.java +``` java + //event operations + /** + * Adds an appointment to the address book. + * + * @throws DuplicateEventException if an equivalent appointment already exists. + */ + public void addAppointment(Appointment e) throws DuplicateEventException { + appointments.add(e); + } + + /** + * Removes {@code key} from this {@code AddressBook}. + * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + */ + public boolean removeAppointment(Appointment key) throws EventNotFoundException { + if (appointments.remove(key)) { + return true; + } else { + throw new EventNotFoundException(); + } + } + + /** + * Adds a task to the address book. + * + * @throws DuplicateEventException if an equivalent appointment already exists. + */ + public void addTask(Task e) throws DuplicateEventException { + tasks.add(e); + } + + /** + * Removes {@code key} from this {@code AddressBook}. + * @throws EventNotFoundException if the {@code key} is not in this {@code AddressBook}. + */ + public boolean removeTask(Task key) throws EventNotFoundException { + if (tasks.remove(key)) { + return true; + } else { + throw new EventNotFoundException(); + } + } +} +``` +###### /java/seedu/address/model/event/Appointment.java +``` java +/** + * Represent an appointment in the schedule, contains time of the appointment as well as details and personMeet. + */ +public class Appointment { + public static final String MESSAGE_TIME_PERIOD_CONSTRAINTS = "The end time should be after the start time"; + + private final Title title; + private final EventTime time; + private final EventTime endTime; + private final PersonToMeet personToMeet; + + //Every field must be present and not null + public Appointment(Title title, EventTime startTime, EventTime endTime) { + this(title, startTime, endTime, null); + } + + //Every field except personToMeet must be present and not null + public Appointment(Title title, EventTime startTime, EventTime endTime, PersonToMeet personToMeet) { + requireAllNonNull(title, startTime, endTime); + checkArgument(isValidTime(startTime, endTime), MESSAGE_TIME_PERIOD_CONSTRAINTS); + this.title = title; + this.time = startTime; + this.endTime = endTime; + this.personToMeet = personToMeet; + } + + public Title getTitle() { + return title; + } + + public EventTime getTime() { + return time; + } + + public EventTime getEndTime() { + return endTime; + } + + public PersonToMeet getPersonToMeet() { + return personToMeet; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof Appointment)) { + return false; + } + + Appointment otherAppointment = (Appointment) other; + return otherAppointment.getTitle().equals(this.getTitle()) + && otherAppointment.getTime().equals(this.getTime()) + && otherAppointment.getEndTime().equals(this.getEndTime()); + } + + @Override + public String toString() { + final StringBuilder builder = new StringBuilder(); + builder.append(getTitle()) + .append(", Start Time: ") + .append(getTime().toString()) + .append(", End Time: ") + .append(getEndTime().toString()); + if (personToMeet != null) { + builder.append(", With: ") + .append(personToMeet.getName()); + } + return builder.toString(); + } + + /** + * Returns true if the given time is valid + */ + public static boolean isValidTime(EventTime startTime, EventTime endTime) { + return endTime.value.after(startTime.value); + } +} +``` +###### /java/seedu/address/model/event/Task.java +``` java +/** + * Represent a Task in the schedule, contains deadline as well as the title + */ +public class Task { + private Title title; + private EventTime time; + + //Every field must be present and not null + public Task(Title title, EventTime deadline) { + requireAllNonNull(title, deadline); + this.title = title; + this.time = deadline; + } + + public Title getTitle() { + return title; + } + + public EventTime getTime() { + return time; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof Task)) { + return false; + } + + Task otherTask = (Task) other; + return otherTask.getTitle().equals(this.getTitle()) + && otherTask.getTime().equals(this.getTime()); + } + + @Override + public String toString() { + return title + ", Deadline: " + time; + } +} +``` diff --git a/collated/functional/randypx.md b/collated/functional/randypx.md new file mode 100644 index 000000000000..5b252855418a --- /dev/null +++ b/collated/functional/randypx.md @@ -0,0 +1,120 @@ +# randypx +###### /java/seedu/address/model/person/UniquePersonList.java +``` java + /** + * Add a listener to the list for any changes. + * Update {@code contacts} for any changes made. + */ + public void addListener(UniqueContactList contacts) { + internalList.addListener(new ListChangeListener<Person>() { + @Override + public void onChanged(Change<? extends Person> c) { + contacts.updateList(c); + } + }); + } + + @Override + public Iterator<Person> iterator() { + return internalList.iterator(); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof UniquePersonList // instanceof handles nulls + && this.internalList.equals(((UniquePersonList) other).internalList)); + } + + @Override + public int hashCode() { + return internalList.hashCode(); + } + +} +``` +###### /java/seedu/address/model/person/UniqueContactList.java +``` java +/** + * A list that is the aggregation of {@code UniquePersonList} and {@code UniqueStudentList} + * and is the list displayed in the GUI. + * This list remains up-to-date by listening to the changes of both lists and is not changed by anything else. + */ +public class UniqueContactList { + private final UniquePersonList persons; + private final UniqueStudentList students; + private final ObservableList<Person> combinedList = FXCollections.observableArrayList(); + + public UniqueContactList(UniquePersonList p, UniqueStudentList s) { + persons = p; + students = s; + persons.addListener(this); + students.addListener(this); + } + + /** + * This method is called when there is a change in eithor {@code UniquePersonList} or {@code UniqueStudentList}. + * @param c this contains the change(s) that has occured. + */ + public void updateList(ListChangeListener.Change<? extends Person> c) { + while (c.next()) { + if (c.wasReplaced()) { + for (int i = 0; i < c.getRemovedSize(); i++) { + int index = combinedList.indexOf(c.getRemoved().get(i)); + combinedList.set(index, c.getAddedSubList().get(i)); + } + if (c.getTo() > c.getRemovedSize()) { + for (int i = c.getRemovedSize(); i < c.getTo(); i++) { + combinedList.add(c.getAddedSubList().get(i)); + } + } + } else if (c.wasRemoved()) { + combinedList.removeAll(c.getRemoved()); + } else if (c.wasAdded()) { + combinedList.addAll(c.getAddedSubList()); + } + } + } + + /** + * Returns the backing list as an unmodifiable {@code ObservableList}. + */ + public ObservableList<Person> asObservableList() { + return FXCollections.unmodifiableObservableList(combinedList); + } + +} +``` +###### /java/seedu/address/model/person/UniqueStudentList.java +``` java + /** + * Add a listener to the list for any changes. + * Update {@code contacts} for any changes made. + */ + public void addListener(UniqueContactList contacts) { + internalList.addListener(new ListChangeListener<Student>() { + @Override + public void onChanged(Change<? extends Student> c) { + contacts.updateList(c); + } + }); + } + + @Override + public Iterator<Student> iterator() { + return internalList.iterator(); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof UniqueStudentList // instanceof handles nulls + && this.internalList.equals(((UniqueStudentList) other).internalList)); + } + + @Override + public int hashCode() { + return internalList.hashCode(); + } +} +``` diff --git a/collated/functional/shanmu9898.md b/collated/functional/shanmu9898.md new file mode 100644 index 000000000000..cc7ceca97025 --- /dev/null +++ b/collated/functional/shanmu9898.md @@ -0,0 +1,1091 @@ +# shanmu9898 +###### /resources/view/ShortcutListCard.fxml +``` fxml +<?import javafx.geometry.Insets?> +<?import javafx.scene.control.Label?> +<?import javafx.scene.layout.ColumnConstraints?> +<?import javafx.scene.layout.GridPane?> +<?import javafx.scene.layout.HBox?> +<?import javafx.scene.layout.Region?> +<?import javafx.scene.layout.VBox?> + +<HBox id="cardPane" fx:id="cardPane" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> + <GridPane HBox.hgrow="ALWAYS"> + <columnConstraints> + <ColumnConstraints hgrow="SOMETIMES" minWidth="10" prefWidth="150" /> + </columnConstraints> + <VBox alignment="CENTER_LEFT" minHeight="80" GridPane.columnIndex="0"> + <padding> + <Insets top="5" right="5" bottom="5" left="15" /> + </padding> + <HBox spacing="5" alignment="CENTER_LEFT"> + <Label fx:id="id" styleClass="cell_big_label"> + <minWidth> + <!-- Ensures that the label text is never truncated --> + <Region fx:constant="USE_PREF_SIZE" /> + </minWidth> + </Label> + <Label fx:id="command" text="\$command" styleClass="cell_big_label" /> + <Label fx:id="shortcut" styleClass="cell_big_label_label" text="\$shortcut" /> + </HBox> + + </VBox> + </GridPane> +</HBox> +``` +###### /resources/view/ShortcutListPanel.fxml +``` fxml +<?import javafx.scene.control.ListView?> +<?import javafx.scene.layout.VBox?> + +<VBox xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"> + <ListView fx:id="shortcutListView" VBox.vgrow="ALWAYS" /> +</VBox> +``` +###### /java/seedu/address/ui/ShortcutListPanel.java +``` java +package seedu.address.ui; + +import java.util.logging.Logger; + +import org.fxmisc.easybind.EasyBind; + +import javafx.collections.ObservableList; +import javafx.fxml.FXML; +import javafx.scene.control.ListCell; +import javafx.scene.control.ListView; +import javafx.scene.layout.Region; +import seedu.address.commons.core.LogsCenter; +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * Panel containing the list of Shortcuts. + */ +public class ShortcutListPanel extends UiPart<Region> { + private static final String FXML = "ShortcutListPanel.fxml"; + private final Logger logger = LogsCenter.getLogger(PersonListPanel.class); + + @FXML + private ListView<ShortcutCard> shortcutListView; + + public ShortcutListPanel(ObservableList<ShortcutDoubles> shortcutList) { + super(FXML); + setConnections(shortcutList); + registerAsAnEventHandler(this); + } + + private void setConnections(ObservableList<ShortcutDoubles> shortcutList) { + ObservableList<ShortcutCard> mappedList = EasyBind.map(shortcutList, (shortcutDoubles) -> + new ShortcutCard(shortcutDoubles, shortcutList.indexOf(shortcutDoubles) + 1)); + shortcutListView.setItems(mappedList); + shortcutListView.setCellFactory(listView -> new ShortcutListViewCell()); + } + + /** + * Custom {@code ListCell} that displays the graphics of a {@code AppointmentCard}. + */ + class ShortcutListViewCell extends ListCell<ShortcutCard> { + + @Override + protected void updateItem(ShortcutCard shortcutCard, boolean empty) { + super.updateItem(shortcutCard, empty); + + if (empty || shortcutCard == null) { + setGraphic(null); + setText(null); + } else { + setGraphic(shortcutCard.getRoot()); + } + } + } +} +``` +###### /java/seedu/address/ui/ShortcutCard.java +``` java +package seedu.address.ui; + +import javafx.fxml.FXML; +import javafx.scene.control.Label; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Region; +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * An UI component that displays information of a {@code Shortcut Double} + */ +public class ShortcutCard extends UiPart<Region> { + + private static final String FXML = "ShortcutListCard.fxml"; + + public final ShortcutDoubles shortcutDoubles; + + @FXML + private HBox cardPane; + @FXML + private Label shortcut; + @FXML + private Label command; + @FXML + private Label id; + + public ShortcutCard(ShortcutDoubles shortcutDoubles, int displayedIndex) { + super(FXML); + + this.shortcutDoubles = shortcutDoubles; + id.setText(displayedIndex + ". "); + shortcut.setText("===> " + shortcutDoubles.shortcutWord); + command.setText(shortcutDoubles.commandWord); + } + + @Override + public boolean equals(Object other) { + // short circuit if same object + if (other == this) { + return true; + } + + // instanceof handles nulls + if (!(other instanceof ShortcutCard)) { + return false; + } + + // state check + ShortcutCard card = (ShortcutCard) other; + return id.getText().equals(card.id.getText()) + && shortcutDoubles.equals(card.shortcutDoubles); + } +} +``` +###### /java/seedu/address/logic/Logic.java +``` java + /** Returns an unmodifiable view of the filtered list of Shortcuts */ + ObservableList<ShortcutDoubles> getFilteredShortcutList(); +} +``` +###### /java/seedu/address/logic/parser/DeleteShortcutCommandParser.java +``` java +package seedu.address.logic.parser; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + +import seedu.address.logic.commands.DeleteShortcutCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +/** + * Parses input arguments and creates a new DeleteShortcutCommand object + */ +public class DeleteShortcutCommandParser implements Parser<DeleteShortcutCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the DeleteShortcutCommand + * and returns a DeleteShortcutCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public DeleteShortcutCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + String[] splitWords = trimmedArgs.split(" "); + if (splitWords.length > 2 || splitWords.length < 2) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, DeleteShortcutCommand.MESSAGE_USAGE)); + } else { + return new DeleteShortcutCommand(splitWords[0], splitWords[1]); + } + } +} +``` +###### /java/seedu/address/logic/parser/ImportCommandParser.java +``` java +/** + * Parses input arguments and creates a new ImportCommand object + */ +public class ImportCommandParser implements Parser<ImportCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the ImportCommand + * and returns an ImportCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ImportCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + if (trimmedArgs.isEmpty()) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); + } + + String[] parameterGetterArray = trimmedArgs.split(" "); + + if (parameterGetterArray.length != 1) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); + } else { + return new ImportCommand(parameterGetterArray[0]); + } + + } + + + +} +``` +###### /java/seedu/address/logic/parser/ExportCommandParser.java +``` java +/** + * Parses input arguments and creates a new ExportCommand object + */ +public class ExportCommandParser implements Parser<ExportCommand> { + + /** + * Parses the given {@code String} of arguments in the context of the ExportCommand + * and returns an ExportCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + @Override + public ExportCommand parse(String args) throws ParseException { + requireNonNull(args); + ArgumentMultimap argMultiMap = ArgumentTokenizer.tokenize(args, PREFIX_NAME, PREFIX_RANGE, + PREFIX_TAG_EXPORT, PREFIX_PATH, PREFIX_TYPE); + + String[] preambleArgs = argMultiMap.getPreamble().split(" "); + if (!arePrefixesPresent(argMultiMap, PREFIX_NAME, PREFIX_RANGE, PREFIX_PATH, PREFIX_TYPE) + || preambleArgs.length > 1) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); + } + + String name = argMultiMap.getValue(PREFIX_NAME).orElse(""); + String range = argMultiMap.getValue(PREFIX_RANGE).orElse("all"); + String tag = argMultiMap.getValue(PREFIX_TAG_EXPORT).orElse("shouldnotbethistag"); + String path = argMultiMap.getValue(PREFIX_PATH).orElse(""); + String type = argMultiMap.getValue(PREFIX_TYPE).orElse("normal"); + + if (!(type.equals("excel") || type.equals("normal"))) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); + } + + Tag tagExport = new Tag(tag); + return new ExportCommand(range, tagExport, path, name, type); + + + } + + /** + * Returns true if none of the prefixes contains empty {@code Optional} values in the given + * {@code ArgumentMultimap}. + */ + private static boolean arePrefixesPresent(ArgumentMultimap argumentMultimap, Prefix... prefixes) { + return Stream.of(prefixes).allMatch(prefix -> argumentMultimap.getValue(prefix).isPresent()); + } + + + +} +``` +###### /java/seedu/address/logic/parser/ShortcutCommandParser.java +``` java +/** + * Parser + */ +public class ShortcutCommandParser implements Parser<ShortcutCommand> { + /** + * Parses the given {@code String} of arguments in the context of the ShortcutCommand + * and returns an ShortcutCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public ShortcutCommand parse(String args) throws ParseException { + requireNonNull(args); + String trimmedArgs = args.trim(); + String[] splitWords = trimmedArgs.split(" "); + if (splitWords.length > 2 || splitWords.length < 2) { + throw new ParseException( + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ShortcutCommand.MESSAGE_USAGE)); + } else { + return new ShortcutCommand(splitWords[0], splitWords[1]); + } + } +} +``` +###### /java/seedu/address/logic/commands/DeleteShortcutCommand.java +``` java +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; + +import java.util.Objects; + +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +/** + * Deletes a specific shortcut from the addressbook. + */ +public class DeleteShortcutCommand extends UndoableCommand { + public static final String COMMAND_WORD = "delete_shortcut"; + public static final String MESSAGE_USAGE = COMMAND_WORD + " CommandWord " + " ShortcutWord " + + " :Deletes a shortcut for any command word"; + public static final String MESSAGE_DELETE_SHORTCUT_SUCCESS = "The shortcut has been deleted!"; + private final String shortcutWord; + + private final String commandWord; + + private ShortcutDoubles commandShortcut; + + + public DeleteShortcutCommand(String commandWord, String shortcutWord) { + requireNonNull(commandWord); + requireNonNull(shortcutWord); + this.commandWord = commandWord; + this.shortcutWord = shortcutWord; + commandShortcut = new ShortcutDoubles(shortcutWord, commandWord); + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + requireNonNull(commandShortcut); + try { + model.deleteCommandShortcut(commandShortcut); + } catch (UniqueShortcutDoublesList.CommandShortcutNotFoundException csnf) { + throw new CommandException("Please enter a valid Shortcut Command you have saved"); + } + + return new CommandResult(String.format(MESSAGE_DELETE_SHORTCUT_SUCCESS)); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof DeleteShortcutCommand // instanceof handles nulls + && this.shortcutWord.equals(((DeleteShortcutCommand) other).shortcutWord) // state check + && this.commandWord.equals(((DeleteShortcutCommand) other).commandWord) // state check + && Objects.equals(this.commandShortcut, ((DeleteShortcutCommand) other).commandShortcut)); + } +} +``` +###### /java/seedu/address/logic/commands/ExportCommand.java +``` java +/** + * + * Exports people to an XML file of choice based on tag, index or range + */ +public class ExportCommand extends Command { + + public static final String MESSAGE_FAIL = "TeachConnect faced some error while exporting! Please try again!"; + public static final String MESSAGE_OUT_OF_BOUNDS = "Please check the index bounds!"; + public static final String MESSAGE_SUCCESS = "Contacts have been successfully exported!"; + public static final String MESSAGE_RANGE_ERROR = "Please input valid range"; + + public static final String COMMAND_WORD = "export"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": exports contacts to the TeachConnect Book based " + + "on index, range or tag \n" + + "Parameters: " + + PREFIX_NAME + " NAME " + + PREFIX_RANGE + " RANGE " + + PREFIX_TAG_EXPORT + " TAG " + + PREFIX_PATH + " PATH " + + PREFIX_TYPE + "FORMAT \n" + + "Example 1: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "all " + + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/Normal \n" + + "Example 2: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "1 " + + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/Normal \n" + + "Example 3: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "1,2 " + + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/normal \n"; + + + private Tag tag; + private final String range; + private final String path; + private AddressBook teachConnectBook; + private AddressBookStorage teachConnectStorage; + private final String nameOfExportFile; + private final String type; + + /** + * Creates an ExportCommand to export the specified {@code Persons} + */ + public ExportCommand(String range, Tag tag, String path, String nameOfExportFile, String type) { + requireNonNull(range); + requireNonNull(tag); + requireNonNull(path); + requireNonNull(nameOfExportFile); + requireNonNull(type); + + this.range = range; + this.path = path; + this.tag = tag; + this.nameOfExportFile = nameOfExportFile; + this.type = type; + + + teachConnectBook = new AddressBook(); + } + + @Override + public CommandResult execute() { + String[] rangeGiven; + try { + rangeGiven = handleRange(); + } catch (IOException e) { + return new CommandResult(MESSAGE_RANGE_ERROR); + } + CommandResult handledRangeSituation; + try { + handledRangeSituation = handleRangeArray(rangeGiven); + } catch (DuplicatePersonException e) { + return new CommandResult(MESSAGE_FAIL); + } catch (IndexOutOfBoundsException e) { + return new CommandResult(MESSAGE_OUT_OF_BOUNDS); + } + if (handledRangeSituation != null) { + return handledRangeSituation; + } + + if (!tryStorage(type)) { + return new CommandResult(MESSAGE_FAIL); + } + return new CommandResult(MESSAGE_SUCCESS); + + } + + /** + * This method tries creating and storing the export file. + * @return + */ + private boolean tryStorage(String type) { + teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ".xml"); + try { + teachConnectStorage.saveAddressBook(teachConnectBook); + } catch (IOException e) { + return false; + } + if (type.equals("excel")) { + return saveAsCsv(); + } + return true; + } + + /** + * Will save as a CSV file depending on the type of input + * @return boolean + */ + private boolean saveAsCsv() { + File stylesheet = new File("./src/main/resources/Util/style.xsl"); + File xmlSource = new File(path + "/" + nameOfExportFile + ".xml"); + + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder; + try { + builder = factory.newDocumentBuilder(); + } catch (ParserConfigurationException e) { + return false; + } + Document document; + try { + document = builder.parse(xmlSource); + } catch (SAXException e) { + return false; + } catch (IOException e) { + return false; + } + + StreamSource styleSource = new StreamSource(stylesheet); + Transformer transformer; + try { + transformer = TransformerFactory.newInstance().newTransformer(styleSource); + } catch (TransformerConfigurationException e) { + return false; + } + Source source = new DOMSource(document); + Result outputTarget = new StreamResult(new File(path + "/" + nameOfExportFile + ".csv")); + try { + transformer.transform(source, outputTarget); + } catch (TransformerException e) { + return false; + } + + return true; + } + + /** + * Handles the range array returned by the handleRange() function + * @param rangeGiven + * @return + */ + private CommandResult handleRangeArray(String[] rangeGiven) throws DuplicatePersonException, + IndexOutOfBoundsException { + if (rangeGiven[0].equals("all")) { + exportAllRange(tag); + } else { + if (rangeGiven.length != 1) { + for (int i = 0; i < rangeGiven.length; i++) { + int low = Integer.parseInt(rangeGiven[0]); + int high = Integer.parseInt(rangeGiven[1]); + if (low >= high) { + return new CommandResult(MESSAGE_RANGE_ERROR); + } else { + exportRange(low, high, tag); + } + } + } else { + int low = Integer.parseInt(rangeGiven[0]); + exportSpecific(low); + } + + + } + return null; + } + + /** + * Adds a specific person to the teachConnectBook + * + * @param low + * @throws DuplicatePersonException + * @throws IndexOutOfBoundsException + */ + private void exportSpecific(int low) throws DuplicatePersonException, IndexOutOfBoundsException { + ObservableList<Person> exportPeople = model.getFilteredPersonList(); + teachConnectBook.addPerson(exportPeople.get(low - 1)); + } + + /** + * Exports a range of people based on the tag and the index range given + * + * @param low + * @param high + * @param tag + * @throws DuplicatePersonException + * @throws IndexOutOfBoundsException + */ + private void exportRange(int low, int high, Tag tag) throws DuplicatePersonException, IndexOutOfBoundsException { + ObservableList<Person> exportPeople = model.getFilteredPersonList(); + ArrayList<Person> exportAddition = new ArrayList<Person>(); + if (tag.equals(new Tag("shouldnotbethistag"))) { + for (int i = low; i < high; i++) { + exportAddition.add(exportPeople.get(i - 1)); + } + teachConnectBook.setPersons(exportAddition); + } else { + for (int i = low; i < high; i++) { + if (exportPeople.get(i - 1).getTags().contains(tag)) { + exportAddition.add(exportPeople.get(i - 1)); + } + + } + } + + teachConnectBook.setPersons(exportAddition); + } + + /** + * Exports all the contacts in the TeachConnect book if contain certain tag + * + * @param tag + * @throws DuplicatePersonException + */ + private void exportAllRange(Tag tag) throws DuplicatePersonException { + ObservableList<Person> exportPeople = model.getFilteredPersonList(); + if (tag.equals(new Tag("shouldnotbethistag"))) { + teachConnectBook.setPersons(exportPeople); + } else { + ArrayList<Person> exportAddition = new ArrayList<Person>(); + for (int i = 0; i < exportPeople.size(); i++) { + if (exportPeople.get(i).getTags().contains(tag)) { + exportAddition.add(exportPeople.get(i)); + } + } + teachConnectBook.setPersons(exportAddition); + } + } + + /** + * Helper method to identify the lower and higher end of the range given + * + * @return rangeStringArray + */ + public String[] handleRange() throws IOException { + String[] rangeStringArray = this.range.split(","); + if (rangeStringArray.length > 2) { + throw new IOException(); + } + return rangeStringArray; + + } + + /** + * + * @param other [in this case ExportCommand] + * @return a boolean value + */ + @Override + public boolean equals(Object other) { + if (this == other) { + return true; + } + + if (!(other instanceof ExportCommand)) { + return false; + } + + ExportCommand e = (ExportCommand) other; + return range.equals(e.range) && path.equals(e.path); + } + +} +``` +###### /java/seedu/address/logic/commands/ShortcutCommand.java +``` java +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; + +import java.util.List; + +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +/** + * + */ +public class ShortcutCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "shortcut"; + public static final String MESSAGE_USAGE = COMMAND_WORD + " CommandWord " + " ShortcutWord " + + " :Creates a shortcut for any command word"; + public static final String MESSAGE_SHORTCUT_AVAILABLE = "This shortcut already exists!"; + public static final String MESSAGE_SUCCESS = "Successfully added the shortcut"; + public static final String MESSAGE_NO_COMMAND_TO_MAP = "The command statement is invalid and hence cant be mapped!"; + + private final String shortcutWord; + + private final String commandWord; + + private List<ShortcutDoubles> commandsList; + + private final String[] commandsPresent = {"add", "clear", "theme", "delete", "edit", "exit", "export", "find", + "help", "history", "import", "list", "redo", "undo", "select", + "set_appointment", "set_task", "shortcut", "undo", "calendar", + "delete_shortcut", "remove"}; + + public ShortcutCommand(String commandWord, String shortcutWord) { + requireNonNull(commandWord); + requireNonNull(shortcutWord); + this.shortcutWord = shortcutWord; + this.commandWord = commandWord; + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + commandsList = model.getFilteredCommandsList(); + if (commandsList != null) { + if (checkIfCommandPresent()) { + return new CommandResult(String.format(MESSAGE_SHORTCUT_AVAILABLE)); + } + + } + + ShortcutDoubles toAdd = new ShortcutDoubles(shortcutWord, commandWord); + try { + model.addCommandShortcut(toAdd); + } catch (UniqueShortcutDoublesList.DuplicateShortcutDoublesException e) { + return new CommandResult(String.format(MESSAGE_SHORTCUT_AVAILABLE)); + } + + return new CommandResult(String.format(MESSAGE_SUCCESS)); + } + + /** + * Checks if the shortcut command is valid or not + * @return whether true or false + */ + private boolean checkIfCommandPresent() throws CommandException { + if (!containsKeyWord(commandWord) || containsKeyWord(shortcutWord)) { + throw new CommandException(MESSAGE_NO_COMMAND_TO_MAP); + } + for (ShortcutDoubles s : commandsList) { + if (s.shortcutWord.equals(shortcutWord)) { + return true; + } + } + return false; + } + + /** + * Checks if the command word is in the Array of commands present + * @param commandWord + * @return whether true if the command is present in the command word list or false otherwise + */ + private boolean containsKeyWord(String commandWord) { + for (String s : commandsPresent) { + if (s.equals(commandWord)) { + return true; + } + } + return false; + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ShortcutCommand // instanceof handles nulls + && this.shortcutWord.equals(((ShortcutCommand) other).shortcutWord) // state check + && this.commandWord.equals(((ShortcutCommand) other).commandWord)); // state check + } +} +``` +###### /java/seedu/address/logic/commands/ImportCommand.java +``` java +/** + * Imports contacts from a different TeachConnect XML file + */ +public class ImportCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "import"; + public static final String MESSAGE_USAGE = COMMAND_WORD + ": imports contacts to the address book." + + "Parameters: file location...\n" + + "Example: " + COMMAND_WORD + " main/src/test/data/sandbox/somerandomfile.xml"; + public static final String MESSAGE_SUCCESS = "%1$s contacts have been successfully imported " + + "and %2$s have been left out!"; + protected static final String MESSAGE_INVALID_FILE = "Please input a valid file location"; + protected Storage storage; + private AddressBook addressBookImported; + private AddressBookStorage addressBookStorage; + private String filePath; + private int numberAdded = 0; + private int numberNotAdded = 0; + + /** + * Creates an ImportCommand to import the specified TeachConnect XML file + */ + public ImportCommand(String importPath) { + requireNonNull(importPath); + this.filePath = importPath; + addressBookStorage = new XmlAddressBookStorage(filePath); + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + try { + if (addressBookStorage.readAddressBook(filePath).isPresent()) { + this.addressBookImported = new AddressBook(addressBookStorage.readAddressBook().get()); + ObservableList<Person> people = addressBookImported.getPersonList(); + for (int i = 0; i < people.size(); i++) { + try { + model.addPerson(people.get(i)); + numberAdded++; + } catch (DuplicatePersonException e) { + numberNotAdded++; + } + } + } else { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } + } catch (DataConversionException e) { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } catch (IOException e) { + throw new CommandException(String.format(MESSAGE_INVALID_FILE)); + } + + return new CommandResult(String.format(MESSAGE_SUCCESS, numberAdded, numberNotAdded)); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof ImportCommand // instanceof handles nulls + && filePath.equals(((ImportCommand) other).filePath)); + } + + +} + + + + +``` +###### /java/seedu/address/storage/XmlAdaptedShortcutDouble.java +``` java +package seedu.address.storage; + +import javax.xml.bind.annotation.XmlElement; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * + */ +public class XmlAdaptedShortcutDouble { + @XmlElement + private String shortcutWord; + @XmlElement + private String commandWord; + + public XmlAdaptedShortcutDouble() {} + + public XmlAdaptedShortcutDouble(String shortcutWord, String commandWord) { + this.shortcutWord = shortcutWord; + this.commandWord = commandWord; + } + + public XmlAdaptedShortcutDouble(ShortcutDoubles source) { + shortcutWord = source.shortcutWord; + commandWord = source.commandWord; + } + + public ShortcutDoubles toModelType() throws IllegalValueException { + return new ShortcutDoubles(shortcutWord, commandWord); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof XmlAdaptedShortcutDouble)) { + return false; + } + + return commandWord.equals(((XmlAdaptedShortcutDouble) other).commandWord) + && shortcutWord.equals(((XmlAdaptedShortcutDouble) other).shortcutWord); + } + +} +``` +###### /java/seedu/address/model/AddressBook.java +``` java + public void setShorcutCommands(List<ShortcutDoubles> shorcutCommands) { + this.shorcutCommands.setCommandsList(shorcutCommands); + } +``` +###### /java/seedu/address/model/AddressBook.java +``` java + /** + * + * @param commandShortcut + * @return a boolean variable + * @throws UniqueShortcutDoublesList.CommandShortcutNotFoundException + */ + public boolean removeShortcutDouble(ShortcutDoubles commandShortcut) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { + if (shorcutCommands.remove(commandShortcut)) { + return true; + } else { + throw new UniqueShortcutDoublesList.CommandShortcutNotFoundException(); + } + } + //author + + //// tag-level operations + + public void addTag(Tag t) throws UniqueTagList.DuplicateTagException { + tags.add(t); + } +``` +###### /java/seedu/address/model/AddressBook.java +``` java + public void addShortcutDoubles(ShortcutDoubles s) + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + shorcutCommands.add(s); + } +``` +###### /java/seedu/address/model/AddressBook.java +``` java + /** + * Removes the particular tag for all people in the AddressBook. + */ + public void removeTag(Tag tag) throws DuplicatePersonException, PersonNotFoundException { + for (Person person : persons) { + removeTagFromPerson(tag, person); + } + for (Student student : students) { + removeTagFromStudent(tag, student); + } + + } + + + /** + * Removes the particular tag for that particular person in the AddressBook. + */ + private void removeTagFromPerson(Tag tag, Person person) throws PersonNotFoundException, DuplicatePersonException { + Set<Tag> listOfTags = new HashSet<>(person.getTags()); + + if (listOfTags.contains(tag)) { + listOfTags.remove(tag); + } else { + return; + } + + Person updatedPerson = new Person(person.getName(), person.getPhone(), person.getEmail(), + person.getAddress(), listOfTags); + + updatePerson(person, updatedPerson); + } +``` +###### /java/seedu/address/model/ModelManager.java +``` java + @Override + public synchronized void addCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + addressBook.addShortcutDoubles(shortcutDoubles); + indicateAddressBookChanged(); + } + + @Override + public synchronized void deleteCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { + addressBook.removeShortcutDouble(shortcutDoubles); + } +``` +###### /java/seedu/address/model/ModelManager.java +``` java + @Override + public ObservableList<ShortcutDoubles> getFilteredCommandsList() { + return FXCollections.unmodifiableObservableList(filteredShortcutCommands); + } +``` +###### /java/seedu/address/model/shortcuts/ShortcutDoubles.java +``` java +package seedu.address.model.shortcuts; + +import static java.util.Objects.requireNonNull; + +/** + * Represents a Command Double + */ +public class ShortcutDoubles { + + public final String shortcutWord; + public final String commandWord; + + public ShortcutDoubles(String shortcutWord, String commandWord) { + requireNonNull(shortcutWord); + requireNonNull(commandWord); + this.shortcutWord = shortcutWord; + this.commandWord = commandWord; + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof ShortcutDoubles)) { + return false; + } + + ShortcutDoubles otherShortcut = (ShortcutDoubles) other; + return otherShortcut.commandWord.equals(this.commandWord) + && otherShortcut.shortcutWord.equals(this.shortcutWord); + } +} +``` +###### /java/seedu/address/model/shortcuts/UniqueShortcutDoublesList.java +``` java +package seedu.address.model.shortcuts; + +import static java.util.Objects.requireNonNull; + +import java.util.List; + +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; +import seedu.address.commons.exceptions.DuplicateDataException; +import seedu.address.commons.util.CollectionUtil; + +/** + * + */ +public class UniqueShortcutDoublesList { + + private final ObservableList<ShortcutDoubles> internalList = FXCollections.observableArrayList(); + + public UniqueShortcutDoublesList(){ + + } + + /** + * Adds Shortcut Doubles to the internal list + * @param toAdd + * @throws DuplicateShortcutDoublesException + */ + public void add(ShortcutDoubles toAdd) throws DuplicateShortcutDoublesException { + requireNonNull(toAdd); + if (contains(toAdd)) { + throw new DuplicateShortcutDoublesException(); + } + internalList.add(toAdd); + + assert CollectionUtil.elementsAreUnique(internalList); + } + + /** + * Returns an ObservableList of the internallist + * @return + */ + public ObservableList<ShortcutDoubles> asObservableList() { + assert CollectionUtil.elementsAreUnique(internalList); + return FXCollections.unmodifiableObservableList(internalList); + } + + /** + * Gives a duplicate Except + */ + public static class DuplicateShortcutDoublesException extends DuplicateDataException { + protected DuplicateShortcutDoublesException() { + super("Operation would result in duplicate Doubles"); + } + } + + /** + * Helps in checking if there are duplicates + * @param toCheck + * @return + */ + public boolean contains(ShortcutDoubles toCheck) { + requireNonNull(toCheck); + return internalList.contains(toCheck); + } + + @Override + public boolean equals(Object other) { + assert CollectionUtil.elementsAreUnique(internalList); + return other == this // short circuit if same object + || (other instanceof UniqueShortcutDoublesList // instanceof handles nulls + && this.internalList.equals(((UniqueShortcutDoublesList) other).internalList)); + } + + public void setCommandsList(List<ShortcutDoubles> commandsList) { + requireNonNull(commandsList); + internalList.setAll(commandsList); + assert CollectionUtil.elementsAreUnique(internalList); + } + + /** + * Removes the equvivalent command shortcut from the list. + * @param shortcutDoubles + * + * @throws UniqueShortcutDoublesList.CommandShortcutNotFoundException + */ + public boolean remove(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { + requireNonNull(shortcutDoubles); + final boolean shortcutToBeDeleted = internalList.remove(shortcutDoubles); + if (!shortcutToBeDeleted) { + throw new UniqueShortcutDoublesList.CommandShortcutNotFoundException(); + } + return shortcutToBeDeleted; + } + + /** + * Exception when the command shortcut is not present in the list of stored commands + */ + public static class CommandShortcutNotFoundException extends Exception {} +} +``` diff --git a/collated/test/Sisyphus25-reused.md b/collated/test/Sisyphus25-reused.md new file mode 100644 index 000000000000..ca27d38124a8 --- /dev/null +++ b/collated/test/Sisyphus25-reused.md @@ -0,0 +1,19 @@ +# Sisyphus25-reused +###### /java/guitests/guihandles/PersonCardHandle.java +``` java + //Reused from https://github.com/se-edu/addressbook-level4/pull/798/commits/167b3d0b4f7ad34296d2fbf505f9ae71f983f53c + /** + * + * @param tag Text value of the tag label + * @return List of style classes for tag label with text value {@code tag} + */ + public List<String> getTagStyleClasses(String tag) { + return tagLabels + .stream() + .filter(label -> label.getText().equals(tag)) + .map(Label::getStyleClass) + .findFirst() + .orElseThrow(() -> new IllegalArgumentException("No such tag.")); + } +} +``` diff --git a/collated/test/Sisyphus25.md b/collated/test/Sisyphus25.md new file mode 100644 index 000000000000..ea831a1bad9b --- /dev/null +++ b/collated/test/Sisyphus25.md @@ -0,0 +1,933 @@ +# Sisyphus25 +###### /java/seedu/address/ui/AppointmentCardTest.java +``` java +public class AppointmentCardTest extends GuiUnitTest { + + @Test + public void equals() { + Appointment appointment = TYPICAL_APPOINTMENT_2; + AppointmentCard appointmentCard = new AppointmentCard(appointment, 0); + + // same appointment, same index -> returns true + AppointmentCard copy = new AppointmentCard(appointment, 0); + assertTrue(appointmentCard.equals(copy)); + + // same object -> returns true + assertTrue(appointmentCard.equals(appointmentCard)); + + // null -> returns false + assertFalse(appointmentCard.equals(null)); + + // different types -> returns false + assertFalse(appointmentCard.equals(0)); + + // different appointment, same index -> returns false + Appointment differentAppointment = TYPICAL_APPOINTMENT_3; + assertFalse(appointmentCard.equals(new AppointmentCard(differentAppointment, 0))); + + // same appointment, different index -> returns false + assertFalse(appointmentCard.equals(new AppointmentCard(appointment, 1))); + } + +} +``` +###### /java/seedu/address/ui/TaskCardTest.java +``` java +public class TaskCardTest extends GuiUnitTest { + + @Test + public void equals() { + Task task = TYPICAL_TASK_2; + TaskCard taskCard = new TaskCard(task, 0); + + // same task, same index -> returns true + TaskCard copy = new TaskCard(task, 0); + assertTrue(taskCard.equals(copy)); + + // same object -> returns true + assertTrue(taskCard.equals(taskCard)); + + // null -> returns false + assertFalse(taskCard.equals(null)); + + // different types -> returns false + assertFalse(taskCard.equals(0)); + + // different task, same index -> returns false + Task differentTask = TYPICAL_TASK_1; + assertFalse(taskCard.equals(new TaskCard(differentTask, 0))); + + Task expiredTask = TYPICAL_TASK_EXPIRED; + TaskCard expiredTaskCard = new TaskCard(TYPICAL_TASK_EXPIRED, 1); + // same task, different index -> returns false + assertFalse(taskCard.equals(expiredTaskCard)); + } +} +``` +###### /java/seedu/address/logic/parser/RemoveCommandParserTest.java +``` java +public class RemoveCommandParserTest { + private RemoveCommandParser parser = new RemoveCommandParser(); + + @Test + public void parse_validArgs_returnsDeleteCommand() { + assertParseSuccess(parser, "appointment" + " 1", new RemoveCommand(INDEX_FIRST, "appointment")); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "not valid", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "", String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "Appointment" + " 1", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "appointment" + " -1", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, RemoveCommand.MESSAGE_USAGE)); + } +} +``` +###### /java/seedu/address/logic/parser/ChangeThemeCommandParserTest.java +``` java +/** + * Test scope: similar to ToggleCalendarViewCommandParser Test + */ +public class ChangeThemeCommandParserTest { + private ChangeThemeCommandParser parser = new ChangeThemeCommandParser(); + + @Test + public void parse_validArgs_returnsToggleCalendarViewCommand() { + assertParseSuccess(parser, "dark ", new ChangeThemeCommand("dark")); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "not a theme", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ChangeThemeCommand.MESSAGE_INVALID_THEME)); + assertParseFailure(parser, "x", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ChangeThemeCommand.MESSAGE_INVALID_THEME)); + } +} +``` +###### /java/seedu/address/logic/parser/SetAppointmentCommandParserTest.java +``` java +public class SetAppointmentCommandParserTest { + private SetAppointmentCommandParser parser = new SetAppointmentCommandParser(); + + @Test + public void parse_allFieldsPresent_success() { + Appointment expectedAppointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + + // whitespace only preamble + assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + new SetAppointmentCommand(expectedAppointment)); + } + + @Test + public void parse_optionalFieldsMissing_success() { + // no personToMeet + Appointment expectedAppointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + assertParseSuccess(parser, TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + new SetAppointmentCommand((expectedAppointment))); + } + + @Test + public void parse_compulsoryFieldMissing_failure() { + String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, SetAppointmentCommand.MESSAGE_USAGE); + + // missing title prefix + assertParseFailure(parser, VALID_TITLE + START_TIME_DESC + END_TIME_DESC, + expectedMessage); + + // missing start time prefix + assertParseFailure(parser, TITLE_DESC + VALID_START_TIME + END_TIME_DESC, + expectedMessage); + + // missing start time prefix + assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + VALID_END_TIME, + expectedMessage); + + // all prefixes missing + assertParseFailure(parser, VALID_TITLE + VALID_START_TIME + VALID_END_TIME, + expectedMessage); + } + + @Test + public void parse_invalidValue_failure() { + // invalid title + assertParseFailure(parser, INVALID_TITLE_DESC + START_TIME_DESC + END_TIME_DESC, + Title.MESSAGE_TITLE_CONSTRAINTS); + + // invalid start time + assertParseFailure(parser, TITLE_DESC + INVALID_START_TIME_DESC + END_TIME_DESC, + EventTime.MESSAGE_TIME_CONSTRAINTS); + + // invalid end time + assertParseFailure(parser, TITLE_DESC + START_TIME_DESC + INVALID_END_TIME_DESC, + EventTime.MESSAGE_TIME_CONSTRAINTS); + } +} +``` +###### /java/seedu/address/logic/parser/SetTaskCommandParserTest.java +``` java +public class SetTaskCommandParserTest { + private SetTaskCommandParser parser = new SetTaskCommandParser(); + + @Test + public void parse_allFieldsPresent_success() { + Task expectedTask = new Task(new Title(VALID_TITLE), new EventTime(VALID_END_TIME)); + + // whitespace only preamble + assertParseSuccess(parser, PREAMBLE_WHITESPACE + TITLE_DESC + END_TIME_DESC, + new SetTaskCommand(expectedTask)); + } + + @Test + public void parse_compulsoryFieldMissing_failure() { + String expectedMessage = String.format(MESSAGE_INVALID_COMMAND_FORMAT, SetTaskCommand.MESSAGE_USAGE); + + // missing title prefix + assertParseFailure(parser, VALID_TITLE + END_TIME_DESC, + expectedMessage); + + // missing end time prefix + assertParseFailure(parser, TITLE_DESC + VALID_END_TIME, + expectedMessage); + + // all prefixes missing + assertParseFailure(parser, VALID_TITLE + VALID_END_TIME, + expectedMessage); + } + + @Test + public void parse_invalidValue_failure() { + // invalid title + assertParseFailure(parser, INVALID_TITLE_DESC + END_TIME_DESC, Title.MESSAGE_TITLE_CONSTRAINTS); + + // invalid end time + assertParseFailure(parser, TITLE_DESC + INVALID_END_TIME_DESC, EventTime.MESSAGE_TIME_CONSTRAINTS); + } +} +``` +###### /java/seedu/address/logic/parser/ListCommandParserTest.java +``` java +public class ListCommandParserTest { + private ListCommandParser parser = new ListCommandParser(); + + @Test + public void parse_validArgs_returnsListCommand() { + assertParseSuccess(parser, "contacts", new ListCommand(ListCommand.TYPE_CONTACT)); + assertParseSuccess(parser, "students", new ListCommand(ListCommand.TYPE_STUDENT)); + assertParseSuccess(parser, "tasks", new ListCommand(ListCommand.TYPE_TASK)); + assertParseSuccess(parser, "appointments", new ListCommand(ListCommand.TYPE_APPOINTMENT)); + assertParseSuccess(parser, "shortcuts", new ListCommand(ListCommand.TYPE_SHORTCUT)); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "ffffffd", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ListCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "event", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ListCommand.MESSAGE_USAGE)); + } +} +``` +###### /java/seedu/address/logic/parser/AddressBookParserTest.java +``` java + @Test + public void parseCommand_toggleCalendarView() throws Exception { + ToggleCalendarViewCommand command = + (ToggleCalendarViewCommand) parser.parseCommand(ToggleCalendarViewCommand.COMMAND_WORD + " " + "m"); + assertEquals(new ToggleCalendarViewCommand('m'), command); + } + + @Test + public void parseCommand_setAppointment() throws Exception { + SetAppointmentCommand command = + (SetAppointmentCommand) parser.parseCommand(SetAppointmentCommand.COMMAND_WORD + + TITLE_DESC + START_TIME_DESC + END_TIME_DESC); + Appointment appointment = new AppointmentBuilder(VALID_TITLE, VALID_START_TIME, VALID_END_TIME).build(); + assertEquals(new SetAppointmentCommand(appointment), command); + } + + @Test + public void parseCommand_setTask() throws Exception { + SetTaskCommand command = + (SetTaskCommand) parser.parseCommand(SetTaskCommand.COMMAND_WORD + TITLE_DESC + END_TIME_DESC); + Task task = new Task(new Title(VALID_TITLE), new EventTime(VALID_END_TIME)); + assertEquals(new SetTaskCommand(task), command); + } + + @Test + public void parseCommand_changeTheme() throws Exception { + ChangeThemeCommand command = + (ChangeThemeCommand) parser.parseCommand(ChangeThemeCommand.COMMAND_WORD + " " + "dark"); + assertEquals(new ChangeThemeCommand("dark"), command); + } + + @Test + public void parseCommand_remove() throws Exception { + RemoveCommand commandRemoveAppointment = + (RemoveCommand) parser.parseCommand(RemoveCommand.COMMAND_WORD + " " + "appointment" + " " + "1"); + RemoveCommand commandRemoveTask = + (RemoveCommand) parser.parseCommand(RemoveCommand.COMMAND_WORD + " " + "task" + " " + "2"); + assertEquals(new RemoveCommand(Index.fromOneBased(1), "appointment"), commandRemoveAppointment); + assertEquals(new RemoveCommand(Index.fromOneBased(2), "task"), commandRemoveTask); + } +``` +###### /java/seedu/address/logic/parser/ParserUtilTest.java +``` java + @Test + public void parseTitle_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseTitle((String) null)); + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseTitle((Optional<String>) null)); + } + + @Test + public void parseTitle_invalidValue_throwsIllegalValueException() { + Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseTitle(" ")); + Assert.assertThrows(IllegalValueException.class, () -> ParserUtil.parseTitle(Optional.of(" "))); + } + + @Test + public void parseTitle_optionalEmpty_returnsOptionalEmpty() throws Exception { + assertFalse(ParserUtil.parseTitle(Optional.empty()).isPresent()); + } + + @Test + public void parseTitle_validValue_returnsTitle() throws Exception { + String validTitle = "Hanging out"; + Title expectedTitle = new Title(validTitle); + assertEquals(expectedTitle, ParserUtil.parseTitle(validTitle)); + assertEquals(Optional.of(expectedTitle), ParserUtil.parseTitle(Optional.of(validTitle))); + } + + @Test + public void parseEventTime_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseEventTime((String) null)); + Assert.assertThrows(NullPointerException.class, () -> ParserUtil.parseEventTime((Optional<String>) null)); + } + + @Test + public void parseEventTime_optionalEmpty_returnsOptionalEmpty() throws Exception { + assertFalse(ParserUtil.parseEventTime(Optional.empty()).isPresent()); + } + + @Test + public void parseEventTime_validValue_returnsEventTime() throws Exception { + String validTime = "20/10/2018 10:00"; + EventTime expectedEventTime = new EventTime(validTime); + assertEquals(expectedEventTime, ParserUtil.parseEventTime(validTime)); + assertEquals(Optional.of(expectedEventTime), ParserUtil.parseEventTime(Optional.of(validTime))); + } + +``` +###### /java/seedu/address/logic/parser/ToggleCalendarViewParserTest.java +``` java +public class ToggleCalendarViewParserTest { + private ToggleCalendarViewParser parser = new ToggleCalendarViewParser(); + + @Test + public void parse_validArgs_returnsToggleCalendarViewCommand() { + assertParseSuccess(parser, "d", new ToggleCalendarViewCommand('d')); + } + + @Test + public void parse_invalidArgs_throwsParseException() { + assertParseFailure(parser, "day", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ToggleCalendarViewCommand.MESSAGE_USAGE)); + assertParseFailure(parser, "x", + String.format(MESSAGE_INVALID_COMMAND_FORMAT, ToggleCalendarViewCommand.MESSAGE_USAGE)); + } +} +``` +###### /java/seedu/address/logic/commands/RemoveCommandTest.java +``` java + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalIndexes.INDEX_FIRST; +import static seedu.address.testutil.TypicalIndexes.INDEX_SECOND; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.Test; + +import seedu.address.commons.core.Messages; +import seedu.address.commons.core.index.Index; +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.Task; + +/** + * Contains Test for {@code RemoveCommand} + */ +public class RemoveCommandTest { + private Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + + @Test + public void execute_validIndexRemoveAppointment_success() throws Exception { + ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + Appointment appointmentToDelete = model.getFilteredAppointmentList().get(INDEX_FIRST.getZeroBased()); + RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); + String expectedMessage = + String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "appointment", appointmentToDelete); + expectedModel.deleteAppointment(appointmentToDelete); + assertCommandSuccess(removeCommandRemovingAppointment, model, expectedMessage, expectedModel); + } + + @Test + public void execute_validIndexRemoveTask_success() throws Exception { + ModelManager expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + Task taskToDelete = model.getFilteredTaskList().get(INDEX_FIRST.getZeroBased()); + RemoveCommand removeCommandRemovingTask = prepareCommand(INDEX_FIRST, "task"); + String expectedMessage = + String.format(RemoveCommand.MESSAGE_DELETE_EVENT_SUCCESS, "task", taskToDelete); + expectedModel.deleteTask(taskToDelete); + assertCommandSuccess(removeCommandRemovingTask, model, expectedMessage, expectedModel); + } + + @Test + public void execute_invalidIndex_throwsCommandException() throws Exception { + Index outOfBoundIndex = Index.fromOneBased(model.getFilteredTaskList().size() + 1); + RemoveCommand removeCommandRemovingTask = prepareCommand(outOfBoundIndex, "task"); + + Index outOfBoundIndex2 = Index.fromOneBased(model.getFilteredAppointmentList().size() + 1); + RemoveCommand removeCommandRemovingAppointment = prepareCommand(outOfBoundIndex2, "appointment"); + + assertCommandFailure(removeCommandRemovingTask, model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + assertCommandFailure(removeCommandRemovingAppointment, + model, Messages.MESSAGE_INVALID_EVENT_DISPLAYED_INDEX); + } + + @Test + public void equals() throws Exception { + RemoveCommand removeCommandRemovingAppointment = prepareCommand(INDEX_FIRST, "appointment"); + RemoveCommand removeCommandRemovingTask = prepareCommand(INDEX_SECOND, "task"); + + // same object -> returns true + assertTrue(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointment)); + + // same values -> returns true + RemoveCommand removeCommandRemovingAppointmentCopy = prepareCommand(INDEX_FIRST, "appointment"); + assertTrue(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointmentCopy)); + + // one command preprocessed when previously equal -> returns false + removeCommandRemovingAppointmentCopy.preprocessUndoableCommand(); + assertFalse(removeCommandRemovingAppointment.equals(removeCommandRemovingAppointmentCopy)); + + // different types -> returns false + assertFalse(removeCommandRemovingAppointment.equals(1)); + + // null -> returns false + assertFalse(removeCommandRemovingAppointment.equals(null)); + + // different person -> returns false + assertFalse(removeCommandRemovingAppointment.equals(removeCommandRemovingTask)); + } + + /** + * Returns a {@code RemoveCommand} with the parameter {@code index}, {@code eventType}. + */ + private RemoveCommand prepareCommand(Index index, String eventType) { + RemoveCommand removeCommand = new RemoveCommand(index, eventType); + removeCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + return removeCommand; + } +} +``` +###### /java/seedu/address/logic/commands/ToggleCalendarViewCommandTest.java +``` java +public class ToggleCalendarViewCommandTest { + @Rule + public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); + + @Test + public void execute_help_success() throws CommandException { + Character viewMode = 'd'; + CommandResult result = new ToggleCalendarViewCommand(viewMode).execute(); + assertEquals(MESSAGE_VIEW_TOGGLE_SUCCESS, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleCalendarViewEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); + } +} +``` +###### /java/seedu/address/logic/commands/SetTaskCommandTest.java +``` java +public class SetTaskCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void constructor_nullAppointment_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new SetTaskCommand(null); + } + + @Test + public void execute_appointmentAcceptedByModel_addSuccessful() throws Exception { + ModelStubAcceptingTaskAdded modelStub = new ModelStubAcceptingTaskAdded(); + + CommandResult commandResult = getSetTaskCommand(TYPICAL_TASK_2, modelStub).execute(); + + assertEquals(String.format(SetTaskCommand.MESSAGE_SUCCESS, TYPICAL_TASK_2), commandResult.feedbackToUser); + assertEquals(Arrays.asList(TYPICAL_TASK_2), modelStub.tasksAdded); + } + + @Test + public void execute_duplicateEvent_throwsCommandException() throws Exception { + ModelStub modelStub = new ModelStubThrowingDuplicateEventException(); + + thrown.expect(CommandException.class); + thrown.expectMessage(SetTaskCommand.MESSAGE_DUPLICATE_TASK); + + getSetTaskCommand(TYPICAL_TASK_1, modelStub).execute(); + } + + @Test + public void equals() { + SetTaskCommand addTask1 = + new SetTaskCommand(TYPICAL_TASK_1); + SetTaskCommand addTask2 = + new SetTaskCommand(TYPICAL_TASK_2); + + // same object -> returns true + assertTrue(addTask1.equals(addTask1)); + + // same values -> returns true + SetTaskCommand addAppointment1Copy = + new SetTaskCommand(TYPICAL_TASK_1); + assertTrue(addTask1.equals(addAppointment1Copy)); + + // different types -> returns false + assertFalse(addTask1.equals(1)); + + // null -> returns false + assertFalse(addTask1.equals(null)); + + // different tasks -> returns false + assertFalse(addTask1.equals(addTask2)); + } + + /** + * Generates a new SetTaskCommand with the details of the given task. + */ + private SetTaskCommand getSetTaskCommand(Task task, Model model) { + SetTaskCommand command = new SetTaskCommand(task); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } + +} +``` +###### /java/seedu/address/logic/commands/SetAppointmentCommandTest.java +``` java +public class SetAppointmentCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private Model model; + + @Before + public void setUp() { + model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + } + + @Test + public void constructor_nullAppointment_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new SetAppointmentCommand(null, null); + } + + @Test + public void execute_invalidPersonToMeetIndex_failure() { + Index outOfBoundsIndex = Index.fromOneBased(model.getFilteredPersonList().size() + 1); + SetAppointmentCommand command = getSetAppointmentCommand(TYPICAL_APPOINTMENT_3, outOfBoundsIndex, model); + + try { + command.execute(); + fail("The expected CommandException was not thrown."); + } catch (CommandException ce) { + assertEquals(Messages.MESSAGE_INVALID_PERSON_DISPLAYED_INDEX, ce.getMessage()); + } + } + + @Test + public void execute_appointmentWithoutPersonToMeetAccepted_addSuccessful() throws Exception { + CommandResult commandResult = + getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_3, null, model).execute(); + + assertEquals(String.format( + SetAppointmentCommand.MESSAGE_SUCCESS, APPOINTMENT_WITHOUT_PERSON_3), commandResult.feedbackToUser); + } + + @Test + public void execute_appointmentWithPersonToMeetAccepted_addSuccessful() throws Exception { + CommandResult commandResult = + getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_3, INDEX_THIRD, model).execute(); + + assertEquals(String.format( + SetAppointmentCommand.MESSAGE_SUCCESS, TYPICAL_APPOINTMENT_3), commandResult.feedbackToUser); + } + + @Test + public void execute_duplicateAppointmentsameIndex_throwsCommandException() throws Exception { + thrown.expect(CommandException.class); + thrown.expectMessage(SetAppointmentCommand.MESSAGE_DUPLICATE_APPOINTMENT); + + getSetAppointmentCommand(APPOINTMENT_WITHOUT_PERSON_1, INDEX_FIRST, model).execute(); + } + + @Test + public void equals() { + SetAppointmentCommand addAppointment1 = + new SetAppointmentCommand(TYPICAL_APPOINTMENT_1); + SetAppointmentCommand addAppointment2 = + new SetAppointmentCommand(TYPICAL_APPOINTMENT_2); + + // same object -> returns true + assertTrue(addAppointment1.equals(addAppointment1)); + + // same values -> returns true + SetAppointmentCommand addAppointment1Copy = + new SetAppointmentCommand(TYPICAL_APPOINTMENT_1); + assertTrue(addAppointment1.equals(addAppointment1Copy)); + + // different types -> returns false + assertFalse(addAppointment1.equals(1)); + + // null -> returns false + assertFalse(addAppointment1.equals(null)); + + // different appointments -> returns false + assertFalse(addAppointment1.equals(addAppointment2)); + } + + /** + * Generates a new SetAppointmentCommand with the details of the given appointment. + */ + private SetAppointmentCommand getSetAppointmentCommand(Appointment baseAppointment, Index index, Model model) { + SetAppointmentCommand command = new SetAppointmentCommand(baseAppointment, index); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } + +} +``` +###### /java/seedu/address/logic/commands/ChangeThemeCommandTest.java +``` java +public class ChangeThemeCommandTest { + @Rule + public final EventsCollectorRule eventsCollectorRule = new EventsCollectorRule(); + + @Test + public void execute_help_success() throws CommandException { + String theme = "dark"; + CommandResult result = new ChangeThemeCommand(theme).execute(); + assertEquals(MESSAGE_CHANGE_THEME_SUCCESS, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ThemeChangeEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); + } +} +``` +###### /java/seedu/address/storage/XmlAdaptedTaskTest.java +``` java +public class XmlAdaptedTaskTest { + + private static final String INVALID_TITLE = " "; + private static final String INVALID_TIME = "not a time stamp"; + + @Test + public void toModelType_validTaskDetails_returnsPerson() throws Exception { + XmlAdaptedTask task = new XmlAdaptedTask(TYPICAL_TASK_1); + assertEquals(TYPICAL_TASK_1, task.toModelType()); + } + + @Test + public void toModelType_invalidTitle_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(INVALID_TITLE, VALID_END_TIME); + String expectedMessage = Title.MESSAGE_TITLE_CONSTRAINTS; + Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); + } + + @Test + public void toModelType_invalidTime_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(VALID_TITLE, INVALID_TIME); + String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; + Assert.assertThrows(IllegalArgumentException.class, expectedMessage, task::toModelType); + } + + @Test + public void toModelType_nullTitle_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(null, VALID_END_TIME); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName()); + Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); + } + + @Test + public void toModelType_nullTime_throwsIllegalValueException() { + XmlAdaptedTask task = + new XmlAdaptedTask(VALID_TITLE, null); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time"); + Assert.assertThrows(IllegalValueException.class, expectedMessage, task::toModelType); + } + + @Test + public void equals() { + XmlAdaptedTask task = new XmlAdaptedTask(TYPICAL_TASK_1); + + //same object + assertTrue(task.equals(task)); + + //same value + XmlAdaptedTask taskCopy = new XmlAdaptedTask(TYPICAL_TASK_1); + assertTrue(task.equals(taskCopy)); + + //different type + assertFalse(task.equals(TYPICAL_TASK_1)); + + //different obj + XmlAdaptedTask anotherTask = new XmlAdaptedTask(TYPICAL_TASK_2); + assertFalse(task.equals(anotherTask)); + } +} +``` +###### /java/seedu/address/storage/XmlAdaptedAppointmentTest.java +``` java +public class XmlAdaptedAppointmentTest { + + private static final String INVALID_TITLE = " "; + private static final String VALID_PERSON_TO_MEET = "Alice Email: alice@gmail.com"; + private static final String INVALID_TIME = "not a time stamp"; + + @Test + public void toModelType_validAppointmentDetails_returnsPerson() throws Exception { + XmlAdaptedAppointment appointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); + assertEquals(TYPICAL_APPOINTMENT_1, appointment.toModelType()); + } + + @Test + public void toModelType_invalidTitle_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(INVALID_TITLE, VALID_START_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = Title.MESSAGE_TITLE_CONSTRAINTS; + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_invalidStartTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, INVALID_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; + Assert.assertThrows(IllegalArgumentException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_invalidStartEndTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, VALID_START_TIME, INVALID_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = EventTime.MESSAGE_TIME_CONSTRAINTS; + Assert.assertThrows(IllegalArgumentException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_nullTitle_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(null, VALID_START_TIME, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName()); + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_nullStartTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, null, VALID_END_TIME, VALID_PERSON_TO_MEET); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "Start Time"); + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_nullEndTime_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, VALID_START_TIME, null, VALID_PERSON_TO_MEET); + String expectedMessage = String.format(MISSING_FIELD_MESSAGE_FORMAT, "End Time"); + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void toModelType_invalidTimePeriod_throwsIllegalValueException() { + XmlAdaptedAppointment appointment = + new XmlAdaptedAppointment(VALID_TITLE, "20/10/2018 10:00", "20/10/2018 09:00"); + String expectedMessage = Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS; + Assert.assertThrows(IllegalValueException.class, expectedMessage, appointment::toModelType); + } + + @Test + public void equals() { + XmlAdaptedAppointment appointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); + + //same object + assertTrue(appointment.equals(appointment)); + + //same value + XmlAdaptedAppointment appointmentCopy = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_1); + assertTrue(appointment.equals(appointmentCopy)); + + //different type + assertFalse(appointment.equals(TYPICAL_APPOINTMENT_1)); + + //different obj + XmlAdaptedAppointment anotherAppointment = new XmlAdaptedAppointment(TYPICAL_APPOINTMENT_2); + assertFalse(appointment.equals(anotherAppointment)); + } +} +``` +###### /java/seedu/address/model/event/AppointmentTest.java +``` java +public class AppointmentTest { + private static final Title VALID_TITLE = new Title("Meet Student"); + private static final EventTime VALID_START_TIME = new EventTime("05/04/2018 10:00"); + private static final EventTime VALID_END_TIME = new EventTime("05/04/2018 11:00"); + private static final EventTime INVALID_END_TIME = new EventTime("05/04/2018 09:00"); + + @Test + public void constructor_invalidAppointmentTime_throwsIllegalArgumentException() { + Assert.assertThrows(IllegalArgumentException.class, () -> + new Appointment(VALID_TITLE, VALID_START_TIME, INVALID_END_TIME)); + } + + @Test + public void isValidTime() { + // invalid time stamps + assertFalse(Appointment.isValidTime(VALID_START_TIME, INVALID_END_TIME)); //End time is before Start Time + + // valid time stamps + assertTrue(Appointment.isValidTime(VALID_START_TIME, VALID_END_TIME)); + } +} +``` +###### /java/seedu/address/testutil/modelstub/ModelStubThrowingDuplicateEventException.java +``` java +/** + * A Model stub that always throw a DuplicateEventException when trying to add an appointment/task. + */ +public class ModelStubThrowingDuplicateEventException extends ModelStub { + @Override + public void addAppointment (Appointment appointment) throws DuplicateEventException { + throw new DuplicateEventException(); + } + + @Override + public void addTask (Task task) throws DuplicateEventException { + throw new DuplicateEventException(); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } +} +``` +###### /java/seedu/address/testutil/modelstub/ModelStubAcceptingTaskAdded.java +``` java +/** + * A Model stub that always accept the task being added. + */ +public class ModelStubAcceptingTaskAdded extends ModelStub { + public final ArrayList<Task> tasksAdded = new ArrayList<>(); + + @Override + public void addTask(Task event) throws DuplicateEventException { + requireNonNull(event); + tasksAdded.add(event); + } + + @Override + public ReadOnlyAddressBook getAddressBook() { + return new AddressBook(); + } +} +``` +###### /java/seedu/address/testutil/AppointmentBuilder.java +``` java +/** + * A utility class to help with building Appointment objects. + */ +public class AppointmentBuilder { + private Title title; + private EventTime time; + private EventTime endTime; + private PersonToMeet personToMeet; + + public AppointmentBuilder(String title, String time, String endTime) { + this(title, time, endTime, (String) null); + } + + public AppointmentBuilder(String title, String time, String endTime, Person personToMeet) { + this(title, time, endTime, personToMeet.getName() + EMAIL_SPLITTER + personToMeet.getEmail()); + } + + public AppointmentBuilder(String title, String time, String endTime, String personToMeet) { + this.title = new Title(title); + this.time = new EventTime(time); + this.endTime = new EventTime(endTime); + if (personToMeet != null) { + String[] components = personToMeet.split(EMAIL_SPLITTER); + this.personToMeet = new PersonToMeet(components[0], components[1]); + } + } + + /** + * @return an {@code Appointment} from the data feed to constructor + */ + public Appointment build() { + return new Appointment(title, time, endTime, personToMeet); + } +} +``` +###### /java/seedu/address/testutil/TypicalEvents.java +``` java +/** + * A utility class containing a list of event objects to be used in tests. + */ +public class TypicalEvents { + public static final Appointment TYPICAL_APPOINTMENT_1 = + new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build(); + public static final Appointment TYPICAL_APPOINTMENT_2 = + new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); + public static final Appointment TYPICAL_APPOINTMENT_3 = + new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00", CARL).build(); + public static final Appointment APPOINTMENT_WITHOUT_PERSON_1 = + new AppointmentBuilder("Meeting with parents", "09/10/2018 10:00", "09/10/2018 11:00").build(); + public static final Appointment APPOINTMENT_WITHOUT_PERSON_2 = + new AppointmentBuilder("Consultation session", "04/07/2018 10:00", "04/07/2018 11:00", BOB).build(); + public static final Appointment APPOINTMENT_WITHOUT_PERSON_3 = + new AppointmentBuilder("Tutoring session", "30/04/2018 10:00", "30/04/2018 11:00").build(); + + + public static final Task TYPICAL_TASK_1 = + new Task(new Title("To do"), new EventTime("10/10/2018 10:00")); + public static final Task TYPICAL_TASK_2 = + new Task(new Title("Mark papers"), new EventTime("15/04/2018 23:00")); + public static final Task TYPICAL_TASK_3 = + new Task(new Title("Purchase markers"), new EventTime("19/04/2018 10:00")); + public static final Task TYPICAL_TASK_EXPIRED = + new Task(new Title("Expired task"), new EventTime("19/04/2013 10:00")); + + public static List<Appointment> getTypicalAppointments() { + return new ArrayList<>(Arrays.asList(TYPICAL_APPOINTMENT_1, TYPICAL_APPOINTMENT_2)); + } + public static List<Task> getTypicalTasks() { + return new ArrayList<>(Arrays.asList(TYPICAL_TASK_1, TYPICAL_TASK_2)); + } +} +``` diff --git a/collated/test/shanmu9898.md b/collated/test/shanmu9898.md new file mode 100644 index 000000000000..834409284f75 --- /dev/null +++ b/collated/test/shanmu9898.md @@ -0,0 +1,1226 @@ +# shanmu9898 +###### /java/seedu/address/ui/ShortcutCardTest.java +``` java +//package seedu.address.ui; +// +//import static org.junit.Assert.assertFalse; +//import static org.junit.Assert.assertTrue; +//import static seedu.address.testutil.TypicalShortcuts.SHORTCUT_DOUBLES_3; +//import static seedu.address.testutil.TypicalShortcuts.SHORTCUT_DOUBLES_5; +// +//import org.junit.Test; +// +//import seedu.address.model.shortcuts.ShortcutDoubles; +// +//public class ShortcutCardTest { +// +// +// @Test +// public void equals() { +// ShortcutDoubles shortcutDoubles = SHORTCUT_DOUBLES_5; +// //ShortcutCard shortcutCard = new ShortcutCard(shortcutDoubles, 0); +// +// // same shortcut, same index -> returns true +// ShortcutCard copy = new ShortcutCard(shortcutDoubles, 0); +// assertTrue(shortcutCard.equals(copy)); +// +// // same object -> returns true +// assertTrue(shortcutCard.equals(shortcutCard)); +// +// // null -> returns false +// assertFalse(shortcutCard.equals(null)); +// +// // different types -> returns false +// assertFalse(shortcutCard.equals(0)); +// +// // different shortcut, same index -> returns false +// ShortcutDoubles differentshortcut = SHORTCUT_DOUBLES_3; +// assertFalse(shortcutCard.equals(new ShortcutCard(differentshortcut, 0))); +// +// // same shortcut, different index -> returns false +// assertFalse(shortcutCard.equals(new ShortcutCard(shortcutDoubles, 1))); +// } +//} +``` +###### /java/seedu/address/logic/parser/ImportCommandParserTest.java +``` java +public class ImportCommandParserTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private ImportCommandParser importCommandParser = new ImportCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + importCommandParser.parse(null); + + } + + @Test + public void parse_emptyString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + importCommandParser.parse(" "); + + } + + @Test + public void parse_moreThanOneBlockOfString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + importCommandParser.parse("invalid two strings"); + } + + @Test + public void parse_validString_success() { + String input = "./src/test/data/XmlAddressBookStorgageTest/importsamplefile.xml"; + ImportCommand expectedCommand = new ImportCommand(input); + assertParseSuccess(importCommandParser, input, expectedCommand); + } + + + + +} +``` +###### /java/seedu/address/logic/parser/AddressBookParserTest.java +``` java + @Test + public void parseCommand_export() throws Exception { + ExportCommand command = (ExportCommand) parser.parseCommand( + ExportCommand.COMMAND_WORD + " " + PREFIX_NAME + NAME_NEEDED + " " + PREFIX_RANGE + RANGE_ALL + + " " + PREFIX_TAG_EXPORT + TAG_NEEDED + " " + PREFIX_PATH + PATH_NEEDED + " " + PREFIX_TYPE + + TYPE_NEEDED); + assertEquals (new ExportCommand ("all", new Tag ("friends"), "./data", + "name", "normal"), command); + } + + @Test + public void parseCommand_import() throws Exception { + ImportCommand command = (ImportCommand) parser.parseCommand( + ImportCommand.COMMAND_WORD + " " + + "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"); + assertEquals(new ImportCommand("src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"), + command); + } + + @Test + public void parseCommand_shortcut() throws Exception { + ShortcutCommand command = (ShortcutCommand) parser.parseCommand( + ShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); + assertEquals(new ShortcutCommand("list", "l"), command); + } + + @Test + public void parseCommand_deleteShortcut() throws Exception { + DeleteShortcutCommand command = (DeleteShortcutCommand) parser.parseCommand( + DeleteShortcutCommand.COMMAND_WORD + " " + "list" + " " + "l"); + assertEquals(new DeleteShortcutCommand("list", "l"), command); + } +``` +###### /java/seedu/address/logic/parser/DeleteShortcutCommandParserTest.java +``` java +package seedu.address.logic.parser; + +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.commands.DeleteShortcutCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +public class DeleteShortcutCommandParserTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private DeleteShortcutCommandParser deleteShortcutCommandParser = new DeleteShortcutCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + deleteShortcutCommandParser.parse(null); + + } + + @Test + public void parse_emptyString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + deleteShortcutCommandParser.parse(" "); + + } + + @Test + public void parse_validString_success() { + String inputCommandWord = "list"; + String inputShortcutWord = "l"; + String input = "list l"; + DeleteShortcutCommand expectedCommand = new DeleteShortcutCommand(inputCommandWord, inputShortcutWord); + assertParseSuccess(deleteShortcutCommandParser, input, expectedCommand); + } +} +``` +###### /java/seedu/address/logic/parser/ExportCommandParserTest.java +``` java +public class ExportCommandParserTest { + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private ExportCommandParser exportCommandParser = new ExportCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + exportCommandParser.parse(null); + } + + @Test + public void parse_differentType_invalidFormatCommandResult() throws ParseException { + Tag testingTag = new Tag("shouldnotbethistag"); + String testingInput = " n/name r/all p/./data te/random"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); + assertParseFailure(exportCommandParser, testingInput, String.format(MESSAGE_INVALID_COMMAND_FORMAT, + ExportCommand.MESSAGE_USAGE)); + + } + + @Test + public void parse_optionalFieldsMissing_success() { + Tag testingTag = new Tag("shouldnotbethistag"); + String testingInput = " n/name r/all p/./data te/normal"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); + assertParseSuccess(exportCommandParser, testingInput, expectedCommand); + } + + + + @Test + public void parse_allfieldsPresent_success() { + Tag testingTag = new Tag("friends"); + String testingInput = " n/name r/all t/friends p/./data te/normal"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); + assertParseSuccess(exportCommandParser, testingInput, expectedCommand); + } + +} +``` +###### /java/seedu/address/logic/parser/ShortcutCommandParserTest.java +``` java +package seedu.address.logic.parser; + +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.commands.ShortcutCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +public class ShortcutCommandParserTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private ShortcutCommandParser shortcutCommandParser = new ShortcutCommandParser(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + shortcutCommandParser.parse(null); + + } + + @Test + public void parse_emptyString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + shortcutCommandParser.parse(" "); + + } + + @Test + public void parse_validString_success() { + String inputCommandWord = "list"; + String inputShortcutWord = "l"; + String input = "list l"; + ShortcutCommand expectedCommand = new ShortcutCommand(inputCommandWord, inputShortcutWord); + assertParseSuccess(shortcutCommandParser, input, expectedCommand); + } +} +``` +###### /java/seedu/address/logic/commands/ImportCommandTest.java +``` java +public class ImportCommandTest { + + + private static final String INVALID_FILE_LOCATION = "./data/samplefile.xml"; + private static final String VALID_FILE_LOCATION = + "src/test/data/XmlAddressBookStorageTest/importsamplefile.xml"; + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void constructor_nullString_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ImportCommand(null); + } + + @Test + public void execute_importFailure_throwsException() { + ImportCommand command = prepareCommand(INVALID_FILE_LOCATION); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandFailure(command, model, String.format(command.MESSAGE_INVALID_FILE)); + } + + @Test + public void execute_acceptedSuccess_successfulImport() { + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + + ClearCommand clearCommand = new ClearCommand(); + clearCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + clearCommand.executeUndoableCommand(); + + ImportCommand command = prepareCommand(VALID_FILE_LOCATION); + + assertCommandSuccess(command, model, String.format (command.MESSAGE_SUCCESS, "7", "0"), model); + } + + @Test + public void equals() { + final ImportCommand comparableCommand = new ImportCommand(VALID_FILE_LOCATION); + + // same values -> returns true + ImportCommand comparedToCommand = new ImportCommand(VALID_FILE_LOCATION); + assertTrue(comparableCommand.equals(comparedToCommand)); + + // same object -> returns true + assertTrue(comparableCommand.equals(comparableCommand)); + + // null -> returns false + assertFalse(comparableCommand.equals(null)); + + // different types -> returns false + assertFalse(comparableCommand.equals(new ClearCommand())); + + // different range -> returns false + assertFalse(comparableCommand.equals(new ImportCommand("./data/sampleimportfile.xml"))); + } + + + /** + * A method to prepare the Import command based on the path given + */ + private ImportCommand prepareCommand(String path) { + ImportCommand importCommand = new ImportCommand(path); + importCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + return importCommand; + } + +} +``` +###### /java/seedu/address/logic/commands/DeleteShortcutCommandTest.java +``` java +package seedu.address.logic.commands; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +public class DeleteShortcutCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private Model model; + private Model expectedModel; + private final String validtestingCommandWord = "list"; + private final String validtestingShortcutWord = "l"; + private final String invalidtestingCommandWord = "king"; + + @Before + public void setUp() { + model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + } + + @Test + public void constructor_nullCommandWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new DeleteShortcutCommand(null, validtestingShortcutWord); + } + + @Test + public void constructor_nullShortcutWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new DeleteShortcutCommand(validtestingCommandWord, null); + } + + @Test + public void executeUndoCommand_invalidCommandWord_throwsCommandException() throws CommandException { + thrown.expect(CommandException.class); + CommandResult commandResult = getDeleteShortcutForCommand(validtestingShortcutWord, + invalidtestingCommandWord, + model).executeUndoableCommand(); + } + + @Test + public void executeUndoCommand_inputNotPresent_throwsCommandException() throws CommandException { + thrown.expect(CommandException.class); + CommandResult commandResult = getDeleteShortcutForCommand(validtestingShortcutWord, + validtestingCommandWord, + model).executeUndoableCommand(); + } + + @Test + public void executeUndoCommand_validInput_commandSuccess() + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validtestingShortcutWord, validtestingCommandWord); + model.addCommandShortcut(shortcutDoubles); + assertCommandSuccess(getDeleteShortcutForCommand(validtestingShortcutWord, + validtestingCommandWord, + model), + model, + String.format(DeleteShortcutCommand + .MESSAGE_DELETE_SHORTCUT_SUCCESS), + expectedModel); + } + + @Test + public void equals() throws Exception { + DeleteShortcutCommand deleteFirstCommand = getDeleteShortcutForCommand(validtestingShortcutWord, + validtestingCommandWord, + model); + DeleteShortcutCommand deleteSecondCommand = getDeleteShortcutForCommand("c", + "clear", + model); + + // same object -> returns true + assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); + + // same values -> returns true + DeleteShortcutCommand deleteFirstCommandCopy = getDeleteShortcutForCommand("l", + "list", + model); + assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); + + // different types -> returns false + assertFalse(deleteFirstCommand.equals(1)); + + // null -> returns false + assertFalse(deleteFirstCommand.equals(null)); + + // different person -> returns false + assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); + } + + /** + * Generates a new AddCommand with the details of the given person. + */ + private DeleteShortcutCommand getDeleteShortcutForCommand(String shortcutWord, String commandWord, Model model) { + DeleteShortcutCommand command = new DeleteShortcutCommand(commandWord, shortcutWord); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } +} +``` +###### /java/seedu/address/logic/commands/ListCommandTest.java +``` java + @Test + public void execute_listShortcut_success() throws CommandException { + listCommand = new ListCommand(TYPE_SHORTCUT); + listCommand.setData(model, new CommandHistory(), new UndoRedoStack()); + CommandResult result = listCommand.execute(); + assertEquals(MESSAGE_SUCCESS + TYPE_SHORTCUT, result.feedbackToUser); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof ToggleListEvent); + assertTrue(eventsCollectorRule.eventsCollector.getSize() == 1); + } +} +``` +###### /java/seedu/address/logic/commands/ShortcutCommandTest.java +``` java +package seedu.address.logic.commands; + +import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; +import seedu.address.model.shortcuts.ShortcutDoubles; +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +public class ShortcutCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private Model model; + private Model expectedModel; + private final String validTestingCommandWord = "list"; + private final String validTestingShortcutWord = "l"; + private final String invalidTestingCommandWord = "king"; + + @Before + public void setUp() { + model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + expectedModel = new ModelManager(model.getAddressBook(), new UserPrefs()); + } + + + @Test + public void constructor_nullCommandWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ShortcutCommand(null, validTestingShortcutWord); + } + + @Test + public void constructor_nullShortcutWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ShortcutCommand(validTestingCommandWord, null); + } + + @Test + public void executeUndoCommand_invalidCommandWord_throwsCommandException() throws CommandException { + thrown.expect(CommandException.class); + thrown.expectMessage(ShortcutCommand.MESSAGE_NO_COMMAND_TO_MAP); + + CommandResult commandResult = getAddShortcutForCommand(validTestingShortcutWord, + invalidTestingCommandWord, + model).executeUndoableCommand(); + } + + @Test + public void executeUndoCommand_shortcutWordPresent_throwsCommandException() + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException, CommandException { + ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validTestingShortcutWord, validTestingCommandWord); + model.addCommandShortcut(shortcutDoubles); + CommandResult commandResult = getAddShortcutForCommand(validTestingShortcutWord, + validTestingCommandWord, + model).executeUndoableCommand(); + assertEquals(commandResult.feedbackToUser, String.format(ShortcutCommand.MESSAGE_SHORTCUT_AVAILABLE)); + } + + @Test + public void executeUndoCommand_validInput_commandSuccess() + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + ShortcutDoubles shortcutDoubles = new ShortcutDoubles(validTestingShortcutWord, validTestingCommandWord); + expectedModel.addCommandShortcut(shortcutDoubles); + assertCommandSuccess(getAddShortcutForCommand(validTestingShortcutWord, + validTestingCommandWord, + model), model, + String.format(ShortcutCommand.MESSAGE_SUCCESS), expectedModel); + } + + /** + * Generates a new AddCommand with the details of the given person. + */ + private ShortcutCommand getAddShortcutForCommand(String shortcutWord, String commandWord, Model model) { + ShortcutCommand command = new ShortcutCommand(commandWord, shortcutWord); + command.setData(model, new CommandHistory(), new UndoRedoStack()); + return command; + } + + @Test + public void equals() throws Exception { + ShortcutCommand deleteFirstCommand = getAddShortcutForCommand(validTestingShortcutWord, + validTestingCommandWord, + model); + ShortcutCommand deleteSecondCommand = getAddShortcutForCommand("c", + "clear", + model); + + // same object -> returns true + assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); + + // same values -> returns true + ShortcutCommand deleteFirstCommandCopy = getAddShortcutForCommand("l", + "list", + model); + assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); + + // different types -> returns false + assertFalse(deleteFirstCommand.equals(1)); + + // null -> returns false + assertFalse(deleteFirstCommand.equals(null)); + + // different person -> returns false + assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); + } + +} +``` +###### /java/seedu/address/logic/commands/ExportCommandTest.java +``` java +public class ExportCommandTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + private final Tag testingTag = new Tag("testingTag"); + private final String testingPath = "./test/data/XmlAddressBookStorageTest"; + private final String name = "testingName"; + private final String testingRange = "1,5"; + private final String fileTypeNormal = "normal"; + private final String fileTypeExcel = "excel"; + + + @Test + public void constructor_nullRange_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(null, testingTag, testingPath, name, fileTypeExcel); + } + + @Test + public void constructor_nullPath_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(testingRange, testingTag, null, name, fileTypeNormal); + } + + @Test + public void constructor_nullName_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(testingRange, testingTag, testingPath, null, fileTypeNormal); + } + + @Test + public void constructor_nullType_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ExportCommand(testingRange, testingTag, testingPath, name, null); + } + + @Test + public void execute_multipleRange_showsMessageError() { + String testingMultiRange = "1,2,3"; + ExportCommand exportCommand = new ExportCommand(testingMultiRange, testingTag, testingPath, + name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); + + } + + @Test + public void execute_outOfRange_showsMessageError() { + String testingOutOfRange = "0,10000000"; + ExportCommand exportCommand = new ExportCommand(testingOutOfRange, testingTag, testingPath, + name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_OUT_OF_BOUNDS), model); + + } + + @Test + public void execute_successfulExport_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand(testingRange, testingTag, testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_successfulExportWithAllRange_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("all", testingTag, testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_successfulExportWithSingleRange_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("2", testingTag, testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_successfulExportWithExcel_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("1,6", testingTag, testingPath, name, fileTypeExcel); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_rangeNotCorrect_showsMessageError() { + ExportCommand exportCommand = new ExportCommand("2,1", testingTag, testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); + } + + @Test + public void execute_whenTagIsSupposedlyNotGiven_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand("all", new Tag("shouldnotbethistag"), + testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + @Test + public void execute_whenTagIsSupposedlyNotGivnAndRangeError_showsMessageError() { + ExportCommand exportCommand = new ExportCommand("2,1", new Tag("shouldnotbethistag"), + testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_RANGE_ERROR), model); + } + + @Test + public void execute_whenTagIsSupposedlyNotGivenAndRangeGiven_showsNoMessageError() { + ExportCommand exportCommand = new ExportCommand(testingRange, new Tag("shouldnotbethistag"), + testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + + + + @Test + public void execute_whenRangeIsSelectiveAndOutOfRange_showsMessageError() { + ExportCommand exportCommand = new ExportCommand("10000000", new Tag("shouldnotbethistag"), + testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_OUT_OF_BOUNDS), model); + } + + + + @Test + public void equals() { + final ExportCommand comparableCommand = new ExportCommand(testingRange, testingTag, testingPath, + name, fileTypeNormal); + + // same values -> returns true + ExportCommand comparedToCommand = new ExportCommand(testingRange, testingTag, testingPath, + name, fileTypeNormal); + assertTrue(comparableCommand.equals(comparedToCommand)); + + // same object -> returns true + assertTrue(comparableCommand.equals(comparableCommand)); + + // null -> returns false + assertFalse(comparableCommand.equals(null)); + + // different types -> returns false + assertFalse(comparableCommand.equals(new ClearCommand())); + + // different range -> returns false + assertFalse(comparableCommand.equals(new ExportCommand("1,2", testingTag, testingPath, name, + fileTypeNormal))); + } + + + +} +``` +###### /java/seedu/address/model/shortcut/ShortcutDoubleTest.java +``` java +package seedu.address.model.shortcut; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.model.shortcuts.ShortcutDoubles; + +public class ShortcutDoubleTest { + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void constructor_nullCommandWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ShortcutDoubles("l", null); + } + + @Test + public void constructor_nullShortcutWord_throwsNullPointerException() { + thrown.expect(NullPointerException.class); + new ShortcutDoubles(null , "list"); + } + + @Test + public void equals() throws Exception { + ShortcutDoubles deleteFirstCommand = new ShortcutDoubles("l", "list"); + ShortcutDoubles deleteSecondCommand = new ShortcutDoubles("c", "clear"); + + // same object -> returns true + assertTrue(deleteFirstCommand.equals(deleteFirstCommand)); + + // same values -> returns true + ShortcutDoubles deleteFirstCommandCopy = new ShortcutDoubles("l", "list"); + assertTrue(deleteFirstCommand.equals(deleteFirstCommandCopy)); + + // different types -> returns false + assertFalse(deleteFirstCommand.equals(1)); + + // null -> returns false + assertFalse(deleteFirstCommand.equals(null)); + + // different person -> returns false + assertFalse(deleteFirstCommand.equals(deleteSecondCommand)); + } +} +``` +###### /java/seedu/address/model/UniqueShortcutDoublesListTest.java +``` java +package seedu.address.model; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.model.shortcuts.UniqueShortcutDoublesList; + +public class UniqueShortcutDoublesListTest { + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void asObservableList_modifyList_throwsUnsupportedOperationException() { + UniqueShortcutDoublesList uniqueShortcutDoublesList = new UniqueShortcutDoublesList(); + thrown.expect(UnsupportedOperationException.class); + uniqueShortcutDoublesList.asObservableList().remove(0); + } +} +``` +###### /java/seedu/address/model/AddressBookTest.java +``` java + @Test + public void getShortcutList_modifyList_throwsUnsupportedOperationException() { + thrown.expect(UnsupportedOperationException.class); + addressBook.getCommandsList().remove(0); + } +``` +###### /java/seedu/address/model/AddressBookTest.java +``` java + + /** + * A stub ReadOnlyAddressBook whose persons, tags and events lists can violate interface constraints. + */ + private static class AddressBookStub implements ReadOnlyAddressBook { + private final ObservableList<Person> persons = FXCollections.observableArrayList(); + private final ObservableList<Student> students = FXCollections.observableArrayList(); + private final ObservableList<Person> contacts = FXCollections.observableArrayList(); + private final ObservableList<Tag> tags = FXCollections.observableArrayList(); + private final ObservableList<Appointment> appointments = FXCollections.observableArrayList(); + private final ObservableList<Task> tasks = FXCollections.observableArrayList(); + private final ObservableList<ShortcutDoubles> commandslist = FXCollections.observableArrayList(); + + AddressBookStub(Collection<Person> persons, Collection<Student> students, + Collection<? extends Tag> tags, Collection<Appointment> appointments, + Collection<Task> tasks, Collection<ShortcutDoubles> commands) { + this.persons.setAll(persons); + this.students.setAll(students); + this.contacts.setAll(persons); + this.contacts.addAll(students); + this.tags.setAll(tags); + this.tasks.setAll(tasks); + this.appointments.setAll(appointments); + this.commandslist.setAll(commands); + } + + @Override + public ObservableList<Person> getPersonList() { + return persons; + } + + @Override + public ObservableList<Student> getStudentList() { + return students; + } + + @Override + public ObservableList<Person> getContactList() { + return contacts; + } + + @Override + public ObservableList<Tag> getTagList() { + return tags; + } + + @Override + public ObservableList<Appointment> getAppointmentList() { + return appointments; + } + + @Override + public ObservableList<Task> getTaskList() { + return tasks; + } + + @Override + public ObservableList<ShortcutDoubles> getCommandsList() { + return commandslist; + } + } + + @Test + public void updatePerson_modifiedAddressBooks_noError() throws PersonNotFoundException, DuplicatePersonException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).build(); + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(AMY).build(); + + testAddressBook.updatePerson(BOB, AMY); + + assertEquals(testAddressBook, expectedAddressBook); + } + +``` +###### /java/seedu/address/model/AddressBookTest.java +``` java + @Test + public void removeTag_tagNotPresent_addressBookUnchanged() throws PersonNotFoundException, + DuplicatePersonException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); + + testAddressBook.removeTag(new Tag(VALID_TAG_NOTUSED)); + + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); + + assertEquals(expectedAddressBook, testAddressBook); + } + + @Test + public void removeTag_tagUsedByMultiplePeople_tagRemoved() throws PersonNotFoundException, + DuplicatePersonException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(BOB).withPerson(AMY).build(); + testAddressBook.removeTag(new Tag(VALID_TAG_FRIEND)); + + Person amyWithoutFriendTag = new PersonBuilder(AMY).withTags().build(); + Person bobWithoutFriendTag = new PersonBuilder(BOB).withTags(VALID_TAG_HUSBAND).build(); + + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(bobWithoutFriendTag) + .withPerson(amyWithoutFriendTag).build(); + + assertEquals(expectedAddressBook, testAddressBook); + } +``` +###### /java/seedu/address/model/ModelManagerTest.java +``` java + @Test + public void getFilteredCommandList_modifyList_throwsUnsupportedOperationException() { + ModelManager modelManager = new ModelManager(); + thrown.expect(UnsupportedOperationException.class); + modelManager.getFilteredCommandsList().remove(0); + } +``` +###### /java/seedu/address/model/ModelManagerTest.java +``` java + @Test + public void addShortcut_addShortcutToAddressBook_evokeAddressBookChangedEvent() + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + ModelManager model = new ModelManager(addressBook, userPrefs); + modelManager.addCommandShortcut(SHORTCUT_DOUBLES_1); + assertTrue(eventsCollectorRule.eventsCollector.getMostRecent() instanceof AddressBookChangedEvent); + } +``` +###### /java/seedu/address/model/ModelManagerTest.java +``` java + + @Test + public void equals() { + AddressBook differentAddressBook = new AddressBook(); + + // same values -> returns true + ModelManager modelManagerCopy = new ModelManager(addressBook, userPrefs); + assertTrue(modelManager.equals(modelManagerCopy)); + + // same object -> returns true + assertTrue(modelManager.equals(modelManager)); + + // null -> returns false + assertFalse(modelManager.equals(null)); + + // different types -> returns false + assertFalse(modelManager.equals(5)); + + // different addressBook -> returns false + assertFalse(modelManager.equals(new ModelManager(differentAddressBook, userPrefs))); + + // different filteredList -> returns false + String[] keywords = ALICE.getName().fullName.split("\\s+"); + modelManager.updateFilteredPersonList(new NameContainsKeywordsPredicate(Arrays.asList(keywords))); + assertFalse(modelManager.equals(new ModelManager(addressBook, userPrefs))); + + // resets modelManager to initial state for upcoming tests + modelManager.updateFilteredPersonList(PREDICATE_SHOW_ALL_PERSONS); + + // different userPrefs -> returns true + UserPrefs differentUserPrefs = new UserPrefs(); + differentUserPrefs.setAddressBookName("differentName"); + assertTrue(modelManager.equals(new ModelManager(addressBook, differentUserPrefs))); + } +``` +###### /java/seedu/address/model/ModelManagerTest.java +``` java + @Test + public void deleteTag_tagNotPresent_modelUnchanged() throws DuplicatePersonException, PersonNotFoundException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(AMY).withPerson(BOB).build(); + UserPrefs userPrefs = new UserPrefs(); + ModelManager modelManager = new ModelManager(testAddressBook, userPrefs); + modelManager.deleteTag(new Tag(VALID_TAG_NOTUSED)); + + assertEquals(new ModelManager(testAddressBook, userPrefs), modelManager); + } + + + @Test + public void deleteTag_tagUsedByMultiplePeople_tagRemoved() throws DuplicatePersonException, + PersonNotFoundException { + AddressBook testAddressBook = new AddressBookBuilder().withPerson(AMY).withPerson(BOB).build(); + ModelManager modelManager = new ModelManager(testAddressBook, userPrefs); + modelManager.deleteTag(new Tag(VALID_TAG_FRIEND)); + + Person amyWithoutFriendTag = new PersonBuilder(AMY).withTags().build(); + Person bobWithoutFriendTag = new PersonBuilder(BOB).withTags(VALID_TAG_HUSBAND).build(); + AddressBook expectedAddressBook = new AddressBookBuilder().withPerson(amyWithoutFriendTag) + .withPerson(bobWithoutFriendTag).build(); + + assertEquals(new ModelManager(expectedAddressBook, userPrefs), modelManager); + } +``` +###### /java/seedu/address/testutil/ExportCommandHelper.java +``` java +/** + * A utility class containing a list of {@code Index} objects to be used in tests. + */ +public class ExportCommandHelper { + public static final String RANGE_ALL = "all"; + public static final String TAG_NEEDED = "friends"; + public static final String PATH_NEEDED = "./data"; + public static final String NAME_NEEDED = "name"; + public static final String TYPE_NEEDED = "normal"; + + +} +``` +###### /java/seedu/address/testutil/TypicalImportedPersons.java +``` java +package seedu.address.testutil; + +import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_STUDENT; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import seedu.address.model.AddressBook; +import seedu.address.model.person.Person; +import seedu.address.model.person.Student; +import seedu.address.model.person.exceptions.DuplicatePersonException; + +``` +###### /java/seedu/address/testutil/TypicalImportedPersons.java +``` java +/** + * Special Util class to get people for ImportCommandTest class. + */ +public class TypicalImportedPersons { + public static final Person FLICE = new PersonBuilder().withName("Alice Pauline") + .withAddress("123, Jurong West Ave 6, #08-111").withEmail("alice@example.com") + .withPhone("85355255") + .withTags("friends").build(); + public static final Person FENSON = new PersonBuilder().withName("Benson Meier") + .withAddress("311, Clementi Ave 2, #02-25") + .withEmail("johnd@example.com").withPhone("98765432") + .withTags("owesMoney", "friends").build(); + public static final Person FARL = new PersonBuilder().withName("Carl Kurz").withPhone("95352563") + .withEmail("heinz@example.com").withAddress("wall street").build(); + public static final Person FANIEL = new PersonBuilder().withName("Daniel Meier").withPhone("87652533") + .withEmail("cornelia@example.com").withAddress("10th street").build(); + public static final Person FLLE = new PersonBuilder().withName("Elle Meyer").withPhone("9482224") + .withEmail("werner@example.com").withAddress("michegan ave").build(); + public static final Person GIONA = new PersonBuilder().withName("Fiona Kunz").withPhone("9482427") + .withEmail("lydia@example.com").withAddress("little tokyo").build(); + public static final Student FEORGE = new StudentBuilder().withName("George Best").withPhone("9482442") + .withEmail("anna@example.com").withAddress("4th street").build(); + public static final Student FVAN = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") + .withEmail("wolf@example.com").withAddress("Centre Street").build(); + public static final Student FOHN = new StudentBuilder().withName("John Blake").withPhone("9575232") + .withEmail("star@example.com").withAddress("Hollywood").build(); + + // Manually added + public static final Person FOON = new PersonBuilder().withName("Hoon Meier").withPhone("8482424") + .withEmail("stefan@example.com").withAddress("little india").build(); + public static final Person FDA = new PersonBuilder().withName("Ida Mueller").withPhone("8482131") + .withEmail("hans@example.com").withAddress("chicago ave").build(); + + public static final Student FTUDENT_HOON = new StudentBuilder().withName("Hoon Meier").withPhone("8482424") + .withEmail("stefan@example.com").withAddress("little india").build(); + public static final Student FTUDENT_IDA = new StudentBuilder().withName("Ida Mueller").withPhone("8482131") + .withEmail("hans@example.com").withAddress("chicago ave").build(); + + // Manually added - Person's details found in {@code CommandTestUtil} + public static final Person FMY = new PersonBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) + .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_FRIEND).build(); + public static final Person FOB = new PersonBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) + .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_HUSBAND, VALID_TAG_FRIEND) + .build(); + + public static final Student FTUDENT_AMY = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) + .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); + public static final Student FTUDENT_BOB = new StudentBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) + .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_STUDENT) + .build(); + + public static final String KEYWORD_MATCHING_MEIER = "Meier"; // A keyword that matches MEIER + + private TypicalImportedPersons() {} // prevents instantiation + + /** + * Returns an {@code AddressBook} with all the typical persons. + */ + public static AddressBook getImportedAddressBook() { + AddressBook ab = new AddressBook(); + for (Person person : getImportedPersons()) { + try { + ab.addPerson(person); + } catch (DuplicatePersonException e) { + throw new AssertionError("not possible"); + } + } + return ab; + } + + public static List<Person> getImportedPersons() { + return new ArrayList<>(Arrays.asList(FLICE, FENSON, FARL, FANIEL, FLLE, GIONA, FEORGE)); + } +} +``` +###### /java/seedu/address/testutil/TypicalShortcuts.java +``` java +package seedu.address.testutil; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * Few Typical Shortcuts + */ +public class TypicalShortcuts { + public static final ShortcutDoubles SHORTCUT_DOUBLES_1 = + new ShortcutCommandBuilder("l", "list").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_2 = + new ShortcutCommandBuilder("c", "clear").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_3 = + new ShortcutCommandBuilder("ll", "list").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_4 = + new ShortcutCommandBuilder("cc", "clear").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_5 = + new ShortcutCommandBuilder("a", "add").build(); + public static final ShortcutDoubles SHORTCUT_DOUBLES_6 = + new ShortcutCommandBuilder("aa", "add").build(); + + public static List<ShortcutDoubles> getTypicalShortcuts() { + return new ArrayList<>(Arrays.asList(SHORTCUT_DOUBLES_1, SHORTCUT_DOUBLES_2)); + } + +} +``` +###### /java/seedu/address/testutil/ShortcutCommandBuilder.java +``` java +package seedu.address.testutil; + +import seedu.address.model.shortcuts.ShortcutDoubles; + +/** + * A utility class to help with building Shortcut objects. + */ +public class ShortcutCommandBuilder { + + private String shortcutWord; + private String commandWord; + + public ShortcutCommandBuilder(String shortcutWord, String commandWord) { + this.commandWord = commandWord; + this.shortcutWord = shortcutWord; + } + + + /** + * @return an {@code Appointment} from the data feed to constructor + */ + public ShortcutDoubles build() { + return new ShortcutDoubles(shortcutWord, commandWord); + } +} +``` +###### /java/seedu/address/testutil/modelstub/ModelStub.java +``` java + @Override + public void addCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.DuplicateShortcutDoublesException { + fail("This method should not be called."); + } + + @Override + public void deleteCommandShortcut(ShortcutDoubles shortcutDoubles) + throws UniqueShortcutDoublesList.CommandShortcutNotFoundException { + fail("This method should not be called"); + } +``` From 26f02363a8d8cf50eb92b469d723c054c218bb95 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 4 Apr 2018 12:03:31 +0800 Subject: [PATCH 266/288] Update UserGuide.adoc --- docs/UserGuide.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 239eedd715c8..375201526fee 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -244,7 +244,7 @@ Examples: * List all student: `list students` + * List all task: `list tasks` + -* List all task: `list shortcuts` +* List all command shortcu: `list shortcuts` === Editing a contact : `edit` From 8b5d505bdbaa74e260c32717bb01500a8854eeb6 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 4 Apr 2018 12:05:19 +0800 Subject: [PATCH 267/288] Update UserGuide.adoc --- docs/UserGuide.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 375201526fee..543aba871608 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -244,7 +244,7 @@ Examples: * List all student: `list students` + * List all task: `list tasks` + -* List all command shortcu: `list shortcuts` +* List all command shortcut: `list shortcuts` === Editing a contact : `edit` From 223d8cc29676b940d151a817a7ba2e967a358431 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Tue, 10 Apr 2018 14:12:26 +0800 Subject: [PATCH 268/288] Fix date format for events --- docs/UserGuide.adoc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 543aba871608..1d6a4de512d3 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -108,7 +108,7 @@ Format: `form subj/SUBJECT s/START_DATE e/END_DATE i/INDEX...` Examples: * `list students` + -`form 1,2,5 subj/English s/18-01-2018 e/17-07-2019` + +`form 1,2,5 subj/English s/18/01/2018 e/17/07/2019` + Forms an English class containing the first, second and fifth contact in the list that starts in 18 Jan 2018 to 17 July 2019. @@ -121,14 +121,14 @@ Format: `set_appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/I * This sets an appointment with `TITLE`, from `START_DATE` at `START_TIME` to `END_DATE` at `END_TIME`, with contact at the specified `INDEX`. * The index refers to the index number shown in the most recent listing. * The index *must be a positive integer* `1, 2, 3, ...`. -* `START_DATE` and `END_DATE` must be in the format `DD-MM-YYYY`. +* `START_DATE` and `END_DATE` must be in the format `DD/MM/YYYY`. * `START_TIME` and `END_TIME` must be in the 24-hr format: HH:MM. * The new appointment will be listed on both the appointment list and the TeachConnect Calendar. **** Examples: -* `set_appointment t/Tutoring session s/02-04-2018 19:00 e/02-04-2018 20:00` + +* `set_appointment t/Tutoring session s/02/04/2018 19:00 e/02/04/2018 20:00` + Sets up an appointment on April 2nd, 2018, from 7pm to 8pm. + image::appointmentAdded.jpg[width="800"] @@ -143,13 +143,13 @@ Format: `set_task t/TITLE e/END_DATE END_TIME` **** * Task with `TITLE` which needs to completed before `END_DATE` at `END_TIME` is added. -* `END_DATE` must be in the format `DD-MM-YYYY`. +* `END_DATE` must be in the format `DD/MM/YYYY`. * `END_TIME` must be in the 24-hr format: HH:MM. **** Examples: -* `set_task t/Mark papers e/05-04-2018 10:00` + +* `set_task t/Mark papers e/05/04/2018 10:00` + Sets a task which needs to be completed before April 5th, 2018, 10am. === Removing an appointment or a task: `remove` `[since v1.4]` @@ -518,9 +518,9 @@ The table below summarizes TeachConnect's command list. |*Select Contact*|`select INDEX` |`select 2` -|*Set Appointment*|`set_appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX`|`set_appointment t/Meet parent s/05-04-2018 10:00 e/05-04-2018 11:00 i/3` +|*Set Appointment*|`set_appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX`|`set_appointment t/Meet parent s/05/04/2018 10:00 e/05/04/2018 11:00 i/3` -|*Set Task*|`set_task t/TITLE e/END_DATE END_TIME` |`set_task t/Mark papers d/05-04-2018 10:00` +|*Set Task*|`set_task t/TITLE e/END_DATE END_TIME` |`set_task t/Mark papers d/05/04/2018 10:00` |*Remove*|`remove EVENT_TYPE INDEX` | `remove task 3` From 376e46192559757b3822f9d1c872c39c08a458e3 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Tue, 10 Apr 2018 14:54:30 +0800 Subject: [PATCH 269/288] Fix format for some examples --- docs/UserGuide.adoc | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 1d6a4de512d3..e3814f6a8911 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -18,7 +18,7 @@ By: `Team W14-B1` Since: `Jan 2018` Licence: `MIT` == Introduction -TeachConnect (TC) is created to assist teachers and other educational professionals in *managing their contacts, appointments and tasks*. TeachConnect is also tailored for teachers who would *prefer to use a Desktop App for managing contacts*. Most importantly, it is *optimized for those who prefer to work with a Command Line Interface* (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TeachConnect will manage your contacts faster than traditional GUI apps. Interested? Jump to <<Quick Start>> to get started. Enjoy! +TeachConnect (TC) is created to assist teachers and other educational professionals in *managing their contacts, appointments and tasks*. TeachConnect is also tailored for teachers who would *prefer to use a Desktop App for managing contacts*. Most importantly, it is *optimized for those who prefer to enter input using keyboard while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TeachConnect will manage your contacts faster than traditional GUI apps. Interested? Jump to <<Quick Start>> to get started. Enjoy! == Quick Start @@ -86,9 +86,9 @@ A contact can have any number of tags (including 0) Examples: * `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 t/friend` + -Adds a default contact. +Adds a default contact to TeachConnect's contact list. * `add student n/Betsy Crowe e/betsycrowe@example.com a/Centre Street, block 238, #02-02` + -Adds a student contact. +Adds a student contact to TeachConnect's contact list. === Forming a class `[coming in v1.5]` @@ -102,7 +102,7 @@ Format: `form subj/SUBJECT s/START_DATE e/END_DATE i/INDEX...` * The index *must be a positive integer* `1, 2, 3, ...`. * Minimum of one student must be entered. There can be more than one student * Only a student contact can be entered, default and guardian contacts are not allowed. -* Dates must be in the format: `DD-MM-YYYY`. +* Dates must be in the format: `DD/MM/YYYY`. **** Examples: @@ -242,9 +242,12 @@ Format: `list TYPE`. Examples: -* List all student: `list students` + -* List all task: `list tasks` + -* List all command shortcut: `list shortcuts` +* `list students` + +Lists all student. +* `list tasks` + +Lists all task. +* `list shortcuts` + +Lists all command shortcuts. === Editing a contact : `edit` @@ -461,8 +464,10 @@ Your shortcut word cannot be more than a single word. Examples: -* Personalised Alias : `shortcut list l` -* Personalised Alias : `shortcut add a` +* `shortcut list l` + +Sets `l` as the Personalised Alias for `list` command. +* `shortcut add a` + +Sets `a` as the Personalised Alias for `add` command. === Deleting your personalised Alias : `delete_shortcut` `[since v1.4]` @@ -479,8 +484,10 @@ You can only delete shortcuts that you have already added. Examples: -* Deletes the Personalised Alias : `delete_shortcut list l` -* Deletes the Personalised Alias : `delete_shortcut add a` +* `delete_shortcut list l` + +Deletes the Personalised Alias `l` for `list` command. +* `delete_shortcut add a` + +Deletes the Personalised Alias `a` for `add` command. === Upcoming features `[coming soon]` From dc28cb400ca936b08d70843ce375202de70b1a0c Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 10 Apr 2018 16:05:46 +0800 Subject: [PATCH 270/288] Fixed Export Bug and Added JUnit Test cases --- .../address/logic/commands/ExportCommand.java | 147 ++++++++++-------- .../logic/parser/ExportCommandParser.java | 2 +- .../logic/commands/ExportCommandTest.java | 25 ++- 3 files changed, 102 insertions(+), 72 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ExportCommand.java b/src/main/java/seedu/address/logic/commands/ExportCommand.java index bd21eecfce12..5a8badd3c737 100644 --- a/src/main/java/seedu/address/logic/commands/ExportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ExportCommand.java @@ -1,3 +1,4 @@ +//@@author shanmu9898 package seedu.address.logic.commands; import static java.util.Objects.requireNonNull; @@ -7,27 +8,17 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_TAG_EXPORT; import static seedu.address.logic.parser.CliSyntax.PREFIX_TYPE; -import java.io.File; +import java.io.BufferedWriter; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.ArrayList; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.Result; -import javax.xml.transform.Source; -import javax.xml.transform.Transformer; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.TransformerException; -import javax.xml.transform.TransformerFactory; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -import javax.xml.transform.stream.StreamSource; - -import org.w3c.dom.Document; -import org.xml.sax.SAXException; +import org.apache.commons.csv.CSVFormat; +import org.apache.commons.csv.CSVPrinter; import javafx.collections.ObservableList; +import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.AddressBook; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -35,7 +26,7 @@ import seedu.address.storage.AddressBookStorage; import seedu.address.storage.XmlAddressBookStorage; -//@@author shanmu9898 + /** * * Exports people to an XML file of choice based on tag, index or range @@ -46,6 +37,7 @@ public class ExportCommand extends Command { public static final String MESSAGE_OUT_OF_BOUNDS = "Please check the index bounds!"; public static final String MESSAGE_SUCCESS = "Contacts have been successfully exported!"; public static final String MESSAGE_RANGE_ERROR = "Please input valid range"; + public static final String MESSAGE_TAG_CONTACT_MISMATCH = "The tag and contact don't match"; public static final String COMMAND_WORD = "export"; @@ -58,11 +50,11 @@ public class ExportCommand extends Command { + PREFIX_PATH + " PATH " + PREFIX_TYPE + "FORMAT \n" + "Example 1: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "all " - + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/Normal \n" + + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "excel/xml \n" + "Example 2: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "1 " - + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/Normal \n" + + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "excel/xml \n" + "Example 3: " + COMMAND_WORD + " " + PREFIX_NAME + "{Name of file} " + PREFIX_RANGE + "1,2 " - + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "Excel/normal \n"; + + PREFIX_TAG_EXPORT + "friends " + PREFIX_PATH + "{Path to store} " + PREFIX_TYPE + "excel/xml \n"; private Tag tag; @@ -72,6 +64,7 @@ public class ExportCommand extends Command { private AddressBookStorage teachConnectStorage; private final String nameOfExportFile; private final String type; + private ArrayList<Person> exportAddition = new ArrayList<Person>(); /** * Creates an ExportCommand to export the specified {@code Persons} @@ -93,15 +86,21 @@ public ExportCommand(String range, Tag tag, String path, String nameOfExportFile teachConnectBook = new AddressBook(); } + /** + * Handles exceptions of various messages and takes care of the actual execution of the command. + */ @Override - public CommandResult execute() { + public CommandResult execute() throws CommandException { String[] rangeGiven; + CommandResult handledRangeSituation; + try { rangeGiven = handleRange(); } catch (IOException e) { return new CommandResult(MESSAGE_RANGE_ERROR); } - CommandResult handledRangeSituation; + + try { handledRangeSituation = handleRangeArray(rangeGiven); } catch (DuplicatePersonException e) { @@ -109,6 +108,7 @@ public CommandResult execute() { } catch (IndexOutOfBoundsException e) { return new CommandResult(MESSAGE_OUT_OF_BOUNDS); } + if (handledRangeSituation != null) { return handledRangeSituation; } @@ -116,76 +116,77 @@ public CommandResult execute() { if (!tryStorage(type)) { return new CommandResult(MESSAGE_FAIL); } + return new CommandResult(MESSAGE_SUCCESS); } /** - * This method tries creating and storing the export file. - * @return + * This method saves the file either as an XML file or an CSV file depending on the user preferences. + * @return a boolean values if the storage has been possible or not */ - private boolean tryStorage(String type) { - teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ".xml"); - try { - teachConnectStorage.saveAddressBook(teachConnectBook); - } catch (IOException e) { - return false; - } - if (type.equals("excel")) { + private boolean tryStorage(String type) throws CommandException { + if (type.equalsIgnoreCase("xml")) { + teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + ".xml"); + try { + teachConnectStorage.saveAddressBook(teachConnectBook); + } catch (IOException e) { + return false; + } + + } else if (type.equalsIgnoreCase("excel")) { return saveAsCsv(); } return true; } /** - * Will save as a CSV file depending on the type of input + * Will save as a CSV file using a CSVPrinter including the list of tags * @return boolean */ - private boolean saveAsCsv() { - File stylesheet = new File("./src/main/resources/Util/style.xsl"); - File xmlSource = new File(path + "/" + nameOfExportFile + ".xml"); - - DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); - DocumentBuilder builder; - try { - builder = factory.newDocumentBuilder(); - } catch (ParserConfigurationException e) { - return false; - } - Document document; + private boolean saveAsCsv() throws CommandException { + CSVPrinter csvPrinter; try { - document = builder.parse(xmlSource); - } catch (SAXException e) { - return false; + csvPrinter = csvFileToBeWritten(); } catch (IOException e) { - return false; + throw new CommandException(String.format(MESSAGE_FAIL)); } - StreamSource styleSource = new StreamSource(stylesheet); - Transformer transformer; - try { - transformer = TransformerFactory.newInstance().newTransformer(styleSource); - } catch (TransformerConfigurationException e) { - return false; - } - Source source = new DOMSource(document); - Result outputTarget = new StreamResult(new File(path + "/" + nameOfExportFile + ".csv")); try { - transformer.transform(source, outputTarget); - } catch (TransformerException e) { - return false; - } + for (Person p : exportAddition) { + csvPrinter.printRecord(p.getName(), p.getEmail(), p.getPhone(), p.getAddress(), p.getTags()); + } + + csvPrinter.flush(); + } catch (IOException e) { + throw new CommandException(String.format(MESSAGE_FAIL)); + } return true; } + + /** + * Returns CSVPrinter which is the file to which the contents are going to be added. + */ + public CSVPrinter csvFileToBeWritten() throws IOException { + CSVPrinter csvPrinter; + + BufferedWriter writer = Files.newBufferedWriter(Paths.get(path + "/" + nameOfExportFile + ".csv")); + csvPrinter = new CSVPrinter(writer, CSVFormat.DEFAULT.withHeader("Name", "Email", "Phone", "Address", "Tags")); + + return csvPrinter; + } + + /** * Handles the range array returned by the handleRange() function * @param rangeGiven * @return */ private CommandResult handleRangeArray(String[] rangeGiven) throws DuplicatePersonException, - IndexOutOfBoundsException { + IndexOutOfBoundsException, + CommandException { if (rangeGiven[0].equals("all")) { exportAllRange(tag); } else { @@ -201,7 +202,7 @@ private CommandResult handleRangeArray(String[] rangeGiven) throws DuplicatePers } } else { int low = Integer.parseInt(rangeGiven[0]); - exportSpecific(low); + exportSpecific(low, tag); } @@ -212,13 +213,21 @@ private CommandResult handleRangeArray(String[] rangeGiven) throws DuplicatePers /** * Adds a specific person to the teachConnectBook * - * @param low + * parameters are an integer and a tag * @throws DuplicatePersonException * @throws IndexOutOfBoundsException */ - private void exportSpecific(int low) throws DuplicatePersonException, IndexOutOfBoundsException { + private void exportSpecific(int low, Tag tag) throws DuplicatePersonException, + IndexOutOfBoundsException, + CommandException { ObservableList<Person> exportPeople = model.getFilteredPersonList(); - teachConnectBook.addPerson(exportPeople.get(low - 1)); + if (exportPeople.get(low - 1).getTags().contains(tag) || tag.equals(new Tag("shouldnotbethistag"))) { + exportAddition.add(exportPeople.get(low - 1)); + teachConnectBook.addPerson(exportPeople.get(low - 1)); + } else { + throw new CommandException(String.format(MESSAGE_TAG_CONTACT_MISMATCH)); + } + } /** @@ -232,7 +241,7 @@ private void exportSpecific(int low) throws DuplicatePersonException, IndexOutOf */ private void exportRange(int low, int high, Tag tag) throws DuplicatePersonException, IndexOutOfBoundsException { ObservableList<Person> exportPeople = model.getFilteredPersonList(); - ArrayList<Person> exportAddition = new ArrayList<Person>(); + exportAddition = new ArrayList<Person>(); if (tag.equals(new Tag("shouldnotbethistag"))) { for (int i = low; i < high; i++) { exportAddition.add(exportPeople.get(i - 1)); @@ -261,7 +270,7 @@ private void exportAllRange(Tag tag) throws DuplicatePersonException { if (tag.equals(new Tag("shouldnotbethistag"))) { teachConnectBook.setPersons(exportPeople); } else { - ArrayList<Person> exportAddition = new ArrayList<Person>(); + exportAddition = new ArrayList<Person>(); for (int i = 0; i < exportPeople.size(); i++) { if (exportPeople.get(i).getTags().contains(tag)) { exportAddition.add(exportPeople.get(i)); diff --git a/src/main/java/seedu/address/logic/parser/ExportCommandParser.java b/src/main/java/seedu/address/logic/parser/ExportCommandParser.java index 94a9e0e3e590..bda4dea579e2 100644 --- a/src/main/java/seedu/address/logic/parser/ExportCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ExportCommandParser.java @@ -44,7 +44,7 @@ public ExportCommand parse(String args) throws ParseException { String path = argMultiMap.getValue(PREFIX_PATH).orElse(""); String type = argMultiMap.getValue(PREFIX_TYPE).orElse("normal"); - if (!(type.equals("excel") || type.equals("normal"))) { + if (!(type.equalsIgnoreCase("excel") || type.equalsIgnoreCase("xml"))) { throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); } diff --git a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java index 7ff87fe1396b..ae1c15b10edf 100644 --- a/src/test/java/seedu/address/logic/commands/ExportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ExportCommandTest.java @@ -2,6 +2,7 @@ import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertFalse; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; @@ -26,7 +27,7 @@ public class ExportCommandTest { private final String testingPath = "./test/data/XmlAddressBookStorageTest"; private final String name = "testingName"; private final String testingRange = "1,5"; - private final String fileTypeNormal = "normal"; + private final String fileTypeNormal = "xml"; private final String fileTypeExcel = "excel"; @@ -97,11 +98,21 @@ public void execute_successfulExportWithAllRange_showsNoMessageError() { } @Test - public void execute_successfulExportWithSingleRange_showsNoMessageError() { + public void execute_exportWithSingleRangeAndMismatchTag_showsMessageError() { ExportCommand exportCommand = new ExportCommand("2", testingTag, testingPath, name, fileTypeNormal); exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandFailure(exportCommand, model, String.format(exportCommand.MESSAGE_TAG_CONTACT_MISMATCH)); + } + + @Test + public void execute_successfulExportWithSingleRange_showsNoMessageError() { + Tag friendsTag = new Tag("friends"); + ExportCommand exportCommand = new ExportCommand("2", friendsTag, testingPath, name, fileTypeNormal); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); } @@ -114,6 +125,16 @@ public void execute_successfulExportWithExcel_showsNoMessageError() { assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); } + @Test + public void execute_successfulExportWithAllRangeExcel_showsNoMessageError() { + Tag friendTag = new Tag("friends"); + ExportCommand exportCommand = new ExportCommand("all", friendTag, testingPath, name, fileTypeExcel); + exportCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(exportCommand, model, String.format(exportCommand.MESSAGE_SUCCESS), model); + } + @Test public void execute_rangeNotCorrect_showsMessageError() { ExportCommand exportCommand = new ExportCommand("2,1", testingTag, testingPath, name, fileTypeNormal); From e05afc8f9ced081dd81f6932d6ae7ede4a4a2859 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 10 Apr 2018 16:14:09 +0800 Subject: [PATCH 271/288] Added Library Files --- libs/commons-csv-1.5-sources.jar | Bin 0 -> 45201 bytes libs/commons-csv-1.5.jar | Bin 0 -> 41586 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 libs/commons-csv-1.5-sources.jar create mode 100644 libs/commons-csv-1.5.jar diff --git a/libs/commons-csv-1.5-sources.jar b/libs/commons-csv-1.5-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..952fc2d2519bcf05f78560b026e2e1230c380228 GIT binary patch literal 45201 zcma&NV~}XUk}ce}ZQHhO+qP}nwr$(C?e5dIdAd*cJ9lvB&cl4)j@Ys5$I3!hMaJ5z zG8LqOL7)I2ARquXG_j@8X{H@_0001{0096{{(faeRRn1z<;3V^1?42gM3q(OWW`bw z1fz!-5JK+)zrsI&B~f)3cGiZ1iqdPnQWIp>4YDCERbKb)YiT2zXuNYh?`Gf3ihHRW zC5_@69gk6CP9mC3aj9w+$#b^~H@Z{`gWd{e5edt?$o2*FuJu#k8SQgu=jx=49%>Jc zd2~6cfw0uMm?L^iD-5>7UN=EgFRF-#z;k<VOy=u;26i4tm#7NfNnOtpPHzur;wzB1 z;_BtM&!N3CCL(k8FKRV5muqKb;^2-ho?C~E_sc)K=Uan}r36hi{aphrJev?G4RF|o zSkkZ4q5S(Jn(-B+!6E+D2MYh@9RLV`fAh{?hy3$_{M-7ccm4}z+lwXrPt4y2$lurA z$(;WGje!0SgrS3>v4!dX07U-pKx2DbTYEd_|G@zL|88LH?Dj84|Je1vxPLzIe_Q`t zm#v|jsonnoCi*|Ye-}&l?@OWkKWF&A4@UR@%l<$5q5ZFk|Kqs+!_#I8Yztq&004o1 zH;C|WU;ps*fB5k~2mgnWioLa|9i5e-n_;M`to^naLhqG2j7ySEC==8((yAzmwp|1T z3IP*jOc8|IafD9Bj%m8|qEzC~UZ$>68h_9wQ6l%#X)il-^~Wd#odK<~3aps{>jsda zW^_uQQEz)L14Mh5YG#8Hbq3ARHst~_)&i6uc14Szm}F~{*sYfIom4yo5qktG)iwwK zV^MHCo1{l?P%jN4)8;!#)t;m_LjtV{a4y?h135*aX_9m_Qb`edD!CB@I$1JRdDqM0 zL{CEjcW4=<2`+=okksLJp!AWWuIiF!`L^Cz=HXrhrVk-b-J`X`qylmr=3DvE1yEdy zZX_{<ZK3Tw3>Lmp4Xq-no~o`?p%Ra>Ta}>S&I^H;Ip`>KImq)j4@^j@$ee5b(AMu8 zpFLMy0-O_pY#%;~ochUi3ccQk7S5|?sz%F+T7NCeiKAUa5!n`{M&hQ@^N!#;>AFvm zVrG-}Df5Nr8}p1OHr_5a2a=mJz~gKM2E8$aF=LPZm|>4G0{!9R;ZtWI{q*e{CaED+ zm~2`d`=V?HNOnZt-65u~;CMq9W?+)}3OK%%FjNHDNk600Ebf^lfk5)m{A?`c&U8vi zWlw6S5FPvl3cM67SyJp<Yhe)PFiKO>TI`C`QaU;o{Md;zZ!n^A@a4)@)KU;jXN?%K z5ov5_Sm08ANN6PAcq)lFRxrb7(@r>h3TMAxStwM}D3$}X;EK%}Oti7Yr^nxV^FI!W zX|r~o>Y_*NawTYP7ThH=Wcr7|lLWrEm1t#xN2%AO>k`s}Zd_dVcNQbcqAV1$Cv6yI z@>Ezs$c2#TM11yT-ERHlE<i^;TNA+z929TwN}3SFm*-A@Xg7UyMEBRK&*zVUbq4Lz zq4g0|wE?{aVG4d2Am^(HETx78Q<#GLo?%P`xP=cbMM`bK!XCLb2VX84%t!P04mZzH zJ@m%JH3n}_lsX}Q5kAqWF-=<tPQVEY7v&XkYt|ddcL|k+&}obUhBGOjNA>Ya#1g8w zt4rv~<fU9gepxwx_K)ZTcxCa2@6^??Z?D4^;`Dh_^_A;K_3runZizyA`#N&e^Qk() zdmW5NzSY+sJSxa<ib^IwFuzclmY0`lkC@tTZ#p)`5vmt3e0#Qe+=`J!pNCAs+(djW zo!D2hX6|~UY0}}>c`dC^<}2=(|N54Zr*YRxr`Tww9e;U&%Np=7zcKM*TjDhnxLddD zB}*T1;PACuy6+1wEAFMh*5Ps98`m9>y7$-eXbysLx0NH#0spg!@Hkgs3;WZ|GRH;H zQ1fPcvC=#72()i|-o?Ts-2dw)?wi`{Y?AKhC~~3?tQs<<A_2}nknxMPtbQ<{S%mA; zo5$ie<8SzX#P)v;82=uU|1*@ZWQ7wAAOHXy3H*<tM8?#^)al<s$tw1?({|hAu6|$# zb8E_$(zbZFWbuSjbtTb@h7?oogA6zkVKl2~6^P}g?4LVxcfbS!$jhV_=Cgak#L3aU z2KS)dbn<IbZ1B8@l6y_8W*1To`(fU9do=oGT6qxcG0o#AmI>%h@nnF#o8K(L@8s zp*2S$glKeeOC*{ml-p1!;v@G+1Z%|7rr`}42qFH=Iq^S$+F*qSegvyT1%0qfs6<lg zfhOA=o#xU4qrUtCOFSlmAna>Vi6T1>Bk)Ds1>K%fLEWlThqfe0oltDJBFy5FX2QeK zDjtzk6Cc_+mW(u!tweL1-~+)beRn?56<QF^Rrz^s^&7}FdQaqNqm<Jn4GPiX@-|8a zsP9_#LjmG>4J6Z+0epVT5{IHwfO*LzG<sVGG35;i>r1Ut%d@8K-Me<&IU2Vkle+5? z8@R!G<jsSjM%e1T@j`^87FY8$5(4AV<YVjuY2)YvHWTd~!7b7)p95oTfUe^1XEK*J z;w-Ohs9MZCLDy^m=dt3~E$qg{o0Q($*|BD45ywXs-%rnfa(u6Mcb>_f77fPA*lYN6 zb>dHpFF?Mrn)Z&_U#BgceCI&UVa_AQWrL6avH>rZ-&;Dz(qN!1DBs(6Am}x~@FLK5 zO~2$Cy59v!5V5AjNUj79`=ksO#90g*;FOpsG}ECWUFGEj=HDV9SZq_^w7bJdapn1R za&rLm9g~<MBYMCZ<naAUaBzRw*8fajuj~0cxL!|v&n`-XC135A5AT~lWeeWzE>?#R z7pKR>>oeW;@_NmFPQDm$WWm(I>u|>3iLPYw+lrL)`@Y#RWa9TbFz~9hEfr-8`g=WL z`oxjpdmSyB)8xqeW6D5ve+Bd3%OSY`HlzXV`lI?XX~9)c0cr;@-9@jegb<HFDs+#6 z$M=U6=>&Ef0Jss|$w4vzVTxKc!kiQI_2L+0c$Ewi&w~o)%IX0I2-L&)2dvhK<s-7! z=ntxVM><d<i(0&P+iH9Ls}VLl{0JK!5Sx&=)8R`}=J-r-DF!$*t`b2_AP?1ajidyG z%+e9IAYn)(gx@qx3Bpog%G1EGOhfb?Bb8Z(3i{Ad1ib`or!7uysRO?9X_5hhpuqwN zvN2PK@Sqm@e(QW>gkV77g)fRnqkV;sm#{xf`0yaJ!K@I7SlL0{JV!~7txZIcMN%tM z<kAF<<RQ00nGJHJORAwCO2YL?)V&DM5Sh_%3rZMZsqiS73Gx9wYP^&_u596Uk7UW( z)nd(?8&5|VE?4(#+H@&LH&u2d=ruIdEK#Rbkiz!D`};hN9H^EMame1H=2Y^^<OETi zFkm*&Cm`t@j4Bu>&<Z>78}d?UM~_LvUWxn>fslr=lL@h4%j80#VB%HPAxhDpF%<#+ zhrOU;1NC?8K}Igp?|K<c?*S$W6RrqhS*iVA<O>CUi&p;1+#qU1%QTTSte%e=wIuC! z6zo5n;e@F=GOBuK;SK9%poBCrT$gOu-Lrn*Ec;df3MyO!FRh*1R_X_<W5D-W_GFqE zb4S*XO268pPJn@?hy|;4N0YY4@kD+Y9bi3dsJDWv>IL>6j`u<<2WO<TFgp#cxT?1D zfh8XnYW(U(N3ofZqhJsa2KJSwm`)$yv)50}<#~b1r3!SmM-u57<D4LnCx7P{f$=;p zJ`q)wGHeAx>W)l9S7ieuj2|s<qil3@dO2Usg1s8nN@RMkg;L-bB8U!``#_Yw;13D6 z1^R`FvU}m1v?3s*r;Scj!Jt)<Ll9B;dSZN)8r}4eTw~ubo9YH=G1HK;%5+H`*1C|Y zfp=?ATwx6G!bj@>erBZ%RU!djEYjbkUD7cwm}QlTPM7F!&C-nl9AYK8Nzqjt>Qmc8 zF)Tx}fLDYUmOqI?NdfcR;79{>BBoo1EBeK>v8=IclT}+~iIAzIE)Me$2cjZ|llJHZ zBK$Plc78JbKvrc3kn1hM(Ge1lYD-Nwq$i{u;CG&QAX5RN(I8Ty0I}n~q5<8YnG~g9 zU$C9=0Sy>vT7+Wk2n}8D7ud#yv+Y8M1ouHE5nI71(R(lsn`|}?bbZ(-g9s?lZV^0| zOFy@!sV^o=-=w!Rv3Hu)GC2odV03CnbQ284jcw(VTC4i*!3}%Zs-K(Fj{JF9H~53n z#G-9xzr89t7GlJr)*4H_vn5xq9NY{u(p|;7+c<k_rIZm&2oMB?0nLEVZ3acCkvr0` z%i~pK2y&}5t;C>i2Oz!0no=SlX%Zd)J<-Jym<|<qfm}*p1*xMjP{hR9;?YWykU^S1 z;qaJ67X@1_$3k{W5X4n@hWw^KPm25mjL#du0!F3B#9zEb!0tEGWK}UV9HQ}s2uh8e zUYfn5v9a&pj2=j%<oXaoW0TJ1Ui|>QdZw0Libk5W42*K+OI^#|LH~khqC<K_7K1u0 zngsQT8eJgbu(|HH{TuwcYO^da+jPYgt|64k<>0i7s^CyeITXzmIBsp}DyKket_Ppr z3S1DeDmt|725G9!J5Uz3jXH6oN&@skvIxzjEldJYKtK$BqLx>@6u5YHg}SW!?vjpB zGpe}*YKvU8=%EE-3L~yVx9GeYVzKpc))XqMQowKKA^^9@u`hsO6D0=@qR9gn%c2^v ztSajL8wZ=W!pG4{QZy27CSA>%=F3?|8<whZD4hHJRC5V|V7h=%{OY*{Z%TTs)SQr% zF$1CzS6_*aC#NX$m?Ls1i6V|Y-Htv0)%8RzXE!DiO9R$qFOua-65Cty4X*bHG_?f< z7+P*My{c?yaI_C4va8w2sjl1bYF{CXSST&{kUEVlvqMP9swc47D$mJ9lY3m#iOaN! z>f4n}nH3|E<<m-mf#$Fe9!g^zo&yxh(}jMpwlODO8C8@)2gOk&)<P#0)pjkWLUY?? zu8Pk(9pF@*H)-v&M<21jM#7}kbGK(cTN6M9ahX1aI$$G;U4f&LILGUkf`&27p<uOz zvZ1w?Yp{1by`YM7KD)|?jX)C`%0N4cgkAksRiZM)`K&aG1P!=k@3Wp1>YG|I0Ig*K z*q;PqV+SObm}#9cni<nCLKr=3?6Q#F!;Z2D+ZxlJ)<44N2Dn!)+GkpvHS|GxgwZX> zp%ZbdD6>>o-JoaSZIcxk@NN)Ko{(boPio$1o@O|Qm$8F4!%i!dzYpo}!e<wxT?bhE zD_Y0Tsz!BKTPDMpIIa+&1QOx>DgU%Bh-~fC1eAJfz;Bn>b5n<E@didyFM=3bklxhg z7(NFa2cS2)X|(V~%rQQ=^wH<x4Hcw*!5b_j&cZJNb*dqQnlf9Eg(6=bO4K@+5RO<2 z247yk*$9B5f&j#0TU><Vb=;F;WoWe&x7L&lritr9GU#_6VGVUyb(Gb##T(J>?+qc) zM|`g?DXWuMBA5=fa>{1!Rsf7E{KBY;jXf|_<$UFN3IR7{bfbN+ZZt>aAp0X0H#D0W z3eL(P+1Z}s&WN=S3O^(U-J>sIb)f>)>df3CrW7Kbn~2Vl{4z8{-{e?8)Fah>DT);C z#-eOLag1DYFFv(gUVe6cT@yR06_`l+3*HCH!Vd7@6=vyOygFJdf|N~-gPcU2(InT4 z&~tU}<Hw6tL27|CRn@u0%Q##HfwmR#K@8uZ(Tewgyo<*C5o)mr!Qu3eRN|6KvdeDh z>^IO!el1N4wu6r&W(KXw^2bqh2!WEuJ#KMFNqX6qTMvWUtJxi*R-0a;I-Qwdp-BLi z%=l+itk<~9xyar<{4dGJa3T2?Z^bsf1M0{KPn>dgp?5Djc!|f-C>4z2X2bPZ&=HYZ zpU~yFJ|WGWHf8ix!O?u~D3o!8!Ns=hlHWf$%0KSPmx{Ums8Z30V-LReqTCxCvt^z} zVR!vT#bZ(--5#>OG+nA1ljt5g3!9&Zt_KuWZ{IkT-q(+-+MH5=HnYjzYfYYZ=)hH5 zIPs<Lc$D!Fa!}kmr_3SaR}F+3x~ARIMxR@MkOp<cWj(PrEqw@;!oGLh4x>k^=D6cg zYAV4$iSqPRz<NGCh90okMoVMBCTVt|lKm@y3O!ftl;=iAY($lvsSR7@R;QzsUuA{O z4EL``tm>BAvQ^bZ(KVOh*YD}q^PeRD+{Pt%O<*KH=cq?vh(~pn(cwSSroLU>$OM~F zdY)a@mOYyF2GKRHF}7;W3Ckvz0o74Cu7@no#8D69YUdCOxw;~K=<pecmK|_V7sKJ6 zh-R7F$G+0e_XrsCqlr(^Wv&b6;NNTP7@le3yr{Qsw3cbjE>x+M6x9qWS`nd`iW!f( zVcdywb_aH?S7o?IE_757MFM`R3g4ua1W-W(1p0dMu9kv6V<*bb5~+10@!=LEf2$h$ zi*X3%=4(-m=3`=XO>F<_R3>81E`R&7GW}-I=VGmQnVTk8L4leO_yX+m;TngU#m-|8 zjN|VO{JF)J>+@Bm!pw&))v(;-yItRG6c&BaZU}~D#-oT)vMOgq|L|O^mlAzs#`P84 zr_$1uMh&E4RpFvTC(pt0jpiaLMq&nkixs4{-f|1pc2D~K<=fdiVk1|sRj@~u=yn4y zbTkcIhiy&)NMm!AlxSpb=#K2IT?Zv-<@2L3R@9|$;Y-Xzh#n?Sa319S#&qnY3i47^ z>IjqTM9~SW<Pp~_77b{1IhWKttrWAu9bf)?Iv^3-fu{zj%uawyK|f5VgRs^faq3>0 z{i|V0=;yS_$C#&P2Lq1&i2~s~-r+o@ApKh-45TevaFdk<+lTOpSqHkg&<|9WZW+*p zcCklQv?a+rwRJIJgOSrX7{ClPFUX$ZaZ?>}@H*!@nsk1sB?c!WZ^R=+(Bl%iqE+HU z^p<RCF}fcZVimtjd<PEk!K-d*HJm}TcDAp<=#VLLu({YN{d&pbWILHjH5VVxC<knn zy!!Q5a=RwN;m0q~P#tYPt~83GZWLZ6-rI_P+x!*YY%rhMzENeAQE{MBC>>(KLhnjV zr@_8z_XW;fpbDzuO#;}5qA_FCaz7fuW+)-RHtZC0(wY2w=sE!7^zc)PO<I$7ZP)Wh zw$9KDf!BC8QY7Uo$@9wx8siGHQ6+=M>b|4s;i1Dv_NA8+(AjKG@k+8;gSt2$Dbr<8 zJkT&(S?c=d8OKQ{Z?|)6?h~?sVYKRKaKWXmy9GyJ2BRZKg`M}`4j}ol;c>})h`1at z#)U}9eBCe;hcu~y^=DHA1Rm#9ulgzF7TirCWBkH?itZi_$zhqS`)uUT?s-_l$orrK z&HTBT@b2p;S;$!ur#dQgZFocCg(qEPx;&@*S1f&P%-(JZBkXoIX$`GxLd?<T7_gN} zCt3begcr?Z{^B3n0W7F@vv9({QhiFC5Jvn4_i7zXKxw*Z939?^9-~~v&#U{)tECsk z^^?PXyk2r4zSNTWK$TMq`7q1AevrQJ_H&Boj7goez?RFwMQFD&j3J|J<lv$J9=~;^ z=*A0IM%Bv&CtoiXc(vRxl^?c$t35c^2shU&H@C#AvpVR(u)`g0Czf0DDPSxLQc&mH zuP$74{UOkK4cB888D01!&`GTyx~#Lq|Kx=*{-9=puEcajnRueQ;Xn-{R0S@m%@`XW zMVFIBi0#?ti%*R0ONnd-p=!=@#(Q0}YZ;+)Tgkm_)VdaYPaysDW%dm)Pf$z!eP7#D zektrz-QGUA+^8{(<(Mb`4gC)}<X=UP|1O6F&UlD3Kmh>k{*_fp|KG~0u(Fzxsj<D2 z$-he?n%d6WY-oOO^#ZAq#H3KUw|%2=$g7R*Sz}6LN=uU_Jh%}-Br7O`NCl{@FaG;? z00bh6DfFKW+|}sWBZGsTK4)NfeEbIUo8XwyD$$h8QJJ9zy)onO%u3A7hn)szRTAYp z5~)pY_AYyd9w?m3l?GJi(y7pgNYyLHPD&U((m3K{XPpSriCDOdY)C^*_%P#tmYLa- zBMp=*cgb@4lFS5SW`wNTls;Iq15xwkNO5P8$&`CExCEUT&puSjoO7~kojLU}%G4?+ zUWCjL8!?l~il3CwZr-<)3(wG1Jy@x*yoFsh&F>49zY%+h)NG3^KUUSwB5E7GC)a6I z!%($UG@|VrCtyTEb*5<&d16IHn;pQeA4ZuKk%tB6YsqA0t4w0BZAyAy+Zo8beLXs~ zYKiPb<5c+gX;^u_0J`DC%;|GCTCS9{AZiV3`Jpq1$C6o(Fh`<3K!(VCMDbemn)bpm zs&P)`&UDLqKO<#VWwEPMnS|b`0I$cC*Dhl<{8x<l-^BhXre}Pu;r}pwv6%J0(9wGb zJO0>=gr#4*aCq$Fzl8(y<TmdeK!3LKd+eJ6u?=$`YNsWGAt)#Dj;?UEk0?<B5r*cu zk{NL(Gpb0Rf#yTAsk0NwLsDc;q$?%svx4LxWsA_2HU=zpdo2ovgM&9bu`&jgN*52e zO4~#l`8vBe0CcL@ZQy@}i7SZ`Cral{^iK?lYe$DBO0G;h_pQM~_dE1<9B2+p?MLJg z*I=db4cx-kXMY^nx`Ywv3ZD<3q2cqoas7tz7@^8<iaARGHS5#@ifs`{a5I~Tf>a1b zM~QG8`h|p`(-nJ+iGEsB<(sZK`LO>0aV~L2e*HNJ_={uu1eV<a9kc)V(xOkVu{k>a zh`v95Ed9@5zaM#nkD<K=l^W@2b#*cK1_@N(ni>rLSpM(3!Gm)6R$bIbk3nZV;f;8y zZJQ%WL(*(<4;=JqqF*5PPJODawB`egUBaiECs!u4mDXQIsVLJar9PB88?vM9$3Zm1 zX%(6HIcK#H&1GUUqJBztm5y(>GSMd@$KD&7t+>AimR3D>?n?ybo;N3)dxRA`W^EsQ zfH<~dRd&HGR&85M-1C8Ufz>{CPj=u8G?o-k<Em@|Qf!-T6up{zC~uyC12jn>y|w#1 zb_4dX;Op@+K;CR?y+s@G2AX^I*25{>0cD=s2P@-7o!uy95|x2mfRqK_zv&V$Sh<1q z?1<&nllq0_4y4JZ&Zgiw^$es7W@yc!(eD`Tu9tQ8AjGfGztG^x(lx%)IvMa7Nah~4 zk;$s|9?cO_BVwGgw{qu*TUs02#AP>2%rI-{B)04I<T#p4&I-M@ZQ++RhR&J<wZm)b zA1@KLl*~4ZNoZNmC6Ts$j)nKEW3O2X-@_XY$I$k5TX`#ad!%V$-8L#RqGU?iB!MM( zXA&^xY|-C9vfu?&xgOkxw`rVOmum7!&L0H=Oq|U=sQ|hKUBX0isM-*6s5~(BsOu6d zS7LLbF7W1hee@IpcE`UyyESBUJ?$#D3)|x33eCvLgQVg{nq(HCtyRn#;K;3AXyi-y zV5x8B*0#pzR%q2=j=o*+KnQ<=Kx%;?k=lgU95JiAu6N*vH;A?^US81{|7Zn^MSp_H z$aJd~zaL{fJ!cZ~6y_CGI{%@7+`hDN+Od6~zc`)_itkTgAzs>|@@gq9C-*K$<A%6D zjoT?%wA1z2tr+yV<l!%NtdP#FjL_}34nD24bFF3C#nnzF(vN<DP;%#ry)0s^j?|V0 zU~?vv_9;7aJF6N3DPw&I^2FG{YnDGA9)dCFPafc^=*U(2A#T1d8q71RJr;bpuJjWd zyho9vlPT3yv1~Gfwo}hB<4*~5=G$w{4-csB8`j*mjYdkGn=Km5`cy8-MT8O8&Pg3z zKIN{Iu5g+vF3ho;D4BNELiLp4aT-iV)FQoZ5!TUz3pq(V2%98Tw#=v|w`P$I{H5m9 zV#$J26}l<8m+I3k|15@>{TOB&jlf_2QdhXE;D@)X)sb}Ig~6T<ir78#GDElupHe6Y zhsxZt>T)y?TPR4aVON$UQfqSlKJ?u;+uP}&=@|}pK`>OIn+g%aabx3ww`A|?N~+kF zP;ktn`cbySs@}^>b-1a<ub%pvpvh_1A!ET~<+4Q9na_n5J6Guz;odzG3+&BsB;G$Y z(_Z@K=!WzSS_hDyyyxM=R?zw9<)P4DbWa1=CoNWnIfQqV6O5c#zvw-B;j4Q|pefQx z&QO_D$8Q%Zhn5^wBY={&x{6EhdxsdZqr68)k@?`{oxx)1cv%eF_BWD#Isevhg+He& zl5c>3osI?j+6B`d9d)p1GP^r?yl#4&Xp%*n7KAsiQe~soH)%q!0$7N1hy2L%H=I9M z#PK<fFSW4tGn^5veHW)8bDqVods`wlrE{!B%h^TUEiC!cL_0hP$*m6)uo7*v!F(ZX zZH$(}gyC09L~j1AYRc|6K|A8ktAe!<mPm~nsjcJ8NTtYtk?q*cI&-UC<j>DLg_TK- zjmNSaNMFsZv;O7Ki27={orqqCR`QunH8)Wc>dMg{-#Hin?~1YPj%1hU-^$PP-8v9@ zZ{$->2L1)^9r%Y+hzg%=_^vTFB!*tx%!zo&gcTLVz}xQwrKLYp1aA2gv8-mmKhV-H zZy1Wvp^vvm<M_ff3+w=N%73ag)V-g?w>0fb+AhWlN5s~D7E;_LT-z<h-(t<bHx5AB z^%$)&T&Z^Xx&1WyAk%?42KI@WyO7$!D)%05R=T@1@#Y6Hk9QG9ILGd*Jg2yC9GG>Q z?4b0D&-1!rUw{|+T=~&b-~y+_2G8R}Rq4#n#d<Im8GL~Y&dpG~Ap|q0u0tJ;Vk3_F zb{yQ(IQj%EMItjVYoq1ugOJ?-uQL2D7o7xQ@Hofpg<2d7!p??Xu*PP0tJMYTH?IPC zKCjKzwj{H;sYAfWoTMcsUfyd2UM#GMEd{l$-fN%A@i7t5EW!6u)VX$@2*A>-v7WZU zYOmNlEwZl>O}LM}gNrS#ji*SXKhg~6W%qqyL!=Pp#ngx4J&t3HO6c}H-u>RO42r2c zN&8>*sd6do-$pxoAqniZA3wGIwICF=#ZK$!Zn@P*T1g$8Zt20Pl26dLtV*~PDWq)A z7lC&)^acyJN{HCJSI%wkUOq>dn6I`{aZMi`{5P&!!yH0yJ+@1_ppCe8{g<olYxNCw z{2QxvPbNTpVMRIaXTRvL)7`hh)|wiAFiIHx6E9sTBgtm=G-cPa>#DzYl=8Y>SVO3A zBbe)0AqB<<nTg5|-VTnAErSaBf4S!QBh{USC-Wba)~o04)<Xk27XSIpTUO=4mQ4@b zJ!ffaSJdZ)++*2@UMT1@s5MC9Ryfl^@3w>tQQg+GqCM8!lap%U7#<j(NKhA#wB^3K z1tfa&wE2CE=(daZh5Zi-`maRuzf(}BnQEMjzZBG$3IKrYf25!aPL_5q|8XsMqowV< zEb$KxdOj(q2<Kr!XCE?S00VdzmJtd3_t!{R+iE+DBI(?2w4~ze?T?&(NgM518+2=H zC?1mZr8EB-clq}1{$0c8HAAduoyd^O;ImMJ;H2?aHVSj^u~I{D(G+ssGLiZ2;ITpa zFEt6Z;~><eTvR25^p1&Enex=J<{2jwAG%Nu<W4n2V`M^@&*Fzki}$G6C7A{i)ij8u z^h!Mh;$8_<ZM4Uf*?}l>NvR^wu_YY%xf&v+nNFD{AGpqwP?<C6*(g)G60H(b5gWOQ zq{+Z_QO!Ovs_QQemARM!qq7LSPXIoW6UXNS4Oh$AIPdP}?r}N+-!Xa(JqtBT#0E5d zV@0b9sNT6LniEeNplK`2`*HE{k_@Z3mmQ6vD9w%-M_8dE)^(w)N6Y?x9Xet=l{hHQ zJ8$UE@cXO9<5l~=)YdECT!_-+N;*~Q-NS3p1G3eKFSH3$UkOAuMdrD1OlfHMqh~w? zn!gcpc*SG(3SxU0^d5VDbIxE$EE)IJhyhd9Yvj0oaWebi6Zv)h;N8Q)g~^N6@W_}A z2fr65H)c${gWDjuIR09{xHz4c?0|U!QD0gTO<*?VixLT0Ctq3*bPA<Qy)<H36KlA| zNAIE2;OS6jA_u7y<&j1eMI96r*(kZxypj#Fl<kH{@Q)n0A0MgMeTzGnkT+Noh1!{S zF5EL!iCGlJsCJsDu+Kscl%YqDyLQrWuy(S{9&6U0*?G?tv_%H$l!Ae~+J4Rns#XhM zW~_cDOjz{VK4tx;bBzkBW#mG3ec8Wx5)j;fKFM(RCsC#vo%2*FB$A(pC&A68w|;lm zlu5{=AglW1IF8^+!xT1f8UTi_a=mHTVtlS$DC7#{RQ@m>F_J>9lQqcQ>R2S7Y8@j+ zl0+$$o#{Z6yDOvtC5YohL#^4?1;~MmS(kt55ooAYL}F?~y}FmOWCK-AEa}iFMmQ2C z!&WXAO@N>oPBv-|zGi}DhgE;T!^4#V03u~r#7f7wPP0s3Biok@KYDu6Ihnvt%oSLr zp-NYQdZ}h3c%IHr?OSuErZ_meEei9Rqm$GNQ6qTHNQ3MKHL&gqM0nTUXT5i`3xKJn zreIcRzn&UVEsyjn*K`lfK#Q5O*+6g%a!Z;s3tl#O43fqhzS0%XiM($^RLq{QyS<Cg zOE2UqGW<zCaM}wTPm5;JTL3?r`kS})o|r&sqN<5j`_Nq0(%|y_lIaUd+?z0})L1a5 zwZYg-RbE3hCwjqkDC7WCn{gJ`E*oW%?3+di-5i*suEN`%U<!kJ-|<*GIhyvBe|r8K zYD2z}Fe1-$C#?KJuz`(b+q9qdrL3phc6EJQ$+6pJ*|oyoepG;x5VlGDeikvr9kv<w zOBA}_D)%J5^cA@FmSs*-Rb=djeL{iXeeHHV<6!^w^V;Og=_@5Rz{>%=ODVB|1u-Xy zmhu_^us>1ymuy}_vtj&$J5?eNqj;!sBehRh22Ip)yut{?Xn^B%0I)2IM(@Fy+0J4` zmU2lu!ysWDohus7H1n~)Q{We%N(W5Q!63fkEPkPDTx3ALJ<JP2ZFoaR_q5+8JK!EH zkpTLODf%iT7)XjsnvspqR9mx_`L9syAzCA~A_E$SFBnw>TYp`*tvkB<miETv-R^Ne zOFenH<t4ht`(8`Y;!N#DT=^fg#_wlO_hIycJ?-W5CDtIm?f&JH%2+Uzu&zY518?`! zu&)n{V6=PPkXBzkfO})B`CaSF)Gt}r)GSCcw27at+IsHhZCJfP3w9@>w$9p%d^0PC zY(PWuzU!bJL+ya@a_yie3o+ok3Vt&O0HnT%BdIFXitXDROiCB<vz4RyGUp)mF;2OW zmpM<`mY0~*q_7gO2zDOg&^i;pmqXMPcmdq%@zmR}sP$`_u3KBhh1qzsrFMs*8(q4- zuF3IYGE_g4FoDkv83|?fA`KtwQ}~@=#W-DsW$tyY-d{^dzSFn}+^oA*HP5!*pRh~h zG8oE3aLTk{8n|_mgy2kRTL{lK?zQG~1cF1HE@RB3b&wD@y0Cj$v-z1WusY7yGS>~6 z5Y6jC<BCBzQgrRfmtFnCge$C|*gSc(AE8B#SiQEgaA9Ij+LFOkWR|6~7b7tVU6LVQ z9?#n%-4~*glU`xby%I)~jS1tjw*_AzER#lW$YQ9??IMCu*JD_*O4*@tyQ;;ML;Db^ zrxGDmB$b*Qk~|pXH!TL>05I?Z%r2LpD;r5&aevYnSH<D-8a_UOm)70SQYQx}oq#Ex zbJ<nn7PaZ*Lr271njf@GG{^h0l#~BhyNJ!x?1#v99Z=ZxLoNhi8j7aVc_A&`0GGZ? z@xx1y-vynSDHRRUiO%xw4ELM6zM2r_TMId)@p&{b8g1q>g*0N6<b~nExUlPD`=PX{ zOf1{=%#oc!X{Q~P*EXw9;WdcULM>vn&?ThZ8YLNogKv+qXgKalh^hDgTn!%F-?t~T zj~~6&?|)5|SuB;uoG$O!1vD_C>L1lu8F06p-Wx1ur8WG%;)k$;j!r%JJ&n=un*)(q z&(uqKIY8ZqS<Tk?I;%Guf{%^WzPo}q_Z~ub;*K5OmH?>I;|VNmm1VPqoyOZ?$<CHR zU?UmPT??oL9K^I0I^b-ZJB?esalDfKL3?3IF3Xr=U$svK^g%4Q6ENhDq`VDukYV_W z{N-Nh8ad{rtt|I}B+}SYbgk;snGo6~W`1JeOI-nB$&-Fp>Zu1ieT<!m&1>O)Uh!mZ zlmAL#chBIjXjboSh|(;uXJRmlcIf5<&LHH9GrrFw_wt#S&Iv6shHGnHPif{xWp!)* z&NeCk)0_F8-5Kp{Z$*?{4r^-=SDzWU0mOYw+1W{y(Xoo+uLCP&R<XHXl$K2bMkXkA zIuuhmr>U3Dl$IT5Q=<=6wu2UHbNe_d%j*d^!CX+maU4BLy{Uzq9CZ5i1vI?1?Vi*Z zhdif^K$Xq1h^rKhyGrMUA^!9`=~#LVi}N-VS<Jfw>@`HW+N;&dhnFjGJs(>Z_V8|h z)`20{bKEvmV}5D!^d=>uuvVKpCbGDPS1!FV^_q`=%IDwBzT}<s%oh~si^&tE_@}?h z`Q5O$F>hQn=Au8FcMQ|{y4mUfM5OVR@ypw__!&UxVMP6+nr!}#B4p@hY_iRc0&1XG zNi%eR-YXc_d)`>s=euki=Y1{li~dCSVDNFm&aDS-IpA*k&7FWBW_c;jYP_|ufja1@ z<&4$cY1(;t?bchq>>BB%R-`Kji_e~f{C+5<$bPUY)yo#O1N#fMz!%@4y~ZD+E_~oa zAJ~n4;pp=Ryulmc&-3Q6CqS+IJx9o%JUqYgpqh?;;DvlVUp>?I$jj<Wy!M*?!Ebqu zAN_!r?fEKx!9QAh`|vA2ACIF56(aq2gJd%HoSJFh-~zOq%Lx8&AT^mG{ajW@LFbOa zILci3$Br`mwB6QX>-~OKI|}5k6%zK^QRT1Vu~}Ubu4(YmROR^aD?8_3548(lq$szy zTgww(h8{tkIt%jf-LQndxNV*&eNH1^6F7`_;Z54{>9NE!52I0fZ5mw{zbVfzDR0+= zpQq<c&-VYpb^n#o{&%kXyL@u(;%|cQtor|#+^S&c<oush7st|md*a30Z&U<S$&y%E zauG<>#|2m1ZpF1^z^zI5nhuTFilniOLkmxBW$mZ;E`u;U-G+RwjgknYQDm;i^Nm#) zuFsRC579iZzDQ(Nq)N0)<<NuH_uaYh>_TizD(8|WYm#Ll@f=S-=N05jrEwt<i3^Py zmpbI|iXt}HGHs|efe@-QB2}xBLY9Y+E`{j+X!7LTgyK}NVuVJ*1F5DDa)}g3DqWC> zjjIpI8GzKh86Z8a5Q3<q!AQiYHQ|9K0<GcJ3mZJzl<JvG$*~D$4KJuuM2b$1mJV{b zR5fr8-^Fagfr2gOJo*g)T>T^X4Mxz_QD%JS=J|CL&8+@dO@s?ovj}J5GPr(?vH;4X zcFmB0Sf4ZH#2SF#k3ry>C6z%BiBxEQ*HEa80r70fJhSWyJ$TTp`GKVH`oe>;0R?U@ zp#CWO7hZ8}^PXs-6w<+3y(R*1e7QE^dO#X|d4LTCJB45pk|h4Z#>l{}#UgqnB7czM zsEWhvAw)|zaDY7%QtlBnW7l~^`Z#)VG#}81pUa2W<E@g9zmK0EPah5}{m8LSj?7rS zSbFg!hF@;f(F6Qp_u{*%KE(lMO)+1MaS6ZzOhUeu*idViiK2k);Qpl6#~{yrV2efK zWGE7}Z|xxjs%h<^YC?eyvVcRF!H@xJNr{4FE}f3W{W;?O2NWP+IqkAw3w6ff$K=a* zv3NjwoN^)oLBDB+du6@Kv98_vRCkUKI}ZBOH(`A#y2TyIN~BQZwfbES7%jT^B9}D% zlE$R!&9?;;i7Lp}<(u0q^=&RSBu!<kMJJ4Nz_ctoajMtd+&mS!VN`#LBM`g%yS*<! z7K&n4%Z@kovgwCf8d#w_&bX5|7}us7y=4cZlq$`jH|q`;bP+YHH*N9>cBfs>euv7_ zL1W*<*9im3_y!RPmItJnBmo|5AEC8hw2jor<fyk3Tftag{U$Wly6rQ5O@eNz`PYE- ziL{Ff2P#egkbuQCHKy&L+nF;eFx|au*pz%S-=Nl!Rii``>tX7>0a$hdF{E&BVQcy^ zNzF}TFc?4CXn!AUpmWD1<!pE3yAIm@;&O4gkko*3ku^@~x$;719V^ClitejWH06d7 zJ`T*gie)(ssX?*I$bG=QMm@w204wGUlImuicf;54BBYK0Iymrv8K9aIL%_6)x35V< za6@<@z2X5c!868Do-{s+3AGxP?j>dzN+uM3&#sCg4gvlpv4<)E`MwM7k$^b^AdWy# z4`6v&GlpG%fh%~=y&xK%rnx@?n0T0fKk-sm-NjodW0v3G?%pimNDwZ-hR7ZBaO=Kb z^)EJI9t;dC81;Bzh6adtkJ_QyL_eXOWW%Dw&>5~MC2PnaaLf~~k+>5u7nI{XAb{!z ztQKG=_yp&$p~fV>(g*-LRhu*{oIj`_kqpAL{C?a(u<q;bX>%5<ReNe610BzHAQgEi zlSnhe^Gi)6gf@%l34Z7YIn7O2xxR`4uVMcDn0cN(0thc&hx%$bdE$+?V*{oEYSD}6 z1XXdrR#r5aQv-;%c(;Kw!%2P?%Xz?n`<xu<3*)=U2m*SODpA6Tl(4&2d>^gLmj4W5 zecchP0%HuSdwp_1r+H7W*~WY|beKr6GT^R0%*o4tzkkioV}NMI4s&4m*?EpL+>KCJ z&u1ut8A9wNH4k+zvd?HU3b$sWmpayfjWyy*G{&rcH5f0|t6VWW0Hw}R{?RI{c0ic- z9qA=j!lYO6+W0VqqMT4YgNQ)#I5QxK$0^q_bJNrbZJ?k%maG}Vpd0F*xH%#b=z72Z z!e=!9H6}9~Oc5`az<zoDMk$iEqR;e{srKF;f&x3UGM|KkvKGg_W;Nh(2#bPW+9e?8 znx@1lgbbWyEN2kp2pYoyLHPsvsz$r}@yd?zF7?UI>d3i<E^-j224z)XyZSre+;vyX z)*!nQ1o_dg7^>+Wwzi~6MWzA;x4hXzH!<dUQ;^WtrpeCEOh)}y-aqQ=&nB%|bo0~n zLB3WCC~^V0VOKu&OtNSfJXLlHKyaX^0h$l}#bb$?a%&;`uEo)MA(xbFjqa576legw zdfA*7=wgi-SQm~s_DCopZZj5u6w!o{R3O1G2%B#u5<xsE<k+~ibiyeUYh<`IJE6Q) zx-98N`=A6|5j_Z00Z{~-H3@+DR*O+6XgmQ@`C^0J3?HDCgQaTFYqG6|8j(FyYL{<9 z8gPds+oUShM9%=YIzZ^0>S7?{c%ky&1d2x@0#`qI(*j=_xoL+V`FXvbleb6(+91<V zvd4QxBXUCnM$KYuYnHt1*rF+-A)a1YN^Pkf3%)fU9PtjhQX_TzWXv1Ik*d(Y*#d`{ z-rmZdw}JWUNDQL#`kYOmhcaKARp}}^Ekgm+3v=L+pWjpj>Y6PhDvbjqJ_(Om<8lpU zr(ux<PryA&gLlH>1~zOIA?98YoARjuzXDp7rh+gd3`1#y&=U+#@?eWuyBM;J%l)94 zkE2Y?={fN;)iDkX24j=@f)I*nV0xh-k|EgyINLC-ToseVhCxJn@B32Zh(#l!6}xoL zN2q3vVA9VUGYCI=T`;d;9XMcCg~G-kh^SNbU^|Wpp%uYOqoSV&D3C{STNv*h&p8?d z8QXQC*`hXZb;j0=SUO=LBLIsBMJhPJ9JavOQ!^5Qe}CS9rkHOKe&{Ks6JNO11iE{% z44voyz5Ar=o3@hF#48W+8H|{VV(-t14yU||<RZ*K(?FFlAiS*eAZTWED433Rxt9ko z9*9e90g5Z7zqKH~a<UoHZ#@-VC##vm9V%RJZy974hM{+89$u)S1NwY~X|%B`RcbeJ zKJI_7h9qN_t&-_eRC3Y+NkTHwpRd{O`gII%6-NUSAGK^VdRkn6E~IMI!%4i=9&NS* zHL}T)G?rp`_InbqF{H0?ui(Hq`7A;QQ2`_1z*eb&*Nj<BlWf7K$2n0=xLVl{`c7#B z0f7S^P1B}pJ#HbR7{&Rqq~GYXKa-uQgC~Mtijp6i;&KEFXgO*?TU+B)npAzz%a(pV zm_stw@5~x#-j_7b+y6HV-0Z55xar;19$x3l{`zX_+6_lP-{u2j=`37*%cXcnhi)f` zoA$O7<TZ%TENS0@PSGsJosm@q3dx`OJnnlU+^;7AG7)WPJc$oeG2Z)3Mk2inW^#z1 z^bf#z8yAo=%7;qH!F7nAQ1SO&xls#9<>$n{;zqs+LOv0a<1j648kuuDYnJ2fAMC8} z{W!as=>0OaK4})?L97-$Iu}h3+;69!dspup?aPNpru>|@UT%Kxb0)Uv;m>gj<eclF zSVkzoeL{i32C-ogC4NHT(z<d<9~yYu-N)6X#ihUpPpOxF<2wSkv1{hDx)w3;@BY!} zr%>+G?K20|mnuYrr)MqEGGRAwcN+r``}u(L3;z3K2>h&oN*^?!Z<7Q-8WWyW=uzc$ zM~7J2PqVq(GdifKzSLt7;FXzm!!{r-fhQy`)4~2=3$z2Zuv8DoSL{x{25~%xZG*x? z;^hAO#;o5d%rAf_BqKl485y`el&O#=K_7N%?PrnwNlX(U9<UoEOnXXt7zdqbEL!!L zf;+6t7<ieaa~{($r78GETpX9Luhw<g@e3lC!LnTg5o*dj17)Cixf&vRn`kpbg>!Gj z<1B@68J-1a&MYCbN}YKaIlYIlGFyDqZowYtwpD0?D42;47cg!CcS$fiUunD;_;ER4 zi7v6(OV-%nIxzNGl!j<XycN|;;PEVkCD^3W;P(<Z9l1mO8S~G*k;CLYp<nU>AJ)2W zrE9MG){Kg<5uywR%N`L)(DDN6QZ;=ZYv}Xa%JcPWFDKgSiD=y4?S`rI2+CG8G(=*+ zK<%Q__1{IM?oU0(g10@~Pl|kH{lpdNx1B@ZEwWhA3gP`eLT#~l3(Q13GtHYzx>MA$ zYl3Krz$4Vd@C7)`tkus&n2mb%K-BZbfOxt9X9-|TAmP8W$kohMFrc2SJe4hbrcE$( zes_}RrGItJw$`~a42!#Qu=>#t&!A~3*9wE8YEvL5bG+e9rex9keBCS<{W7u1<J34V z%^L3#Su@O8hzhT>xJTJC#Sw@k{x<S4pW@fQp9jLruxKAp<MBKMcnLD;&??u?0AIJh zHw73pevn#xBBg*zSNn3XRI71amI3Vod}<XN<>*&Wc2Sh_Ac(FDZu^b;cweGDAj)<? zFU<#Q9lwcjm~;rCS^M+haHd7J?m(YGxn7yzmKo5qy`<<CH_6LKLR76pA?5*QrAp+A zmXmy(v{WdF(AI=V>JYbt3Xh-CaePbz&H#k7wfJyy;t(S**vo;DAx)ManR_(wUNKAs zy=)M#)+6@B1aI9SRLRqD!idTOIMTZ2@h-b<>KTR%;eJX{7QY~1tL!EThxPmv5}rS3 z;fA%V*DHD_QQ#?+P4=x?8j0L9;COq%**w~kf-15D0}s7KY#fVnlcf(G5}S=N#sT=I z9Ksx9mdshSFJdi62ES^^?W#68H4l<?-wTv4A8rWjWgtnaqoB+WLUIY!tiUqk?{Jv9 z<&->TTjB9xt44`+Z(~o@sa1|9ogBu2J0?HaJhC`e2Fq~M8tYzbbu1#n_BPb2IN+N9 z>+ji5JKLdxTHl-IJVrNui2JoSz9+qM+w|^CE^Lvi)cLkD<NTD9O(_dQZ8hKJh<k=} z8>_46STrDizQF0i+kOz8wG{IDrQLM3vR69o0^NUt!im(7o=?h-rL-2STf+`<H_{?s z-cv}VoDs3Z3}o#LGz50A!GM`O+sj!(uUV5NB6~A&7|`S}|9lrWQEFaLC8>>CQ@e?c zUFddc7D;a0l|b;x#ytcz?`G<4tGEwPz5>y=ZuB?8nOS7##XY8Er^4k@@{92*<3HZI zDo}xaETXPRz4F>NM)Ih8QgH=KsGqV*?#y^EtR+g`WA8fmK5x`Q&&GaaR+=R|p4NPi z=fhHaWO~Wz)cY_X(#%>aM)|xzjVux^H4<KlC>?&JFNu5>$}#abXcy1&cwFS-=)?G9 z#?pr!MK7M5|G7_}{HXrLnSxh~FfCXOwqDEsklY+OY7J92wM5n@fP_Z7L>e|{uDX}7 z1|Ma97IS+H%c_PIMK{On!iwNIYrjAh(>m$%X8nX{YAzQ|;2fyNks$xf5y4jLpxos| ztddaycJJw^STPBTv1n~R>NRT4?@sVs=2j{cL*4QCoZZA1uu`UpFt^pKth5}pq{W>f z0}la)a1AtYzRCB+N%6~)1<H=ccWW$0sj<67>_+H=@x61dz^LkmD&y56i5slVd|vNI z&KA}X_Ny+qIN^6!jC`Kz_vii^sPkFDIVel8See?r_oIjles?s$%s6T)*I4Z;J0LHZ zuaM>whO_HJ4V&Fz_!nJgTpOHOyR+s-!zgso2u<-@P)Q91{fK;SoQKsoudVKa9~ZwX z!~7uUS6FC~_|a7J`cO&N+|jrMA`>z&$(yguXtF1}MUV#L@hiYQ^fe6=yR@jUme+Xn zg~rj5*#?6}EzKQEWs0WeDm0Q+(~MnZTC`#NT0$b_0K<HA&QkwcucOoMk<Zy^<N^Co zI%c1RdD<wOp~1rQv29Gin*<>7RQJ=&a*$DM&j9!xR6%U0si*e%CiO&S1S|RNa)5C2 z0c>i&@Ld!)+w(mkc1TUZ(idEun2y_X@pY8lrIqI{2|v^H?;N|;0^6n&9>3X8QPQ3D zaYOxuNLtu9qS$uY+hGDt9x}gl1yG>@^Y$BKbh)nbEn<UF(Nxr;?&VdAOXOe5DF+^m z_e;nr=a_+8<p+K?Nmn+nJp}b7Ic1Lc4c)ueDSm0F1AbIv(3rn7QtC;qEAHDE4%zfD zGiOLmh}<Pn9#=-xio&~_OCB}8H5UuZOs&&(z)c5v?WVZzhF6`c-W_CUQ5rU3UARXz z8^3Otu3fp@rPik+wEIrkbjHg`K+LqPe|u+35S~%5I1nTI3<7yc`QT~Iy6VW!JRA{u zRRisS<C5L8g~hY-^TgiZX@8yFSy~uz`CZ1?ugi$M9I+;{;Tg3qtygVUo`Up6&wM7W z*fg;fHWoCiixU30g{x(B`{u6eje0{<pxRrps5&E;f5<Ch5xLV;dRlKsCs1Y(!%%Eu zZ-))2qiyhd__ffr!@Zx-t2TOnWp*jZjvo19$xEV@wK{clnVtqy)4w2aSoMquLCM$1 zYkQ%rfR*|Y<PrH=XZweX9{r5mwr^#lG-t7yLvJwewpgm}p^l=9m8hOLC5f7#<vUf& z*Ud<=0ggU}sow9Zs-C=&O2q3~sNWePL|p1IfHi?R=LJpFzg`uDCqMm~JpNkUEhu+% z<3A{O?eGMlMaC!T!0q3~6u%3T-L-E0#g5g_&xg&rlxMDhJRa#*3A)@!wb}#@E~x~6 z4P%4rgO#mc<TtBwypBU_=*Z;xWX93w6BroUZRp8`Wrw{Pj+O)tnllDV<bzApMa74Q zPg2Ted@?MS#=mM{Q_l%(d$GiT0l)8tKHEi}wKtwdwzqka8=@p*%OAD?P%&y3faP~X z+;o%^S0<W8ErR2Wo|;kF3G&vejE(hlF~{BT)B5<(f|2hn8l#62wPbKw>p11Mt9`)| z(v>T@5;?9)pUp0d#eTA@TU0JTy^)e7rdA0jTIf33hY!(sQ3Bx?WiT*)B+F1)lxcNo z#v#A)rGc9S@)J^XaHiMa1iRTj@v^NOCT-r2$K!S<O91G(=kRpS{}1i(Ulqdt(hd#O zu%#`M#(tOmE!+Ps2>`(Q_n!QJtKR>=6y*PFLA`^$EuDw0%?*zA-_*^=Zhz3K3z_X4 zQ7tJaNgYkzbvG^jKNA{q**;SOBqW1mf_MT_Yp##`_UHinDKy+}bMDJB<!phwqekwH z^g(!EF34aeb0vp~8&}UcxpVTvwS(-tw`iQd@Q|ZENFpVej7|8<@V+oalT8FkiS3J3 z-dO-e9{+rw-@t?5Ws)QskR*}BkZcp_kswWuTLKXW7K)#%FrhIeQiLZU8fU$4ew;iE zB4*wPAm&pCgILphFl_@t)J+imFUH<6NRV|~8!TI0wr$(CZQHhO+v>7ySC?(uw!hwI zCg$ur5p!cAGXJlP$o1x0Pd-RoF$M}QyK&M^1q+5ohk!*&lqr8~PamkbQ@lT;CYTfK z+cxEPZTUlTZScr?AcRrjDYCjZO5Th`ezg>-pY>@=Ec`w_jrxX5!0B4^Fc@bH*+!s) z_=|*CrAjz`%bi-*UuKsg8dx@D^q%MFQ2-8)Cc->h-oMlno;WkPA3~<3CH$LBD$#w# z1uZH>h^11N__u8f(+h~P2P@|}VW-w%H$=K3ex6^6cA)gAl%SFRNRg2~Lq7Ck+H&MF z3w3WizCObi={TiVWnr?QEQVR#4kLhgB-H#GUc!Mw*k>0XC$5cM0$(hhACI4(#P@1% z+bUltH!o(w1GJ;PudBPahqo`7oZZ;>n%Mou-P#_j0X~U($kq^IJ2)zbWc*wH_@rgS z(H!Ni#_;3;(sh675Oax=Xz4HXR{o;!448I78cO}?9Uv|Uk3tzS7Pmudmri>GLkt}T zIs$vi;Pngj`Y`8dVU63HX}K-5X}D}$;C8PfceofyP3{%@ubiCRkG)4@kZ^)4#{$GA zh(1McwX^=DKMUM8b?6$P1>hYIXnC%@SL|%#H!%IyU<QYceVF(1Na$@T3?PvLYlIk< zOjyz;$s?oR2<E1T{n0`Qt9?_)FvKa4dGd4tfY5U+$zZk?<9*XisPDjTx|-`W%eF-) z<sLcevK1#?Rr83<#zJ1<@GyXm^zS~q=a9kTCiG4Bja11b5T4*(4pLT~z-S5xOJ?Iq z+_H~`X(6rTG$11^smipF2$@d&{z%oczI$ci!4j)M^_pX4t{VCYYvmh)-jBFYGe6mq zxFx$)sSHZ7sY)h3gYuJo{vo3o4T95QsX`ZwjyAd_fn+S8sv@=o=b2O&(`PEpzs*qC zX;`Jxfs7wI4MwV+8e_YqkGVA`j4-TWi@q{VxUutEaU)%Q=a_i(Chnb1ZsN!^&6dN` zWk!|jn=hx|tvoLO5(w<BXUxttHmd6PIiPP>QCO|P9nUxMV$To@Kl_eAmENU)#)A(J ziL!}ML54Y20CrV9^cj8>vhM?|NEzwT3j=?&I(PPt)}zgKRsA1$RMBnM{7o;AL8*3) zp@D$#`5NiV8DO%YPrln4qz0+r_yTCWqd|H{=&|cel3qxrTj*;?^8jAN48%pof$p7> z3DI1>*H)w1SoKL+w*vOQqu9SdjsDQZuZcE@OfOilF6=UAX%1RZ02xLCjXlg076?rY zZsD|jWk4Q3Tm)<1f&^+O?bSCS!TMfJBGJc2nM?oG?DZa>&RuZbnnvVWtqHO|Ej`P7 zF48*5SF|wVX<}BKLA7uMg1D=0AM{oCtASPJsp_gDpvB`5`O&v=9gWqnkiRx}?mDnl z8>=J^Cpea8CL>XqMYfAZD9dnxUqzLDRLzSzS307z;(sW0t>9;ugw~+KeS?*Vj?0$& z6B1K1S~e>~LWikoEBdp*tAOeI#As?@?QPXZqeixK#!RhPQ5O+es7CgGXHwr58_v0A zfMOj;Gu168ZX|$JU_%>&sT3U(s=<D4BjYMx)WLTq4iIn1H6t?0SXcq8t{m@ZPP!uH z&!c!P4M&$IB5OFLo=Jsk#RGDryc;YTb5WA+4c`1noFsR>Z@|k~^VrGvp1Ha_?Cs-U zH0h`HjS6a^RYT?&Lgt$c?Pb%9eMBLJ=>ux&tWS7!u%D)+KC0eE@`Q=|v(Gvhye+aS zhy(=E!=@KKZA{wdK&3ERr$DV&0yi~RFN16G8=+r6<-O#-e0*UFW*en5qG^P!i*rH= z){pYL)PmW5C{t+)9wn1ho4Z!XuP4Y;u$zb*^#@D;oPDz0cY{Z4qzCj2n8R7Zkb}@R zq%#;`^1bHam!^}*SN+JF&$l3DJB$PGG<XnqK}hxOeN41&tpK~xNT<MP!jvW|kx3@8 z%cv%3LaM2NRu-_0v{HXYd#q4ufDL1uaq+~PO$Y-Ufq~Nf!MxbmYxOh4*>`&5xKUp_ zJ0vZSr!ry@mozPLJ^-c2?kpe)Rc^5{s~4ybFxEsMi3<SMg!B;3oMjgGjUXTLWIqIw zW6INKf}Igpn>SXY<L~m9vheE#g5ML{uK9{!D8n~e!YJMaIFIGblV5Y<RfK6;DH^Gv zaV?r$P%l}Zc8=-`a653uwr9D(oNNJ-KS0%OTp<T&?9w0jT~1v>`-YttDc<15oKZe; zijZycD@Ie_5rMKBBTs17{TW73*{P=^+-ri8bI0817j-`2-X#Y#zHMjCd8XxQImON7 zMHR}kr375v5bcKT$Kvf8(+fuN(KdDQJ*Kc)ZY4x<&Nh?)%aHSjZ@D5hHu%KHHJg>^ zQMt{=qP)b+l&a&XHanZa-~BTZ`;}GMT|G<_S52i^-UBh>OiTXC0)#O)64_V_>(lXW z`(U;e+XKQDiFVCLWng_O4y6>l$9cae=x0v~bFW^Co)Mgf09n*VbhWsxJeXel23(*C zKO}B64FmnRl0jxo9g{sl|Gk*wlzOy)CQZn1y-@@t!UzqRx_Cv@7Cae1(8>#y__tNN zA8XOo85&ymnCVIB=fnc+0IA~UqZNFrNVM1EQ=mjX7D=I7>WRHzuvG=?j5X~P6P@q= z@Vc9#vKu6bB@iCu{^Jsx*g<4@!gbS0tDMAv_z?^Q0K`?(QRPsmUM%~5h$rsSMOK69 z<X|U-*d1{Mt-EFer12Ybcz^dO6l5yvsvqj3-(#A<eOGa&3Yf3Q!?_HOR$JQf+(g9V z$^9i$TPKqnh~Rp|7F+ssLM!abDUYFvOLFnv0#M1lHB5AS*--FDOHFp7!fX@k`HIR9 zwl_Dm+9G$=k~7MrG_oc<DCF`T-E6g6<g%Y~_=$3yp!Yrgn!PWZJ`cxJm1*7El{jRj z5p11&EYavUWy<nUaYeTRr@Mzizut|LG?H}q@cZS=PvdoYunjowbRTtZxY_&VA`bV0 z6habK=<uX@GS`DH{>ZanJS(7+O}HdCZjS~Fh_b{Sll=6Bh~C~E`=_0=J)CAXz|FtY zu8z&oeUNQ!SEji=U}9jERzvze=PHh!0sJZ`b1k5f*y5@!SH=TgK`naqy6#n5#3O&+ z!IX$4jTZsrj6J@r#XhM#WS=S?3GOL@9U@947w6=OYz=###`-PBJ!T%LF-_ROUx8T! zJqfk*W<Qlq6C+w}GZGeJ3|50vk+Mhw($GI{St77xyBud~<#1|eYCMy(;>JX=fcg2` z4|aKRo#nHtk{kM=?kNYH<N$_x5VEN9I48UUn^gPtz`3GB6+a8oXw+lQJL$)qo75T8 zK4mjx*cUpe_0-A}$SV6niZSLJA_o^l{hUosh*c#I|Gh*Kd-e#!wX?oK{xD8l_W}*! z%^e9Eq6L8o$>snAYdM}N7QY(c#@EBwJ=W*k&=_|5h|yHY6<Dx|+%w<C!EN{)%kk;? zb?|I%!RTTz3|=pWf@iY{&n*Se##%#R;IVm9iL$nT7jLa+dYUdTpKxY+CkK~Tq($_^ z>;p}1aU{|~6?(ohdk@Fcip0~LvGZ6aty`h0PrW|{35J-BFO$un<8?*icg6*m&+pdi z9XDCR%LRj*0EvhdPZWjdh^=`{vAy&+bxiYc9miro5?yqm0<BEanN<>W|4(vnha+rJ z-AI!It$2<ev8S>=t~DdD-g1zKnv}Y=^DNRKw+Q#uJLKFBCFSeZE^Uu&)wLf_x(Q_# z_=VB;%DqRm!L!=Xg*1ha8`kV^y)3?xSa{x1#`zkai=Xt-Y{ZwaND>R{bvlJi<!hHS zG=nEF5ez-}(^?aKo-V7UX0%59g!-bADP>jHtf7fka+ua9FIXA{aro^ETOlno|G<HT zrvx=3R5h%1Ops;z^t6`bl%w)gZMY%4Ah>elYEB9%Ls1l=-J14zv)nBEg>bN|cD`vC zgI@gH&r}J}KAnKh>*LT6@v;tEou%tMbOL?Y#uWvpIg79*$xK9Vyw;U55TO1IGX@Yh zxSrLMjvtjn$Z_bMl7kn<*G+WpIuJMltfjTh6F3Jo`ZK~H53nbGE^(tjEp=H?zo)PJ zaX(<)U9Pt9UF1p$j%WBC^lKpdcTl2UIE#fYO-he+M^6;1x51_v|Dd&RURV=qY_zF) z<(OHq(>gr$9nTY5!<kaKH-K0i*xIW3ZA?Nf=&mi$C|Pqnmqcg^EdOcS^8DGR(c^Y< zy0N9(H4y!rjy~gp;{+T@t8`xil&W%YJrLtK>^3~)^3JP{3cT+0zV5V%31S&^+ZyzC zw?h=!Ig11g7a>$%FQlO?Q>A5IK9Geo+0<fP_!O<??5YYcyL{~rA5QVR(hh0Vx@iD} z38oxlZR>oVxA5&R6;SmaFjiJLeo=5^FbNFk7eO>k17J8v3HjYjwL7bQ)NaDIP}yR~ zrscl#rkM?$x*FAtBoDj5mdG5{dPWk|X+rf?+lum83@>Aa^z788wd&V%u6sgcVYpw0 z475b5HS3R+kz~u>+>E43UqJ^W@~-5wpu?%JP7Ja!6o*O}UM6>2#DM89l>LW%lDDU) z6e_X9{JPAFm*J-T&I)vk#@@BBsrb3!UFimYwmZu4H}rRbUCTn}vzc1w^EJWuD%ZNp z9TRYC1HWvSm$^twnC?iQF?YW)K?zS^V8Epv4*)N>fUHk-FYoF?Q-|Bb<kFI@%Jx@x zAKL4d7Vn(Rt^0;q2a4?m?^3nX2KoeT+Qr^G8Koz}A?AUK1WRxQsG-K4cHf~vOOup1 z*8N;zX_c-8+aD}s<6~fmFIpfZfQO!i&l1=VGm1#+B3JOD?)1(b6!REOiN5$02I9b2 z!+zu1AirG!$2=BBF(3GM^`@t{^M&`!rgq?*80LnqrNw39@R(Q|+I796(+*mZk1$o| z!qUo~m_yIB8fTqf=>@j4Da+<Bblz4J2EaqgZKO4ujq4(CxJ8>!w;@oej75r<m9Q;) zC?-?%oj2L=P5nYHMLVKZl+}%I25frRDkk6?4vv5Rezs%vq~vq{{!=iZc?%@rSi^pm z6mcW+0bf4`3ynH!Y&SUHv}v~cnWTAo@T@X?wm^$60eAj+BQqGR{sH(02>AE9|6d^B zA2+-q@YI46AOL_9(EpW0q~K!bY$9W4Z1Nw?W{h&bZ5BU5_X7%19%2;#l95wkM0Mf1 zI*V*!b|Fi&0m>>#XH<mB(+*dszfcM*B^pTMKVEo^NYgy&gOO(B%*Xn~>4*fD>Y}yE zxYDD@1Bxw#W}#AmXbK%&An$*PN%-QR&C2Eqj1<xPAIr176=EQ&<U^PtbAbGjr@Kj0 zv^^Sq0csE&D?W%SH*FL&@f7W$vK40R2*?vowo;8yZTWaEa>54v%F`kOE?G(YA{P9v zKq<5yNb2c1Dv7jWv>l@^DiS9}*5DXO!$H4zH<4ni?>SzL3urGh)(~=ZbO$3EtXzQz zV4E<>W?wT6jKV4JDzYM(6841G+QHuL*!}->8#w23kl@2F81=!BtZTm{k1*>E)LnG= zbBqTli?CC|s2y4*($;vcvtGz5m$9@z%{z+V-pKV~7N*qmBvh-Lah-M?cE~YvinvA% zfb%r%3`lQ09<TpNXp)1Ex0CLpmL!lhyJe9)SZu|Izq{TzwgrcubHyU*bWa#Cg=Wh- zWZfRl3hqh$JJ#Ov$lChw-$$SCS`}3R6^>QsrFS03HZm*LB^ma*1Yz*qMi)mEnt%!t z#FYi(B!j6;HD6Vd2DXQkyHCYnk$>r?(I9&oKQs;#6p780H?o+3Wbo>G>9V`Y?(7FZ zXEvm%Vg~c1UjB(tRx9)ubuf^DeXl_<@BEDm5ZMxn$7(?16r7i9mURhm#dKpd)KX#I zQ8(^FFD&>Ht4j4#giSD<V*Zo!nQWc-`|uh#nKwcCw#u1pQ?`OB<Jw4-ahOra4b)l6 zK~#l6%#4z<w^gtg$ElHYnuu58#IQ;$AtJxN0D&fv52N;gSXb<as9jX#`CG=N*1dam zgzd%wu~-Ac0)FjQpUeC$Hzi=QVYwbmGiuUJVZ|tNt_}B<>d5Kf+J~-LC9(xSe_B1r zsJ#&oaHyNa$9o@Lho;kr858gQ2wY6{&HyV*acmmyq0aSmhpQR-Chg@vQj>r8$N%h{ zrl$Q+o4*j6F7^M*_EcIzNJLgigx1;JdF!vRWMc&7udrm*u~f+dtTcz&0_!BA{xGy! z$U?Z?mNY4hqz=CotnLpje&p8^Pg-|Cv9a5`s!S=1#N}G!$$idE_AvBad#?!HL=NJO zOF8FnUG9fNzGRnm=lzSf3&Bqr*P<ryyQhnl9qx8>Hkhw0wc6*8FYS3&C!^L{%<b`R z&j9F~+8bZZsNr+Tu5Jw-nwvDX%4T;rCo<luT4)D1A1^njr#%{9omnNdiKnlv`!M)d zSjbmP+8X6*E*^hJ+wTD@rU$Z2$krqoB25x5hCT^!6D=}hwTO9Vlv>2*dPC<51l6Zy zWupi^G+ks~EekgFZj3uGf}ApYDV2yRfhv_T!5*Nu<>-x^SJ`w-UUT>9WTVQCJ#{)G zIb<pszdFxOtl%}baVU96)bl<3L-xz)rJvHTu52f&&>U<K>yBnbR97v}KN|!}{5B>; zH4={zh(=-H#8)ZtBodIC{usL&bR&Jhx&qbMcCcVLRTfYL)lhhtiXD9myRAlQ{SEU? z)n{GAKl!T{2BVJdgYE8S)Ms;XEo=x3V-<6I{bEdXCZb{v`+|D+ij8V5052N1h?E6f z-);n8M3RuQqbFU+-x1XMB2--MDyQ6=D=|mYRI1@$vU7L+A5FEyYwae_m_?Aq+UB#t zn+L8PViL_Y{h8ejB#}L@&rdgW7F@u`27}-N2fJW(obLde#wpN<0*9h5`oW4pRAlo^ zJV_INtOwHCeVU(XIXcI>VL!8^@Ew>6sVE-a?ttgNnwH>D0K2uWutB+pF~|VhkBAqS z>$D&#AkLO>#Wd|ys;fed9<5|he}c7|O6TpFB{Wd5t2!Gn#*pKK3z>q<ohu#OZi|?n z>PBxJn+VuTfG)x|i3D_E_~e5>YoA=39=X~|6fnFut-nDF>?=Ah;XZNNjI7D|EUh$O z>o>>Xn&2RT6y`X*6+`_C?J$4pQ5EYv#I+fC^3xogrNy&!jRY|ir}3Pi69CNoYstW; z=b&ZZ`%bUq;ZAHTDQSl7Pall@n4cFQ$uIY$=F{yVh-gauuLl?mf$Gja>oqk1<GIDR z{>UKR^9_~&%^?HVCG#d54~6*K>Vvtn4`69Q;Vv7ia=@r-{Sg$<qT2_8%f~g@7@V#{ z$j2GTM%zz{>QSqEAR<;WdQKaIQX4-9uiFnoG)G|LiUrs_=z{$`>n3gykoP9S;jArE zuCj-Z_6^4!q1=qz3~8_1Ide=40A#oF#{|f*SPCLlGei!u@Xmz*MP+662Ku!<<-zJ< zpnjAbBu;Q4wK~b1j9e#e=K|iD{r-s@2Q0gk^hh^U|JL<HpV@sQ-c^gK+N?PGsodR! zOks}3DOy=&2^SB(MaH-ZRtS1foK)QbBfA11+>%Oy5<ys*Fjqz<S>Tdfp0u(<nEZk1 zw|p?lfuO{?L5Dd@rd?K|0FTUi2RUqilp!8(yvo`H<?AQ;Mko~tsIb$wEaPv(W(&Z@ z?GCanFej3k<jIR-PBd_br1`5$`sjMiG64xi*km2|z^AA$oh5zW;{M)bNq2HT!&Db_ z<pW}(PMjs)e;EKB?KC9DnmqOyb;U)PcVt>iPapMARBcS&{C9teF~LXY{+c3kJ=G5I zw-hHJ;W-!@8$X4BrfLHriX%8%+42zr9E+Q>x}ao5!Z)NVpDM2@Rf5%#C><kuhOmIC z&0k-jO-E<tBa6}0+xdk*al!88%;lr{!Dkvm+ye^QwG(sEaEYxc&q#uKGMD7?v`3FE zM3-Um!gvV=GoplnOV*&zsf062Z<ov=aj!1iu7CPw6mvKI!{e^zN)5rst&xY2<V8iq z;UrH!iiw@iTYv5U?zfQwem-`L31*Yx11qdO*{>C^wBKmGdkxTtc=|KEG<v>fN-EWe zor0n)k$@qNAM8Ipv>%QJz!9tjG<dNDkP5j6KD(mq6{B6mv?X=l6@+v!n%3ueiHb$$ z6hCF}uAv2*$BfVku0$B0r|h)zvlm*h5r`6R#4~dDm$J-$GYVS;N+p>8923kRx8pyp zZHeP^5FxVNdc@3U$dGW9gfo-uG=S<li^l}MB?+?i1AL?1$G8Nau0QJt6F?Xc7>iXX zHTR&wbOWdZZou`HAASTHQWnSR62lE2>2C?(`{oCz5RJ3S@C%$<;khbapEMgrrjHk@ zbG*l{Zi^X*J*O&q^+<&ZtGs{v)7q82ju3LJ8q1+E=+Z@2Q)W#=i$8C6jvU8QFZUJg z8gX5JfkN*W;J1H*u&UfdELt$IL)b+nP1y{wT}AeeVO$MFvn_2Z%RAq*AY43@5htg~ ztd^>PEy=eu{t4DglyV(mYs*M`nlU}MsD<dE+$RP%oe0s3?IJL4vw{{akbZr>_dbYN z*(-LRf{gxfj$Lz7HY3LgLM+PX9HJ5^gY<A|0y?>pxu{QRuqe?{I-N&=ii1lZvdB${ zdIBv%3setGKUy{Pe4ShsI#f?a6jzE|=y8(^6+GlxtOA6+Jh&}Wf03CwZaattku@vO z9|dfJqJST^dP2DkQ`$W_e2oN60!DGDYE_D7M;px3h_)W^OHZWp%aE?aq*w$Ctwpq@ z17G0HioI|MO^&CSErRbHY-L3s_G{vv-;9{go5o)EyQB&hmqm4cCk3&?2!YQ6Zs=s2 zJRR0v!ENaC<VadCG#Enl*=N%xEsZL`#OlA?ot6ib+yF3f@Mt&KZPS4Y`(UJ&>Tl<C z@TpayJd_d=Afe_6O0xK{;_#<WonXpe)6%hu%;E*cRYD<XlrgwTGn1I6;mYmrBxI$Y z7R{GP0#zS-?LKFh8keTN?ysI;5^o&vy^Pl1c;X$+J`UGX1o|?hIqIq3sE|-J<sf;J zQJ&H%P8T&A3CSh0A50Co%YHHbMVKIl(^grKoVEwdt|a@x7%@q3T9n?Bx9KF-poSn= zeUKKD1xAf8j0+@`+s#~FdBGnf;*UIdaQGp0$g=wr+htI0m3!)k%Tr8tJ=c;aUck(% zl<`cUenFf9tZCrSs?y!Xhn;4@ojA?X6V=NjX3l=#xEX}&{WhKclsOF0I%7W!!X;#> z{Ucv`{<=vx#3^n1P;dRGV!%)9((OKcvKVBkJEVsg396+BSnSZO&=+bHOQod4(i+$% zM_3vF_4+4}D~=%s20Ij8KeTa7c!BaXBOQG8j{SR;UT#Y(n?>QAGQ4HJE*G+IZkNgl z6zcBekIG0ww&*gaLAx2cH|AANJEI}PnodIbjJZ;AQ+c@tH}_oR;X-@5Br$yJbg73# zK+;Bq1WIfbmf4ta2}3NYQO0UHwhItan77naY%k=lE=xT>8yX&GSz&B;DXu}0qS1#G zVk2}S`wlyH;~(qvl$iQlY#ox)I4)dx$MkcX`?CkXg-nl35ld6RLBjM7)xGD0mD)-F zsQoM0rL>s6QkVr-sVkh+Uy4&P@^IM|$a)|Kn8vhsSPY%JfE4NsEy7x-XXLl=yh3F} zN^upF___XUm_rrSP2RQ6n_jP-{(OMQU_ko_s7$yz7=qIQ6mG6W!J#i`meP6yETPs8 zwx}4evfar(eHlGJ5S(x5$6-RVU@=0)#jHyeJEB*1aesZmZy{5i9Vw7~7xtf+ErC_R zwiN~dyQvHp0+QB~-mL$W?y~8@PA3DjEasi;OLAG}+|IY4;sy8x>cBBT7XG#KWUE{B zFp5gi_wN#)lFAH388hI0(NTN?av3h@cZka5i#eExaH4al0gdO=sv36WLE@uco^YYR z9zFVsW5c^19v$A=GIZ(f(v8aM{M7tD&QY)OMfKCGsqw!y?*a53IxCYRn+v8=VI`Hp z5Oz|;us;Woq0NZIB=mx+*Pr}2`uey4s_OA<*Y57rs`>W(T6j9|LEzKb>HhlFr2Sdv z-P`q(A$YoV@9WZiyaJA@J94!ThyA?wwJ*Er+t%5wq36_mv@rl?hsyth%ev%z!OzCD zi6T1)%55fN$1?B4X%9OW5-0yjGBkBu!foRW$NmeKt*_ZN_;Na#vt<nC{5v<LwEj)x z!h&g{{w0mW8;*2X<feJ^G?aEGP2B@@HqREHM;*+2X|@i@Iarnpt2sD}8X}(n55w7V z!(3mlq=S0j#*G2vXk={0?BFXf0%-aXtD8VjY~02H_ty>0Kq_!g!0xH*r?)S?r|dX5 zoJrsWrVQ3c1VFoLiz8Rg-og2;B)=y|-xJi$a^r@XI5~cccZxqqs9A?Q!AS^M@JI&M zY0QD;gxj(Duu=7h*1>^jS`~+AG{zg&mWP>XTc#WgZEiObyyjj#)*xUfOX>OrX&#Pm zV4?N9?tU@?M}K(aiXvOlktK1K=Oto$0ipY`3_=%Z-|o~^KNb~uK#)T?$d^09iOG;b zM-?u!PU7<S6YL)VyWm^LAha2b+bwNs$tp<m5dW^W2SSu{Y6{-#_zt;+r`LwtwTqTM z!HFCOZqO2mlf#A_)0(~wOA&V<c`?lK8fEYB+|hj8FF0hkimThDL}mn|Mpgkg1J;;4 z!C!VBA$38MX|<ZW-05^Zz4L$qMnQK)Yer;4)yB-|YfMPl(_(f_&N8l8h#alGs09Qy zKbQf`{p4p-(qvnO#KLk(h14*g(&%2KI!wGq15Q0jHs|J9l1sBSw@~^cOBr+RO*8}w z_$zaf6ggs63pN>f*ubPhYOzz4@Cs22?RUq!W1^h1fHd*em}8&3Q6tf;qB`vUwQ6eW zYBSwnV!d>>c6$j&d^`Ej7McLzp0~Ahhqc#xcE#ho+a&!vUud-CpH|2V7J~UpU=1UJ zSiHgIq6wUDnw6!FKu{pWTtVMpb`&VW$Cqh(X1`v|8TTr;2tbeuDsJ8zWIbtVYouSo zUVHdciv(V8XhB^r7E3wv(GVc{?}~7Hxc-d0y0S&J@5A|@#N81lXL_mv*aM-m!qJtz zTJVv<lFQCGZt^D+7#+1lnVaH8I<#qSl|7C_ZN-DhVAEy?I5M}1!sHrMr~mbIPt%i^ zf#AluIp{tb=(fV1DJBSOI)byS;y|A_*{1`4{ZRQ7^bE=sYpv>?Kj0Ows4~k8l}qSF zprpMGc%42vdLbu#B!U3Z?)iM>o^{`PV@=Ly5LGT_Cv^ET6<T2Az*r06PZffAndx?X z$8Gzt^!Y+mE+x?$n9bYA{mx-RPKsHS-LW5#3i=HAjsE&0-V1z3+E|^ES%wgpZ4NsG zgI&E5i(t<WnNRIJYWMtRA+djP{iywb_5=72(Dm=7{C}?NB#P{WIe%jxH2%gu{BP!D zf8#Nn4Q!pA{sVNSC~w*Aiz4`))S}OYd4~hj+LScS@v!T&E&s||FI^E&m^Gv`Me$nE zp(7}}`WyYw+^)`<U#-{oJb7bf%F}V(&oU`IZZgG04>cJYq*RaWXV}cjRm$ORNyTIu zoM?YGw2iV$vyx8?UQ(c(i6mK3JZIR<@>*q%5O9?FkSL`D4`?_|<BdT2JrvSR&Td?2 zn;GvzHW}(aDY{sv^bWcVG29@Hz(U0@?k&$M$UKuV9Xy%Px^9(V2UC`F*s&dMDNYZ` z5z!r#+R@)!b^0J-qlJYtYJ&j$3hNMlWXeujCRK6PYWJb$RyTT`cqKpyypida|E4ug z6{M)3rhyVTmh6`8bJWM3tBKIe2y>C)0%W;G18iEC;Ca=|Q2Oq{ynf{>WJ&^`GA#xk zR)lekIdmN+%IZR6+<$?&@NPuKY}&OBTq&<Qu1emb&y|^<lbFLhzG@Mzbqrj#afc-B zCVf+m!(8}c3wS(2{FsCO*#`e2dpQaW^tMk1zegBACyUG>u;0lL{7ZU3|D4PheK!YO z_7)`XOP>=UHiH1(uacRAKO^w|Fazh>APo-DT<Nr@#+`DRP{fLHry*OYMz=k+i5z96 zq|Bm*1!@wa6rqIPwcy;&=hs}>%3!u01Vj>VaBLAxy-E6Vty}l@>AEOSKUwHrMXMow zN=q}KCiMDVlm6*(_w$Ty9GF&8B=UMD>_Ym+p%b^$KKLsL+RO}^n;G;8TrN4Kb`EWJ za9kW53M?FpDu)hwnE~d}EMls&J~%7nl$5rN*J@TXb#T)|>5t7(T?l$kflE+ucrO<b zZNt5b7^d(xi0`XAS7@{mNv{4x&wO@wzM?ckriYk^(WVG?o6isA`^>w>a~y+Qd`1b_ zmCWGq*QCyO2LzHEhljoR)Jp51nyR%&TTj=io;J>)#oOkn$GvdyS1jZ^j6;Tkzq>Fy zRl#-|l?pZrZ80EQI<1f$23f)dH{p6%9GTDqH`e;Qb5&!hAa2I1V5G9imAI8|fySqE zUWVy~<1zR(qw9(6A+dq+!`61Ro$beO3SvK|)RUb#;FlL;31rw?ckhn_41L5LD^;8C zI6%d3sl!RU*tXZR)7(|^lkZL3`rZzz^C6_2QKLl4oNg<2AM`?Wf*!m);)oMrz~A7R z>@Ti=fpbHGETqJ>(3e_+f<@>J`&5?h->kO3q;=ql^5$E%ybo-tLf+`MQJ1l7E_S;8 z{sV0PyQ}}(@Bc8|GLDt~z5g=Xs{Y>pq~QEN3^!Rh<-Y*kKj@s#WIq%T0Rq5mryj#7 zXK@RHK&!|pxa%1$XZ1i05hv-FkAm~nx4TgbEk61>t0c;#Gg9b%;}8iwjAkBO5O1!5 zZ`Pd@S%*_A=$<5v$3#LRf>St(Bf$=~khHB0F4ZF5(`#P}qh}rUw_Y9e<XfTgjm|oJ zk}_&@+CJz%ht<DJ{BQC9pz@HzZm}SL4=UQfaXgHFi~s+~s1b2@HnBA}F&1<&H8pWG zF;+A&F#f-Fz9s55c7$Sx-_x~a8{)roH|o58cf%7*)AYyZAMAo`3s;(>um}x0b4$y0 zcyV7yz22xT(J@U$)vN76yO(~Hzx=M)^w|nrq5lOr!=e|Epsxt`6-e^h9B-w>Fl<0P z;XNE3&(ZV|H3zzzryVfKAr7il&R#&w$R<fG6*R*b24P*qzH`5M3fC9t1kIPT6$37$ z9u++(Y3>GDqBc+rVyswDka&*!_W)C+5-8LFBOC?S`W?QHRjNw3lfSvI5Fum9ugamu zi6RoFfBh$MnEbR5rzYhu0V=tKji_OjYahy25IgbyWg08cav?+Q`>HYumwW$;#w%DG zlbj_k|Lr6g4NOI(yG4XlJ@@ucgC^MfK@oU@)Zi_5W2(RQ=%_zNm$=&%8B6JF=|*)$ z#bDJqPC4tAzJXhyZw_tfimXk?6TwW|@@e&sRKe`%gqS{PMM@nBWmbJ8p?Q&UQJkeR z)K-pN4gbe2k~DVdh?Rg?6A!PyuMtPrIh}r&JLt{}+QBeNz$bUlhr{z8obUC_$=BJI zdz=3nHdy1?)vGOc*1jImsT|)x@94q?)$S=%@*p2tBsD(^=vz{)wY?B6C<?jKsh!TP zaFs}4=}}gq4ZHOruo?%6WdD+?d1R$1s2WI8L^VBY!DGD+aoL7tLEa4{1P@MjY{Axk zifkdCXEo|MNeZA0{}|FJC-A2MI?90l_QyQc;MrAe<6Lc2=Ud%R9$gO)hR<CJ{KCeb zIXBKW>+#nJuDaNt>6atVDTb8e?1Em;u-ehaf@%Qgv$;<Dk|iITq{f?pkd*Gn{PZ$s zkP2mDiqnSt4@{-{J|Ll~j5{-b63Eh!sSvxUn^UW7p?+jsN~Yue(|${Iu#DuF6>1Uy z3zx3@LiN-!$&HQ?##!D@$L}@%M8fR-Qss6U{KTix59z~~TNDX%y-QAURzYwN>V-c= zPz$0$lvGuBpL2zEL-@7)<GAe995Xp2!f-6Rp;<qYHjr`l)gC%ldacc<!hsSab=aYK zu%q5OS7N}GA-GoT?w?|nB9{TStySR=VWtG!IpoRi{CGt0=w6omVYc|PVd&)jBl_X> zp^Xut&-&Xr(H%i=AX>qsAG7dQAnX7$#Hd7RYyP$y-r)?;cD~^-?<{n!Qs-<Jt5M5t zW*{Kg@OaxaC6ny)N{JGe?lIOMG26KKv?LfWaJ-UJib!cyubC+scXqYSuXryIvMCF9 z7M%$1W$b;>(QvQurj)q%GhWYk(-yD3q12^A;}R6(B#Lb@i4**jsv>V#DtaIn#q(#y z%21sQp^K5{Z5!S1#p*(xyiUMD9G`Dw!tkU-ukRP6Oy8nnhQOx_!q4{&0^3Wyg<bc5 zrYO#fauC{IJERuhuXF7RPp7UJY@%AH9kb|P!!gRz<*-F*{Iv(zUTeNWE57q?w!aRx zLTZmBjm4!tk>_#I*xQx&dK|P~Y1qoO&(NbpK@-R{+V>aFiI}->5+iHC3GqwMf5+-_ zYlDwi1w%4og(Fv6yn-k=@(Cqq-*CifDSfKB$lOrVj*Udas_L_ySYv&L#2BIsjd$IR zrTy8sFc`8%rOoeoS;>Xo)J;$jB{GopR%|+u=1!wOi5gp=)_p%hT6$4Y=5y>`-W-x+ z%(at#mj+bSXb(~rwu7S@xp*h7Nktltg7^rrN`a>I5b>-QD!<K1Y9mWLE@2IT3U)@| z`TVN>flUhzlcS}BPqA@szyZN{5AAx4dR^q=G&>`98FGLk%NEELptOKiMEO42-NoGY z4YWIl(B%f@&s)ew@^clFbL(Tm)V0EiE59_k{h00a5fif(GabHeMisq_L~bbP3Aktt z!xXUx7uth-3lQJC9|?UZV;^WVBE;F{FBbZB!^Xh%C@nl4k)a)@OQGRDKYXHZK0A#; z8)$>`x~PDDs+@{Z4Y5X4Zxv{WX;~gF0YzfbK*U=dV=lEpWXeGUoPz%%ETtca-Bava zD}#^B2HTN$z^!2WQDxB_ad<rx0vZ<!rgl@t#w}#lR=Nkn9QiaPl{CkZ+L#;JeifOT z-6ae+jC@-qRo35hy>QsvcLa^IEPPA?9MEfw65%mSfQ<;5GeAi4HBC%%jX8U@zdLE+ zN|>tQFo?8HZt*7Xs!3dx77bH_`z;6<%q`|Ymw|rnu)~782ZS<`SC_flMk^)sb3J>M zdWl#H42?mcuPDZWlnSze8>FsnnyG7%bpkvgxgDT2)|`WazN~Gi?K}Wb1?PFtPTOHO zxz~U22vNHqS2yV2fW@1Nd7RT^OAs}CUu236OLKxWOR|w#{_(tF{u%w(%vx;m7TLm? zPNMs4ObQ4`5R>C2nk<j^in{dzY?=VrEq2_@Qtk?tSRExOne63o5lW1I7{@}Iyh{D( z@ky&ZhAL^jb9bUv_JclURL-87&s|Z@EsX9t@;E|(czsIzYUry)B0itVo{y7Z8E<Qt z^ksSbX2I5`9Uq^jy*i73W|Ix%B#vzV1=yhxR!k?~#qS~IobpjyAy_`QCn5-d!u+RP zoi0<Y1v4!U>;kb<asOvcZ2C58b9l_!eEIdD+}UnwO-g;{#6SwgQ~zaA3Ev=y=Ze-# zPOR}WK}%N@unjXG_uzU`t+yCvcE+t3oI+K0_@oVh3FL!z*R#evrk~rvDZmCp`H}_Z zODV-bjNPB)3-eGG_7Xc-*id;43&^7<h&}R7(GvVd^9TH&8ROrR#D8aumA?Ug;xYRe z)_-RUhrc)XzXzoME5PsnhXlah(azq)(b>YpNy$}iN{U93T0%xayh8a_hFWUsKoO31 zO39vDMvb0Pjh?xQk-46cLG3mQ3QmEZk)HX4Qi_IhdUB?bWs&Jfl5U)i=2p6XicWGx zidtNHT6{@rdS+^BhU!?7nsQ89N}3jMTrk8rDQcqaKV#p&Yya<4{WCdjdxUE){N*#y z{pB<KF9v`DPJazioGtz?d;i(<Oq6%*vgi?fXY?E<q!ws{Ea;L{RWPlPVyX$1#MPeW z0-)PiSQ}-`m5=;(aN<)fy6~-cUJiPg_J%=dcU4WxaE^CjUl9o^L_}*BFTJU#2j-bM z(R49k8_9KYfqe==i+)9ijH??bPnz2uwcIt8dI}?ih*ZgYp#c<!<9Ii$53NA2N`%Bq zt)Tt#qVgHz?@5N!G|JN#lP8=ZQGy0lTo7D>u2+Z1lF~u2^Qmhf=Sf#Baw(|-4qdBD za`u?t_uPz4@#al8tz&THW;TTDg$&c+1;xX#95E{$yng&dgj3du05(4;a9|G{If1c~ zQ<P9sp`vgOB{HkUUW^L^9J21te<*YUGG*fh8&D!xag{ss`67YYXn_?b<DhSWkb@i4 zI{(XO;C*apKbNI)j_r8*osjC;#p7Qlp-S39tQwJubg6hgPli!l;(B2SXB(bpFv8I7 za#ftr6$dZB6C7%hESN33r<FW%mMw67F!i#u1$JHZ#3{*oM;Nk%S)(>4(-olx=|e*x ziMwl-y*UY3ZZ;G&(`*7xtmMeYa5KO&H7@}q2j$m^$<&^Np|K!B1Qk4RIcNDd+0TXq z=j2>mf0|xWb>0p5==)_@c+XhS$JY@5{IUED*+zs!;P^Q$3G$3_d9Y|TD*sLqwDO9` zbbC(KeeO4Z<vbp~Qeah`YWc;85KUFtEYg)O`I=t6zPN2;heki96^Xe&<|veV^zKn* z;yWZ*EKw7QqWNLAYh$9&r-0zDQ>`!A+x}x$f|I#dEnO01oRZCvt~>VC<g^8RC>abv z5wXXg*5n3PU30o}{F_*8@OV?H2awp0^#1KX*;I+5<r*{FQa(&vVZJ;i5qs*g7m(c} zkB;Dtt#CRz0i=_6fWF=qGSHY>;VFfFfsxj8w|HiAI>PtNS>K+Z99aV&evoHgo?t2m zpJQZ=T}4vgl1|v0xMY6+K|}uC4F9uDc=rM}RR0ney5Ir-S2RRPRn*SW#=!YMU2^4P zqlP8caO?IH3CA%*h^Wz!(`l9$)DJfjZ%+pXzGv*T?Bxw+;jbaZG(HJ2*`4<Dt*p}9 z8zU;nI?a0uEY7sGw6vwNwDkA-y1}i#Sv6plexSsu@6dlT8FwumL->Y`e0b-iP-@Ye zyjM^(6Pf1Z3i^Tt<6B5X@feRxl!;^%As-~How&4C9c*L>`;!>OC_`qUtHv_|W+Ay7 z7b^$v`m*Z5D!WEr=}uz)#aT)BOWr3#<+6jEufYi*C0Z1NH78mlbub80tXP^Z(J}c5 zZT9-Hbdr|VN>%&BLPN)N0XL9iI2Y!bgcc=Cs#=iGkIu9ZOEhkn-+8ST09?ys*()%g zQ{7aiOJ~D<+BW~0xZS`*p;03RGk-yD&{-3>!hgk>b2`yG9g|1NrqBJ8)*so-1?ULr z9Fl5!%8<IefN;5F#zaSs?c?j>;zC!D{3Y_fkj`tBFW7+x^OEP-+^E{^jlG%@y_(Nd z1JcObbuf`4pGA5aV9miXhDp3pxDno5JB@zxO(adl@cmabhm7YUaqO&HBS5rPVq<d- zAQyU7y&6|gkN{f1r>p(@!(FG+^Tzbp*!0|4|F%C)UftF~(F*u)@KLc_tGp}huj%iL z-BXve5_;2F*>?*~LwJBGm{BI2xkE|KL~{I+-5bkHxW)%-2%QN!(=m~8+Q`bL$praQ z3yv|$>=h^kY=U$L)-g-Mvhf=<)<wTZh><rUpumLGAUGwi0LpFym#5D;qP|LUD^-Gg zgJN|%w4Oys#(~P5tshM6YZzbO9`mWK12#L?)QV;|=MMYsZZ<nPKfSKzB$5j3YdY<- zr@KzIFfTk`4>#|Q7lW6RoZ&2;!nsy(yBE|NX7^6}l!Y9%%$n~MZIbS))2kqN4_r@o z?#kbdp7LoHjCWAj*f$BnK!`8f87O|hEpk$|e<U)af#Sd|GDr?Cdle#I=>!lD(FpuG zx^Q$!O;VP-b-s7#{0)=eRYbPCWzMBORGvoB>8ni-Ja+|~bh{-k4qX(<d=vWV!V(-Z zm)6=^l~TuKP~7jF6m>jp=CM5A%YJYo_5jhOnjjMD0##s0d<I;>d+$Sli4n8*<CXD4 z3^Y9j1MPHpz3yrV-#~%5d1f3D>ahizm%`E-Hj#Vh3K>D}qAC$-X1zJ?E^HM`zLl5q zVj%mL*}d-g_+lGBi9Vj6w!f!42NyPI)D64Ry!>{yxL|rcAGo5;UYEwcul=~cdgTV_ z<n(T^=-#o3ikv<`X(1r1fXl;pALGaS{CkECsNc*}t+DW~lzw{!JH_cbOA=nioB$!z z+A@c}2k}eycZCE{*EIZ+PTW0`(9}aMf<lu6nt;-5F^AIdVUnq&rIDQ|n8Je$PLS@f z1|T#9sfgRnt9Y@!H8895vY&PNz&OX8ov<nfF8=){oa|engg+syNNo;3Xv{q_&Jr_S zhwgB7tO_Swdqu3l6o?;ddcc5&lhgajKy`j1_J#9p610t{eVA_nXKE60PL7P_4<S=2 zt1~_Cp@V~Zutsd=!6+g0#Y2OB0(YLOk<Q$0g)q+EUwno_jRDs#%R)W=OPbD7I?CnA zjF4w;YRm95+3$k!=`iEv5S#&3!E+0Ri6~>tJRIJtc4ec@<e*9SWNSZ?%3OR+g|ahh z3oAzaphI$m2~m{(Clg+_Y^7DFT!2J{r6@9u9}l3JI6}1_ZPrT+v`YX7;{{B6lxJqV z0@Y}gisV2N&d(&KJJ}!ngt`(^742>c(ql6%-&D<%NH#V<7zmQIPEI16kb|*Hja;i< z(M4l&gh<tAvQ!%(>yP>Vi0G68HopgNV%JMfV<Gx)3AiE&8c1G#!LF-zXMmwlZ5aI% zajRhyqS?i;r&rO5<X{H_69%;v_dF);?h$Vig6vm*)yqW6X(Gj*$pdXWCj6w6yde7! z<cWKBNTZv-YOHJ@X#)^;g#vDoBY*PvZZ3{syTnAC3>d6ma{gh*C&WB*6U=y)5`g<W z9CD*<0TjTN#N&v>wB%Uk(lE{VziEGAPuqxmq&{Hj#*l+DoWSy1Y_}kD&0^sXX`tW_ z0x&HopY$~z4M(@EO@tSek|4BMrcY89w1t;Ip2D5YnGsx~O^c{f-6aHjV4|*cNqw4H zQskx^pjptACP7DWzJ>E+;DI1DVFsNdgmVU?&vJ~mgVVS_a+?X01_$TLrtda&jYndP z$;sP4K-02=dd|X_(O&+Qf(iz^D=+RnMI0NzG@!n$uNgB|Dm<_XJmSfinbp;TubNZt zg)9{>Y-eB@rk8g%{&+k>TtO9=?w@cyt6D~;C?k08r%>M!A&|{pENnB~70dmId|2>i znd1|!1ujJfCzWD~lv`txyq|MXA3~Ph;>ZjaK8m)|xD$Th+au=SsCihzzV4d;ydF;V z@9=eTadK~a*rXv7JqgwA0XLYL<ZT}v5Mp4Uv*V|Y907M}VCHR|Q^q0++Qy+?fd|U; zv<I+>GATFk?6!^uE#%2Q=gT%#`oXq*w3MAg&yxCaG<8}4YXcG%kje?v!nJyIyu5&l zYhIQFR!6vrGVM!v-PU122Zo-2slS5mD|Tn6uBj;g7KE_?95RVekdF$NZMy^uhcoq- zAHIM@vC!&Iva>7deure07-{J=>uTiGD}Ab(BqDLS2}xgA9RM2Wb<vIn6~<EmHW0cW z&%x1*C4;O~RJTpiyjtySOWjwU-;!)>#IT$@*vCw3b!M!#<2M;slCxj1BwUxYYPwe~ z6SJ#$@zL?m0v>W(O(^QQ<s|W<D1*7!dV;N2XpQ;=nlM|}(2MFio_P0vsUqjHx|w)+ z(`=*Oxw$fMgR5urE;2*AvZ8)E2NAA{xX`M14o;;kpzSy$OGU+R;O<_Y;WGBUVw|~O zHQ}(<x#~Tss}z96kq`BG8{6|;DU3D`dF2~32J1)X?A?umqli6}<VTcb-*bvFBQ~=u z8kL_zfI{h#3w?qS?V||I#J-AjXVM_a!a>V#HR!j<jN>mk-G8<g#7%ER9)WQim5|s- z+pDUGl6c;k7aFKP^fGVqj+IyLlbbIYe+>NapcKf4eYCm^3MVV|jta32jAE7x=y+u( zf57A<S>?4{Ppj%EKX)c%*SU}ByW#{+LGB31foBLE32_$s9z@Vd;?%cyOh0*hA8`V1 z0&9X2WpRV)kZJ0$rO%77<5_09aI#%?VR2(yaazl^+Qt?Y24Mz%G!EDdXx!DBrk}!h zv)|vz=Ogc3CE@vkU?XQeR3|_bX;siLmc?&aCnfV!-Zvwe#kak-P`Ze?KSO8z6_rns zl@VuC8<43}AVF;xG3lH4^+y9l+^mtE&yGMm;xzz=dkUAgJ2c_}dc>3T^^XAU3vr1$ zNOGu@V}Mmd;$2A-6HHcN-x)(hJbc?km&tH)u~Y(^_-`eK4M8}*R7RKL5}3;kB-ggM z&SAtux^OLmDu<&~D?f$j)mlS5ol;|o!7qz(xAnsd=|g4<@h*E!*rf8?iV3*tUcKI{ z1OqQ(u*1`>J%Y;D5%x;s_U4zHxMfVp<EU~(tD6<V_W&yK<(-pX;$F<i^1Izy`61u@ zT*wzksspqWkKS6m#WR_EnKRR*r>hrgjTD?A?|2XUp4qXq`X-YF6JPziOMc&vgJEXf zz0bLi1^6odCKrQiRhc@EqQiB3pZ2~C-}do%Gw1zyM)hasI?GATXsV5RWlPn*_kwW& z-4R_u{`RaXGKGRjFq{U!go4ry_ch>=_L29Gt^5*cEpRV4O7nGa42`>U3aSNXri&Zl z4~Ibj@0=jBLEdkfhtQd(>tpEa=Ua^+1Ow*r7(v~G-CIhhMB*`jjblH+!@OFDQulcz zl2^EXbFsrbDncfg=A@wFxHvxJvuA>gesm}}?v8xdR7eR6>B>+20)>I+ictc-x6`NR zI@hv0xxF2nyPE^YepHEMr&tm_Q?YXl3ScKU`1`hQNF=`etb47?J@Bp<;T2h-g$%o2 zfokRFlFTq82pv+>>HpE*k}b}@?$VUCvgnpzEUQW3zK8YzL9{52;0#oR17jjRZqmrc zvMRi{eR;jQdFlAVL}7By*pi8@ZcaARi+EmGPxOK(ycF>Dpj^<qp`NoATi$9SVaT#s zECCJKOvF?#8Y*%>p`*S#e^lx=OlTFXzKVkCsug$m$PC#I+J0U;!sXmk%U}4C7}_>d zdvp!jwnpY-6ov@Sl~Q+6h_2L4T|RLhfF$eD%Y~nlXn5W?_DkDiBM$Ln!gCXsZrW9* zLM%>6(psE#-WHA<c%nAqqK-cRI&>FdFxg++>;!H)<mGw9S^gc+e8wcZTQT(ci4iSa zLdP9Pd3X$$2&2C#;yKK@xa{pBC_sl2!drK_8BV`a0Zu_#?4F%saj(#OCkX2RMQUwc z4f-jR@D4>dtW!D|XX}HpNEE*&sB<uEUn%!<;JzAdoYZ~WC1_%tpr)=MOmE=A%3S0x z{2<iQ9W%c2^G){?8FqNvj0f!8TeMR0P=-DPcrh3mn&=|$APk&ukfH8u?1s{Gd+XaM zGrOkuZK#4fZ^1Ng&V_|l&#)8Hz#@VY<&Gz1#VVT;IH@?t0Bd-W!;L@<l-B5UfjkzU zc~DQmXjx26T7?<dgrWPqI*lIWIe%AH_^0N59%ek@jzS}M33()oQX~RAXpsI<!jkR% zgTsWp4i<Ufg#_Jb@E~YN5Y7>|%tUpGx!KHuiHPFdVN{*q&B#Xsbp?eBJ#Hb&xQi&T zeW{=eAT*Khad+~-OzLtSaP+>QJ25g$^s~a-I2dU{tmd|5xGC2L9q^ZeX*euS&e1|E zPH3rQ=>D`|zj3vs1~j1W0D-vyTp_~5$U<oLkc)ROjE@Sa9nnD43j8GRySUD|rEvcS zGsxgd_ZndZA1|5{$uz?2uL__b`4vwnklH0CLec79%|>P=%+dq(bTdLOFdUGYY_~I6 z#h>Y^GY)H{fRNNg+w9wi2+UdZC(M7?e$HE$jQ{xH1dfQk;Qb(rSwM&eirG1+4&Pxu zFiSwAcXqX^fS`6C&Naw5#s8ni&H^fqY}@;dySpa1ySuvwN$}v_xVuYmm*DOsK;yyP z3GM`U3vM6t=H9uPc{BHWr`PJLTC4Z3cAay&PRZH-&EsKjM}O4yXgB(L`8{37?a{Y3 zczw5DN0OL^GX8x4_Q)?V*x@!$KSf3|6hKESiU2i3EVA|m#GQP}D(Jv&@km$SF|IyI z@S#=Qn7k5(y@gPZ%_0_zMjr3B49cK{fjTsJEkN~cv+^Q5e|;D(j?;RZeG%Pmh5n}e z@P^OI09msW=lPAe)`N2A*ZdA}cV9X#Tjf!M0uh0wX-iUMzc1`Cv(=_X!~?7(_65`O z1`lF}jS>gw<fxYT#r#w3ZDttxerjGko+t+eh?Q@_>g;O@ln0nWc#h!%B-)T>j7Uoy z@WO8P7J3}VWtxm1tVJM6Malf)+&z+XH}4h?<#OmrL_R+ENfeHas=tf17(}=J@M%bc z0Y4OBl&!f>6S^2Hw3`gVW(l;724sLE%+b22gwARM@8wo+#h$_vm(sJ6>d?N|?8<P| z;fgf(#zZs6L;~Si4ExYnHli~r-~7D2`l3pgmsD4NR26${nfqw1Jry^6S>_!+8rrr! zbMGZRchEOC0rZloOS%n{l%ARh9j8!k$UH!^q%NX$CP>)<%HP0p*n3@9JALph)8(qT zYx1_=Z!N_@J3vN>DKfedcxSE3Mx2?>2hV$2G-$On-BZa5@_>Sx2~-v#O|wyr`8xFB z0h-$EU6ktd<ZUjq?+?sR6R4OmG$5C!0UhC|y)o*EZ<NwAHKk+P9EAAlX1(>I7AbRT z!ytvL1x6DLhQta4z36xZ=c74-&LL$PA2jIdl*hFqx7EO2UL`)DP0CNO=;~c)Xa!Xe zKD&{&(cGCip6A|Szhb7fXs<F$vaRs=z?n{JEzk3Ls@a3|=t{G3!B3PA=;hHglppM` znG!OE^;`#NVZ?S@yJ8GhoRlnw7M10qJ&y{gv}6ot4CdND6<_cXm{&o56nH9N;J=#T zxWBBxTate>veH4BrHyND5CHozN^jz58YHEaMeTMlIdz8Uj!tZq4!@Gh_@dD0)#^+T zsGS^5$7<vH?F-2bq<gTIjes-deROQ*oKnjze2WDb$kU=tt1Mylg1I^a7>wmI4QAsy z<KCoZHcIhPPblgu-BDhM<&C0{ewoqQ*|aNqky<6U^|KXCBTJ>QOuV%J_7W>Qpcw7R z6mM_!M_EpbZL<H#KIvu2aAl1sx})%t(@v{SDs?N=yer!gf_}hp{H9BISf+d`Rj=4) z{#ft#zNKr{+tRm|Gtq5nn_6Mpm^F#9deu}1Y260E_ipL(b#KDFAa;!8;^=Hs#}Y}7 z!MhJ+ebo2idjgR=j^eYnM}w<o$UFn3ttgqjiPO0NvkCB4W`XQn7%keI;=6@C69c?M z{OZEm-ID<KH2GqSv9WhUY=!Um!tGV?wj`kd$C`HL-xV{lA6(`Orb{gw6M&6Q*aJ<u z=#F~&MFnCCw?18C;9-+dbxR$4lI$M_y&x9LM74cm;CuHpv6<Ej`8cMM*27YO?z2F` zh#odI*ih|}s@Kd}*gSHD_|xC_nyl6?XBzRWV4Z5f(Iy1xJ#{vc6R2b;$|EME4aKbI zr^IKVjT}psw9bXwmeqVkSL&av5S-ubEq~1xg?B#4un2*h1kT@IUNLH)RvB?3z#Cc~ z)M^}%K~t^rePt5qce+)|QH>7HZ4&D;C5jPbiFF!g<f8Ee<zXNA9|nK^j>5Owyv}lg z-sgc)eZCADfk=^y(MX8_!>esVK#vMFJ}Kn)*do{+{Fz83RMYXenavH$YLUI>>OaCY z#Qt#!a-LE^-%^^~h(VBDWAqjk3My{R#)3H9Re$0AvOz497IJ7iGwv8{YSTThf@2y) zvUr12omQT9kpnVvY71?hb!XDcGP<{z1S;b?z{=w_kt1DzAD7aZr+<z=7>f4fB4Xk8 zb26F&e<hICYpafzQvDEX=CY)Ln3aB{jJ;ZzTz|i$bbw`RUfH7MgI9^pl4eFOI*@zV zvz^o-1Ex7{Y`{vvXSMW0(Tvt?Gzc86=!^ZQ4`F2X(qa9=Q1pnO9%&ie$4b4(yJPE6 zr&Jsi>CZLPQzU%Oe*}eUSOc$mAwa_-8l?1jKW3%e-Qi<q*<W9C#ipCe2&Fg1i=`mR zo%|GyqTp;lU*bWumR6~<p7>#|go$;sy`4j96B3XV1?BAzW-0|$Zfd5UIm5PyirKw^ zD6q8a_}+ICej?KTBMIi)-TCDuOT(e3ssPMHUdoI6ix2p7bZZ3%)R*hJ^_lwgd`2Zp ziaH9PsxFnoEx@8yV6*FCIWm_hROo_0E)ueJ`^(aZM#s*Uk{aY#v(GMK_SlVl<(jbW zII?V+O}Q`rf{@-K=ULJs$i_t%(b{QwMgt91xCym-ix<LXUBDcTHW^7bHopk&Pm+=_ z_iWXc54|_jSIoh@c=lrT2NX>u;%-E6+`(51+=D`rGPZE2=Yn~a6w?g*oK_BT{<H&( z2?q{yCNjX%&N)>;5b?J+S@_R+giQ#i3Z1q5lB*h5v2*u|g13TO+0i&BxT|C)-@OL2 z{Isg{ezLC;Aao!$5+Zgi!qqVU3|k6;Xz->%=#KV~<93?!|HAwj8yFDCNeJ^vGz#xr z|7-EMj~jf=#@ZS-m<jjiln{gYyA;0-&C3)&G_J)<G}q%j1mu>pffB8h15yHQ!87>d z27Fp{BrLDEZ5heD(yhv>)>^i~viU*6y6=<L=30f!!es;dLxBeNajKuoOLkK47i~V4 z!FHX1f|oJoG_mR`_Q<4?du?N99ix1vx+Yv$&^VcUuINYi1d9Vs-L#irV8KtT%9fYu z`i-&o-}hWDg3Q86#Ox~lp9`D#SC&AI*s=0N$iS1VRcvvOod>NYS6Qoz;TxH5^Cb%H z;}|D8!aLN%MQxwT)ML(WB*l);K%#bqyKR0iGyN$joF86@?XIR{5_I5(KW{a$;VXLj zZjYI;bme!W?MWem&#&Ly_R8g+odHow>jY^a_+to+cu~gAX)^<#Ss(=9^F1tz@s~>% z=A7XgQko^r0`HI{$DQqkGwE?woA=oB%B$jCpal}Vn5Iohqhx-Zv~$*~jTm-bx^(X# z!ljTeK(-nl?*zzhvyOmLBltcRYVr*B?n9w56RG7PNzq_oe6I^6?nhhk1#e{Fe4k}o zzhWI8_eOc=+%^~Fx@rS;iG}~-)}8H6YB<P4sw&3UKtUPcTG6oQ<rTb4Hdb+F^#tzh zvei=kX~XdHaT9>a+A4k05LC5R$!m21&lCqNNRzo?8_UwA1o9@XWQ$Qg37QZzGgfX+ zxrIsK5AX9S6Rg;9%#IaPM{Ov*RH=C!t+q!58042Ld*=*RM^I+aAfG1bhWrqZ;h}DB z1i=)XTe?JZwM0RFLDhk?Wfa-N{Ae7lf&D~y8GIh-EKwChZZQWA=Vl1dlbvdp9}S)} zH8*PDJ%m`lWGCu`HM|bETu60<&noV#gL>2(C?_R2KY}VzJQT5xY=a-6?MHkYQpzBo z>8B)<WS;76mcZMcq$d@_f`(_pIvHpq-j)%uhq3A#1REncLC%9#rYH~>DrJ4#Bk(To zo=YDQf7h`ozjmP9I*8q(ImCUzXgT$}vzPQk;LjMmRT*<}uR(h3ltC;-F&sBL{>pi! zmYDJ3L}Vz(>hk15%C~u5ciqUcICJO0`IumA^04YQ*AJTN2C3Qh$4~8FS@*Lya0|S1 z`ufMS9zUul+c%*%wg&g01hIcHT9RM(0w$vx#QLaP_sGTuS4!lslOgdgHJy&y9Nvg< zDbX#1GXyIZQ*+03wFjILHF{yQHFtQWcA1W(Kc!R{J+GqnazP<j(IP;F@G@8g-pYOT za}B}X8ig&LbjKL;2v{0%(7o>QnII^>lki^f$NHSAT$@SJylwFf*9hn5IKNG?hv7MY zMBR@^!dd7`xOG%s0T4b|XJDVRfu{${asoJ;6cL{}J-5UUC&X*+t^sKNgGMagGSbMv z*%&|hw<b9wj3t|S8}f_>h|{F4u1T!;lN-zV3tRG%z2PXMGm3&g(mJ--!+GM^{5RiZ z`JkM}W{yhefM_ltB=Ik`&531@{9j=F!E%1&Ry!2_xItGT27DdLi<e)l$*3V4l|ap4 zEpVt5U9L^~n&04gZMe%4eDd=m5|!MC&sUSJt-Nu<W-{RTC>>jUJ*p3kNpua=H*Xiw zWaifNnRUJ|SXv@j!i^7i$-JnFRjc`1kGBfUmle^^trNfq{#f)hzoY37%W#K9M$-H^ zX|i&r#?+f_vF+S>xxI*~aV}bz9eRa0#!uM_3-r~sEOVd`T8p6X{MQ>$*$MN!`xu_R zF-#9cUE?-2M3W7BT8M%5S=CZ=>P7|lB8eoZF|AUPDLpm!Gm)%fju+cfQ!LTzH%Bx| z%-!D9q^RloY<;C9JjFKi6nFaX%;Fj-)Kt7*+Gu#>vEs%rxl5<TwJ+KYIJL)qum%hb zys54E-27b>9n-;!<F3{m@Rc9sbipNN$4kXuhB014RMk@rB&PE2HRJI>@>#N!hz*~J z-1SKh9g&8uSB{6$+0Odj`skQ}v~5`x8!!8&8dt8W6RkBJXB!nQ#%WOuJW*K|PiQkW zL$4zNa_G6~>DEUs#2tdtdAw!;v%n~gi5u&h4o7|g!=Wi9O^Md>#Hd`^4KhIlEBV`v z9b6a;7C25;?oL3EjZH08TrUHjJ{4CIE)u`FBFU?)L|ptVIXQ#dmXGEP2_Pgbgz>Dm z{GB`V+d*PX^S5a%c~S5o!m)CMNGQrTy!E!<2O;t2WrRZCxV+`+8XAmC!y)uFDhDD< zJITEjvIp;usSS^`QOKB1ROT{n{t?X%!%iNy`Z2XL11Pv?di3JualLh3TU-&d=HvEw zg!OWLf4+8|{tz=LZm_Xts009iAFQ{2Q+zAR|I+F9JmmJQCG@hC)qrNs6JK->Mjp{X ze?*ko=V!p$Xc!+M4=}bs40?YS#YI$4kfxb(hG-lg)zY}50&MufI~##Vk1(JscPktr z<I^4fD)lmeBkXm!R&_IPYdQ~+o;!t(J$^Jq<vQ87faFIIZARuUEvrZT7D7JE#}C>I zA1F|>Veq+FKO-C45_HGnq(X*Kb6<wTDF@e2r64_WT773<Q1@_-WqxO`Cf4%q?2BT- zM3CSdsq%Zbk*q#6ZMzbJRIm)KtY;{@Y#3DQAc*;U!g#<AajWhqVJOvv@4@1It22wB zqq!#I=T;w410QQ^Xoi_ZJ1E@jy>EcKvD5sPnujO55^Y!{&&h08OSfa)ET8m%K8Pn0 zifFR-!Px?uS>@>f&%)cYO4B`TTu#@4&qPGjkU6SqP<`iiGIIOja3l!BQvRT%R@M}2 zzkANWl__gle$I(LZh_*qQA(DUu{W^otdP;bQXMN5Q$2^O#Syhs0@W7Io_Ow=E>$L& z%dN(=FWz8Q;U_=&jbMc=ScippcVaETcx{yXJ4<ehr|?FO$8U$BOIr}UrEu&#tI%fy z0A?bas$kjtk!t>;n7x>Ta9_1xRNO~z=Fj5*7osBxpCE(shl&~TNnRwW1cYFK5GDXM zgJ%1%>&s{h6rqrrd>Pm}X2S_UC?XyM0~Q)1b2^(>Ge5tdEyg1mN<|>m`9!~$URdo5 z=~ce#qeOCKqxSBtLg{YV5d4n~tq0!zJ68Mmq$V2ce*G)nSPYH@xPB`~lq%)w14*`- z-J8e@+WlrR+TB4Lcw=AE-IeD#()J!4gQVt2a26`$IHFubO1}eH<%LgZ$JMz34E|U| z+Ws7uEaN>n-@o&oLkakxr8V9HAk*FB<v>;x$}=idU5YZ~WHUZ`adltQVR`bO=-_<$ zJ;RW#(7-P%3pf-^2!>(0=dCxP@x*I~_99t_ds`}~n}t8$Sh8Z@-&x={oqyg!k-QEB z_*@V^+YI*bc@+jot@*zB=@wqc`ZDlL^VtHAu|O$cgl1P++c`a&vsA3aKOxsNI`e(4 zb>z9|Oj?qW6hEhe&rF)}EeC}Zs9~0KOEr^GNl?@G%SkHY5)Xv4T#b-jvM~e#@{oAv zs0OxVkBr|;U-cq78PuTo&|vr+GSy2@Z#?xeKF@1biz7mp<5&kpO#1M+5W^ovkhygt zMccG9=oGug<>4tUjrAgosbr+li}>HSIVF7j>+d=sWWduG&mx#664N?zOOYC!95Jw6 z#$KNg2|(x-acdU@sb<j2z`9UkLBQEp$%m^_k=Z!G9=Ec&c3CoV8qjYU?65H<4upSK z!818pZc+5G5HiYuS1aE!_M7RqvqsEBoMCkgY9f5<)>3-0;BHUW@_Yh_HI4Qb&Zogd zBlEw{)zJ&s;LO!>Am(mdNBlsn9I*!PCV3po=!sup$J|YW6@7w%>&$ym54EUdv@4Gr zeUC~G59ABnFaXJ6X38wJiVnQLC&%vhznXCW2>Lir+666Yo83Zf?sb(a5ak!z5c7sh z{xvN|f>Dr{x#4HMMFsU*wmTv;(qdh1>G3s@r}X4UKUyKp^!J+TV(v)>5l-icAQGpt zti$ROA*rdAb8jT#40&0hPwFjv0B{mTUIUH{h;9;-%QD_d&1Q@ZJbHne%z9Nmw9gTr zxR}UmaHtXD&g?}C2*_Sq35qONDjT@RG~DlUqaj&K!r+iy<8^d|;VNps?F0{Z1=e3h zg?y75`{t49s<iG~wc1j8fxX|nl;ZA<l4W-70W{;h)p-Iraxu<$xA0x^zM;CeyFT5C zoX@U5g_f!)Iz<wHBa`&h>%sJJblz!pa1UZTWhDzoUhkw%HVL{==_Ju`;=)P??hB5$ zo;@V1-|_}Hw^t|Q9zwsFm3+dEFw?TNN7{oT7%ghSoa{>)&rUc%*KgnB9^xs@oIR#b z$$z)Pj&|W2yD1lNN|CPuV=12hCb<yrlZ#ri%+PEwr<%EMq^nDAZ62d7C*CA%UUZ_r z;37w+SiXU4E*0q`o$1YtJNp-_uAXwBN#l%S>__DF+MldVLlYPM&V=?D3{%mZxT-#2 z@4eA17oxqjOW@zJI!v29>Me8}gQBSMG^AUPG0Xd>AU+LrA?b?EGh~MxCF3tprshIQ zyA|b^BI|Y$sWJ)eid&SoJ4-7>_2;>ok4ofQ?PhgsdcgAQ&<u|n8)Bwon}3&MWk7c- z*Fl-Am?CXp5Nh4eM0|S0Y=(5MZ+^CjD|fdc%Cpj$GO2#A>)Lshe`}ax2UWFr0i0uH zoW1~#qPz0A9lPV0^j3FYFm>e7RfFSbucRS}HMMPym~HW>q({D<kwzq{;6Ywfq=(3| zf(vM4$j&xARh<wmXk#pOLzX_}aynsV*)zx-N6WEX+1khSN2UWIg;Dp``|oGrD_f%$ zCe7c#I<bHsPo=H7r^E>=S1Yu6tf5gD%&|J{X1@QJKvBY0*A$TvNl5JZ;r`q7RI$Pv zS2QXH+vw;usxNQ3#y1U7;;MseoB=9(rn8iaPg9)BFd?l}AwQ3}=+=k(2)b9Gadrkm z7?K+5BncjPZ@=@(06*tPm-y#3R=<R6y+BW&;i-M`mC~AQPElg6qE6}gQb1_Stmo@) zziQ(e#f8)@TX6fi9CYp&^Uka2L~XMlNxX+1wXTtAa6_8R&;@5=C&@XM&MXtL0KROF zlp3pgPx<O;;(Mh<nq^LeVQ|O1DV(n`NWpy#<LONGUWhAwQaHuz9+YqN!C#=j>#~}j zmX~ZQ>c-<+Fn8+Nn(2YJcqCW7>T8u-3b?tVK6M3IB6!8^yze_NzC(0ba2t1oFgf;? zrTlJ>Pl}(R)f0xQyo$Hr$S5Bd)og7m8oIEmR~Ce_#xiGwn%CkObK;Zi8V2@^X6R@% z)SHu2(}x-CG_4rf`)(her&VCj-ddoiGe@Pt_Vq!(Rh}~$fe<EA%pTw^>TLxhW$GfX z?Rq{`{j{8Nj&71MX)?mS;$g-9j@6(Lf}N442F7vt6^6yfLkc;e84JNO+_8b#VH~DN zIMxMasFu=}!{c@C<CdQE(Pz0yOh9+jv%2^XJfuzCgInK*oG|8Ak};QU3v#E9%#dxE z6_q9b4!&wd=3B*v0iy#ahT9df>fle=haY-km<B4;UdofTOG?VhVS8;LZV|DYjT5J3 z#<xy#zge@7?j;^;;%`wP#hYFA@gc*-DTLbZFh+c{ORv4hD%|Ihy};Y3%>&&5kf!dl z3i2$4NHJ$TNjH7Pa;aT#1ND&!T(NdMvl8A|+#x0eoDslO=5tn1>mDnT6VUDj$Yn`> zU<>tSFAn~+6kkSVnZ+*gMR*M#i%?+Ueo^iU(PWcgePeFI*7<Zh5b+M)ctCt)NFW?_ z!Am?~U=9U*Yn()wJf=K6gGwqfgi~>B${uTa0uzn>z>Hs!xZ%8oR7-F6aMEP)AgcU& zFS%aJ6kwSfi&vOmhHD#KZYXFNdJ9T`8tZFN9pe5uPObdpmp7D@ujN-3_2Wg#;U|+h zxM#E_$IGnAqi@90$A?MGhMvd6HlP_9t7|Xmbrz`f@;b*xB4cqEIzaKwXFdJ-eG~mX zJqFTZHKI)VExye~XrSd$7X~01KT4f68vsbr6x^<#3xIIHr(CN6mB6at3_DJqB@E!n z9v>+Wxra!=<5K&DmOCj8VG)AnoF2`xSZ23;7e3|_DpLtoGu3Vs%7Wg8Dn$CX4tL=S zzBM-17f-4?sSdwOnQ)puYHULIOjd^SV}scH2k$UBsWhCxl2olPHoT4K;7p4NHX7t6 zk#!2DR|_KCL;n^5=|WpqIh=vMm&2k&O$#P*oT<X-L);-@i7Hxt>)|0g2h&xRR&XUm z<t~=V0bA}y<>}AwO`?y(DyyXAMxn(m`Oj}}PV^bj#pMP=u*_D}Cnf`IMX{qc6sgw3 zuFy4?d#^UldQ<5@kzKAh+84wc`NO6c!a$Es9rby3A~+fF7D82di=U*15g~5zBMC}f z2Z6X(P05FPJcz*`m#Z5Q695UZP9s|IS(LIJqdC|DGFZHnE)At9;cuSqMIM*)Z$&y1 zs)gq+&ccSMgo?*?IbkRHMH~y0^vyV$HHPst#XB#QqhOh<E%e=z_6tx0N~e?!NO?|s zwm;;^=!Jh>tp4B|@$Nf%A}YF`UMUQoixR8#hpqP(nkMF&xf!BT%hC#p@^v@EYBGCX zB>5cJ_Fw6MqkW4Wd}DgnB88;wZvHp+M%1es`urbTrgd~_YM^;|!+Ec6(+7E*B$9#s z^gK=rHOtc0S73ptoNgE;QAjIDS_?S|!eh!9SeEzcff02JbKM(Z7)aElB5JY{EG+dL zG?aM)E^2<TJmm)!S?7eE%V5cw+S`KthGIRrG*a@W2za@d7Yk`fU2|fBumMaJBYXT* zbg;SaJ4g$NrP=D<k=7e-3mAWk2e@DM(LQ(-N{cg8uV)ucTs=P;+bQkRJR`E_jVnXK z^$JKDDEG!w(TJADXt)I#qUAo>MUoCwl6rErXB!Wl3R!hFD6|morbkhZB{9ryrBOvq zY9PNKsy0nvzzYQ?ZH{2H1pz5!VPLLuJm{r*S8WhnH9aC>(Mun{GbC$Wx~?oHcKM6S zNwQ5ztK)mAeUp;Vnyj>iTS*epvsH6j(0-O!z2VWQ5Iw8<bYUbxFTzJ<Pwx5T{cSb4 zeVeya&r|=~_}tG`5@K8HQSTtCHiO5{UKZmav0{wSmkZN_kv5iMK+~fd#Vv4D1G;w{ z4*tt1Uyv&VrXUJ^>Jyt27hxh&G8nU}h5#IJ=0-OKpHjv;yH^srpG<f}kCJvTd%8pJ z<SMj=zF51FV99tZ=C>=1oODQQo;RUHfX<L^VFU?2gX?X~G%*`s+9y7SN0hXm#6six z*iYOruYHlxF&?r$Y;#rW3Ou{}(FKFlm5<hX&BUfnF?q*Tco#IgT1eC=NnbI12lbv7 zMk|Ie1#-25<5K_=GgDE_3EOz==)EAA(Al&1nP7l;^_g_pV+8V8pUm^5oP!+|9zbER zQYwx~M#HUJDspaPMRvh+qchGrE7*Zx8S1R8^~`n4!nysE>8ABXN0aOB@{-gG%5PB$ zzfMQ~^F(D1toWt~XaE2Q833UE=SWC910yQ~GZO|2psDTu%vE-NuWh@;iRp7%&3)Nz z*Z^up^2D7Y_e()Atqb!Xuu;kB5SFV`5GPfSk1#}hI(<Nv(2Q8RCjs?zJKl}CGN!fr zNL25)4HdYsQrQliQZUfQZP0OOuffvok4?W$?Z;Etl<?pp;g^+@lw(bnHKMQ@jJ(#c zv5aw*D39wIlhu?x))h^Z#hYHMo*h2aetk3au1d!fZkAyCrefeUDZg)CYEd+4z_GVT zLPT~`Vu9CiTX9}zpXf*frrgC-sc3SlxvdOcqjpDns$~pk?f^*xZP!e-pBWlW>TS_a zG>`eAH-oknmLshBZoKKOg%H4$AHs`nWtoH}$>V7i{5rw<ChF9=Y&>B{<`8aP(Xu0b z2m_x`;nI$kBZK-Sz7Ys|o|a$UwOXW$L#ALDxn44M-FdEiWUr2CHQdd@=t}SU&CY3Q zer)B5Em_x~<g^2!BAGE8(-^-2vSZsFt|aQn3zg#)l}c4!qJ2Su^2?ZD*D9!!m-=}_ zs#~P0abeN)Y<6X!kd2Lk^6BB~g0pZ2Lbv+FHu-S-fLO`3uJJ|wH2H>0HNFGUWy{fo z2fVQqS1B!Y%SGov=VQ@XZMks~h*r$p<Nc@1f=u^#4K@{83%PCXYGmY{iX!F03xDO4 zhsODd$C>iGLqFq!fqELb<Zp^Xd5o!1iL>e^6-uOAI5Svp95&c#Q+oaJ;uGwI=j2+j z@Ej+V!Jy4x9AI`$@WAPVt3(_V(^E-4>^aHE3s^Z3>$RXBgsq?o=b~#c@4S&vk>ko^ zc}-wc_@1I7vg(F={9`>%6#Qne4EjOPOs%FR0==;sFe${ea5D-)#FMTeC0|<9R(=DW z;)yfX?sV7?*sze@{&KYx)>^~2&m{E%j1B9boatWSI3MiQ(UI_eiy-9%a1|$EJB_uf zp>9fj{~m%GVl^^_I-<%<+}*A8tR4*+4(8=xWKJWiJ<NPo64Qp3F?i%d>@;m1MVeA6 z*eLl|vbePqOl6424&$k>Buv=?#YF&eIEFkBHDY0g78XxRm0#H9;~@>;^8_CaT~+xz zi^O^2b%*ck9~Tc9Y3Zz%mp)Mq_69lxbLgfJoYZE1y@W-w`*LwGk4f#Q^yuufP<lil zxl1;tMZ{2bS@Jeu#Lq@SB{k%bT)bn2P<Jpm0M=_~>f+p888Rm+FrkVez(2+vO}BO6 zNxdNZOLX57^V_=DpdFrQ-dz61Ns645T~Y9;%aJV|NnsX@be3i5p=)Z#x}ew#zqfi> z-e1gAA7{*T)ZDt5YT%)xD-(5_<8tpeJkLskccmD&r8@PZ6TV5zi917-RxZwPI!&_- zNlphB*X}QD!ARoq5QkEkzDuOf=izhU`vE7)bK)7_54R@XE^L@3(zQv@NJ<LyUd?C& z&x9cNA2EOyVN6jxcG|;R_`(x(hdonB&u|>X@R=5=7H)?)ZTR+@nsDtJG=?{ZLYsY9 zA-+56A5Q~ekyxdCF6GBQ8#;IcSUHeat77E75s)UqiX!3RK7MkAn3pn3=t$)~VQW;u zMGRZ0=6eBU4qi0Tjh&7bGt3{~$;4yp(st48uJmf{S`vF;qyU7-QEV0Tumn<#fPN!J zP&ih4CX^c?lGS*2(YucFJtLQp-wC}$%ga_GBE+iWpX}=ETdVCU0wML9Y2`mpeAa{Z zlMHkKBSNf(CJK3-BFx|`x(en&wb#mz$g@|A)zDJ2ttPqv9NrHZQMyR~nQKq-Emm|l zrT6;7^b6co9pQk4iEE|--HfHz{oE&D^;1;(2DW^6Ja%Ne3hXv;C-#!OgWf8@Cx zY$g3gIiyd7{>Z({R3PrHuEsO!;+rNZb#-M2aO3O`@lpnQ#G)<RaC^<uP)PP<mO^xT z>G-{TM`sTCU9FvN(^8zyM4g>bdOCq_b`Pl@h!LPq{XAc$`<+`?upO@oE_iPj3%?$I zRK1}7AnfiTY@~<9Ce%Hj9^%uv{qAg&9C|94N(J_VHk&?SmzFS2`-o|s-b#gEH`}Nw z#2PSLV%_Dq=ITn-Ts8IR+{&i4l~-{ThQ@6MA}__Dx%f=#bg^MGE)`gWm+Y0i6(R(E zgu-CB!n`eCH>~gA=-F_4=93x30&6Hw`BOh7+O9?YbvAb=mo^pz$#a1LjJ*7D0{oN@ z|NZN0h77lTqz!x7Ns4E$L!Zxj^gkPu?q_4}KHUKVT?!?n+_qM5J+*Iq#b={`LTb7_ z9Qgh=zWq9iDa(O@V?tm8U}0ea^RIDuIP}Bz%daEb5ZLcJqOYs}QwsclTl^tgpdg|s zBPpS(#;73qI{_X5cvT4ajqv;LfB%O2V*?d%EJFOs{DbhT*>9n8fBf=w1@ey#RKSyn z#H-nFk^}$E0^v^<X8*D<cpZq%P5!IlZ(<C;m)~|3`)9*{Wf}UffLBd~UjUtd4={3c z`4i-?_4F#-`Um7#<oXrzM?L)>|M=^%|J9iE-?o6?Dw*sx-0&~Pe-k|U-*}9F;u-y) zc)#Xj`knoIm-?+`O_ez(9$&R?{9ii=$scS0pw7SgmHiK55^A<qCcyu>cKR!hJw24P z0~G++6#gsj{`Jc2A8_&}ZvT>^_$$tT#7&C%wfC;Py7rqA&%aBZKOF8q;>1)n-kBKL zIvD@0hYlm<gsHDcZ`$9ZKL3M^d~K_L@bDF>>|g<O`Uf|EO`i2<H{BTiE7QQ?HMaDB zx%qclxBla1oyh;C5B=Ka|H{Gj*UJ4>ulUbix2gQ2*MC;`{wwlVO(o2KyZpMW^S@F1 z#p_>WkN-;eRi)+6P8Avdqf=skQeyfQ`FHXz|MsiSKiT{jr~V`M@+;u)Bv$?dP__6+ zpZ<&B%CG#t3$OkUzu`6F`u~5v_-kALC)oPeJ^fwC^MCdf<?xS3@|OVUzcPQlA^UTS z)j9to^Yst)OSI@;k-v_Czun3GyVUvX=KUk`f8Ez9%R#-Ka{vI`*N-3!03cBM+t&XB DNxe*K literal 0 HcmV?d00001 diff --git a/libs/commons-csv-1.5.jar b/libs/commons-csv-1.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..eb4775e30a69db39506e055dd37deb1ea4732dc0 GIT binary patch literal 41586 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�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 Bjzs_f literal 0 HcmV?d00001 From 9052da87c7a518318ae01e1fd8b5bbc99f96922d Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Tue, 10 Apr 2018 16:15:39 +0800 Subject: [PATCH 272/288] Add regex to disqualify invalid time stamp and prevents time overflow --- .../seedu/address/model/event/EventTime.java | 14 ++++++++++++++ .../seedu/address/model/event/EventTimeTest.java | 16 ++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/main/java/seedu/address/model/event/EventTime.java b/src/main/java/seedu/address/model/event/EventTime.java index 7fc3c8f3233a..8010f5b2816f 100644 --- a/src/main/java/seedu/address/model/event/EventTime.java +++ b/src/main/java/seedu/address/model/event/EventTime.java @@ -1,6 +1,7 @@ package seedu.address.model.event; import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.AppUtil.checkArgument; import java.text.DateFormat; import java.text.ParseException; @@ -14,6 +15,11 @@ */ public class EventTime { public static final String MESSAGE_TIME_CONSTRAINTS = "Date and time must be in the format: dd/MM/yyyy HH:mm"; + public static final String TIME_VALIDATION_REGEX = "((^(((0[1-9]|1[0-9]|2[0-8])[\\/](0[1-9]|1[012]))|" + + "((29|30|31)[\\/](0[13578]|1[02]))|((29|30)[\\/](0[4,6,9]|11)))[\\/](19|" + + "[2-9][0-9])\\d\\d)|(^29[\\/]02[\\/](19|[2-9][0-9])" + + "(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)))" + + "[ ]([0-1]?[0-9]|2[0-3]):[0-5][0-9]"; private static final String DATE_FORMAT = "dd/MM/yyyy HH:mm"; private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); @@ -27,6 +33,7 @@ public class EventTime { */ public EventTime(String timeStamp) { requireNonNull(timeStamp); + checkArgument(isValidTimeStamp(timeStamp), MESSAGE_TIME_CONSTRAINTS); value = Calendar.getInstance(); try { this.value.setTime(DATE_FORMATTER.parse(timeStamp)); @@ -44,6 +51,13 @@ public boolean isExpired() { return value.before(currentTime); } + /** + * Returns if a given string is a valid time stamp. + */ + public boolean isValidTimeStamp(String time) { + return time.matches(TIME_VALIDATION_REGEX); + } + @Override public String toString() { return DATE_FORMATTER.format(value.getTime()); diff --git a/src/test/java/seedu/address/model/event/EventTimeTest.java b/src/test/java/seedu/address/model/event/EventTimeTest.java index e0424cbd50de..85ace749be50 100644 --- a/src/test/java/seedu/address/model/event/EventTimeTest.java +++ b/src/test/java/seedu/address/model/event/EventTimeTest.java @@ -16,11 +16,27 @@ public void constructor_null_throwsNullPointerException() { @Test public void constructor_invalid_throwsIllegalArgumentException() { + //incorrect format + //not a time stamp Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("invalidTimeStamp")); + //blank Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("")); + //invalid time stamp format Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("10/20 10:00")); Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("May 17 2018 10:00")); Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("17-05-2019 10:00")); + + //correct format but invalid time stamp + //invalid date + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("32/05/2019 10:00")); + //invalid month + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("32/13/2019 10:00")); + //invalid date month + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("29/02/2018 10:00")); + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("31/04/2018 10:00")); + //invalid time + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("29/02/2018 25:00")); + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("29/02/2018 23:60")); } @Test From 3ea8dc478fc79cef9bf8cad8dc64e1e6ec84a639 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 10 Apr 2018 16:16:36 +0800 Subject: [PATCH 273/288] Deleted Style.xsl --- src/main/resources/Util/style.xsl | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 src/main/resources/Util/style.xsl diff --git a/src/main/resources/Util/style.xsl b/src/main/resources/Util/style.xsl deleted file mode 100644 index 80dd94319480..000000000000 --- a/src/main/resources/Util/style.xsl +++ /dev/null @@ -1,10 +0,0 @@ - -<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> -<xsl:output method="text" omit-xml-declaration="yes" indent="no"/> -<xsl:template match="/"> -Name,Phone,Email,Address,Block Number -<xsl:for-each select="//persons"> -<xsl:value-of select="concat(name,',',phone,',',email,',',address,' ')"/> -</xsl:for-each> -</xsl:template> -</xsl:stylesheet> From 83732771ca4a9ff5667a6083a7fab7827349c5a5 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 10 Apr 2018 16:38:03 +0800 Subject: [PATCH 274/288] Fixed Tests --- .../address/logic/parser/AddressBookParserTest.java | 2 +- .../address/logic/parser/ExportCommandParserTest.java | 9 +++++---- .../java/seedu/address/testutil/ExportCommandHelper.java | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java index 632be48ecd5e..77d01008b1e1 100644 --- a/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java +++ b/src/test/java/seedu/address/logic/parser/AddressBookParserTest.java @@ -187,7 +187,7 @@ public void parseCommand_export() throws Exception { + " " + PREFIX_TAG_EXPORT + TAG_NEEDED + " " + PREFIX_PATH + PATH_NEEDED + " " + PREFIX_TYPE + TYPE_NEEDED); assertEquals (new ExportCommand ("all", new Tag ("friends"), "./data", - "name", "normal"), command); + "name", "xml"), command); } @Test diff --git a/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java index 716b34f1603f..95d2febd1cd8 100644 --- a/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ExportCommandParserTest.java @@ -33,13 +33,14 @@ public void parse_differentType_invalidFormatCommandResult() throws ParseExcepti assertParseFailure(exportCommandParser, testingInput, String.format(MESSAGE_INVALID_COMMAND_FORMAT, ExportCommand.MESSAGE_USAGE)); + } @Test public void parse_optionalFieldsMissing_success() { Tag testingTag = new Tag("shouldnotbethistag"); - String testingInput = " n/name r/all p/./data te/normal"; - ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); + String testingInput = " n/name r/all p/./data te/xml"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "xml"); assertParseSuccess(exportCommandParser, testingInput, expectedCommand); } @@ -48,8 +49,8 @@ public void parse_optionalFieldsMissing_success() { @Test public void parse_allfieldsPresent_success() { Tag testingTag = new Tag("friends"); - String testingInput = " n/name r/all t/friends p/./data te/normal"; - ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "normal"); + String testingInput = " n/name r/all t/friends p/./data te/xml"; + ExportCommand expectedCommand = new ExportCommand("all", testingTag, "./data", "name", "xml"); assertParseSuccess(exportCommandParser, testingInput, expectedCommand); } diff --git a/src/test/java/seedu/address/testutil/ExportCommandHelper.java b/src/test/java/seedu/address/testutil/ExportCommandHelper.java index 83f031f4e56f..307b0a6082e3 100644 --- a/src/test/java/seedu/address/testutil/ExportCommandHelper.java +++ b/src/test/java/seedu/address/testutil/ExportCommandHelper.java @@ -9,7 +9,7 @@ public class ExportCommandHelper { public static final String TAG_NEEDED = "friends"; public static final String PATH_NEEDED = "./data"; public static final String NAME_NEEDED = "name"; - public static final String TYPE_NEEDED = "normal"; + public static final String TYPE_NEEDED = "xml"; } From 615b4f8d7486bb6e24d44b69ceeaefb1e3f52f94 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Tue, 10 Apr 2018 16:40:54 +0800 Subject: [PATCH 275/288] Remove unnecessary methods --- src/main/java/seedu/address/model/event/Event.java | 9 --------- src/main/java/seedu/address/model/event/EventTime.java | 6 ------ .../java/seedu/address/model/event/PersonToMeet.java | 6 ------ src/main/java/seedu/address/model/event/Title.java | 5 ----- 4 files changed, 26 deletions(-) delete mode 100644 src/main/java/seedu/address/model/event/Event.java diff --git a/src/main/java/seedu/address/model/event/Event.java b/src/main/java/seedu/address/model/event/Event.java deleted file mode 100644 index e2f9955f7ada..000000000000 --- a/src/main/java/seedu/address/model/event/Event.java +++ /dev/null @@ -1,9 +0,0 @@ -package seedu.address.model.event; - -/** - * Represents an Event in the schedule. - */ -public interface Event { - Title getTitle(); - EventTime getTime(); -} diff --git a/src/main/java/seedu/address/model/event/EventTime.java b/src/main/java/seedu/address/model/event/EventTime.java index 8010f5b2816f..ae1682011fad 100644 --- a/src/main/java/seedu/address/model/event/EventTime.java +++ b/src/main/java/seedu/address/model/event/EventTime.java @@ -69,10 +69,4 @@ public boolean equals(Object other) { || (other instanceof EventTime // instanceof handles nulls && this.value.equals(((EventTime) other).value)); // state check } - - @Override - public int hashCode() { - return value.hashCode(); - } - } diff --git a/src/main/java/seedu/address/model/event/PersonToMeet.java b/src/main/java/seedu/address/model/event/PersonToMeet.java index 8433cab783e8..2527a44b7261 100644 --- a/src/main/java/seedu/address/model/event/PersonToMeet.java +++ b/src/main/java/seedu/address/model/event/PersonToMeet.java @@ -20,12 +20,6 @@ public class PersonToMeet { private final String name; private final String email; - public PersonToMeet(Person person) { - requireNonNull(person); - this.name = person.getName().fullName; - this.email = person.getEmail().value; - } - public PersonToMeet(String name, String email) { requireNonNull(name, email); checkArgument(Name.isValidName(name), MESSAGE_NAME_CONSTRAINTS); diff --git a/src/main/java/seedu/address/model/event/Title.java b/src/main/java/seedu/address/model/event/Title.java index 7367f04cef4c..befdd8df7d0f 100644 --- a/src/main/java/seedu/address/model/event/Title.java +++ b/src/main/java/seedu/address/model/event/Title.java @@ -47,9 +47,4 @@ public boolean equals(Object other) { || (other instanceof Title // instanceof handles nulls && this.value.equals(((Title) other).value)); // state check } - - @Override - public int hashCode() { - return value.hashCode(); - } } From 318197064e262ac07ba0215832a7a18712b2489a Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Tue, 10 Apr 2018 16:45:59 +0800 Subject: [PATCH 276/288] Checkstyle fix --- src/main/java/seedu/address/logic/LogicManager.java | 4 +++- src/main/java/seedu/address/model/event/PersonToMeet.java | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/seedu/address/logic/LogicManager.java b/src/main/java/seedu/address/logic/LogicManager.java index bc94915b203c..e307a76cffab 100644 --- a/src/main/java/seedu/address/logic/LogicManager.java +++ b/src/main/java/seedu/address/logic/LogicManager.java @@ -74,5 +74,7 @@ public String getCurrentActiveListType() { } @Override - public ObservableList<ShortcutDoubles> getFilteredShortcutList() { return model.getFilteredCommandsList(); } + public ObservableList<ShortcutDoubles> getFilteredShortcutList() { + return model.getFilteredCommandsList(); + } } diff --git a/src/main/java/seedu/address/model/event/PersonToMeet.java b/src/main/java/seedu/address/model/event/PersonToMeet.java index 2527a44b7261..79f275346535 100644 --- a/src/main/java/seedu/address/model/event/PersonToMeet.java +++ b/src/main/java/seedu/address/model/event/PersonToMeet.java @@ -7,7 +7,6 @@ import seedu.address.model.person.Email; import seedu.address.model.person.Name; -import seedu.address.model.person.Person; /** * Represents an Appointment's personToMeet in the address book. From 50b5053731939580d10748346fc108c23638d2e5 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 10 Apr 2018 18:54:42 +0800 Subject: [PATCH 277/288] Updating docs --- docs/AboutUs.adoc | 10 +- docs/UserGuide.adoc | 155 +++++++++++++++------------- docs/team/MukeshGadupudi.adoc | 184 ++++++++++++++++++++++++++++++++++ docs/team/johndoe.adoc | 67 ------------- 4 files changed, 272 insertions(+), 144 deletions(-) create mode 100644 docs/team/MukeshGadupudi.adoc delete mode 100644 docs/team/johndoe.adoc diff --git a/docs/AboutUs.adoc b/docs/AboutUs.adoc index b00f43e0e86b..2597e07a6019 100644 --- a/docs/AboutUs.adoc +++ b/docs/AboutUs.adoc @@ -17,9 +17,9 @@ We are a team based in the http://www.comp.nus.edu.sg[School of Computing, Natio image::shanmu9898.jpg[width="150", align="left"] {empty}[https://www.linkedin.com/in/mukesh-gadupudi-420a11139/[portfolio]] [https://github.com/shanmu9898[github]] -Role: Team Lead, Developer +Role: Team Lead, -Responsibilities: Model + Deliverable and Deadlines + Integration +Responsibilities: Model + Deliverable and Deadlines + Integration + Tools Expert + Storage ''' @@ -29,7 +29,7 @@ image::sisyphus.jpg[width="150", align="left"] Role: Developer -Responsibilities: UI + Storage + Scheduling and Tracking +Responsibilities: UI + Storage + Scheduling and Tracking + Documentation + Reviewing ''' @@ -39,7 +39,7 @@ image::randypx.jpg[width="150", align="left"] Role: Developer -Responsibilities: Logic + Testing +Responsibilities: Logic + Testing + Reviewing ''' @@ -49,6 +49,6 @@ image::LimShiMinJonathan.jpg[width="150", align="left"] Role: Developer -Responsibilities: Storage + Documentation + Tool Expert +Responsibilities: Documentation ''' diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 543aba871608..d7086e604c45 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -229,8 +229,8 @@ image::calendarMonth.jpg[width="800"] Figure 9: Calendar Month View + - -=== Listing all contact/task/appointment/student : `list` `[updated since v1.4]` +// tag::list[] +=== Listing all contact/task/appointment/student : `list` `[since v1.4]` Shows a list of all of the specified `TYPE`. + Format: `list TYPE`. @@ -246,6 +246,87 @@ Examples: * List all task: `list tasks` + * List all command shortcut: `list shortcuts` +// end::list[] + +// tag::import[] +=== Importing the contacts : `import` `[since v1.4]` + +Imports contacts from a different TeachConnect file by specifying the location of the file. + + +Format: `import [TYPE] pathname` + +Examples: + +* Imports Contacts : `import ./data/importsample.xml` + +// end::import[] + +// tag::export[] +=== Exporting the contacts : `export` `[since v1.4]` + +Exports contacts from your TeachConnect by specifying the name of the file you want to save it in and the path where you want to save it. It can export the contacts based on a given range of indexes or a given tag or a given tag in a range of indexes. By specifying the type of the export you want it saves either only the xml file or both the xml and Csv file. + +Format: `export n/NAME r/RANGE t/TAG p/PATH te/normal` + +Format: `export n/NAME r/RANGE p/PATH te/excel` + +[TIP] +You can export all the people at once, all the people with a certain tag at once, all the people with a certain tag in a range at once or all the people in a range with any tags in a single command. + +You can also choose to export it in Csv format which you can later open in Excel. + +[WARNING] +You can only export all or people based on one or zero tags. + +Be careful about the parameter value for the format type. It has to exactly be either `normal` or `excel`. + +Examples: + +* Exports contacts : `export n/StudentsFile1 r/all t/students p/./data te/normal` +* Exports contacts : `export n/StudentsFile2 r/1,10 t/students p/./data te/excel` + +// end::export[] + +// tag::shortcut[] +=== Adding your own shortcut : `shortcut` `[since v1.4]` + +Sets your own personal shortcut for any of the commands above. + +Format: `shortcut [command word] [shortcut word]` + +[TIP] +You can choose multiple shortcuts for the same command. + +You can later use these shortcuts in place of the original command even after closing and reopening the app. + +You can also set shortcut for the shortcut command. + +[WARNING] +You cannot set the shortcut word to a already preregistered command. + +Your shortcut word cannot be more than a single word. + +Examples: + +* Personalised Alias : `shortcut list l` +* Personalised Alias : `shortcut add a` + +// end::shortcut[] + +// tag::deleteshortcut[] +=== Deleting your personalised Alias : `delete_shortcut` `[since v1.4]` + +Deletes your personalised Alias if you don't want them or if you created them by mistake. + +Format: `delete_shortcut [command word] [shortcut word]` + +[TIP] +You can choose to just undo the delete_shortcut if you delete a shortcut by mistake. + +Listing all the shortcuts using the `list shortcuts` command as mentioned above might help in seeing all the shortcuts at once. + + +[WARNING] +You can only delete shortcuts that you have already added. + +Examples: + +* Deletes the Personalised Alias : `delete_shortcut list l` +* Deletes the Personalised Alias : `delete_shortcut add a` +// end::deleteshortcut[] === Editing a contact : `edit` @@ -413,76 +494,6 @@ Format: `exit` Saves data in the hard disk automatically [even while sharing TeachConnect] after any command that changes the data. + There is no need to save manually. -=== Importing the contacts : `import` `[since v1.4]` - -Imports contacts from a different TeachConnect file by specifying the location of the file. + - -Format: `import [TYPE] pathname` - -Examples: - -* Imports Contacts : `import ./data/importsample.xml` - -=== Exporting the contacts : `export` `[since v1.4]` - -Exports contacts from your TeachConnect by specifying the name of the file you want to save it in and the path where you want to save it. It can export the contacts based on a given range of indexes or a given tag or a given tag in a range of indexes. By specifying the type of the export you want it saves either only the xml file or both the xml and Csv file. - -Format: `export n/NAME r/RANGE t/TAG p/PATH te/normal` - -Format: `export n/NAME r/RANGE p/PATH te/excel` - -[TIP] -You can export all the people at once, all the people with a certain tag at once, all the people with a certain tag in a range at once or all the people in a range with any tags in a single command. + -You can also choose to export it in Csv format which you can later open in Excel. - -[WARNING] -You can only export all or people based on one or zero tags. + -Be careful about the parameter value for the format type. It has to exactly be either `normal` or `excel`. - -Examples: - -* Exports contacts : `export n/StudentsFile1 r/all t/students p/./data te/normal` -* Exports contacts : `export n/StudentsFile2 r/1,10 t/students p/./data te/excel` - -=== Adding your own shortcut : `shortcut` `[since v1.4]` - -Sets your own personal shortcut for any of the commands above. - -Format: `shortcut [command word] [shortcut word]` - -[TIP] -You can choose multiple shortcuts for the same command. + -You can later use these shortcuts in place of the original command even after closing and reopening the app. + -You can also set shortcut for the shortcut command. - -[WARNING] -You cannot set the shortcut word to a already preregistered command. + -Your shortcut word cannot be more than a single word. - -Examples: - -* Personalised Alias : `shortcut list l` -* Personalised Alias : `shortcut add a` - -=== Deleting your personalised Alias : `delete_shortcut` `[since v1.4]` - -Deletes your personalised Alias if you don't want them or if you created them by mistake. - -Format: `delete_shortcut [command word] [shortcut word]` - -[TIP] -You can choose to just undo the delete_shortcut if you delete a shortcut by mistake. + -Listing all the shortcuts using the `list shortcuts` command as mentioned above might help in seeing all the shortcuts at once. + - -[WARNING] -You can only delete shortcuts that you have already added. - -Examples: - -* Deletes the Personalised Alias : `delete_shortcut list l` -* Deletes the Personalised Alias : `delete_shortcut add a` - - === Upcoming features `[coming soon]` * A login feature [coming in v2.0] diff --git a/docs/team/MukeshGadupudi.adoc b/docs/team/MukeshGadupudi.adoc new file mode 100644 index 000000000000..2b73cae78cb2 --- /dev/null +++ b/docs/team/MukeshGadupudi.adoc @@ -0,0 +1,184 @@ += Mukesh Gadupudi - Project Portfolio +ifdef::env-github,env-browser[:outfilesuffix: .adoc] +:imagesDir: ../images +:stylesDir: ../stylesheets + +== Project: iContacts + +TC is created to help teachers and other educational professionals better manage their contacts and remember their past students. It is tailored for teachers/educational professionals who would prefer to use a Desktop App for managing contacts especially for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TC will manage your contacts in the wink of an eye! + +*Code contributed*: [https://github.com/CS2103JAN2018-W14-B1/main/blob/master/collated/main/shanmu9898.md[Functional code]] [https://github.com/CS2103JAN2018-W14-B1/main/blob/master/collated/test/shanmu9898.md[Test code]] + +=== Enhancement Added: List Display for Shortcut Commands + +==== External behavior + +--- +#Start of Extract [from: User Guide]# + +include::../UserGuide.adoc[tag=list] + +#End of Extract# + +--- + +==== Justification + +Teachers or even educational professionals in general have a lot on their hand. When it comes to saving their personalised shortcuts for commands they want, there is a high probability that they forget the shortcut they assigned. + +Showing a list of the shortcut words and the commands to which they have assigned this word will be highly useful for them. + + +==== Implementation + +--- +#Start of Extract [from: Developer Guide]# + +include::../DeveloperGuide.adoc[tag=displaypic] + +#End of Extract# + +--- + + +=== Enhancement Added: Adding Personalised Shortcut for Commands + +==== External behavior + +--- +#Start of Extract [from: User Guide]# + +include::../UserGuide.adoc[tag=shortcut] + +#End of Extract# + +--- + +==== Justification + +TeachConnect comes with a lot of features and each feature has its own command word. The most gruelling part is remembering the exact commmand word as stated in the user guide. To overcome this the shortcut command helps keep aliases to the commands there by helping teachers better remember the command words they are comfortable with. + +This also eliminates the need for a common shortcut word which many teachers might not be comfortable with. Hence this command is a twist of personalisation packed with the essence of comfort. + +==== Implementation + +--- +#Start of Extract [from: Developer Guide]# + +include::../DeveloperGuide.adoc[tag=location] + +#End of Extract# + +--- + + +=== Enhancement Added: Deleting Shortcut Commands + +==== External behavior + +--- +#Start of Extract [from: User Guide]# + +include::../UserGuide.adoc[tag=deleteshortcut] + +#End of Extract# + +--- + +==== Justification + +Mistakes are bound to happen and as long as teachers are humans there is a chance that they might make a mistake. In cases when a teacher assigns a wrong shortcut word to a wrong command word or wants to erase the shortcut entirely, this delete shortcut command comes in handy. + +There is a also a big chance that the assigned number of alias or shortcuts to a certain key word has become huge and the user wants to clear up a few of them. In cases like this too the delete shortcut command is of utmost use. + +==== Implementation + +--- +#Start of Extract [from: Developer Guide]# + +include::../DeveloperGuide.adoc[tag=email] + +#End of Extract# + +--- + + +=== Enhancement Added: Importing Contacts + +==== External behavior + +--- +#Start of Extract [from: User Guide]# + +include::../UserGuide.adoc[tag=import] + +#End of Extract# + +--- + +==== Justification + +Teachers are highly socializable people and there is a high probability that they will want to import contacts from other teachers regarding students' contact details. In contexts like these importing contacts is of utmost importance. + +There might also be cases where teachers might take over a class from another teacher and hence it should be made easy to transfer all the student details from one teacher's TeachConnect to the other teacher's TeachConnect. + +==== Implementation + +--- +#Start of Extract [from: Developer Guide]# + +include::../DeveloperGuide.adoc[tag=fvc] + +#End of Extract# + +--- + + + +=== Enhancement Added: Export Command + +==== External behavior + +--- +#Start of Extract [from: User Guide]# + +include::../UserGuide.adoc[tag=export] + +#End of Extract# + +--- + +==== Justification + +For teachers to share contacts when a new teacher takes up a class or just when a new teacher asks for contact details it is necessary to have the export comand. + +Since exporting all of the contacts might be redundant and also neglects some confidential contacts, the export command has the feature of exporting a single person or a range of contacts based on tags or just indexes. + +Another very important feature is to export to a CSV file (which can be opened in excel) for them to later create or print Contact Books like the older days address book. + +==== Implementation + +--- +#Start of Extract [from: Developer Guide]# + +include::../DeveloperGuide.adoc[tag=details] + +#End of Extract# + +--- + +=== Other contributions + +* Created and set up the team repo including the Travis checks,Coveralls,Auto Publishing and Badges. +* Managed all Issues and Milestone by managing the project and assigning work. +* Wrote additional tests to increase coverage. +* Took the role of Team Leader to make important decisions regarding development of product. +* Managed GitHub effectively to keep track of issues, merging Pull requests by resolving conflicts and keeping track of deadlines so that the weekly releases are made on time with a working product. +* Fixed various(5+) bugs in the product including some bugs which existed previously in the product. +* Added several Use Cases for features in Developed Guide. +* Improved User Interface design by changing the orientation and location of various parts of UI. +* Helped teammate create his first PR along with helping him setup git and checkstyle. link:https://github.com/CS2103JAN2018-W14-B1/main/pull/82[`Pull Request AutoSort`]. +* Contributed in User Guide and Developer Guide to enhance its language link:https://github.com/CS2103JAN2018-W14-B1/main/pull/54[`Pull Request Developer Guide Update`]. +* Helped people on the forum with their technical difficulties. +* Managed all final submissions for CS2103T and CS2101. +* Helped in Collating of codes of everyone link:https://github.com/CS2103JAN2018-W14-B1/main/pull/124[`Pull Request Collate`]. \ No newline at end of file diff --git a/docs/team/johndoe.adoc b/docs/team/johndoe.adoc deleted file mode 100644 index 7158c0e70222..000000000000 --- a/docs/team/johndoe.adoc +++ /dev/null @@ -1,67 +0,0 @@ -= John Doe - Project Portfolio -:imagesDir: ../images -:stylesDir: ../stylesheets - -== PROJECT: AddressBook - Level 4 - ---- - -== Overview - -AddressBook - Level 4 is a desktop address book application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC. - -== Summary of contributions - -* *Major enhancement*: added *the ability to undo/redo previous commands* -** What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command. -** Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them. -** Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands. -** Credits: _{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}_ - -* *Minor enhancement*: added a history command that allows the user to navigate to previous commands using up/down keys. - -* *Code contributed*: [https://github.com[Functional code]] [https://github.com[Test code]] _{give links to collated code files}_ - -* *Other contributions*: - -** Project management: -*** Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub -** Enhancements to existing features: -*** Updated the GUI color scheme (Pull requests https://github.com[#33], https://github.com[#34]) -*** Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests https://github.com[#36], https://github.com[#38]) -** Documentation: -*** Did cosmetic tweaks to existing contents of the User Guide: https://github.com[#14] -** Community: -*** PRs reviewed (with non-trivial review comments): https://github.com[#12], https://github.com[#32], https://github.com[#19], https://github.com[#42] -*** Contributed to forum discussions (examples: https://github.com[1], https://github.com[2], https://github.com[3], https://github.com[4]) -*** Reported bugs and suggestions for other teams in the class (examples: https://github.com[1], https://github.com[2], https://github.com[3]) -*** Some parts of the history feature I added was adopted by several other class mates (https://github.com[1], https://github.com[2]) -** Tools: -*** Integrated a third party library (Natty) to the project (https://github.com[#42]) -*** Integrated a new Github plugin (CircleCI) to the team repo - -_{you can add/remove categories in the list above}_ - -== Contributions to the User Guide - - -|=== -|_Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users._ -|=== - -include::../UserGuide.adoc[tag=undoredo] - -== Contributions to the Developer Guide - -|=== -|_Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project._ -|=== - -include::../DeveloperGuide.adoc[tag=undoredo] - - -== PROJECT: PowerPointLabs - ---- - -_{Optionally, you may include other projects in your portfolio.}_ From eee7ad8096f25ad3d42dd83c36812719175b6734 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 10 Apr 2018 22:43:14 +0800 Subject: [PATCH 278/288] Updated Docs --- docs/DeveloperGuide.adoc | 249 +++++++++++++----- .../Delete_ShortcutSequenceDiagram.pptx | Bin 0 -> 36908 bytes .../diagrams/~$HighLevelSequenceDiagrams.pptx | Bin 0 -> 165 bytes docs/images/DeleteShortcutSequenceDiagram.png | Bin 0 -> 100539 bytes ...ListShortcutsHighLevelSequenceDiagrams.png | Bin 0 -> 118315 bytes docs/team/MukeshGadupudi.adoc | 14 +- 6 files changed, 194 insertions(+), 69 deletions(-) create mode 100644 docs/diagrams/Delete_ShortcutSequenceDiagram.pptx create mode 100644 docs/diagrams/~$HighLevelSequenceDiagrams.pptx create mode 100644 docs/images/DeleteShortcutSequenceDiagram.png create mode 100644 docs/images/ListShortcutsHighLevelSequenceDiagrams.png diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 94189db08951..3f4f3736b7f2 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -356,6 +356,7 @@ image::UndoRedoActivityDiagram.png[width="650"] ** Cons: Requires dealing with commands that have already been undone: We must remember to skip these commands. Violates Single Responsibility Principle and Separation of Concerns as `HistoryManager` now needs to do two * different things. // end::undoredo[] +// tag::import[] === Import Contacts ==== Current Implementation The ImportCommand uses `XmlAddressBookStorage` to generate a temporary `AddressBook` object from a given path. It takes in a String value path. The command then adds the contacts found in the temporary `AddressBook` object into the main address book object. Below is the rough idea of the constructor for the class: @@ -370,28 +371,19 @@ image::ImportCommandFlowChart.png[align="center"] Import command extends `Undoable Command` and hence Undo can be called on it. It initially checks if the given file path is valid and if so initialised the contacts from there, creates a `Person` object and adds it to the current `TeachConnect` with the help of `model`. The code can be found below. [source, java] +---- public CommandResult executeUndoableCommand() throws CommandException { - try { - if (addressBookStorage.readAddressBook(filePath).isPresent()) { - this.addressBookImported = new AddressBook(addressBookStorage.readAddressBook().get()); - ObservableList<Person> people = addressBookImported.getPersonList(); - for (int i = 0; i < people.size(); i++) { - try { - model.addPerson(people.get(i)); - } catch (DuplicatePersonException e) { - throw new CommandException(MESSAGE_DUPLICATE_PERSON); - } - } - } else { - throw new CommandException(String.format(MESSAGE_INVALID_FILE)); - } - } catch (DataConversionException e) { - throw new CommandException(String.format(MESSAGE_INVALID_FILE)); - } catch (IOException e) { - throw new CommandException(String.format(MESSAGE_INVALID_FILE)); - } + ObservableList<Person> people = addressBookImported.getPersonList(); + for (int i = 0; i < people.size(); i++) { + try { + model.addPerson(people.get(i)); + } catch (DuplicatePersonException e) { + throw new CommandException(MESSAGE_DUPLICATE_PERSON); + } + } return new CommandResult(MESSAGE_SUCCESS); } +---- ==== Design Considerations ===== Aspects : Implementation Import Command @@ -406,20 +398,16 @@ public CommandResult executeUndoableCommand() throws CommandException { // tag::export[] === Export contacts -The `ExportCommand` uses `XmlAddressBookStorage` class to generate a xml file based on a given range/index/tag and save it to the location specified with the chosen file name. It takes in String `name` String `range` Tag `tag` String `path`. The tag is not compulsory and can be excluded or included depending on the user. Below is the basic idea of the constructor for the class: +The `ExportCommand` uses `XmlAddressBookStorage` class to generate a xml file based on a given range/index/tag and save it to the location specified with the chosen file name. It takes in String `name` String `range` Tag `tag` String `path` String `type`. The tag is not compulsory and can be excluded or included depending on the user. Below is the basic idea of the constructor for the class: [source,java] ---- -ExportCommand(String range, Tag tag, String path, String nameOfExportFile) { - requireNonNull(range); - requireNonNull(tag); - requireNonNull(path); - requireNonNull(nameOfExportFile); - +ExportCommand(String range, Tag tag, String path, String nameOfExportFile, String type) { this.range = range; this.path = path; thispublic.tag = tag; this.nameOfExportFile = nameOfExportFile; + this.type = type; teachConnectBook = new AddressBook(); } @@ -427,7 +415,7 @@ ExportCommand(String range, Tag tag, String path, String nameOfExportFile) { image::ExportCommandDiagram.png[align="center"] -The method `handleRange()` splits the range using a separator [, in this case] and returns a `String` array with the upper bound and lower bound as values. In some cases it also returns `all` or the single `index` that has to be exported. +The method `handleRange()` splits the range using a separator [, in this case] and returns a `String` array with the upper bound and lower bound as values. In some cases it also returns `all` or the single `index` that has to be exported. Based on the type it also exports to an excel format or XML format. Below is an extract of the method `handleRange()`: @@ -466,45 +454,23 @@ String[] rangeGiven; } catch (IOException e) { return new CommandResult(MESSAGE_RANGE_ERROR); } - if (rangeGiven[0].equals("all")) { - try { - exportAllRange(tag); - } catch (DuplicatePersonException e) { - throw new AssertionError(MESSAGE_FAIL); - } - } else { - if (rangeGiven.length != 1) { - for (int i = 0; i < rangeGiven.length; i++) { - int low = Integer.parseInt(rangeGiven[0]); - int high = Integer.parseInt(rangeGiven[1]); - if (low >= high) { - return new CommandResult(MESSAGE_RANGE_ERROR); - } else { - try { - exportRange(low, high, tag); - } catch (DuplicatePersonException e) { - throw new AssertionError(MESSAGE_FAIL); - } catch (IndexOutOfBoundsException e) { - return new CommandResult(MESSAGE_OUT_OF_BOUNDS); - } - } - } - } else { - int low = Integer.parseInt(rangeGiven[0]); - try { - exportSpecific(low); - } catch (DuplicatePersonException e) { - throw new AssertionError(MESSAGE_FAIL); - } catch (IndexOutOfBoundsException e) { - return new CommandResult(MESSAGE_OUT_OF_BOUNDS); - } - } + + + try { + handledRangeSituation = handleRangeArray(rangeGiven); + } catch (DuplicatePersonException e) { + return new CommandResult(MESSAGE_FAIL); + } catch (IndexOutOfBoundsException e) { + return new CommandResult(MESSAGE_OUT_OF_BOUNDS); } + if (handledRangeSituation != null) { + return handledRangeSituation; + } ....Storage part comes here ---- -The final step is to create the xml file from the `teachConnectBook`. +The final step is to create the xml/excel file from the `teachConnectBook`. Below is the code snippet to export the data into an xml file using `AddressBookStorage`. [source,java] @@ -517,8 +483,167 @@ teachConnectStorage = new XmlAddressBookStorage(path + "/" + nameOfExportFile + } return new CommandResult(MESSAGE_SUCCESS); ---- + +Depending on the type of export it can also be exported to an excel format using an arrayList called `exportAddition`. + +Below is the code snipped to export the data into an excel file. +[source,java] +---- +CSVPrinter csvPrinter; + try { + csvPrinter = csvFileToBeWritten(); + } catch (IOException e) { + handle exception... + } + + try { + for (Person p : exportAddition) { + csvPrinter.printRecord(p.getName(), p.getEmail(), p.getPhone(), p.getAddress(), p.getTags()); + } + + csvPrinter.flush(); + + } + exceptions are to be handled... +---- + +==== Design Considerations +===== Aspects : Implementation Export Command +* **Alternative 1:** Only export to an `XML` file. +** Pros: Easier implementation and very helpful for the import command as import can only be done from an XML file. +** Cons: The exported file might not be very user friendly to read in the xml file format and hence later referencing to the file after exporting can be a nightmare. +* **Alternative 2 (current choice):** Include export to an `Excel` file too. +** Pros: Might be more intuitive for the user and might come in handy especially when the user wants to print it or later read the contents in a user friendly format. +** Cons: Complex implementation there by giving rise to more boundary cases to consider. // end::export[] +// tag::shortcut[] +=== Personalised Shortcut +==== Current Implementation + +The personalised shortcut uses a `ShortcutDouble` to hold the shortcut word and the command word. There is a `UniqueShortcutDoublesList` to which these `ShortcutDoubles` are added. The comparator in the `ShortcutDouble` accounts to check for any duplicates in the `UniqueShortcutDoublesList`. This list is then added to the `addressbook.xml` so as to load the shortcuts on initialisation. Below is a short code snippet of the constructor of the ShortcutDouble: + +[source,java] +---- +public ShortcutDoubles(String shortcutWord, String commandWord) { + this.shortcutWord = shortcutWord; + this.commandWord = commandWord; +} +---- + +This ShortcutDouble is called using the `ShortcutCommand`. Below is the constructor to the ShortcutCommand: +[source,java] +---- +public ShortcutCommand(String commandWord, String shortcutWord) { + this.shortcutWord = shortcutWord; + this.commandWord = commandWord; +} +---- + +Shortcut command extends `UndoableCommand` and hence is undoable. It initially calls a filtered commandsList to which a new `ShortcutDouble` is added based on the checks. Below is the implementation of the `executeUndoableCommand()` method in the ShortcutCommand class. +[source,java] +---- +commandsList = model.getFilteredCommandsList(); + checks for checking if the command is already present... + + ShortcutDoubles toAdd = new ShortcutDoubles(shortcutWord, commandWord); + try { + model.addCommandShortcut(toAdd); + } catch (UniqueShortcutDoublesList.DuplicateShortcutDoublesException e) { + return new CommandResult(String.format(MESSAGE_SHORTCUT_AVAILABLE)); + } + + returns the success message.... +---- + +There is a check to find if the command is already present and the method used for this is called `checkIfCommandPresent()`.By default it returns false. Below is a small code snippet to take notice of: +[source,java] +---- +if (!containsKeyWord(commandWord) || containsKeyWord(shortcutWord)) { + throw new CommandException(MESSAGE_NO_COMMAND_TO_MAP); +} +for (ShortcutDoubles s : commandsList) { + if (s.shortcutWord.equals(shortcutWord)) { + return true; + } +} +return false; +---- + +You can also choose to list all the shortcuts created uptil now. This displays the `UniqueShortcutDoublesList` instead of the contacts in the list panel. A high level sequence diagram is given below : + +image::ListShortcutsHighLevelSequenceDiagrams.png[width="600"] + + + +As of now the conditions to take note of are: +* Shortcut can be only one word. +* The command word should already exist. +* New commands are to be added in the `commandsPresent` String array. + +==== Design Considerations +===== Aspects : Implementation Shortcut Command +* **Alternative 1:** Restricting the number of aliases of a command word. +** Pros: Allows for setting up a shortcut word there by increasing the usability of the app. +** Cons: Wouldn't help much if the user keeps forgetting the shortcut word too because there is only one shortcut alias and the user might forget it. +* **Alternative 2 (current choice):** Allowing multiple number of shortcut words for a single command word +** Pros: User can create multiple aliases there by giving the user more personalisation and the flexibility of forgetting the words as he can create more of them. +** Cons: Need to consider several cases for duplicate shortcuts and maintain a dynamic list without forgetting the shortcuts when the app is closed without hardcoding the shortcut word into each command. +// end::shortcut[] + +// tag::deleteshortcut[] +==== Deleting Personalised Shortcut +===== Current Implementation +The personalised shortcut uses a `ShortcutDouble` to hold the shortcut word and the command word. There is a `UniqueShortcutDoublesList` to which these `ShortcutDoubles` are added. The comparator in the `ShortcutDouble` accounts to check for any duplicates in the `UniqueShortcutDoublesList`. This list is then added to the `addressbook.xml` so as to load the shortcuts on initialisation. Below is a short code snippet of the constructor of the ShortcutDouble: + +[source,java] +---- +public ShortcutDoubles(String shortcutWord, String commandWord) { + this.shortcutWord = shortcutWord; + this.commandWord = commandWord; +} +---- + +This ShortcutDouble can be deleted using the `DeleteShortcutCommand`. The sequence diagram is below : + +image::DeleteShortcutSequenceDiagram.png[width="600"] + +Below is the constructor to the DeleteShortcutCommand: +[source,java] +---- +public DeleteShortcutCommand(String commandWord, String shortcutWord) { + this.commandWord = commandWord; + this.shortcutWord = shortcutWord; + commandShortcut = new ShortcutDoubles(shortcutWord, commandWord); +} +---- + +DeleteShortcut command extends `UndoableCommand` and hence is undoable. It calls the method `deleteCommandShortcut()` in the model class to achieve its objective. Below is a code snippet of the `executeUndoableCommand()` used to for deleting the shortcut: +[source,java] +---- + try { + model.deleteCommandShortcut(commandShortcut); + } catch (UniqueShortcutDoublesList.CommandShortcutNotFoundException csnf) { + throw new CommandException("Please enter a valid Shortcut Command you have saved"); + } + returns the success message.... +---- + +There is a check to find if the shortcut is already present or not and `CommandShortcutNotFoundException` is thrown if the shortcut is not present. + +As of now the conditions to take note of are: +* DeleteShortcut can be only delete something if the command is already present. + +==== Design Considerations +===== Aspects : Validity of the Delete Shortcut Command +* **Alternative 1:** Omit the delete shortcut command. +** Pros: Would require less implementation considering the fact that the shortcut has been added by the user. +** Cons: Would not give the user any room for mistake or change of mind as once added cannot be deleted. +* **Alternative 2 (current choice):** Include the delete shortcut command. +** Pros: Will give the user the room to make mistake and change the shortcuts if needed. Would also help him in clearing the clutter of shortcuts which would have developed over time. +** Cons: Will have to take care of various edge cases when the shortcuts are not present and keep modifying the dynamic list. Several relevant exceptions have to be thrown and taken care of. +// end::endshortcut[] + // tag::studentmanagement[] === [Incomplete] Student Management ==== Current Implementation @@ -534,7 +659,7 @@ As shown above, `student` extends from `person`, giving `student` access to its * **Alternative 1 (current choice):** student extends person ** Pros: Allow students access to person methods while restricting person from accessing student methods. -** Cons: A seperate UniqueStudentList is required to store the student contacts. +** Cons: A separate UniqueStudentList is required to store the student contacts. * **Alternative 2:** only use a tag to show its a student ** Pros: Simpler to implement and tags are visible to user ** Cons: Requires every operation to check the tags. Tags can be removed. diff --git a/docs/diagrams/Delete_ShortcutSequenceDiagram.pptx b/docs/diagrams/Delete_ShortcutSequenceDiagram.pptx new file mode 100644 index 0000000000000000000000000000000000000000..e872a3c3aa71cf1771ab3eabac43397754d83540 GIT binary patch literal 36908 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 Wl5oKO9uSBc_>lr8zuj+tzWYD+c3|xQ literal 0 HcmV?d00001 diff --git a/docs/diagrams/~$HighLevelSequenceDiagrams.pptx b/docs/diagrams/~$HighLevelSequenceDiagrams.pptx new file mode 100644 index 0000000000000000000000000000000000000000..bb82a5866dca92876b1e4d6dd369c3a67e85ac9d GIT binary patch literal 165 zcmd;gPfRH-C{4*!@GZ?wEzV$2APVp^xHBX&q%f2+6aaAwLnea)gD;Sk&5+7a%m6fn Gst^F&nH4_( literal 0 HcmV?d00001 diff --git a/docs/images/DeleteShortcutSequenceDiagram.png b/docs/images/DeleteShortcutSequenceDiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..151e79f439c0f913633853bf6bf50e21914cdb21 GIT binary patch literal 100539 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≻!PA5jP)=PZs8)Gxz7oEm%qP_{+8;S<h|C`;$J2 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%0A}3p4VGyf6c-mA<q8C$K@6I4@N~8vV1O&R?Lt3kf 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 LQos19bLjs76NJXT literal 0 HcmV?d00001 diff --git a/docs/images/ListShortcutsHighLevelSequenceDiagrams.png b/docs/images/ListShortcutsHighLevelSequenceDiagrams.png new file mode 100644 index 0000000000000000000000000000000000000000..c852c484ef419a4faa28b228680ab47113e226f8 GIT binary patch literal 118315 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 Rc>w(<B_{u>^rfNi{{!h)2onGR literal 0 HcmV?d00001 diff --git a/docs/team/MukeshGadupudi.adoc b/docs/team/MukeshGadupudi.adoc index 2b73cae78cb2..3d0f9277473a 100644 --- a/docs/team/MukeshGadupudi.adoc +++ b/docs/team/MukeshGadupudi.adoc @@ -34,7 +34,7 @@ Showing a list of the shortcut words and the commands to which they have assigne --- #Start of Extract [from: Developer Guide]# -include::../DeveloperGuide.adoc[tag=displaypic] +include::../DeveloperGuide.adoc[tag=shortcut] #End of Extract# @@ -65,7 +65,7 @@ This also eliminates the need for a common shortcut word which many teachers mig --- #Start of Extract [from: Developer Guide]# -include::../DeveloperGuide.adoc[tag=location] +include::../DeveloperGuide.adoc[tag=shortcut] #End of Extract# @@ -96,7 +96,7 @@ There is a also a big chance that the assigned number of alias or shortcuts to a --- #Start of Extract [from: Developer Guide]# -include::../DeveloperGuide.adoc[tag=email] +include::../DeveloperGuide.adoc[tag=deleteshortcut] #End of Extract# @@ -127,7 +127,7 @@ There might also be cases where teachers might take over a class from another te --- #Start of Extract [from: Developer Guide]# -include::../DeveloperGuide.adoc[tag=fvc] +include::../DeveloperGuide.adoc[tag=import] #End of Extract# @@ -161,7 +161,7 @@ Another very important feature is to export to a CSV file (which can be opened i --- #Start of Extract [from: Developer Guide]# -include::../DeveloperGuide.adoc[tag=details] +include::../DeveloperGuide.adoc[tag=export] #End of Extract# @@ -174,11 +174,11 @@ include::../DeveloperGuide.adoc[tag=details] * Wrote additional tests to increase coverage. * Took the role of Team Leader to make important decisions regarding development of product. * Managed GitHub effectively to keep track of issues, merging Pull requests by resolving conflicts and keeping track of deadlines so that the weekly releases are made on time with a working product. -* Fixed various(5+) bugs in the product including some bugs which existed previously in the product. +* Fixed various(5+) bugs in the product including some bugs which existed previously in the product. link:https://github.com/CS2103JAN2018-W14-B1/main/pull/144[`Pull Request Bug Fix Example`] * Added several Use Cases for features in Developed Guide. * Improved User Interface design by changing the orientation and location of various parts of UI. * Helped teammate create his first PR along with helping him setup git and checkstyle. link:https://github.com/CS2103JAN2018-W14-B1/main/pull/82[`Pull Request AutoSort`]. * Contributed in User Guide and Developer Guide to enhance its language link:https://github.com/CS2103JAN2018-W14-B1/main/pull/54[`Pull Request Developer Guide Update`]. * Helped people on the forum with their technical difficulties. * Managed all final submissions for CS2103T and CS2101. -* Helped in Collating of codes of everyone link:https://github.com/CS2103JAN2018-W14-B1/main/pull/124[`Pull Request Collate`]. \ No newline at end of file +* Helped in Collating of codes of everyone link:https://github.com/CS2103JAN2018-W14-B1/main/pull/124[`Pull Request Collate`]. From dc4950cc1400e0bd4cb35d9b42390c8cf9157c7a Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 10 Apr 2018 22:47:21 +0800 Subject: [PATCH 279/288] Updated Docs 2 --- docs/DeveloperGuide.adoc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 3f4f3736b7f2..6685f3671718 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -397,6 +397,7 @@ public CommandResult executeUndoableCommand() throws CommandException { // tag::export[] === Export contacts +==== Current Implementation The `ExportCommand` uses `XmlAddressBookStorage` class to generate a xml file based on a given range/index/tag and save it to the location specified with the chosen file name. It takes in String `name` String `range` Tag `tag` String `path` String `type`. The tag is not compulsory and can be excluded or included depending on the user. Below is the basic idea of the constructor for the class: @@ -592,8 +593,8 @@ As of now the conditions to take note of are: // end::shortcut[] // tag::deleteshortcut[] -==== Deleting Personalised Shortcut -===== Current Implementation +=== Deleting Personalised Shortcut +==== Current Implementation The personalised shortcut uses a `ShortcutDouble` to hold the shortcut word and the command word. There is a `UniqueShortcutDoublesList` to which these `ShortcutDoubles` are added. The comparator in the `ShortcutDouble` accounts to check for any duplicates in the `UniqueShortcutDoublesList`. This list is then added to the `addressbook.xml` so as to load the shortcuts on initialisation. Below is a short code snippet of the constructor of the ShortcutDouble: [source,java] From 414ad3795117f29260b4820479cc1be6da8f27b5 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 10 Apr 2018 22:50:57 +0800 Subject: [PATCH 280/288] Updated Mukesh.adoc --- docs/team/MukeshGadupudi.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/team/MukeshGadupudi.adoc b/docs/team/MukeshGadupudi.adoc index 3d0f9277473a..b29b5110b57c 100644 --- a/docs/team/MukeshGadupudi.adoc +++ b/docs/team/MukeshGadupudi.adoc @@ -3,11 +3,11 @@ ifdef::env-github,env-browser[:outfilesuffix: .adoc] :imagesDir: ../images :stylesDir: ../stylesheets -== Project: iContacts +== Project: TeachConnect TC is created to help teachers and other educational professionals better manage their contacts and remember their past students. It is tailored for teachers/educational professionals who would prefer to use a Desktop App for managing contacts especially for those who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TC will manage your contacts in the wink of an eye! -*Code contributed*: [https://github.com/CS2103JAN2018-W14-B1/main/blob/master/collated/main/shanmu9898.md[Functional code]] [https://github.com/CS2103JAN2018-W14-B1/main/blob/master/collated/test/shanmu9898.md[Test code]] +*Code contributed*: [https://github.com/CS2103JAN2018-W14-B1/main/blob/master/collated/functional/shanmu9898.md[Functional code]] [https://github.com/CS2103JAN2018-W14-B1/main/blob/master/collated/test/shanmu9898.md[Test code]] === Enhancement Added: List Display for Shortcut Commands From 6f7a55bfe1f60eb04af13f2f53e0fc09ad3056df Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Tue, 10 Apr 2018 22:57:15 +0800 Subject: [PATCH 281/288] Updated Portfolio link --- docs/AboutUs.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/AboutUs.adoc b/docs/AboutUs.adoc index 2597e07a6019..df3688efa5e1 100644 --- a/docs/AboutUs.adoc +++ b/docs/AboutUs.adoc @@ -15,7 +15,7 @@ We are a team based in the http://www.comp.nus.edu.sg[School of Computing, Natio === Mukesh Gadupudi image::shanmu9898.jpg[width="150", align="left"] -{empty}[https://www.linkedin.com/in/mukesh-gadupudi-420a11139/[portfolio]] [https://github.com/shanmu9898[github]] +{empty}[https://github.com/shanmu9898/main/blob/DocsUpdate/docs/team/MukeshGadupudi.adoc[portfolio]] [https://github.com/shanmu9898[github]] Role: Team Lead, @@ -39,7 +39,7 @@ image::randypx.jpg[width="150", align="left"] Role: Developer -Responsibilities: Logic + Testing + Reviewing +Responsibilities: Logic + Testing + Reviewing + Design Consideration and Implementation ''' From 2a5b3248db4eb21217a594754f5494d2a321bcfc Mon Sep 17 00:00:00 2001 From: randypx <sinrandy@hotmail.com> Date: Wed, 11 Apr 2018 06:42:31 +0800 Subject: [PATCH 282/288] added checks to prevent duplicates --- .../java/seedu/address/model/AddressBook.java | 54 ++++++++++++------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 9d1283825eb1..cb726486f9dd 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -142,11 +142,16 @@ public void resetData(ReadOnlyAddressBook newData) { */ public void addPerson(Person p) throws DuplicatePersonException { Person person = syncWithMasterTagList(p); - try { - persons.add(person); - } catch (DuplicatePersonException e) { - removeUnusedTags(); - throw e; + if (!students.contains(new Student(person.getName(), person.getPhone(), person.getEmail(), + person.getAddress(), person.getTags()))) { + try { + persons.add(person); + } catch (DuplicatePersonException e) { + removeUnusedTags(); + throw e; + } + } else { + throw new DuplicatePersonException(); } } @@ -159,11 +164,15 @@ public void addPerson(Person p) throws DuplicatePersonException { */ public void addStudent(Student s) throws DuplicatePersonException { Student student = (Student) syncWithMasterTagList(s); - try { - students.add(student); - } catch (DuplicatePersonException e) { - removeUnusedTags(); - throw e; + if (!persons.contains(student)) { + try { + students.add(student); + } catch (DuplicatePersonException e) { + removeUnusedTags(); + throw e; + } + } else { + throw new DuplicatePersonException(); } } @@ -182,10 +191,15 @@ public void updatePerson(Person target, Person editedPerson) requireNonNull(editedPerson); Person syncedEditedPerson = syncWithMasterTagList(editedPerson); - try { - persons.setPerson(target, syncedEditedPerson); - } finally { - removeUnusedTags(); + if (!students.contains(new Student(syncedEditedPerson.getName(), syncedEditedPerson.getPhone(), + syncedEditedPerson.getEmail(), syncedEditedPerson.getAddress(), syncedEditedPerson.getTags()))) { + try { + persons.setPerson(target, syncedEditedPerson); + } finally { + removeUnusedTags(); + } + } else { + throw new DuplicatePersonException(); } } @@ -204,10 +218,14 @@ public void updateStudent(Student target, Student editedStudent) requireNonNull(editedStudent); Student syncedEditedStudent = (Student) syncWithMasterTagList(editedStudent); - try { - students.setStudent(target, syncedEditedStudent); - } finally { - removeUnusedTags(); + if (!persons.contains(syncedEditedStudent)) { + try { + students.setStudent(target, syncedEditedStudent); + } finally { + removeUnusedTags(); + } + } else { + throw new DuplicatePersonException(); } } From 2d802d58f8e08bc5e68f6c6c27d9a8564ab0111d Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 11 Apr 2018 08:29:35 +0800 Subject: [PATCH 283/288] Checkstyle fix --- docs/UserGuide.adoc | 10 ++-- docs/team/Sisyphus25.adoc | 110 ++++++++++++++++++++++++++++++++++++++ docs/team/johndoe.adoc | 67 ----------------------- 3 files changed, 116 insertions(+), 71 deletions(-) create mode 100644 docs/team/Sisyphus25.adoc delete mode 100644 docs/team/johndoe.adoc diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index e3814f6a8911..c01b13b51c07 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -111,7 +111,7 @@ Examples: `form 1,2,5 subj/English s/18/01/2018 e/17/07/2019` + Forms an English class containing the first, second and fifth contact in the list that starts in 18 Jan 2018 to 17 July 2019. - +// tag::appointment[] === Setting up an appointment : `set_appointment` `[since v1.3]` Sets up an appointment with the specified contact. + @@ -135,7 +135,8 @@ image::appointmentAdded.jpg[width="800"] Figure 3: Appointment added successfully example + - +// end::appointment[] +// tag::task[] === Setting up a task : `set_task` `[since v1.3]` Sets up a task to be done by a deadline. + @@ -151,6 +152,7 @@ Examples: * `set_task t/Mark papers e/05/04/2018 10:00` + Sets a task which needs to be completed before April 5th, 2018, 10am. +// end::task[] === Removing an appointment or a task: `remove` `[since v1.4]` @@ -172,7 +174,7 @@ image::appointmentRemoved.jpg[width="800"] Figure 4: Remove command usage example + - +// tag::theme[] === Changing GUI theme : `theme` `[since v1.4]` Changes the theme of the GUI. + @@ -197,7 +199,7 @@ Changes the theme of TeachConnect to Galaxy Theme. image::themeGalaxy.jpg[width="800"] Figure 6: GUI with Galaxy Theme + - +// end::theme[] === Switching Calendar Viewmode : `calendar` `[since v1.4]` diff --git a/docs/team/Sisyphus25.adoc b/docs/team/Sisyphus25.adoc new file mode 100644 index 000000000000..c3dc2503815e --- /dev/null +++ b/docs/team/Sisyphus25.adoc @@ -0,0 +1,110 @@ += Rachel Ngo Phuong Thao - Project Portfolio +ifdef::env-github,env-browser[:outfilesuffix: .adoc] +:imagesDir: ../images +:stylesDir: ../stylesheets +:collatedDir: ../../collated + +== Project: TeachConnect +TeachConnect is a contact and event management application designed for teachers and educational professionals. + + +MedNus aims to eliminate the existing inefficient and space consuming filing system and aid medical professionals + +in working efficiently and effectively. + +*Code contributed*: + +link:{collatedDir}/main/Sisyphus25.md[Functional code] + +link:{collatedDir}/test/Sisyphus25.md[Test code] + + +== Portfolio Purpose +This portfolio was made to document all contribution I have made to the project. + +The content includes are: + +. The external behavior of my contributions +. The justification for their implementation +. Details of the implementation + + +<<< + +=== Enhancement Added: Task and Appointment commands + +==== External behavior + +--- +#Start of Extract [from: User Guide]# + +include::../UserGuide.adoc[tag=appointment] + +include::../UserGuide.adoc[tag=task] + +#End of Extract# + +--- + +==== Justification + +--- +These features allow users of TeachConnect to manage their events like appointments and to-do easily. + +--- + +==== Implementation + +--- +#Start of Extract [from: Developer Guide]# + +include::../DeveloperGuide.adoc[tag=eventmanagement] + +#End of Extract# + +--- + +<<< + + +=== Enhancement Added: Theme Command + +==== External behavior + +--- +#Start of Extract [from: User Guide]# + +include::../UserGuide.adoc[tag=theme] + +#End of Extract# + +--- + +==== Justification + +--- +This feature allows the user to customize the GUI of TeachConnect to their own liking and set the GUI colour to one that is most pleasant to their eyes. + +--- + +==== Implementation + +--- +#Start of Extract [from: Developer Guide]# + +include::../DeveloperGuide.adoc[tag=theme] + +#End of Extract# + +--- + +<<< + +=== Enhancement Proposed (for Version 2.0) +* More classifications for existing contacts: i.e: `student`, `staff`, `friend` instead of just `student`. +* A `get guardian` command which allows the user to quickly retrieve contact detail of the guardian of a student in the contact list. + +=== Other contributions + +** Tag Colour for Person tags +** Toggle Calendar View command +** Modify `list` command to toggle list displayed on GUI. +** 2 new themes for GUI: `light` and `galaxy` +** User Guide + +*** Commands usage + +*** Demo images + +** Test Coverage diff --git a/docs/team/johndoe.adoc b/docs/team/johndoe.adoc deleted file mode 100644 index 7158c0e70222..000000000000 --- a/docs/team/johndoe.adoc +++ /dev/null @@ -1,67 +0,0 @@ -= John Doe - Project Portfolio -:imagesDir: ../images -:stylesDir: ../stylesheets - -== PROJECT: AddressBook - Level 4 - ---- - -== Overview - -AddressBook - Level 4 is a desktop address book application used for teaching Software Engineering principles. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 10 kLoC. - -== Summary of contributions - -* *Major enhancement*: added *the ability to undo/redo previous commands* -** What it does: allows the user to undo all previous commands one at a time. Preceding undo commands can be reversed by using the redo command. -** Justification: This feature improves the product significantly because a user can make mistakes in commands and the app should provide a convenient way to rectify them. -** Highlights: This enhancement affects existing commands and commands to be added in future. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing commands. -** Credits: _{mention here if you reused any code/ideas from elsewhere or if a third-party library is heavily used in the feature so that a reader can make a more accurate judgement of how much effort went into the feature}_ - -* *Minor enhancement*: added a history command that allows the user to navigate to previous commands using up/down keys. - -* *Code contributed*: [https://github.com[Functional code]] [https://github.com[Test code]] _{give links to collated code files}_ - -* *Other contributions*: - -** Project management: -*** Managed releases `v1.3` - `v1.5rc` (3 releases) on GitHub -** Enhancements to existing features: -*** Updated the GUI color scheme (Pull requests https://github.com[#33], https://github.com[#34]) -*** Wrote additional tests for existing features to increase coverage from 88% to 92% (Pull requests https://github.com[#36], https://github.com[#38]) -** Documentation: -*** Did cosmetic tweaks to existing contents of the User Guide: https://github.com[#14] -** Community: -*** PRs reviewed (with non-trivial review comments): https://github.com[#12], https://github.com[#32], https://github.com[#19], https://github.com[#42] -*** Contributed to forum discussions (examples: https://github.com[1], https://github.com[2], https://github.com[3], https://github.com[4]) -*** Reported bugs and suggestions for other teams in the class (examples: https://github.com[1], https://github.com[2], https://github.com[3]) -*** Some parts of the history feature I added was adopted by several other class mates (https://github.com[1], https://github.com[2]) -** Tools: -*** Integrated a third party library (Natty) to the project (https://github.com[#42]) -*** Integrated a new Github plugin (CircleCI) to the team repo - -_{you can add/remove categories in the list above}_ - -== Contributions to the User Guide - - -|=== -|_Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users._ -|=== - -include::../UserGuide.adoc[tag=undoredo] - -== Contributions to the Developer Guide - -|=== -|_Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project._ -|=== - -include::../DeveloperGuide.adoc[tag=undoredo] - - -== PROJECT: PowerPointLabs - ---- - -_{Optionally, you may include other projects in your portfolio.}_ From ec1bc605ec746ef71feaee8b41305030d1da8a06 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 11 Apr 2018 08:42:50 +0800 Subject: [PATCH 284/288] Rename project portfolio file & fix description --- docs/team/{Sisyphus25.adoc => rachelngo.adoc} | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) rename docs/team/{Sisyphus25.adoc => rachelngo.adoc} (91%) diff --git a/docs/team/Sisyphus25.adoc b/docs/team/rachelngo.adoc similarity index 91% rename from docs/team/Sisyphus25.adoc rename to docs/team/rachelngo.adoc index c3dc2503815e..5d22360a323c 100644 --- a/docs/team/Sisyphus25.adoc +++ b/docs/team/rachelngo.adoc @@ -7,8 +7,7 @@ ifdef::env-github,env-browser[:outfilesuffix: .adoc] == Project: TeachConnect TeachConnect is a contact and event management application designed for teachers and educational professionals. + -MedNus aims to eliminate the existing inefficient and space consuming filing system and aid medical professionals + -in working efficiently and effectively. +TeachConnect is designed to best aid users who prefer to enter input using keyboard instead of Graphical User Interface (GUI). *Code contributed*: + link:{collatedDir}/main/Sisyphus25.md[Functional code] + @@ -43,7 +42,7 @@ include::../UserGuide.adoc[tag=task] ==== Justification --- -These features allow users of TeachConnect to manage their events like appointments and to-do easily. +These features allow users of TeachConnect to manage their events like appointments and to-do easily. --- From 97de2d35adf1383519d4a3b1f3d655756294f6b3 Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 11 Apr 2018 08:47:30 +0800 Subject: [PATCH 285/288] Shortcut command fixed --- .../java/seedu/address/logic/commands/ShortcutCommand.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java index 48268beea183..58377342b8b4 100644 --- a/src/main/java/seedu/address/logic/commands/ShortcutCommand.java +++ b/src/main/java/seedu/address/logic/commands/ShortcutCommand.java @@ -16,7 +16,8 @@ public class ShortcutCommand extends UndoableCommand { public static final String COMMAND_WORD = "shortcut"; public static final String MESSAGE_USAGE = COMMAND_WORD + " CommandWord " + " ShortcutWord " - + " :Creates a shortcut for any command word"; + + " :Creates a shortcut for any command word \n" + + "Example: " + COMMAND_WORD + " list l"; public static final String MESSAGE_SHORTCUT_AVAILABLE = "This shortcut already exists!"; public static final String MESSAGE_SUCCESS = "Successfully added the shortcut"; public static final String MESSAGE_NO_COMMAND_TO_MAP = "The command statement is invalid and hence cant be mapped!"; From 90be07aadc193fe2082d305706acdb061f76f3a9 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 11 Apr 2018 09:05:11 +0800 Subject: [PATCH 286/288] Checkstyle fix and some modification --- docs/team/rachelngo.adoc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/team/rachelngo.adoc b/docs/team/rachelngo.adoc index 5d22360a323c..533cbb11994b 100644 --- a/docs/team/rachelngo.adoc +++ b/docs/team/rachelngo.adoc @@ -42,7 +42,7 @@ include::../UserGuide.adoc[tag=task] ==== Justification --- -These features allow users of TeachConnect to manage their events like appointments and to-do easily. +These features make it easier for teachers and educational staff to review appointments they have set with students and parents, or to review the list of tasks they have to do before a certain deadline. --- @@ -103,6 +103,8 @@ include::../DeveloperGuide.adoc[tag=theme] ** Toggle Calendar View command ** Modify `list` command to toggle list displayed on GUI. ** 2 new themes for GUI: `light` and `galaxy` +** Project issues assignment and management +** Project PR review ** User Guide + *** Commands usage + *** Demo images + From 7ba0c4af4e0e74ddb1e2d3afea1d6dce39884e56 Mon Sep 17 00:00:00 2001 From: Sisyphus25 <o0_fatcat_0o@yahoo.com.vn> Date: Wed, 11 Apr 2018 09:10:50 +0800 Subject: [PATCH 287/288] consistency fix --- docs/team/rachelngo.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/team/rachelngo.adoc b/docs/team/rachelngo.adoc index 533cbb11994b..33fc17f088c7 100644 --- a/docs/team/rachelngo.adoc +++ b/docs/team/rachelngo.adoc @@ -101,10 +101,11 @@ include::../DeveloperGuide.adoc[tag=theme] ** Tag Colour for Person tags ** Toggle Calendar View command -** Modify `list` command to toggle list displayed on GUI. +** Modification `list` command to toggle list displayed on GUI. ** 2 new themes for GUI: `light` and `galaxy` ** Project issues assignment and management ** Project PR review +** Bugs fixes for various issues raised by other teammates and testers ** User Guide + *** Commands usage + *** Demo images + From 80a8332d356dbc4972499028cc1b3ff0f83d8dcf Mon Sep 17 00:00:00 2001 From: shanmu9898 <shanmu9898@icloud.com> Date: Wed, 11 Apr 2018 09:35:36 +0800 Subject: [PATCH 288/288] UserGuideUpdate --- docs/UserGuide.adoc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index c7322e20f05f..d6b05d51cd21 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -308,8 +308,10 @@ Your shortcut word cannot be more than a single word. Examples: -* Personalised Alias : `shortcut list l` -* Personalised Alias : `shortcut add a` +* `shortcut list l` + +Sets `l` as the Personalised Alias for `list` command. +* `shortcut add a` + +Sets `a` as the Personalised Alias for `add` command. // end::shortcut[] @@ -329,8 +331,10 @@ You can only delete shortcuts that you have already added. Examples: -* Deletes the Personalised Alias : `delete_shortcut list l` -* Deletes the Personalised Alias : `delete_shortcut add a` +* `delete_shortcut list l` + +Deletes the Personalised Alias `l` for `list` command. +* `delete_shortcut add a` + +Deletes the Personalised Alias `a` for `add` command. // end::deleteshortcut[] === Editing a contact : `edit`

    2. 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 z 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 LQ7nBvZnWV)xm)v# literal 0 HcmV?d00001 diff --git a/docs/images/themeDark.jpg b/docs/images/themeDark.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7c3876762e7878322d4b785083d7cb3923db33db GIT binary patch literal 259166 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 CAq+$S literal 0 HcmV?d00001 diff --git a/docs/images/themeGalaxy.jpg b/docs/images/themeGalaxy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f961e74fb3fa044141eb5db4d128eefa3fccfaae GIT binary patch literal 379892 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

      $k`o&0)Hv2ZNtYb2Mz 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 W4O*!4y@mVf#IUeej^c*@`}BWHj#1A5 literal 0 HcmV?d00001 From 95e7cfd266fcaf0f9acc0a730a923fd2ca7f3ea7 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 13 Mar 2018 08:42:31 +0800 Subject: [PATCH 045/288] About us fixed build --- docs/AboutUs.adoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/AboutUs.adoc b/docs/AboutUs.adoc index 8bad6f6114a7..1af94caac344 100644 --- a/docs/AboutUs.adoc +++ b/docs/AboutUs.adoc @@ -18,6 +18,7 @@ image::shanmu9898.jpg[width="150", align="left"] {empty}[https://www.linkedin.com/in/mukesh-gadupudi-420a11139/[portfolio]] [https://github.com/shanmu9898[github]] Role: Team Lead, Developer + Responsibilities: Model + Deliverable and Deadlines + Integration ''' @@ -27,6 +28,7 @@ image::sisyphus.jpg[width="150", align="left"] {empty}[http://github.com/Sisyphus[github]] [<>] Role: Developer + Responsibilities: UI + Storage + Scheduling and Tracking ''' @@ -36,6 +38,7 @@ image::randypx.jpg[width="150", align="left"] {empty}[http://github.com/randypx[github]] [<>] Role: Developer + Responsibilities: Logic + Testing ''' @@ -45,6 +48,7 @@ image::LimShiMinJonathan.jpg[width="150", align="left"] {empty}[http://github.com/LimShiMinJonathan[github]] [<>] Role: Developer + Responsibilities: Storage + Documentation + Tool Expert ''' From de33432b555634afff8f36f7e4a701b23591ad4c Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 13 Mar 2018 08:50:04 +0800 Subject: [PATCH 046/288] AboutUS updated --- docs/AboutUs.adoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/AboutUs.adoc b/docs/AboutUs.adoc index 1af94caac344..9211efd80525 100644 --- a/docs/AboutUs.adoc +++ b/docs/AboutUs.adoc @@ -51,5 +51,4 @@ Role: Developer Responsibilities: Storage + Documentation + Tool Expert -''' - +''' \ No newline at end of file From 5ba5c4fa258acee70406865d54992633005179f0 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Tue, 13 Mar 2018 08:53:22 +0800 Subject: [PATCH 047/288] AboutUS checkstyle updated --- docs/AboutUs.adoc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/AboutUs.adoc b/docs/AboutUs.adoc index 9211efd80525..1f0dea5b1104 100644 --- a/docs/AboutUs.adoc +++ b/docs/AboutUs.adoc @@ -15,8 +15,7 @@ We are a team based in the http://www.comp.nus.edu.sg[School of Computing, Natio === Mukesh Gadupudi image::shanmu9898.jpg[width="150", align="left"] -{empty}[https://www.linkedin.com/in/mukesh-gadupudi-420a11139/[portfolio]] [https://github.com/shanmu9898[github]] - +{empty}[https://www.linkedin.com/in/mukesh-gadupudi-420a11139/[portfolio]] [https://github.com/shanmu9898[github]] Role: Team Lead, Developer Responsibilities: Model + Deliverable and Deadlines + Integration @@ -51,4 +50,4 @@ Role: Developer Responsibilities: Storage + Documentation + Tool Expert -''' \ No newline at end of file +''' From f8f1acc867f22fed2bf364d74dc96c1ae9c43d11 Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Tue, 13 Mar 2018 21:59:01 +0800 Subject: [PATCH 048/288] Update UserGuide.adoc Edited introduction and add command. Changed 'person' to 'contact' as deleting/listing persons just felt wrong. *Can change back --- docs/UserGuide.adoc | 115 +++++++++++++++++++++++--------------------- 1 file changed, 59 insertions(+), 56 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 6d1f7e31b211..01146c375a6c 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -14,22 +14,22 @@ endif::[] :repoURL: https://github.com/CS2103JAN2018-W14-B1/main/ -By: `Team SE-EDU` Since: `Jun 2016` Licence: `MIT` +By: `Team W14-B1` Since: `Jan 2018` Licence: `MIT` == Introduction -AddressBook Level 4 (AB4) is for those who *prefer to use a desktop app for managing contacts*. More importantly, AB4 is *optimized for those who prefer to work with a Command Line Interface* (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, AB4 can get your contact management tasks done faster than traditional GUI apps. Interested? Jump to the <> to get started. Enjoy! +TeachConnect (TC) is created to help teachers to *better manange their contacts* and *remenber students that they had taught*. TeachConnect is also tailored for teachers who would *prefer to use a desktop app for managing contacts*. Most importantly, it is *optimized for those who prefer to work with a Command Line Interface* (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TeachConnect will manange your contacts faster than traditional GUI apps. Interested? Jump to the <> to get started. Enjoy! == Quick Start . Ensure you have Java version `1.8.0_60` or later installed in your Computer. + [NOTE] -Having any Java 8 version is not enough. + -This app will not work with earlier versions of Java 8. +This app will not work with earlier versions of Java 8. + +You can download the lastest Java version link:https://java.com/en/download/[here]. + -. Download the latest `addressbook.jar` link:{repoURL}/releases[here]. -. Copy the file to the folder you want to use as the home folder for your Address Book. +. Download the latest `teachconnect.jar` link:{repoURL}/releases[here]. +. Copy the file to the folder you want to use as the home folder for your TeachConnect. . Double-click the file to start the app. The GUI should appear in a few seconds. + image::Ui.png[width="790"] @@ -38,10 +38,10 @@ image::Ui.png[width="790"] e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. . Some example commands you can try: -* *`list`* : lists all contacts +* *`list`* : lists all contacts. * **`add`**`n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` : adds a contact named `John Doe` to the Address Book. -* **`delete`**`3` : deletes the 3rd contact shown in the current list -* *`exit`* : exits the app +* **`delete`**`3` : deletes the 3rd contact shown in the current list. +* *`exit`* : exits the app. . Refer to <> for details of each command. @@ -53,63 +53,66 @@ e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. * Words in `UPPER_CASE` are the parameters to be supplied by the user e.g. in `add n/NAME`, `NAME` is a parameter which can be used as `add n/John Doe`. * Items in square brackets are optional e.g `n/NAME [t/TAG]` can be used as `n/John Doe t/friend` or as `n/John Doe`. -* Items with `…`​ after them can be used multiple times including zero times e.g. `[t/TAG]...` can be used as `{nbsp}` (i.e. 0 times), `t/friend`, `t/friend t/family` etc. +* Items with `…` after them can be used multiple times including zero times e.g. `[t/TAG]...` can be used as `{nbsp}` (i.e. 0 times), `t/friend`, `t/friend t/family` etc. * Parameters can be in any order e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, `p/PHONE_NUMBER n/NAME` is also acceptable. ==== -=== Viewing help : `help` +=== Viewing mannual : `help` Format: `help` -=== Adding a person: `add` +=== Adding a contact: `add` + +Format: `add [TYPE] n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]... + +Adds a contact to the address book. + +`[TYPE]` field represents the type of contact you wish to add. + +It can be `student`, `guardian` or `{nbsp}` (default). -Adds a person to the address book + -Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` [TIP] -A person can have any number of tags (including 0) +A contact can have any number of tags (including 0) Examples: -* `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` -* `add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 t/criminal` +Adding a default contact: `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` +Adding a student contact: `add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Centre Street, block 238, #02-02` -=== Listing all persons : `list` +=== Listing all contacts : `list` -Shows a list of all persons in the address book. + -Format: `list` +Format: `list` + +Shows a list of all contacts in the address book. -=== Editing a person : `edit` +=== Editing a contact : `edit` -Edits an existing person in the address book. + -Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...` +Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...`+ +Edits an existing contact in the address book. **** -* Edits the person at the specified `INDEX`. The index refers to the index number shown in the last person listing. The index *must be a positive integer* 1, 2, 3, ... +* Edits the contact at the specified `INDEX`. The index refers to the index number shown in the last contact listing. The index *must be a positive integer* 1, 2, 3, ... * At least one of the optional fields must be provided. * Existing values will be updated to the input values. -* When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative. -* You can remove all the person's tags by typing `t/` without specifying any tags after it. +* When editing tags, the existing tags of the contact will be removed i.e adding of tags is not cumulative. +* You can remove all the contact's tags by typing `t/` without specifying any tags after it. **** Examples: * `edit 1 p/91234567 e/johndoe@example.com` + -Edits the phone number and email address of the 1st person to be `91234567` and `johndoe@example.com` respectively. +Edits the phone number and email address of the 1st contact to be `91234567` and `johndoe@example.com` respectively. * `edit 2 n/Betsy Crower t/` + -Edits the name of the 2nd person to be `Betsy Crower` and clears all existing tags. +Edits the name of the 2nd contact to be `Betsy Crower` and clears all existing tags. -=== Locating persons by name: `find` +=== Locating contacts by name: `find` -Finds persons whose names contain any of the given keywords. + -Format: `find KEYWORD [MORE_KEYWORDS]` +Format: `find KEYWORD [MORE_KEYWORDS]` + +Finds contacts whose names contain any of the given keywords. **** -* The search is case insensitive. e.g `hans` will match `Hans` -* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans` +* The search is case insensitive. e.g `hans` will match `Hans`. +* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans`. * Only the name is searched. -* Only full words will be matched e.g. `Han` will not match `Hans` -* Persons matching at least one keyword will be returned (i.e. `OR` search). e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang` +* Only full words will be matched e.g. `Han` will not match `Hans`. +* Contacts matching at least one keyword will be returned (i.e. `OR` search). e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang`. **** Examples: @@ -117,15 +120,15 @@ Examples: * `find John` + Returns `john` and `John Doe` * `find Betsy Tim John` + -Returns any person having names `Betsy`, `Tim`, or `John` +Returns any contact having names `Betsy`, `Tim`, or `John` -=== Deleting a person : `delete` +=== Deleting a contact : `delete` -Deletes the specified person from the address book. + -Format: `delete INDEX` +Format: `delete INDEX` + +Deletes the specified contact from the address book. **** -* Deletes the person at the specified `INDEX`. +* Deletes the contact at the specified `INDEX`. * The index refers to the index number shown in the most recent listing. * The index *must be a positive integer* 1, 2, 3, ... **** @@ -134,18 +137,18 @@ Examples: * `list` + `delete 2` + -Deletes the 2nd person in the address book. +Deletes the 2nd contact in the address book. * `find Betsy` + `delete 1` + -Deletes the 1st person in the results of the `find` command. +Deletes the 1st contact in the results of the `find` command. -=== Selecting a person : `select` +=== Selecting a contact : `select` -Selects the person identified by the index number used in the last person listing. + -Format: `select INDEX` +Format: `select INDEX` + +Selects the contact identified by the index number used in the last contact listing. **** -* Selects the person and loads the Google search page the person at the specified `INDEX`. +* Selects the contact and loads the Google search page the contact at the specified `INDEX`. * The index refers to the index number shown in the most recent listing. * The index *must be a positive integer* `1, 2, 3, ...` **** @@ -154,15 +157,15 @@ Examples: * `list` + `select 2` + -Selects the 2nd person in the address book. +Selects the 2nd contact in the address book. * `find Betsy` + `select 1` + -Selects the 1st person in the results of the `find` command. +Selects the 1st contact in the results of the `find` command. === Listing entered commands : `history` -Lists all the commands that you have entered in reverse chronological order. + -Format: `history` +Format: `history` + +Lists all the commands that you have entered in reverse chronological order. [NOTE] ==== @@ -172,8 +175,8 @@ Pressing the kbd:[↑] and kbd:[↓] arrows will display the previous and // tag::undoredo[] === Undoing previous command : `undo` -Restores the address book to the state before the previous _undoable_ command was executed. + -Format: `undo` +Format: `undo` + +Restores the address book to the state before the previous _undoable_ command was executed. [NOTE] ==== @@ -198,8 +201,8 @@ The `undo` command fails as there are no undoable commands executed previously. === Redoing the previously undone command : `redo` -Reverses the most recent `undo` command. + -Format: `redo` +Format: `redo` + +Reverses the most recent `undo` command. Examples: @@ -226,8 +229,8 @@ Format: `clear` === Exiting the program : `exit` -Exits the program. + -Format: `exit` +Format: `exit` + +Exits the program. === Saving the data From 127a9c9c3a2fd6e020cd7a1f38d50fc527e9a40c Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Tue, 13 Mar 2018 22:43:47 +0800 Subject: [PATCH 049/288] Update UserGuide.adoc --- docs/UserGuide.adoc | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 01146c375a6c..2e3d69e868c4 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -63,9 +63,9 @@ Format: `help` === Adding a contact: `add` -Format: `add [TYPE] n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]... + -Adds a contact to the address book. + -`[TYPE]` field represents the type of contact you wish to add. + +Adds a contact to the address book. + +Format: `add [TYPE] n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]... + +`[TYPE]` field represents the type of contact you wish to add. + It can be `student`, `guardian` or `{nbsp}` (default). @@ -74,18 +74,18 @@ A contact can have any number of tags (including 0) Examples: -Adding a default contact: `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` +Adding a default contact: `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` + Adding a student contact: `add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Centre Street, block 238, #02-02` === Listing all contacts : `list` -Format: `list` + -Shows a list of all contacts in the address book. +Shows a list of all contacts in the address book. + +Format: `list` === Editing a contact : `edit` -Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...`+ -Edits an existing contact in the address book. +Edits an existing contact in the address book. + +Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...` **** * Edits the contact at the specified `INDEX`. The index refers to the index number shown in the last contact listing. The index *must be a positive integer* 1, 2, 3, ... @@ -104,8 +104,8 @@ Edits the name of the 2nd contact to be `Betsy Crower` and clears all existing t === Locating contacts by name: `find` -Format: `find KEYWORD [MORE_KEYWORDS]` + -Finds contacts whose names contain any of the given keywords. +Finds contacts whose names contain any of the given keywords. + +Format: `find KEYWORD [MORE_KEYWORDS]` **** * The search is case insensitive. e.g `hans` will match `Hans`. @@ -124,8 +124,8 @@ Returns any contact having names `Betsy`, `Tim`, or `John` === Deleting a contact : `delete` -Format: `delete INDEX` + -Deletes the specified contact from the address book. +Deletes the specified contact from the address book. + +Format: `delete INDEX` **** * Deletes the contact at the specified `INDEX`. @@ -144,8 +144,8 @@ Deletes the 1st contact in the results of the `find` command. === Selecting a contact : `select` -Format: `select INDEX` + -Selects the contact identified by the index number used in the last contact listing. +Selects the contact identified by the index number used in the last contact listing. + +Format: `select INDEX` **** * Selects the contact and loads the Google search page the contact at the specified `INDEX`. @@ -164,8 +164,8 @@ Selects the 1st contact in the results of the `find` command. === Listing entered commands : `history` -Format: `history` + -Lists all the commands that you have entered in reverse chronological order. +Lists all the commands that you have entered in reverse chronological order. + +Format: `history` [NOTE] ==== @@ -175,8 +175,8 @@ Pressing the kbd:[↑] and kbd:[↓] arrows will display the previous and // tag::undoredo[] === Undoing previous command : `undo` -Format: `undo` + -Restores the address book to the state before the previous _undoable_ command was executed. +Restores the address book to the state before the previous _undoable_ command was executed. + +Format: `undo` [NOTE] ==== @@ -201,8 +201,8 @@ The `undo` command fails as there are no undoable commands executed previously. === Redoing the previously undone command : `redo` -Format: `redo` + -Reverses the most recent `undo` command. +Reverses the most recent `undo` command. + +Format: `redo` Examples: @@ -229,8 +229,8 @@ Format: `clear` === Exiting the program : `exit` -Format: `exit` + -Exits the program. +Exits the program. + +Format: `exit` === Saving the data From 24e3a1f14166a7c883b75f2962a1431e3981c0c0 Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Tue, 13 Mar 2018 22:52:48 +0800 Subject: [PATCH 050/288] fix trailing whitespace error From 24830d8f0bf31ad05a909a08e048347afa560c64 Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Tue, 13 Mar 2018 23:06:09 +0800 Subject: [PATCH 051/288] fixed errors --- docs/UserGuide.adoc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 2e3d69e868c4..185d65e4f227 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -63,8 +63,8 @@ Format: `help` === Adding a contact: `add` -Adds a contact to the address book. + -Format: `add [TYPE] n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]... + +Adds a contact to the address book. + +Format: `add [TYPE] n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` + `[TYPE]` field represents the type of contact you wish to add. + It can be `student`, `guardian` or `{nbsp}` (default). @@ -150,7 +150,7 @@ Format: `select INDEX` **** * Selects the contact and loads the Google search page the contact at the specified `INDEX`. * The index refers to the index number shown in the most recent listing. -* The index *must be a positive integer* `1, 2, 3, ...` +* The index *must be a positive integer* `1, 2, 3, ... **** Examples: From c7bd2b5f64a35b6132ba4c5d1f0fc294b55c5985 Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Tue, 13 Mar 2018 23:14:46 +0800 Subject: [PATCH 052/288] edited add command examples --- docs/UserGuide.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 185d65e4f227..c23d7d6668e5 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -74,8 +74,8 @@ A contact can have any number of tags (including 0) Examples: -Adding a default contact: `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` + -Adding a student contact: `add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Centre Street, block 238, #02-02` +Adding a default contact: `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` t/friend + +Adding a student contact: `add student n/Betsy Crowe e/betsycrowe@example.com a/Centre Street, block 238, #02-02` === Listing all contacts : `list` From 3ceb8e87fb438ddb865c30c68bb5554862e622df Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Wed, 14 Mar 2018 01:16:09 +0800 Subject: [PATCH 053/288] fixed issues --- docs/UserGuide.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index c23d7d6668e5..44cc218b085e 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -18,7 +18,7 @@ By: `Team W14-B1` Since: `Jan 2018` Licence: `MIT` == Introduction -TeachConnect (TC) is created to help teachers to *better manange their contacts* and *remenber students that they had taught*. TeachConnect is also tailored for teachers who would *prefer to use a desktop app for managing contacts*. Most importantly, it is *optimized for those who prefer to work with a Command Line Interface* (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TeachConnect will manange your contacts faster than traditional GUI apps. Interested? Jump to the <> to get started. Enjoy! +TeachConnect (TC) is created to help teachers and other educational professionals to *better manage their contacts* and *remenber students that they had taught*. TeachConnect is also tailored for teachers who would *prefer to use a desktop app for managing contacts*. Most importantly, it is *optimized for those who prefer to work with a Command Line Interface* (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TeachConnect will manage your contacts faster than traditional GUI apps. Interested? Jump to <> to get started. Enjoy! == Quick Start From 6691019d913305297dc4e8cde9550806ed81b6c5 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi Date: Wed, 14 Mar 2018 01:32:58 +0800 Subject: [PATCH 054/288] Update AboutUs.adoc --- docs/AboutUs.adoc | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/AboutUs.adoc b/docs/AboutUs.adoc index 1f0dea5b1104..b00f43e0e86b 100644 --- a/docs/AboutUs.adoc +++ b/docs/AboutUs.adoc @@ -16,6 +16,7 @@ We are a team based in the http://www.comp.nus.edu.sg[School of Computing, Natio === Mukesh Gadupudi image::shanmu9898.jpg[width="150", align="left"] {empty}[https://www.linkedin.com/in/mukesh-gadupudi-420a11139/[portfolio]] [https://github.com/shanmu9898[github]] + Role: Team Lead, Developer Responsibilities: Model + Deliverable and Deadlines + Integration From 823e7e637d3d5511457baf19a23270826946a89e Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Wed, 14 Mar 2018 10:59:54 +0800 Subject: [PATCH 055/288] - Updating UserGuide with schedule command --- docs/UserGuide.adoc | 74 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 64 insertions(+), 10 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 6d1f7e31b211..c671f0e78ff2 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -39,7 +39,7 @@ e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. . Some example commands you can try: * *`list`* : lists all contacts -* **`add`**`n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` : adds a contact named `John Doe` to the Address Book. +* **`add`**`n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` : adds a contact named `John Doe` to TeachConnect. * **`delete`**`3` : deletes the 3rd contact shown in the current list * *`exit`* : exits the app @@ -63,7 +63,7 @@ Format: `help` === Adding a person: `add` -Adds a person to the address book + +Adds a person to TeachConnect + Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` [TIP] @@ -76,12 +76,12 @@ Examples: === Listing all persons : `list` -Shows a list of all persons in the address book. + +Shows a list of all persons in TeachConnect. + Format: `list` === Editing a person : `edit` -Edits an existing person in the address book. + +Edits an existing person in TeachConnect. + Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...` **** @@ -121,7 +121,7 @@ Returns any person having names `Betsy`, `Tim`, or `John` === Deleting a person : `delete` -Deletes the specified person from the address book. + +Deletes the specified person from TeachConnect. + Format: `delete INDEX` **** @@ -134,7 +134,7 @@ Examples: * `list` + `delete 2` + -Deletes the 2nd person in the address book. +Deletes the 2nd person in TeachConnect. * `find Betsy` + `delete 1` + Deletes the 1st person in the results of the `find` command. @@ -154,11 +154,65 @@ Examples: * `list` + `select 2` + -Selects the 2nd person in the address book. +Selects the 2nd person in TeachConnect. * `find Betsy` + `select 1` + Selects the 1st person in the results of the `find` command. +=== Adding an appointment : `set appointment` + +Adds an appointment to TeachConnect + +Format: `set appointment t/TITLE s/START_TIME e/END_TIME i/INDEX` + +**** +* Adds an appointment with title `TITLE`, which lasts from `START_TIME` to `END_TIME`, with person at the specified `INDEX`. +* The index refers to the index number shown in the most recent listing. +* The index *must be a positive integer* 1, 2, 3, ... +* `START_TIME` and `END_TIME` are in the format `DD-MM-YYYY HH:MM`. +**** + +Examples: + +* `set appointment t/Meet parent s/05-04-2018 10:00 e/05-04-2018 11:00 i/3` + +Adds an appointment on April 5th, 2018, 10am with the 3rd person in TeachConnect. + +=== Adding a task : `set task` + +Adds a task to TeachConnect + +Format: `set task t/TITLE d/DEADLINE` + +**** +* Adds a task with title `TITLE` which needs to complete before `DEADLINE`. +* `DEADLINE` is in the format `DD-MM-YYYY HH:MM`. +**** + +Examples: + +* `set task t/Mark papers d/05-04-2018 10:00` + +Sets a task which needs to be completed before April 5th, 2018, 10am. + +=== Listing all schedules : `list schedule` + +Shows a list of all schedules in TeachConnect. + +Format: `list schedule` + +=== Deleting a schedule : `delete schedule` + +Deletes the specified schedule from TeachConnect. + +Format: `delete schedule INDEX` + +**** +* Deletes the schedule at the specified `INDEX`. +* The index refers to the index number shown in the most recent listing. +* The index *must be a positive integer* 1, 2, 3, ... +**** + +Examples: + +* `list schedule` + +`delete 2` + +Deletes the 2nd schedule in TeachConnect. + === Listing entered commands : `history` Lists all the commands that you have entered in reverse chronological order. + @@ -172,12 +226,12 @@ Pressing the kbd:[↑] and kbd:[↓] arrows will display the previous and // tag::undoredo[] === Undoing previous command : `undo` -Restores the address book to the state before the previous _undoable_ command was executed. + +Restores TeachConnect to the state before the previous _undoable_ command was executed. + Format: `undo` [NOTE] ==== -Undoable commands: those commands that modify the address book's content (`add`, `delete`, `edit` and `clear`). +Undoable commands: those commands that modify TeachConnect's content (`add`, `delete`, `edit` and `clear`). ==== Examples: @@ -221,7 +275,7 @@ The `redo` command fails as there are no `undo` commands executed previously. === Clearing all entries : `clear` -Clears all entries from the address book. + +Clears all entries from TeachConnect. + Format: `clear` === Exiting the program : `exit` From 02c5b5e419cf0654de710d09d794ab65134f3eca Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Wed, 14 Mar 2018 12:39:41 +0800 Subject: [PATCH 056/288] Fix UserGuide --- docs/UserGuide.adoc | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 46b46c2dfa86..106de5da4115 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -1,4 +1,4 @@ -= AddressBook Level 4 - User Guide += TeachConnect - User Guide :toc: :toc-title: :toc-placement: preamble @@ -28,7 +28,7 @@ TeachConnect (TC) is created to help teachers and other educational professional This app will not work with earlier versions of Java 8. + You can download the lastest Java version link:https://java.com/en/download/[here]. + -. Download the latest `teachconnect.jar` link:{repoURL}/releases[here]. +. Download the latest `addressbook.jar` link:{repoURL}/releases[here]. . Copy the file to the folder you want to use as the home folder for your TeachConnect. . Double-click the file to start the app. The GUI should appear in a few seconds. + @@ -65,7 +65,7 @@ Format: `help` === Adding a contact: `add` -Adds a contact to the address book. + +Adds a contact to TeachConnect. + Format: `add [TYPE] n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` + `[TYPE]` field represents the type of contact you wish to add. + It can be `student`, `guardian` or `{nbsp}` (default). @@ -216,11 +216,11 @@ Format: `list schedule` === Deleting a schedule : `delete schedule` -Deletes the specified schedule from TeachConnect. + +Deletes the specified schedule from TeachConnect schedule list. + Format: `delete schedule INDEX` **** -* Deletes the schedule at the specified `INDEX`. +* Deletes the schedule at the specified `INDEX` in the schedule list. * The index refers to the index number shown in the most recent listing. * The index *must be a positive integer* 1, 2, 3, ... **** @@ -332,6 +332,13 @@ e.g. `find James Jake` * *Help* : `help` * *Select* : `select INDEX` + e.g.`select 2` +* *Add Appointment* `set appointment t/TITLE s/START_TIME e/END_TIME i/INDEX` + +e.g. `set appointment t/Meet parent s/05-04-2018 10:00 e/05-04-2018 11:00 i/3` +* *Add Task* `set task t/TITLE d/DEADLINE` + +e.g. `set task t/Mark papers d/05-04-2018 10:00` +* *List Schedule* : `list schedule` +* *Delete Schedule* : `delete schedule INDEX` + +e.g. `delete schedule 3` * *History* : `history` * *Undo* : `undo` * *Redo* : `redo` From 183a7f21035ccfdb5d11dc8049d5b82f295a08bb Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Wed, 14 Mar 2018 12:48:34 +0800 Subject: [PATCH 057/288] Fix DeveloperGuide --- docs/DeveloperGuide.adoc | 80 +++++++++++++++++++--------------------- 1 file changed, 38 insertions(+), 42 deletions(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index ceae0f78cbba..237693407dd4 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -1,4 +1,4 @@ -= AddressBook Level 4 - Developer Guide += TeachConnect - Developer Guide :toc: :toc-title: :toc-placement: preamble @@ -14,7 +14,7 @@ endif::[] :repoURL: https://github.com/CS2103JAN2018-W14-B1/main/tree/master -By: `Team SE-EDU`      Since: `Jun 2016`      Licence: `MIT` +By: `Team SE-EDU` Since: `Jun 2016` Licence: `MIT` == Setting up @@ -68,10 +68,6 @@ This project follows https://github.com/oss-generic/process/blob/master/docs/Cod Optionally, you can follow the <> document to configure Intellij to check style-compliance as you write code. -==== Updating documentation to match your fork - -After forking the repo, links in the documentation will still point to the `se-edu/addressbook-level4` repo. If you plan to develop this as a separate product (i.e. instead of contributing to the `se-edu/addressbook-level4`) , you should replace the URL in the variable `repoURL` in `DeveloperGuide.adoc` and `UserGuide.adoc` with the URL of your fork. - ==== Setting up CI Set up Travis to perform Continuous Integration (CI) for your fork. See <> to learn how to set it up. @@ -142,7 +138,7 @@ The _Sequence Diagram_ below shows how the components interact for the scenario image::SDforDeletePerson.png[width="800"] [NOTE] -Note how the `Model` simply raises a `AddressBookChangedEvent` when the Address Book data are changed, instead of asking the `Storage` to save the updates to the hard disk. +Note how the `Model` simply raises a `AddressBookChangedEvent` when the TeachConnect data are changed, instead of asking the `Storage` to save the updates to the hard disk. The diagram below shows how the `EventsCenter` reacts to that event, which eventually results in the updates being saved to the hard disk and the status bar of the UI being updated to reflect the 'Last Updated' time. @@ -206,7 +202,7 @@ image::ModelClassDiagram.png[width="800"] The `Model`, * stores a `UserPref` object that represents the user's preferences. -* stores the Address Book data. +* stores TeachConnect data. * exposes an unmodifiable `ObservableList` that can be 'observed' e.g. the UI can be bound to this list so that the UI automatically updates when the data in the list change. * does not depend on any of the other three components. @@ -221,7 +217,7 @@ image::StorageClassDiagram.png[width="800"] The `Storage` component, * can save `UserPref` objects in json format and read it back. -* can save the Address Book data in xml format and read it back. +* can save TeachConnect data in xml format and read it back. [[Design-Commons]] === Common classes @@ -236,13 +232,13 @@ This section describes some noteworthy details on how certain features are imple === Undo/Redo feature ==== Current Implementation -The undo/redo mechanism is facilitated by an `UndoRedoStack`, which resides inside `LogicManager`. It supports undoing and redoing of commands that modifies the state of the address book (e.g. `add`, `edit`). Such commands will inherit from `UndoableCommand`. +The undo/redo mechanism is facilitated by an `UndoRedoStack`, which resides inside `LogicManager`. It supports undoing and redoing of commands that modifies the state of TeachConnect (e.g. `add`, `edit`). Such commands will inherit from `UndoableCommand`. `UndoRedoStack` only deals with `UndoableCommands`. Commands that cannot be undone will inherit from `Command` instead. The following diagram shows the inheritance diagram for commands: image::LogicCommandClassDiagram.png[width="800"] -As you can see from the diagram, `UndoableCommand` adds an extra layer between the abstract `Command` class and concrete commands that can be undone, such as the `DeleteCommand`. Note that extra tasks need to be done when executing a command in an _undoable_ way, such as saving the state of the address book before execution. `UndoableCommand` contains the high-level algorithm for those extra tasks while the child classes implements the details of how to execute the specific command. Note that this technique of putting the high-level algorithm in the parent class and lower-level steps of the algorithm in child classes is also known as the https://www.tutorialspoint.com/design_pattern/template_pattern.htm[template pattern]. +As you can see from the diagram, `UndoableCommand` adds an extra layer between the abstract `Command` class and concrete commands that can be undone, such as the `DeleteCommand`. Note that extra tasks need to be done when executing a command in an _undoable_ way, such as saving the state of TeachConnect before execution. `UndoableCommand` contains the high-level algorithm for those extra tasks while the child classes implements the details of how to execute the specific command. Note that this technique of putting the high-level algorithm in the parent class and lower-level steps of the algorithm in child classes is also known as the https://www.tutorialspoint.com/design_pattern/template_pattern.htm[template pattern]. Commands that are not undoable are implemented this way: [source,java] @@ -277,7 +273,7 @@ public class DeleteCommand extends UndoableCommand { Suppose that the user has just launched the application. The `UndoRedoStack` will be empty at the beginning. -The user executes a new `UndoableCommand`, `delete 5`, to delete the 5th person in the address book. The current state of the address book is saved before the `delete 5` command executes. The `delete 5` command will then be pushed onto the `undoStack` (the current state is saved together with the command). +The user executes a new `UndoableCommand`, `delete 5`, to delete the 5th person in TeachConnect. The current state of TeachConnect is saved before the `delete 5` command executes. The `delete 5` command will then be pushed onto the `undoStack` (the current state is saved together with the command). image::UndoRedoStartingStackDiagram.png[width="800"] @@ -290,7 +286,7 @@ If a command fails its execution, it will not be pushed to the `UndoRedoStack` a The user now decides that adding the person was a mistake, and decides to undo that action using `undo`. -We will pop the most recent command out of the `undoStack` and push it back to the `redoStack`. We will restore the address book to the state before the `add` command executed. +We will pop the most recent command out of the `undoStack` and push it back to the `redoStack`. We will restore TeachConnect to the state before the `add` command executed. image::UndoRedoExecuteUndoStackDiagram.png[width="800"] @@ -301,7 +297,7 @@ The following sequence diagram shows how the undo operation works: image::UndoRedoSequenceDiagram.png[width="800"] -The redo does the exact opposite (pops from `redoStack`, push to `undoStack`, and restores the address book to the state after the command is executed). +The redo does the exact opposite (pops from `redoStack`, push to `undoStack`, and restores TeachConnect to the state after the command is executed). [NOTE] If the `redoStack` is empty, then there are no other commands left to be redone, and an `Exception` will be thrown when popping the `redoStack`. @@ -341,7 +337,7 @@ image::UndoRedoActivityDiagram.png[width="650"] ===== Aspect: Type of commands that can be undone/redone -* **Alternative 1 (current choice):** Only include commands that modifies the address book (`add`, `clear`, `edit`). +* **Alternative 1 (current choice):** Only include commands that modifies TeachConnect (`add`, `clear`, `edit`). ** Pros: We only revert changes that are hard to change back (the view can easily be re-modified as no data are * lost). ** Cons: User might think that undo also applies when the list is modified (undoing filtering for example), * only to realize that it does not do that, after executing `undo`. * **Alternative 2:** Include all commands. @@ -495,7 +491,7 @@ Here are the steps to create a new release. === Managing Dependencies -A project often depends on third-party libraries. For example, Address Book depends on the http://wiki.fasterxml.com/JacksonHome[Jackson library] for XML parsing. Managing these _dependencies_ can be automated using Gradle. For example, Gradle can download the dependencies automatically, which is better than these alternatives. + +A project often depends on third-party libraries. For example, TeachConnect depends on the http://wiki.fasterxml.com/JacksonHome[Jackson library] for XML parsing. Managing these _dependencies_ can be automated using Gradle. For example, Gradle can download the dependencies automatically, which is better than these alternatives. + a. Include those libraries in the repo (this bloats the repo size) + b. Require developers to download those libraries manually (this creates extra work for developers) @@ -538,12 +534,12 @@ Do take a look at <> before attempting to modify the `Logic` compo [discrete] ==== `Model` component -*Scenario:* You are in charge of `model`. One day, the `logic`-in-charge approaches you for help. He wants to implement a command such that the user is able to remove a particular tag from everyone in the address book, but the model API does not support such a functionality at the moment. Your job is to implement an API method, so that your teammate can use your API to implement his command. +*Scenario:* You are in charge of `model`. One day, the `logic`-in-charge approaches you for help. He wants to implement a command such that the user is able to remove a particular tag from everyone in TeachConnect, but the model API does not support such a functionality at the moment. Your job is to implement an API method, so that your teammate can use your API to implement his command. [TIP] Do take a look at <> before attempting to modify the `Model` component. -. Add a `removeTag(Tag)` method. The specified tag will be removed from everyone in the address book. +. Add a `removeTag(Tag)` method. The specified tag will be removed from everyone in TeachConnect. + **** * Hints @@ -612,7 +608,7 @@ image::getting-started-ui-result-after.png[width="200"] *** Do read the commits one at a time if you feel overwhelmed. **** -. Modify the link:{repoURL}/src/main/java/seedu/address/ui/StatusBarFooter.java[`StatusBarFooter`] to show the total number of people in the address book. +. Modify the link:{repoURL}/src/main/java/seedu/address/ui/StatusBarFooter.java[`StatusBarFooter`] to show the total number of people in TeachConnect. + **Before** + @@ -625,7 +621,7 @@ image::getting-started-ui-status-after.png[width="500"] **** * Hints ** link:{repoURL}/src/main/resources/view/StatusBarFooter.fxml[`StatusBarFooter.fxml`] will need a new `StatusBar`. Be sure to set the `GridPane.columnIndex` properly for each `StatusBar` to avoid misalignment! -** link:{repoURL}/src/main/java/seedu/address/ui/StatusBarFooter.java[`StatusBarFooter`] needs to initialize the status bar on application start, and to update it accordingly whenever the address book is updated. +** link:{repoURL}/src/main/java/seedu/address/ui/StatusBarFooter.java[`StatusBarFooter`] needs to initialize the status bar on application start, and to update it accordingly whenever TeachConnect is updated. * Solution ** Modify the constructor of link:{repoURL}/src/main/java/seedu/address/ui/StatusBarFooter.java[`StatusBarFooter`] to take in the number of persons when the application just started. ** Use link:{repoURL}/src/main/java/seedu/address/ui/StatusBarFooter.java[`StatusBarFooter#handleAddressBookChangedEvent(AddressBookChangedEvent)`] to update the number of persons whenever there are new changes to the addressbook. @@ -637,12 +633,12 @@ image::getting-started-ui-status-after.png[width="500"] [discrete] ==== `Storage` component -*Scenario:* You are in charge of `storage`. For your next project milestone, your team plans to implement a new feature of saving the address book to the cloud. However, the current implementation of the application constantly saves the address book after the execution of each command, which is not ideal if the user is working on limited internet connection. Your team decided that the application should instead save the changes to a temporary local backup file first, and only upload to the cloud after the user closes the application. Your job is to implement a backup API for the address book storage. +*Scenario:* You are in charge of `storage`. For your next project milestone, your team plans to implement a new feature of saving TeachConnect to the cloud. However, the current implementation of the application constantly saves TeachConnect after the execution of each command, which is not ideal if the user is working on limited internet connection. Your team decided that the application should instead save the changes to a temporary local backup file first, and only upload to the cloud after the user closes the application. Your job is to implement a backup API for TeachConnect storage. [TIP] Do take a look at <> before attempting to modify the `Storage` component. -. Add a new method `backupAddressBook(ReadOnlyAddressBook)`, so that the address book can be saved in a fixed temporary location. +. Add a new method `backupAddressBook(ReadOnlyAddressBook)`, so that TeachConnect can be saved in a fixed temporary location. + **** * Hint @@ -657,7 +653,7 @@ Do take a look at <> before attempting to modify the `Storage` c By creating this command, you will get a chance to learn how to implement a feature end-to-end, touching all major components of the app. -*Scenario:* You are a software maintainer for `addressbook`, as the former developer team has moved on to new projects. The current users of your application have a list of new feature requests that they hope the software will eventually have. The most popular request is to allow adding additional comments/notes about a particular contact, by providing a flexible `remark` field for each contact, rather than relying on tags alone. After designing the specification for the `remark` command, you are convinced that this feature is worth implementing. Your job is to implement the `remark` command. +*Scenario:* You are a software maintainer for `TeachConnect`, as the former developer team has moved on to new projects. The current users of your application have a list of new feature requests that they hope the software will eventually have. The most popular request is to allow adding additional comments/notes about a particular contact, by providing a flexible `remark` field for each contact, rather than relying on tags alone. After designing the specification for the `remark` command, you are convinced that this feature is worth implementing. Your job is to implement the `remark` command. ==== Description Edits the remark for a person specified in the `INDEX`. + @@ -825,7 +821,7 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un |`* *` |user |hide <> by default |minimize chance of someone else seeing them by accident -|`*` |user with many persons in the address book |sort persons by name |locate a person easily +|`*` |user with many persons in TeachConnect |sort persons by name |locate a person easily |`*` |user |tag a person |mark their contact with details @@ -835,9 +831,9 @@ Priorities: High (must have) - `* * \*`, Medium (nice to have) - `* \*`, Low (un |`*` |user |change the background colour of the application |make the application more pleasing to my eyes -|`*` |user |export persons from my address book to an external file| have persons' contacts ready for import +|`*` |user |export persons from TeachConnect to an external file| have persons' contacts ready for import -|`*` |user |import persons from an external file to my address book | have persons' contact details added without having to reenter the information +|`*` |user |import persons from an external file to TeachConnect | have persons' contact details added without having to reenter the information |======================================================================= _{More to be added}_ @@ -845,7 +841,7 @@ _{More to be added}_ [appendix] == Use Cases -(For all use cases below, the *System* is the `AddressBook` and the *Actor* is the `teacher`, unless specified otherwise) +(For all use cases below, the *System* is `TeachConnect` and the *Actor* is the `teacher`, unless specified otherwise) [discrete] === Use case: Delete person @@ -853,9 +849,9 @@ _{More to be added}_ *MSS* 1. Teacher requests to list persons -2. AddressBook shows a list of persons +2. TeachConnect shows a list of persons 3. Teacher requests to delete a specific person in the list -4. AddressBook deletes the person +4. TeachConnect deletes the person + Use case ends. @@ -869,7 +865,7 @@ Use case ends. * 3a. The given index is invalid. + [none] -** 3a1. AddressBook shows an error message. +** 3a1. TeachConnect shows an error message. + Use case resumes at step 2. @@ -879,11 +875,11 @@ Use case resumes at step 2. *MSS* 1. Teacher requests to list persons -2. AddressBook shows a list of persons +2. TeachConnect shows a list of persons 3. Teacher requests to create a class of a subject for a specified duration -4. AddressBook prompts for student(s) to be added into the class +4. TeachConnect prompts for student(s) to be added into the class 5. Teacher enters index of student(s) as shown in the list -5. AddressBook creates the class +5. TeachConnect creates the class + Use case ends. @@ -897,14 +893,14 @@ Use case ends. * 3a. The given subject or duration is invalid. + [none] -** 3a1. AddressBook shows an error message. +** 3a1. TeachConnect shows an error message. + Use case resumes at step 2. * 5a. One or more given index(s) is invalid. + [none] -** 5a1. AddressBook shows an error message. +** 5a1. TeachConnect shows an error message. + Use case resumes at step 2. @@ -914,9 +910,9 @@ Use case resumes at step 2. *MSS* 1. Teacher requests to add an appointment at a specified time -2. AddressBook prompts for a title +2. TeachConnect prompts for a title 3. Teacher enters a title -4. AddressBook adds the appointment +4. TeachConnect adds the appointment + Use case ends. @@ -926,7 +922,7 @@ Use case ends. * 1a. Time given is invalid. + [none] -** 1a1. AddressBook shows error message. +** 1a1. TeachConnect shows error message. + Use case ends. @@ -936,9 +932,9 @@ Use case ends. *MSS* 1. Teacher requests to list appointments -2. AddressBook shows list of appointments +2. TeachConnect shows list of appointments 3. Teacher requests to delete a specific appointment in the list -4. AddressBook deletes appointment +4. TeachConnect deletes appointment + Use case ends. @@ -952,7 +948,7 @@ Use case ends. * 3a. The given index is invalid. + [none] -** 3a1. AddressBook shows error message. +** 3a1. TeachConnect shows error message. + Use case resumes at step 2. @@ -1042,4 +1038,4 @@ _{ more test cases ... }_ .. _{explain how to simulate a missing/corrupted file and the expected behavior}_ -_{ more test cases ... }_ +_{ more test cases ... }_ \ No newline at end of file From 650efb5811f2abf5cbe5e1b6970968657b2a884d Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Wed, 14 Mar 2018 13:38:26 +0800 Subject: [PATCH 058/288] Fix checkstyle --- docs/DeveloperGuide.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 237693407dd4..4dce8369cb9d 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -14,7 +14,7 @@ endif::[] :repoURL: https://github.com/CS2103JAN2018-W14-B1/main/tree/master -By: `Team SE-EDU` Since: `Jun 2016` Licence: `MIT` +By: `Team W14-B1` Since: `Jan 2018` Licence: `MIT` == Setting up @@ -1038,4 +1038,4 @@ _{ more test cases ... }_ .. _{explain how to simulate a missing/corrupted file and the expected behavior}_ -_{ more test cases ... }_ \ No newline at end of file +_{ more test cases ... }_ From d8726d70a7bc843e92e7ed4e93d17d088d2f560b Mon Sep 17 00:00:00 2001 From: Randy Pang Chung <35571456+randypx@users.noreply.github.com> Date: Thu, 15 Mar 2018 00:39:23 +0800 Subject: [PATCH 059/288] Large change to UserGuide.adoc --- docs/UserGuide.adoc | 171 ++++++++++++++++++++++++-------------------- 1 file changed, 92 insertions(+), 79 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 106de5da4115..33bcd29fb4a9 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -40,7 +40,7 @@ e.g. typing *`help`* and pressing kbd:[Enter] will open the help window. * *`list`* : lists all contacts -* **`add`**`n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` : adds a contact named `John Doe` to TeachConnect. +* **`add`**`n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` : adds a contact named `John Doe`. * **`delete`**`3` : deletes the 3rd contact shown in the current list * *`exit`* : exits the app @@ -65,15 +65,13 @@ Format: `help` === Adding a contact: `add` -Adds a contact to TeachConnect. + -Format: `add [TYPE] n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` + -`[TYPE]` field represents the type of contact you wish to add. + -It can be `student`, `guardian` or `{nbsp}` (default). - - -Adds a person to TeachConnect + -Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` +Adds a contact. + +Format: `add [TYPE] n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...` +**** +* `[TYPE]` field represents the type of contact you wish to add. + +* It can be `student`, `guardian` or `{nbsp}` (empty for a default contact). +**** [TIP] A contact can have any number of tags (including 0) @@ -83,21 +81,88 @@ Examples: Adding a default contact: `add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01` t/friend + Adding a student contact: `add student n/Betsy Crowe e/betsycrowe@example.com a/Centre Street, block 238, #02-02` -=== Listing all contacts : `list` +=== Forming a class `[coming in v1.3]` + +Forms a class of students for a specified subject and time period. + +Format: `form subj/SUBJECT s/START_DATE e/END_DATE i/INDEX...` + +**** +* Students specified by the `INDEX` are added in the class. +* The index refers to the index number shown in the most recent listing. +* The index *must be a positive integer* `1, 2, 3, ...`. +* Minimum of one student must be entered. There can be more than one student +* Only a student contact can be entered, default and guardian contacts are not allowed. +* Dates must be in the format: `DD-MM-YYYY`. +**** + +Examples: + +* `list` + +`form 1,2,5 subj/English s/18-01-2018 e/17-07-2019` + +Forms an English class containing the first, second and fifth contact in the list that starts in 18 Jan 2018 to 17 July 2019. + + +=== Setting up an appointment : `set appointment` `[coming in v1.2]` + +Sets an appointment with the specified contact. + +Format: `set appointment t/TITLE s/START_DATE START_TIME e/END_DATE END_TIME i/INDEX` + +**** +* This sets an appointment with `TITLE`, from `START_DATE` at `START_TIME` to `END_DATE` at `END_TIME`, with contact at the specified `INDEX`. +* The index refers to the index number shown in the most recent listing. +* The index *must be a positive integer* `1, 2, 3, ...`. +* `START_DATE` and `END_DATE` must be in the format `DD-MM-YYYY`. +* `START_TIME` and `END_TIME` must be in the 24-hr format: HH:MM. +**** + +Examples: + +* `set appointment t/Meet parent s/05-04-2018 10:00 e/05-04-2018 11:00 i/3` + +Sets an appointment on April 5th, 2018, 10am with the 3rd contact in the list. + +=== Setting a task : `set task` `[coming in v1.2]` + +Sets a task to be done by a deadline + +Format: `set task t/TITLE e/END_DATE END_TIME` + +**** +* Task with `TITLE` which needs to complete before `END_DATE` at `END_TIME` is added. +* `END_DATE` must be in the format `DD-MM-YYYY`. +* `END_TIME` must be in the 24-hr format: HH:MM. +**** + +Examples: + +* `set task t/Mark papers e/05-04-2018 10:00` + +Sets a task which needs to be completed before April 5th, 2018, 10am. + +=== Listing all contacts/tasks/appointments : `list` + +Shows a list of all of the specified `TYPE`. + +Format: `list TYPE`. + +**** +* `TYPE` can be of the following: `contacts`, `students`, `guardians`, `tasks`, `appointments`. +* `TYPE` cannot be empty. +**** +Examples: -Shows a list of all persons in TeachConnect. + +* List all students: `list students` + +* List all tasks: `list tasks` === Editing a contact : `edit` -Edits an existing person in TeachConnect. + +Edits an existing contact. + Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...` **** -* Edits the contact at the specified `INDEX`. The index refers to the index number shown in the last contact listing. The index *must be a positive integer* 1, 2, 3, ... +* Contact at the specified `INDEX` is edited. +* The index refers to the index number shown in the last contact listing. +* The index *must be a positive integer* `1, 2, 3, ...`. * At least one of the optional fields must be provided. * Existing values will be updated to the input values. * When editing tags, the existing tags of the contact will be removed i.e adding of tags is not cumulative. @@ -131,39 +196,41 @@ Returns `john` and `John Doe` * `find Betsy Tim John` + Returns any contact having names `Betsy`, `Tim`, or `John` -=== Deleting a contact : `delete` - +=== Deleting an entry in the list : `delete` -Deletes the specified person from TeachConnect. + +Deletes the specified entry in the list. + Format: `delete INDEX` **** -* Deletes the contact at the specified `INDEX`. +* Entry at the specified `INDEX` is deleted. * The index refers to the index number shown in the most recent listing. -* The index *must be a positive integer* 1, 2, 3, ... +* The index *must be a positive integer* `1, 2, 3, ...`. **** Examples: -* `list` + +* `list contacts` + `delete 2` + - -Deletes the 2nd person in TeachConnect. +Deletes the 2nd contact in the list * `find Betsy` + `delete 1` + Deletes the 1st contact in the results of the `find` command. +* `list tasks` + +`delete 4` + +Deletes the 4th task in the list + === Selecting a contact : `select` Selects the contact identified by the index number used in the last contact listing. + Format: `select INDEX` **** -* Selects the contact and loads the Google search page the contact at the specified `INDEX`. +* Contact specified by `INDEX` is selected and is searched for in a Google search page. * The index refers to the index number shown in the most recent listing. -* The index *must be a positive integer* `1, 2, 3, ... +* The index *must be a positive integer* `1, 2, 3, ...`. **** Examples: @@ -171,66 +238,12 @@ Examples: * `list` + `select 2` + -Selects the 2nd person in TeachConnect. +Selects the 2nd contact in the list. * `find Betsy` + `select 1` + Selects the 1st contact in the results of the `find` command. -=== Adding an appointment : `set appointment` - -Adds an appointment to TeachConnect + -Format: `set appointment t/TITLE s/START_TIME e/END_TIME i/INDEX` - -**** -* Adds an appointment with title `TITLE`, which lasts from `START_TIME` to `END_TIME`, with person at the specified `INDEX`. -* The index refers to the index number shown in the most recent listing. -* The index *must be a positive integer* 1, 2, 3, ... -* `START_TIME` and `END_TIME` are in the format `DD-MM-YYYY HH:MM`. -**** - -Examples: - -* `set appointment t/Meet parent s/05-04-2018 10:00 e/05-04-2018 11:00 i/3` + -Adds an appointment on April 5th, 2018, 10am with the 3rd person in TeachConnect. - -=== Adding a task : `set task` - -Adds a task to TeachConnect + -Format: `set task t/TITLE d/DEADLINE` - -**** -* Adds a task with title `TITLE` which needs to complete before `DEADLINE`. -* `DEADLINE` is in the format `DD-MM-YYYY HH:MM`. -**** - -Examples: - -* `set task t/Mark papers d/05-04-2018 10:00` + -Sets a task which needs to be completed before April 5th, 2018, 10am. - -=== Listing all schedules : `list schedule` - -Shows a list of all schedules in TeachConnect. + -Format: `list schedule` - -=== Deleting a schedule : `delete schedule` - -Deletes the specified schedule from TeachConnect schedule list. + -Format: `delete schedule INDEX` - -**** -* Deletes the schedule at the specified `INDEX` in the schedule list. -* The index refers to the index number shown in the most recent listing. -* The index *must be a positive integer* 1, 2, 3, ... -**** - -Examples: - -* `list schedule` + -`delete 2` + -Deletes the 2nd schedule in TeachConnect. - === Listing entered commands : `history` Lists all the commands that you have entered in reverse chronological order. + @@ -293,7 +306,7 @@ The `redo` command fails as there are no `undo` commands executed previously. === Clearing all entries : `clear` -Clears all entries from TeachConnect. + +Clears all entries. + Format: `clear` === Exiting the program : `exit` From 27767a98551f6d011ce577f19896306db0b212ec Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Thu, 15 Mar 2018 01:16:13 +0800 Subject: [PATCH 060/288] Updated UserGuide --- docs/UserGuide.adoc | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 33bcd29fb4a9..8562a859415d 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -18,7 +18,7 @@ By: `Team W14-B1` Since: `Jan 2018` Licence: `MIT` == Introduction -TeachConnect (TC) is created to help teachers and other educational professionals to *better manage their contacts* and *remenber students that they had taught*. TeachConnect is also tailored for teachers who would *prefer to use a desktop app for managing contacts*. Most importantly, it is *optimized for those who prefer to work with a Command Line Interface* (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TeachConnect will manage your contacts faster than traditional GUI apps. Interested? Jump to <> to get started. Enjoy! +TeachConnect (TC) is created to help teachers and other educational professionals *better manage their contacts* and *remember students they taught*. TeachConnect is also tailored for teachers who would *prefer to use a Desktop App for managing contacts*. Most importantly, it is *optimized for those who prefer to work with a Command Line Interface* (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, TeachConnect will manage your contacts faster than traditional GUI apps. Interested? Jump to <> to get started. Enjoy! == Quick Start @@ -325,6 +325,17 @@ There is no need to save manually. _{explain how the user can enable/disable data encryption}_ // end::dataencryption[] +=== Upcoming features + +* Clear distinction between students and parents [coming in v1.2] +* Finding not only by name but by any field [coming in v1.2] +* Import and Export (Sharing of Address Book) [coming in v1.3] +* Adding events and Appointments [coming in v1.3] +* An All new customised UI [coming in v1.3] +* A login feature [coming in v1.5] +* Dynamic search [coming in v2.0] +* NLP for event and appointment scheduling [coming in v2.0] + == FAQ *Q*: How do I transfer my data to another Computer? + From 0aa1e2712caa2883520fec03c552d81cfc7fe45c Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Thu, 15 Mar 2018 01:33:58 +0800 Subject: [PATCH 061/288] Updated User Guide --- docs/UserGuide.adoc | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 8562a859415d..9f013949caaa 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -26,9 +26,9 @@ TeachConnect (TC) is created to help teachers and other educational professional + [NOTE] This app will not work with earlier versions of Java 8. + -You can download the lastest Java version link:https://java.com/en/download/[here]. +You can download the latest Java version link:https://java.com/en/download/[here]. + -. Download the latest `addressbook.jar` link:{repoURL}/releases[here]. +. Download the latest `Teachconnect.jar` link:{repoURL}/releases[here]. . Copy the file to the folder you want to use as the home folder for your TeachConnect. . Double-click the file to start the app. The GUI should appear in a few seconds. + @@ -87,7 +87,7 @@ Forms a class of students for a specified subject and time period. + Format: `form subj/SUBJECT s/START_DATE e/END_DATE i/INDEX...` **** -* Students specified by the `INDEX` are added in the class. +* Students specified by the `INDEX` are added to the class. * The index refers to the index number shown in the most recent listing. * The index *must be a positive integer* `1, 2, 3, ...`. * Minimum of one student must be entered. There can be more than one student @@ -126,7 +126,7 @@ Sets a task to be done by a deadline + Format: `set task t/TITLE e/END_DATE END_TIME` **** -* Task with `TITLE` which needs to complete before `END_DATE` at `END_TIME` is added. +* Task with `TITLE` which needs to completed before `END_DATE` at `END_TIME` is added. * `END_DATE` must be in the format `DD-MM-YYYY`. * `END_TIME` must be in the 24-hr format: HH:MM. **** @@ -136,7 +136,7 @@ Examples: * `set task t/Mark papers e/05-04-2018 10:00` + Sets a task which needs to be completed before April 5th, 2018, 10am. -=== Listing all contacts/tasks/appointments : `list` +=== Listing all contacts/tasks/appointments/students : `list` Shows a list of all of the specified `TYPE`. + Format: `list TYPE`. @@ -152,7 +152,7 @@ Examples: * List all tasks: `list tasks` -=== Editing a contact : `edit` +=== Editing a contact : `edit` [updated by v1.4] Edits an existing contact. + @@ -176,7 +176,7 @@ Edits the phone number and email address of the 1st contact to be `91234567` and * `edit 2 n/Betsy Crower t/` + Edits the name of the 2nd contact to be `Betsy Crower` and clears all existing tags. -=== Locating contacts by name: `find` +=== Locating contacts by name: `find` [will be updated by v1.2] Finds contacts whose names contain any of the given keywords. + Format: `find KEYWORD [MORE_KEYWORDS]` @@ -316,13 +316,14 @@ Format: `exit` === Saving the data -Address book data are saved in the hard disk automatically after any command that changes the data. + +TeachConnect data are saved in the hard disk automatically [even while sharing TeachConnect] after any command that changes the data. + There is no need to save manually. // tag::dataencryption[] === Encrypting data files `[coming in v2.0]` -_{explain how the user can enable/disable data encryption}_ +To be implemented + // end::dataencryption[] === Upcoming features @@ -332,14 +333,23 @@ _{explain how the user can enable/disable data encryption}_ * Import and Export (Sharing of Address Book) [coming in v1.3] * Adding events and Appointments [coming in v1.3] * An All new customised UI [coming in v1.3] +* Shortcuts and Autocompletion [coming in v1.4] * A login feature [coming in v1.5] * Dynamic search [coming in v2.0] * NLP for event and appointment scheduling [coming in v2.0] +* Encrypting data files [coming in v2.0] == FAQ *Q*: How do I transfer my data to another Computer? + -*A*: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Address Book folder. +*A*: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Address Book folder. Alternatively you can also choose the import and export commands coming up! + +*Q*: Can I contribute to it ? + +*A*: Sure! We would love any and every help we can get! Please visit our github repo https://github.com/CS2103JAN2018-W14-B1/main/ [here]! + +*Q*: Does it automatically tell us if there are any appointment clashes? + +*A*: Hell yes! Our aim is also to help you make your planning simpler and that is just what we do! + == Command Summary From 69a2f479d64f1785a3e63ec84c1644349ee38278 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi Date: Thu, 15 Mar 2018 01:37:17 +0800 Subject: [PATCH 062/288] Update UserGuide.adoc --- docs/UserGuide.adoc | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 9f013949caaa..39448b15e602 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -152,7 +152,7 @@ Examples: * List all tasks: `list tasks` -=== Editing a contact : `edit` [updated by v1.4] +=== Editing a contact : `edit` [will be updated by v1.4] Edits an existing contact. + @@ -319,14 +319,7 @@ Format: `exit` TeachConnect data are saved in the hard disk automatically [even while sharing TeachConnect] after any command that changes the data. + There is no need to save manually. -// tag::dataencryption[] -=== Encrypting data files `[coming in v2.0]` - -To be implemented - -// end::dataencryption[] - -=== Upcoming features +=== Upcoming features `[coming soon]` * Clear distinction between students and parents [coming in v1.2] * Finding not only by name but by any field [coming in v1.2] From 643853459e979197c1638146d56af2b0d25dc56c Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Thu, 15 Mar 2018 02:17:03 +0800 Subject: [PATCH 063/288] Rebuild event classes model --- .../address/model/event/Appointment.java | 51 ++++--------- .../java/seedu/address/model/event/Event.java | 6 +- .../seedu/address/model/event/EventTime.java | 64 ++++++++++++++++ .../java/seedu/address/model/event/Task.java | 43 ++--------- .../java/seedu/address/model/event/Title.java | 56 ++++++++++++++ .../address/model/event/AppointmentTest.java | 74 +++---------------- .../address/model/event/EventTimeTest.java | 22 ++++++ .../seedu/address/model/event/TaskTest.java | 71 ------------------ .../seedu/address/model/event/TitleTest.java | 36 +++++++++ .../seedu/address/testutil/EventBuilder.java | 43 +++-------- .../seedu/address/testutil/TypicalEvents.java | 4 +- 11 files changed, 223 insertions(+), 247 deletions(-) create mode 100644 src/main/java/seedu/address/model/event/EventTime.java create mode 100644 src/main/java/seedu/address/model/event/Title.java create mode 100644 src/test/java/seedu/address/model/event/EventTimeTest.java delete mode 100644 src/test/java/seedu/address/model/event/TaskTest.java create mode 100644 src/test/java/seedu/address/model/event/TitleTest.java diff --git a/src/main/java/seedu/address/model/event/Appointment.java b/src/main/java/seedu/address/model/event/Appointment.java index 41022268161d..8b369fcf21cf 100644 --- a/src/main/java/seedu/address/model/event/Appointment.java +++ b/src/main/java/seedu/address/model/event/Appointment.java @@ -3,11 +3,6 @@ import static seedu.address.commons.util.AppUtil.checkArgument; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; - import seedu.address.model.person.Person; //@@author Sisyphus25 @@ -15,46 +10,37 @@ * Represent an appointment in the schedule, contains time of the appointment as well as details and personMeet. */ public class Appointment implements Event { - /* - * The title can not be empty string or spaces only - */ - public static final String TITLE_VALIDATION_REGEX = "[^\\s].*"; + public static final String MESSAGE_TIME_PERIOD_CONSTRAINTS = "The end time should be after the start time"; - private static final String DATE_FORMAT = "yyyy/MM/dd HH:mm"; - private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); - private static final String MESSAGE_TITLE_CONSTRAINTS = "Title must be non empty"; - private static final String MESSAGE_TIME_CONSTRAINTS = "Invalid time stamp"; - - private String title; - private Date time; - private Date endTime; + private Title title; + private EventTime time; + private EventTime endTime; private Person personToMeet; //Every field must be present and not null - public Appointment(String title, Calendar startTime, Calendar endTime) { + public Appointment(Title title, EventTime startTime, EventTime endTime) { this(title, startTime, endTime, null); } //Every field except personToMeet must be present and not null - public Appointment(String title, Calendar startTime, Calendar endTime, Person personToMeet) { + public Appointment(Title title, EventTime startTime, EventTime endTime, Person personToMeet) { requireAllNonNull(title, startTime, endTime); - checkArgument(isValidTitle(title), MESSAGE_TITLE_CONSTRAINTS); - checkArgument(isValidTime(startTime, endTime), MESSAGE_TIME_CONSTRAINTS); + checkArgument(isValidTime(startTime, endTime), MESSAGE_TIME_PERIOD_CONSTRAINTS); this.title = title; - this.time = startTime.getTime(); - this.endTime = endTime.getTime(); + this.time = startTime; + this.endTime = endTime; this.personToMeet = personToMeet; } - public String getTitle() { + public Title getTitle() { return title; } - public Date getTime() { + public EventTime getTime() { return time; } - public Date getEndTime() { + public EventTime getEndTime() { return endTime; } @@ -79,19 +65,10 @@ public boolean equals(Object other) { && otherAppointment.getPersonToMeet().equals(this.getPersonToMeet()); } - /** - * Returns true if a given string is a valid title. - */ - public static boolean isValidTitle(String test) { - return test.matches(TITLE_VALIDATION_REGEX); - } - /** * Returns true if the given time is valid */ - public static boolean isValidTime(Calendar startTime, Calendar endTime) { - Calendar currentTime = Calendar.getInstance(); - currentTime.setTime(new Date()); - return endTime.after(startTime) && startTime.after(currentTime); + public static boolean isValidTime(EventTime startTime, EventTime endTime) { + return endTime.value.after(startTime.value); } } diff --git a/src/main/java/seedu/address/model/event/Event.java b/src/main/java/seedu/address/model/event/Event.java index 421200057dc8..e2f9955f7ada 100644 --- a/src/main/java/seedu/address/model/event/Event.java +++ b/src/main/java/seedu/address/model/event/Event.java @@ -1,11 +1,9 @@ package seedu.address.model.event; -import java.util.Date; - /** * Represents an Event in the schedule. */ public interface Event { - public String getTitle(); - public Date getTime(); + Title getTitle(); + EventTime getTime(); } diff --git a/src/main/java/seedu/address/model/event/EventTime.java b/src/main/java/seedu/address/model/event/EventTime.java new file mode 100644 index 000000000000..842900eee5ca --- /dev/null +++ b/src/main/java/seedu/address/model/event/EventTime.java @@ -0,0 +1,64 @@ +package seedu.address.model.event; + +import static java.util.Objects.requireNonNull; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; + +/** + * Represents an Event's time stamp in the address book. + * Guarantees: immutable + */ +public class EventTime { + public static final String MESSAGE_TIME_CONSTRAINTS = "Time must be in the format dd/MM/yyyy HH:mm"; + + private static final String DATE_FORMAT = "dd/MM/yyyy HH:mm"; + private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); + + public final Calendar value; + + /** + * Constructs a {@code EventTime}. + * + * @param timeStamp valid timeStamp. + */ + public EventTime(String timeStamp) { + requireNonNull(timeStamp); + value = Calendar.getInstance(); + try { + this.value.setTime(DATE_FORMATTER.parse(timeStamp)); + } catch (ParseException e) { + throw new IllegalArgumentException(MESSAGE_TIME_CONSTRAINTS); + } + } + + /** + * Returns true if the given time has already passed the current time + */ + public static boolean isExpired(Calendar time) { + Calendar currentTime = Calendar.getInstance(); + currentTime.setTime(new Date()); + return time.after(currentTime); + } + + @Override + public String toString() { + return DATE_FORMATTER.format(value.getTime()); + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof EventTime // instanceof handles nulls + && this.value.equals(((EventTime) other).value)); // state check + } + + @Override + public int hashCode() { + return value.hashCode(); + } + +} diff --git a/src/main/java/seedu/address/model/event/Task.java b/src/main/java/seedu/address/model/event/Task.java index 99b4810fc8c7..adce7be7638b 100644 --- a/src/main/java/seedu/address/model/event/Task.java +++ b/src/main/java/seedu/address/model/event/Task.java @@ -1,42 +1,27 @@ package seedu.address.model.event; -import static seedu.address.commons.util.AppUtil.checkArgument; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; - //@@author Sisyphus25 /** * Represent a Task in the schedule, contains deadline as well as the title */ public class Task implements Event { - public static final String TITLE_VALIDATION_REGEX = "[^\\s].*"; - - private static final String DATE_FORMAT = "yyyy/MM/dd HH:mm"; - private static final DateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); - private static final String MESSAGE_TITLE_CONSTRAINTS = "Title must be non empty"; - private static final String MESSAGE_TIME_CONSTRAINTS = "Invalid time stamp"; - - private String title; - private Date time; + private Title title; + private EventTime time; //Every field must be present and not null - public Task(String title, Calendar deadline) { + public Task(Title title, EventTime deadline) { requireAllNonNull(title, deadline); - checkArgument(isValidTitle(title), MESSAGE_TITLE_CONSTRAINTS); - checkArgument(isValidTime(deadline), MESSAGE_TIME_CONSTRAINTS); this.title = title; - this.time = deadline.getTime(); + this.time = deadline; } - public String getTitle() { + public Title getTitle() { return title; } - public Date getTime() { + public EventTime getTime() { return time; } @@ -54,20 +39,4 @@ public boolean equals(Object other) { return otherTask.getTitle().equals(this.getTitle()) && otherTask.getTime().equals(this.getTime()); } - - /** - * Returns true if a given string is a valid title. - */ - public static boolean isValidTitle(String test) { - return test.matches(TITLE_VALIDATION_REGEX); - } - - /** - * Returns true if the given time is valid - */ - public static boolean isValidTime(Calendar deadline) { - Calendar currentTime = Calendar.getInstance(); - currentTime.setTime(new Date()); - return deadline.after(currentTime); - } } diff --git a/src/main/java/seedu/address/model/event/Title.java b/src/main/java/seedu/address/model/event/Title.java new file mode 100644 index 000000000000..d3509b45c6a6 --- /dev/null +++ b/src/main/java/seedu/address/model/event/Title.java @@ -0,0 +1,56 @@ +package seedu.address.model.event; + +import static java.util.Objects.requireNonNull; +import static seedu.address.commons.util.AppUtil.checkArgument; + +/** + * Represents an Event's title in the address book. + * Guarantees: immutable; is valid as declared in {@link #isValidTitle(String)} + */ +public class Title { + + public static final String MESSAGE_TITLE_CONSTRAINTS = "Title must be non empty"; + + /* + * The title can not be empty string or spaces only + */ + private static final String TITLE_VALIDATION_REGEX = "[^\\s].*"; + + public final String value; + + /** + * Constructs a {@code Titlte}. + * + * @param title A valid title. + */ + public Title(String title) { + requireNonNull(title); + checkArgument(isValidTitle(title), MESSAGE_TITLE_CONSTRAINTS); + this.value = title; + } + + /** + * Returns true if a given string is a valid title. + */ + public static boolean isValidTitle(String test) { + return test.matches(TITLE_VALIDATION_REGEX); + } + + @Override + public String toString() { + return value; + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof Title // instanceof handles nulls + && this.value.equals(((Title) other).value)); // state check + } + + @Override + public int hashCode() { + return value.hashCode(); + } + +} diff --git a/src/test/java/seedu/address/model/event/AppointmentTest.java b/src/test/java/seedu/address/model/event/AppointmentTest.java index aa396a11cf58..738496a004a1 100644 --- a/src/test/java/seedu/address/model/event/AppointmentTest.java +++ b/src/test/java/seedu/address/model/event/AppointmentTest.java @@ -3,83 +3,29 @@ import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertFalse; -import java.util.Calendar; -import java.util.Date; - import org.junit.Test; -import seedu.address.model.person.Person; import seedu.address.testutil.Assert; -import seedu.address.testutil.TypicalPersons; //@@author Sisyphus25 public class AppointmentTest { - private static final String VALID_TITLE = "Meet Student"; - private static final Date CURRENT_DATE = new Date(); - private static final Person VALID_PERSON_TO_MEET = TypicalPersons.ALICE; - - - private Calendar validStartTime; - private Calendar validEndTime; - private Calendar invalidStartTime; - private Calendar invalidEndTime; - - public AppointmentTest() { - validStartTime = Calendar.getInstance(); - validStartTime.setTime(CURRENT_DATE); - validStartTime.add(Calendar.HOUR_OF_DAY, 2); - - validEndTime = Calendar.getInstance(); - validEndTime.setTime(CURRENT_DATE); - validEndTime.add(Calendar.HOUR_OF_DAY, 3); - - invalidStartTime = Calendar.getInstance(); - invalidStartTime.setTime(CURRENT_DATE); - invalidStartTime.add(Calendar.HOUR_OF_DAY, -1); - - invalidEndTime = Calendar.getInstance(); - invalidEndTime.setTime(CURRENT_DATE); - invalidEndTime.add(Calendar.HOUR_OF_DAY, 1); - } - - @Test - public void constructor_null_throwsNullPointerException() { - Assert.assertThrows(NullPointerException.class, () -> - new Appointment(null, null, null)); - Assert.assertThrows(NullPointerException.class, () -> - new Appointment(VALID_TITLE, validStartTime, null)); - Assert.assertThrows(NullPointerException.class, () -> - new Appointment(VALID_TITLE, null, validEndTime)); - Assert.assertThrows(NullPointerException.class, () -> - new Appointment(null, validStartTime, validEndTime)); - } - - @Test - public void constructor_invalidAppointmentTitle_throwsIllegalArgumentException() { - String invalidTitle = ""; - Assert.assertThrows(IllegalArgumentException.class, () -> - new Appointment(invalidTitle, validStartTime, validEndTime)); - } + private static final Title VALID_TITLE = new Title("Meet Student"); + private static final EventTime VALID_START_TIME = new EventTime("05/04/2018 10:00"); + private static final EventTime VALID_END_TIME = new EventTime("05/04/2018 11:00"); + private static final EventTime INVALID_END_TIME = new EventTime("05/04/2018 09:00"); @Test public void constructor_invalidAppointmentTime_throwsIllegalArgumentException() { Assert.assertThrows(IllegalArgumentException.class, () -> - new Appointment(VALID_TITLE, invalidStartTime, validEndTime)); - Assert.assertThrows(IllegalArgumentException.class, () -> - new Appointment(VALID_TITLE, validStartTime, invalidEndTime)); + new Appointment(VALID_TITLE, VALID_START_TIME, INVALID_END_TIME)); } @Test - public void isValidTitle() { - // null title - Assert.assertThrows(NullPointerException.class, () -> Appointment.isValidTitle(null)); - - // invalid Appointment - assertFalse(Appointment.isValidTitle("")); // empty string - assertFalse(Appointment.isValidTitle(" ")); // spaces only + public void isValidTime() { + // invalid time stamps + assertFalse(Appointment.isValidTime(VALID_START_TIME, INVALID_END_TIME)); //End time is before Start Time - // valid Appointment - assertTrue(Appointment.isValidTitle("Meet Dave")); - assertTrue(Appointment.isValidTitle("-")); // one character + // valid time stamps + assertTrue(Appointment.isValidTime(VALID_START_TIME, VALID_END_TIME)); } } diff --git a/src/test/java/seedu/address/model/event/EventTimeTest.java b/src/test/java/seedu/address/model/event/EventTimeTest.java new file mode 100644 index 000000000000..0b83b3b5d71b --- /dev/null +++ b/src/test/java/seedu/address/model/event/EventTimeTest.java @@ -0,0 +1,22 @@ +package seedu.address.model.event; + +import org.junit.Test; + +import seedu.address.testutil.Assert; + +public class EventTimeTest { + @Test + public void constructor_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> new EventTime(null)); + } + + @Test + public void constructor_invalid_throwsIllegalArgumentException() { + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("invalidTimeStamp")); + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("")); + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("10/20 10:00")); + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("May 17 2018 10:00")); + Assert.assertThrows(IllegalArgumentException.class, () -> new EventTime("17-05-2019 10:00")); + } +} + diff --git a/src/test/java/seedu/address/model/event/TaskTest.java b/src/test/java/seedu/address/model/event/TaskTest.java deleted file mode 100644 index 093b91cdb4b0..000000000000 --- a/src/test/java/seedu/address/model/event/TaskTest.java +++ /dev/null @@ -1,71 +0,0 @@ -package seedu.address.model.event; - -import static junit.framework.TestCase.assertTrue; -import static org.junit.Assert.assertFalse; - -import java.util.Calendar; -import java.util.Date; - -import org.junit.Test; - -import seedu.address.model.person.Person; -import seedu.address.testutil.Assert; - -import seedu.address.testutil.TypicalPersons; - -//@@author Sisyphus25 -public class TaskTest { - private static final String VALID_TITLE = "Grade tests"; - private static final Date CURRENT_DATE = new Date(); - private static final Person VALID_PERSON_TO_MEET = TypicalPersons.ALICE; - - private Calendar validDeadline; - private Calendar invalidDeadline; - - public TaskTest() { - validDeadline = Calendar.getInstance(); - validDeadline.setTime(CURRENT_DATE); - validDeadline.add(Calendar.HOUR_OF_DAY, 2); - - invalidDeadline = Calendar.getInstance(); - invalidDeadline.setTime(CURRENT_DATE); - invalidDeadline.add(Calendar.HOUR_OF_DAY, -1); - } - - @Test - public void constructor_null_throwsNullPointerException() { - Assert.assertThrows(NullPointerException.class, () -> - new Task(null, null)); - Assert.assertThrows(NullPointerException.class, () -> - new Task(VALID_TITLE, null)); - Assert.assertThrows(NullPointerException.class, () -> - new Task(null, validDeadline)); - } - - @Test - public void constructor_invalidTestTitle_throwsIllegalArgumentException() { - String invalidTitle = ""; - Assert.assertThrows(IllegalArgumentException.class, () -> - new Task(invalidTitle, validDeadline)); - } - - @Test - public void constructor_invalidTaskDeadline_throwsIllegalArgumentException() { - Assert.assertThrows(IllegalArgumentException.class, () -> - new Task(VALID_TITLE, invalidDeadline)); - } - - @Test - public void isValidTitle() { - // null title - Assert.assertThrows(NullPointerException.class, () -> Task.isValidTitle(null)); - - // invalid Task - assertFalse(Task.isValidTitle("")); // empty string - assertFalse(Task.isValidTitle(" ")); // spaces only - - // valid Task - assertTrue(Task.isValidTitle("Todo")); - assertTrue(Task.isValidTitle("-")); // one character - } -} diff --git a/src/test/java/seedu/address/model/event/TitleTest.java b/src/test/java/seedu/address/model/event/TitleTest.java new file mode 100644 index 000000000000..b7130794e30f --- /dev/null +++ b/src/test/java/seedu/address/model/event/TitleTest.java @@ -0,0 +1,36 @@ +package seedu.address.model.event; + +import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertFalse; + +import org.junit.Test; + +import seedu.address.testutil.Assert; + +public class TitleTest { + @Test + public void constructor_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> new Title(null)); + } + + @Test + public void constructor_invalidTitle_throwsIllegalArgumentException() { + String invalidTitle = ""; + Assert.assertThrows(IllegalArgumentException.class, () -> + new Title(invalidTitle)); + } + + @Test + public void isValidTitle() { + // null title + Assert.assertThrows(NullPointerException.class, () -> Title.isValidTitle(null)); + + // invalid Appointment + assertFalse(Title.isValidTitle("")); // empty string + assertFalse(Title.isValidTitle(" ")); // spaces only + + // valid Appointment + assertTrue(Title.isValidTitle("Meet Dave")); + assertTrue(Title.isValidTitle("-")); // one character + } +} diff --git a/src/test/java/seedu/address/testutil/EventBuilder.java b/src/test/java/seedu/address/testutil/EventBuilder.java index 3a24326c9fac..3bc39a324fec 100644 --- a/src/test/java/seedu/address/testutil/EventBuilder.java +++ b/src/test/java/seedu/address/testutil/EventBuilder.java @@ -1,55 +1,34 @@ package seedu.address.testutil; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; - import seedu.address.model.event.Appointment; + import seedu.address.model.event.Event; +import seedu.address.model.event.EventTime; import seedu.address.model.event.Task; +import seedu.address.model.event.Title; import seedu.address.model.person.Person; /** * A utility class to help with building Event objects. */ public class EventBuilder { - private static final String DATE_FORMAT = "yyyy/MM/dd HH:mm"; - private static final SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat(DATE_FORMAT); - private static final Date CURRENT_TIME = new Date(); - - private String title; - private Calendar time; - private Calendar endTime; + private Title title; + private EventTime time; + private EventTime endTime; private Person personToMeet; private String eventType; public EventBuilder(String title, String time, String endTime, Person personToMeet) { - this.title = title; - this.time = Calendar.getInstance(); - this.endTime = Calendar.getInstance(); - try { - this.time.setTime(DATE_FORMATTER.parse(time)); - this.endTime.setTime(DATE_FORMATTER.parse(endTime)); - } catch (ParseException e) { - this.time.setTime(CURRENT_TIME); - this.time.add(Calendar.HOUR_OF_DAY, 1); - this.time.setTime(CURRENT_TIME); - this.time.add(Calendar.HOUR_OF_DAY, 2); - } + this.title = new Title(title); + this.time = new EventTime(time); + this.endTime = new EventTime(endTime); this.personToMeet = personToMeet; this.eventType = "Appointment"; } public EventBuilder(String title, String time) { - this.title = title; - this.time = Calendar.getInstance(); - try { - this.time.setTime(DATE_FORMATTER.parse(time)); - } catch (ParseException e) { - this.time.setTime(CURRENT_TIME); - this.time.add(Calendar.HOUR_OF_DAY, 1); - } + this.title = new Title(title); + this.time = new EventTime(time); this.endTime = null; this.personToMeet = null; this.eventType = "Task"; diff --git a/src/test/java/seedu/address/testutil/TypicalEvents.java b/src/test/java/seedu/address/testutil/TypicalEvents.java index 43815a1b7f61..51aad52b1142 100644 --- a/src/test/java/seedu/address/testutil/TypicalEvents.java +++ b/src/test/java/seedu/address/testutil/TypicalEvents.java @@ -13,8 +13,8 @@ public class TypicalEvents { public TypicalEvents() { typicalAppointment1 = - new EventBuilder("Meet student", "2018/10/09 10:00", "2018/10/09 11:00", ALICE).build(); + new EventBuilder("Meet student", "09/10/2018 10:00", "09/10/2018 11:00", ALICE).build(); typicalTask1 = - new EventBuilder("To do", "2018/10/10 10:00").build(); + new EventBuilder("To do", "10/10/2018 10:00").build(); } } From 240b2ad2542210214a84ead5af567e73973e2fe2 Mon Sep 17 00:00:00 2001 From: Sisyphus25 Date: Thu, 15 Mar 2018 03:06:17 +0800 Subject: [PATCH 064/288] Save appointments and tasks to storage --- .../storage/XmlAdaptedAppointment.java | 113 ++++++++++++++++++ .../seedu/address/storage/XmlAdaptedTask.java | 84 +++++++++++++ .../storage/XmlSerializableAddressBook.java | 30 ++++- 3 files changed, 225 insertions(+), 2 deletions(-) create mode 100644 src/main/java/seedu/address/storage/XmlAdaptedAppointment.java create mode 100644 src/main/java/seedu/address/storage/XmlAdaptedTask.java diff --git a/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java b/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java new file mode 100644 index 000000000000..17189c1d62ce --- /dev/null +++ b/src/main/java/seedu/address/storage/XmlAdaptedAppointment.java @@ -0,0 +1,113 @@ +package seedu.address.storage; + +import java.util.Objects; + +import javax.xml.bind.annotation.XmlElement; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.EventTime; +import seedu.address.model.event.Title; +import seedu.address.model.person.Person; + +/** + * JAXB-friendly version of the Person. + */ +public class XmlAdaptedAppointment { + + public static final String MISSING_FIELD_MESSAGE_FORMAT = "Appointment's %s field is missing!"; + + @XmlElement(required = true) + private String title; + @XmlElement(required = true) + private String startTime; + @XmlElement(required = true) + private String endTime; + @XmlElement + private XmlAdaptedPerson personToMeet = new XmlAdaptedPerson(); + + /** + * Constructs an XmlAdaptedAppointment. + * This is the no-arg constructor that is required by JAXB. + */ + public XmlAdaptedAppointment() {} + + /** + * Constructs an {@code XmlAdaptedAppointment} with the given appointment details. + */ + public XmlAdaptedAppointment(String title, String startTime, String endTime, XmlAdaptedPerson personToMeet) { + this.title = title; + this.startTime = startTime; + this.endTime = endTime; + if (personToMeet != null) { + this.personToMeet = personToMeet; + } + } + + /** + * Converts a given Appointment into this class for JAXB use. + * + * @param source future changes to this will not affect the created XmlAdaptedAppointment + */ + public XmlAdaptedAppointment(Appointment source) { + title = source.getTitle().toString(); + startTime = source.getTime().toString(); + endTime = source.getEndTime().toString(); + if (source.getPersonToMeet() != null) { + personToMeet = new XmlAdaptedPerson(source.getPersonToMeet()); + } + } + + /** + * Converts this jaxb-friendly adapted person object into the model's Appointment object. + * + * @throws IllegalValueException if there were any data constraints violated in the adapted person + */ + public Appointment toModelType() throws IllegalValueException { + if (this.title == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName())); + } + if (!Title.isValidTitle(this.title)) { + throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); + } + final Title title = new Title(this.title); + + if (this.startTime == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "Start Time")); + } + if (this.endTime == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "End Time")); + } + + final EventTime startTime = new EventTime(this.startTime); + final EventTime endTime = new EventTime(this.startTime); + + if (!Appointment.isValidTime(startTime, endTime)) { + throw new IllegalValueException(Appointment.MESSAGE_TIME_PERIOD_CONSTRAINTS); + } + + Person person = null; + if (this.personToMeet != null) { + person = this.personToMeet.toModelType(); + } + + return new Appointment(title, startTime, endTime, person); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof XmlAdaptedAppointment)) { + return false; + } + + XmlAdaptedAppointment otherAppointment = (XmlAdaptedAppointment) other; + return Objects.equals(title, otherAppointment.title) + && Objects.equals(startTime, otherAppointment.startTime) + && Objects.equals(endTime, otherAppointment.endTime) + && Objects.equals(personToMeet, otherAppointment.personToMeet); + } +} diff --git a/src/main/java/seedu/address/storage/XmlAdaptedTask.java b/src/main/java/seedu/address/storage/XmlAdaptedTask.java new file mode 100644 index 000000000000..dd6d62949a37 --- /dev/null +++ b/src/main/java/seedu/address/storage/XmlAdaptedTask.java @@ -0,0 +1,84 @@ +package seedu.address.storage; + +import java.util.Objects; + +import javax.xml.bind.annotation.XmlElement; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.model.event.EventTime; +import seedu.address.model.event.Task; +import seedu.address.model.event.Title; + +/** + * JAXB-friendly version of the Person. + */ +public class XmlAdaptedTask { + + public static final String MISSING_FIELD_MESSAGE_FORMAT = "Appointment's %s field is missing!"; + + @XmlElement(required = true) + private String title; + @XmlElement(required = true) + private String time; + + /** + * Constructs an XmlAdaptedTask. + * This is the no-arg constructor that is required by JAXB. + */ + public XmlAdaptedTask() {} + + /** + * Constructs an {@code XmlAdaptedTask} with the given appointment details. + */ + public XmlAdaptedTask(String title, String time) { + this.title = title; + this.time = time; + } + + /** + * Converts a given Appointment into this class for JAXB use. + * + * @param source future changes to this will not affect the created XmlAdaptedTask + */ + public XmlAdaptedTask(Task source) { + title = source.getTitle().toString(); + time = source.getTime().toString(); + } + + /** + * Converts this jaxb-friendly adapted person object into the model's Task object. + * + * @throws IllegalValueException if there were any data constraints violated in the adapted person + */ + public Task toModelType() throws IllegalValueException { + if (this.title == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, Title.class.getSimpleName())); + } + if (!Title.isValidTitle(this.title)) { + throw new IllegalValueException(Title.MESSAGE_TITLE_CONSTRAINTS); + } + final Title title = new Title(this.title); + + if (this.time == null) { + throw new IllegalValueException(String.format(MISSING_FIELD_MESSAGE_FORMAT, "Time")); + } + final EventTime time = new EventTime(this.time); + + return new Task(title, time); + } + + @Override + public boolean equals(Object other) { + if (other == this) { + return true; + } + + if (!(other instanceof XmlAdaptedTask)) { + return false; + } + + XmlAdaptedTask otherAppointment = (XmlAdaptedTask) other; + return Objects.equals(title, otherAppointment.title) + && Objects.equals(time, otherAppointment.time); + } +} diff --git a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java index dc820896c312..208de3770bda 100644 --- a/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java +++ b/src/main/java/seedu/address/storage/XmlSerializableAddressBook.java @@ -10,6 +10,9 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.model.AddressBook; import seedu.address.model.ReadOnlyAddressBook; +import seedu.address.model.event.Appointment; +import seedu.address.model.event.Event; +import seedu.address.model.event.Task; /** * An Immutable AddressBook that is serializable to XML format @@ -21,6 +24,10 @@ public class XmlSerializableAddressBook { private List persons; @XmlElement private List tags; + @XmlElement + private List appointments; + @XmlElement + private List tasks; /** * Creates an empty XmlSerializableAddressBook. @@ -29,6 +36,8 @@ public class XmlSerializableAddressBook { public XmlSerializableAddressBook() { persons = new ArrayList<>(); tags = new ArrayList<>(); + appointments = new ArrayList<>(); + tasks = new ArrayList<>(); } /** @@ -38,13 +47,21 @@ public XmlSerializableAddressBook(ReadOnlyAddressBook src) { this(); persons.addAll(src.getPersonList().stream().map(XmlAdaptedPerson::new).collect(Collectors.toList())); tags.addAll(src.getTagList().stream().map(XmlAdaptedTag::new).collect(Collectors.toList())); + for (Event e : src.getEventList()) { + if (e instanceof Appointment) { + appointments.add(new XmlAdaptedAppointment((Appointment) e)); + } else if (e instanceof Task) { + tasks.add(new XmlAdaptedTask((Task) e)); + } + } + } /** * Converts this addressbook into the model's {@code AddressBook} object. * * @throws IllegalValueException if there were any data constraints violated or duplicates in the - * {@code XmlAdaptedPerson} or {@code XmlAdaptedTag}. + * {@code XmlAdaptedPerson},{@code XmlAdaptedTag}, {@code XmlAdaptedAppointment}, {@code XmlAdaptedTask}. */ public AddressBook toModelType() throws IllegalValueException { AddressBook addressBook = new AddressBook(); @@ -54,6 +71,12 @@ public AddressBook toModelType() throws IllegalValueException { for (XmlAdaptedPerson p : persons) { addressBook.addPerson(p.toModelType()); } + for (XmlAdaptedAppointment a: appointments) { + addressBook.addEvent(a.toModelType()); + } + for (XmlAdaptedTask t: tasks) { + addressBook.addEvent(t.toModelType()); + } return addressBook; } @@ -68,6 +91,9 @@ public boolean equals(Object other) { } XmlSerializableAddressBook otherAb = (XmlSerializableAddressBook) other; - return persons.equals(otherAb.persons) && tags.equals(otherAb.tags); + return persons.equals(otherAb.persons) + && tags.equals(otherAb.tags) + && appointments.equals(otherAb.appointments) + && tasks.equals(otherAb.tasks); } } From dd00c1e8da96f0a2541766e89bb0059331dcd398 Mon Sep 17 00:00:00 2001 From: Mukesh Gadupudi Date: Thu, 15 Mar 2018 11:35:40 +0800 Subject: [PATCH 065/288] Update UserGuide.adoc --- docs/UserGuide.adoc | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 39448b15e602..7edf2e760a0d 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -337,9 +337,6 @@ There is no need to save manually. *Q*: How do I transfer my data to another Computer? + *A*: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous Address Book folder. Alternatively you can also choose the import and export commands coming up! -*Q*: Can I contribute to it ? + -*A*: Sure! We would love any and every help we can get! Please visit our github repo https://github.com/CS2103JAN2018-W14-B1/main/ [here]! - *Q*: Does it automatically tell us if there are any appointment clashes? + *A*: Hell yes! Our aim is also to help you make your planning simpler and that is just what we do! From 5a3a55dfb7667abd492480a568870925d9728307 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Thu, 15 Mar 2018 15:13:00 +0800 Subject: [PATCH 066/288] Changed import and added test --- .../address/logic/commands/ImportCommand.java | 2 +- .../logic/parser/ImportCommandParser.java | 1 + .../logic/commands/ImportCommandTest.java | 76 +++++++++++++++++++ .../logic/parser/ImportCommandParserTest.java | 51 +++++++++++++ 4 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 src/test/java/seedu/address/logic/commands/ImportCommandTest.java create mode 100644 src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java diff --git a/src/main/java/seedu/address/logic/commands/ImportCommand.java b/src/main/java/seedu/address/logic/commands/ImportCommand.java index 61e154855061..e08073ccce25 100644 --- a/src/main/java/seedu/address/logic/commands/ImportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ImportCommand.java @@ -34,7 +34,7 @@ */ public class ImportCommand extends UndoableCommand { - private static final String MESSAGE_INVALID_FILE = "Please input a valid file location"; + protected static final String MESSAGE_INVALID_FILE = "Please input a valid file location"; protected Storage storage; protected Config config; protected UserPrefs userPrefs; diff --git a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java index aa7e775ce7f9..0a7eb56ecd6e 100644 --- a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java @@ -12,6 +12,7 @@ public class ImportCommandParser implements Parser { public ImportCommand parse(String args) throws ParseException { + requireNonNull(args); String trimmedArgs = args.trim(); if (trimmedArgs.isEmpty()) { throw new ParseException( diff --git a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java new file mode 100644 index 000000000000..3af95ca90b49 --- /dev/null +++ b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java @@ -0,0 +1,76 @@ +package seedu.address.logic.commands; + +import static org.junit.Assert.*; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; +import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.CommandHistory; +import seedu.address.logic.UndoRedoStack; +import seedu.address.model.Model; +import seedu.address.model.ModelManager; +import seedu.address.model.UserPrefs; + +public class ImportCommandTest { + + private final static String INVALID_FILE_LOCATION = "./data/samplefile.xml"; + private final static String VALID_FILE_LOCATION = "./data/importsamplefile.xml"; + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void constructor_nullString_throwsNullPointerException(){ + thrown.expect(NullPointerException.class); + new ImportCommand(null); + } + + @Test + public void execute_importFailure_throwsException(){ + ImportCommand command = prepareCommand(INVALID_FILE_LOCATION); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandFailure(command, model, String.format(command.MESSAGE_INVALID_FILE)); + } + + @Test + public void execute_acceptedSuccess_successfulImport(){ + ImportCommand command = prepareCommand(VALID_FILE_LOCATION); + Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); + assertCommandSuccess(command, model, String.format(command.MESSAGE_SUCCESS), model); + } + + @Test + public void equals() { + final ImportCommand comparableCommand = new ImportCommand("./data/importsamplefile.xml"); + + // same values -> returns true + ImportCommand comparedToCommand = new ImportCommand("./data/importsamplefile.xml"); + assertTrue(comparableCommand.equals(comparedToCommand)); + + // same object -> returns true + assertTrue(comparableCommand.equals(comparableCommand)); + + // null -> returns false + assertFalse(comparableCommand.equals(null)); + + // different types -> returns false + assertFalse(comparableCommand.equals(new ClearCommand())); + + // different range -> returns false + assertFalse(comparableCommand.equals(new ImportCommand("./data/sampleimportfile.xml"))); + } + + + + + private ImportCommand prepareCommand(String path) { + ImportCommand importCommand = new ImportCommand(path); + importCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); + return importCommand; + } + +} \ No newline at end of file diff --git a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java new file mode 100644 index 000000000000..6531864d4ad7 --- /dev/null +++ b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java @@ -0,0 +1,51 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; +import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + +import seedu.address.logic.commands.ImportCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +public class ImportCommandParserTest { + + private ImportCommandParser importCommandParser = new ImportCommandParser(); + + @Rule + public ExpectedException thrown = ExpectedException.none(); + + @Test + public void parse_nullString_throwsNullPointerException() throws ParseException { + thrown.expect(NullPointerException.class); + importCommandParser.parse(null); + + } + + @Test + public void parse_emptyString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + importCommandParser.parse(" "); + + } + + @Test + public void parse_moreThanOneBlockOfString_throwsParseException() throws ParseException { + thrown.expect(ParseException.class); + importCommandParser.parse("invalid two strings"); + } + + @Test + public void parse_validString_success(){ + String input = "./data/importsamplefile.xml"; + ImportCommand expectedCommand = new ImportCommand("./data/importsamplefile.xml"); + assertParseSuccess(importCommandParser, input, expectedCommand); + } + + + + +} \ No newline at end of file From 7c57bf253601e9dd4f4c40e68aae9b1b4f9224f7 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Thu, 15 Mar 2018 23:28:56 +0800 Subject: [PATCH 067/288] Checkstyle errors --- .../java/seedu/address/logic/commands/ImportCommandTest.java | 2 +- .../seedu/address/logic/parser/ImportCommandParserTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java index 3af95ca90b49..ae05e94f035c 100644 --- a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java @@ -73,4 +73,4 @@ private ImportCommand prepareCommand(String path) { return importCommand; } -} \ No newline at end of file +} diff --git a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java index 6531864d4ad7..15bf504b98d0 100644 --- a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java @@ -48,4 +48,4 @@ public void parse_validString_success(){ -} \ No newline at end of file +} From ea7245eb70d1039344a99cc390a341687d8ff6ed Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Thu, 15 Mar 2018 23:53:04 +0800 Subject: [PATCH 068/288] Checkstyle errors 2 --- .../address/logic/commands/ImportCommand.java | 45 ++++--------------- .../seedu/address/logic/parser/CliSyntax.java | 2 +- .../logic/parser/ImportCommandParser.java | 12 +++-- 3 files changed, 18 insertions(+), 41 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ImportCommand.java b/src/main/java/seedu/address/logic/commands/ImportCommand.java index e08073ccce25..09b5d4b071f8 100644 --- a/src/main/java/seedu/address/logic/commands/ImportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ImportCommand.java @@ -1,67 +1,41 @@ package seedu.address.logic.commands; import static java.util.Objects.requireNonNull; -import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; - import java.io.IOException; -import java.util.Observable; -import java.util.Optional; -import java.util.logging.Logger; - import javafx.collections.ObservableList; -import seedu.address.MainApp; -import seedu.address.commons.core.Config; -import seedu.address.commons.core.LogsCenter; import seedu.address.commons.exceptions.DataConversionException; -import seedu.address.commons.util.StringUtil; import seedu.address.logic.commands.exceptions.CommandException; import seedu.address.model.AddressBook; -import seedu.address.model.Model; -import seedu.address.model.ModelManager; -import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.UserPrefs; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.storage.AddressBookStorage; -import seedu.address.storage.JsonUserPrefsStorage; import seedu.address.storage.Storage; -import seedu.address.storage.StorageManager; -import seedu.address.storage.UserPrefsStorage; import seedu.address.storage.XmlAddressBookStorage; /** - * Imports contacts from a different Addressbook file + * Imports contacts from a different TeachConnect XML file */ public class ImportCommand extends UndoableCommand { - protected static final String MESSAGE_INVALID_FILE = "Please input a valid file location"; - protected Storage storage; - protected Config config; - protected UserPrefs userPrefs; - - public static final String COMMAND_WORD = "import"; - + public static final String MESSAGE_DUPLICATE_PERSON = "This person already exists in the address book"; public static final String MESSAGE_USAGE = COMMAND_WORD + ": imports contacts to the address book." + "Parameters: file location...\n" + "Example: " + COMMAND_WORD + " main/src/test/data/sandbox/somerandomfile.xml"; - public static final String MESSAGE_SUCCESS = "Contacts have been successfully imported!"; - + protected static final String MESSAGE_INVALID_FILE = "Please input a valid file location"; + protected Storage storage; private AddressBook addressBookImported; private AddressBookStorage addressBookStorage; - - private String filePath; - - private static final Logger logger = LogsCenter.getLogger(ImportCommand.class); - + /** + * Creates an ImportCommand to import the specified TeachConnect XML file + */ public ImportCommand(String importPath) { requireNonNull(importPath); this.filePath = importPath; addressBookStorage = new XmlAddressBookStorage(filePath); - } @Override @@ -74,12 +48,11 @@ public CommandResult executeUndoableCommand() throws CommandException { try { model.addPerson(people.get(i)); } catch (DuplicatePersonException e) { - + throw new CommandException(MESSAGE_DUPLICATE_PERSON); } } - }else{ + } else { throw new CommandException(String.format(MESSAGE_INVALID_FILE)); - } } catch (DataConversionException e) { throw new CommandException(String.format(MESSAGE_INVALID_FILE)); diff --git a/src/main/java/seedu/address/logic/parser/CliSyntax.java b/src/main/java/seedu/address/logic/parser/CliSyntax.java index 85121ca24377..75b1a9bf1190 100644 --- a/src/main/java/seedu/address/logic/parser/CliSyntax.java +++ b/src/main/java/seedu/address/logic/parser/CliSyntax.java @@ -11,5 +11,5 @@ public class CliSyntax { public static final Prefix PREFIX_EMAIL = new Prefix("e/"); public static final Prefix PREFIX_ADDRESS = new Prefix("a/"); public static final Prefix PREFIX_TAG = new Prefix("t/"); - public static final Prefix PREFIX_PATH = new Prefix("pa/"); + } diff --git a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java index 0a7eb56ecd6e..d26a8555bcf2 100644 --- a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java @@ -2,15 +2,19 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.logic.parser.CliSyntax.PREFIX_PATH; - -import java.util.Arrays; - import seedu.address.logic.commands.ImportCommand; import seedu.address.logic.parser.exceptions.ParseException; +/**@@author Bumblebee + * Parses input arguments and creates a new ImportCommand object + */ public class ImportCommandParser implements Parser { + /** + * Parses the given {@code String} of arguments in the context of the ImportCommand + * and returns an ImportCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ public ImportCommand parse(String args) throws ParseException { requireNonNull(args); String trimmedArgs = args.trim(); From 072c0e5097c007d5b76b2f84d5e597e7816c10c9 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Fri, 16 Mar 2018 01:50:55 +0800 Subject: [PATCH 069/288] Updated Checkstyle errors --- .../address/logic/commands/ImportCommand.java | 2 ++ .../logic/parser/ImportCommandParser.java | 5 +++-- .../logic/commands/ImportCommandTest.java | 22 +++++++++++-------- .../logic/parser/ImportCommandParserTest.java | 8 +++---- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/main/java/seedu/address/logic/commands/ImportCommand.java b/src/main/java/seedu/address/logic/commands/ImportCommand.java index 09b5d4b071f8..2ee437b737f5 100644 --- a/src/main/java/seedu/address/logic/commands/ImportCommand.java +++ b/src/main/java/seedu/address/logic/commands/ImportCommand.java @@ -1,7 +1,9 @@ package seedu.address.logic.commands; import static java.util.Objects.requireNonNull; + import java.io.IOException; + import javafx.collections.ObservableList; import seedu.address.commons.exceptions.DataConversionException; import seedu.address.logic.commands.exceptions.CommandException; diff --git a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java index d26a8555bcf2..61d5f223097e 100644 --- a/src/main/java/seedu/address/logic/parser/ImportCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/ImportCommandParser.java @@ -2,6 +2,7 @@ import static java.util.Objects.requireNonNull; import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; + import seedu.address.logic.commands.ImportCommand; import seedu.address.logic.parser.exceptions.ParseException; @@ -25,10 +26,10 @@ public ImportCommand parse(String args) throws ParseException { String[] parameterGetterArray = trimmedArgs.split(" "); - if(parameterGetterArray.length != 1){ + if (parameterGetterArray.length != 1) { throw new ParseException( String.format(MESSAGE_INVALID_COMMAND_FORMAT, ImportCommand.MESSAGE_USAGE)); - }else{ + } else { return new ImportCommand(parameterGetterArray[0]); } diff --git a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java index ae05e94f035c..fdd424b35bbc 100644 --- a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java @@ -1,6 +1,7 @@ package seedu.address.logic.commands; -import static org.junit.Assert.*; +import static junit.framework.TestCase.assertTrue; +import static org.junit.Assert.assertFalse; import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; @@ -17,27 +18,28 @@ public class ImportCommandTest { - private final static String INVALID_FILE_LOCATION = "./data/samplefile.xml"; - private final static String VALID_FILE_LOCATION = "./data/importsamplefile.xml"; + + private static final String INVALID_FILE_LOCATION = "./data/samplefile.xml"; + private static final String VALID_FILE_LOCATION = "./data/importsamplefile.xml"; @Rule public ExpectedException thrown = ExpectedException.none(); @Test - public void constructor_nullString_throwsNullPointerException(){ + public void constructor_nullString_throwsNullPointerException() { thrown.expect(NullPointerException.class); new ImportCommand(null); } @Test - public void execute_importFailure_throwsException(){ + public void execute_importFailure_throwsException() { ImportCommand command = prepareCommand(INVALID_FILE_LOCATION); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); assertCommandFailure(command, model, String.format(command.MESSAGE_INVALID_FILE)); } @Test - public void execute_acceptedSuccess_successfulImport(){ + public void execute_acceptedSuccess_successfulImport() { ImportCommand command = prepareCommand(VALID_FILE_LOCATION); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); assertCommandSuccess(command, model, String.format(command.MESSAGE_SUCCESS), model); @@ -65,11 +67,13 @@ public void equals() { } - - + /** + * A method to prepare the Import command based on the path given + */ private ImportCommand prepareCommand(String path) { ImportCommand importCommand = new ImportCommand(path); - importCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), new UndoRedoStack()); + importCommand.setData(new ModelManager(getTypicalAddressBook(), new UserPrefs()), new CommandHistory(), + new UndoRedoStack()); return importCommand; } diff --git a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java index 15bf504b98d0..f882d55580c5 100644 --- a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java @@ -1,7 +1,5 @@ package seedu.address.logic.parser; -import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; -import static seedu.address.logic.parser.CommandParserTestUtil.assertParseFailure; import static seedu.address.logic.parser.CommandParserTestUtil.assertParseSuccess; import org.junit.Rule; @@ -13,11 +11,11 @@ public class ImportCommandParserTest { - private ImportCommandParser importCommandParser = new ImportCommandParser(); - @Rule public ExpectedException thrown = ExpectedException.none(); + private ImportCommandParser importCommandParser = new ImportCommandParser(); + @Test public void parse_nullString_throwsNullPointerException() throws ParseException { thrown.expect(NullPointerException.class); @@ -39,7 +37,7 @@ public void parse_moreThanOneBlockOfString_throwsParseException() throws ParseEx } @Test - public void parse_validString_success(){ + public void parse_validString_success() { String input = "./data/importsamplefile.xml"; ImportCommand expectedCommand = new ImportCommand("./data/importsamplefile.xml"); assertParseSuccess(importCommandParser, input, expectedCommand); From f590cb7f0372b3b42f0cc0e63d7585aae8d826ce Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Fri, 16 Mar 2018 02:10:04 +0800 Subject: [PATCH 070/288] Updated Import Command with checkstyle errors --- .../seedu/address/logic/commands/ImportCommandTest.java | 6 +++--- .../seedu/address/logic/parser/ImportCommandParserTest.java | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java index fdd424b35bbc..f11bdd30c55b 100644 --- a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java @@ -20,7 +20,7 @@ public class ImportCommandTest { private static final String INVALID_FILE_LOCATION = "./data/samplefile.xml"; - private static final String VALID_FILE_LOCATION = "./data/importsamplefile.xml"; + private static final String VALID_FILE_LOCATION = "./src/test/data/sandbox/importsamplefile.xml"; @Rule public ExpectedException thrown = ExpectedException.none(); @@ -47,10 +47,10 @@ public void execute_acceptedSuccess_successfulImport() { @Test public void equals() { - final ImportCommand comparableCommand = new ImportCommand("./data/importsamplefile.xml"); + final ImportCommand comparableCommand = new ImportCommand("./src/test/data/sandbox/importsamplefile.xml"); // same values -> returns true - ImportCommand comparedToCommand = new ImportCommand("./data/importsamplefile.xml"); + ImportCommand comparedToCommand = new ImportCommand("./src/test/data/sandbox/importsamplefile.xml"); assertTrue(comparableCommand.equals(comparedToCommand)); // same object -> returns true diff --git a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java index f882d55580c5..d80e28880ba0 100644 --- a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java @@ -38,8 +38,8 @@ public void parse_moreThanOneBlockOfString_throwsParseException() throws ParseEx @Test public void parse_validString_success() { - String input = "./data/importsamplefile.xml"; - ImportCommand expectedCommand = new ImportCommand("./data/importsamplefile.xml"); + String input = "./src/test/data/sandbox/importsamplefile.xml"; + ImportCommand expectedCommand = new ImportCommand("./src/test/data/sandbox/importsamplefile.xml"); assertParseSuccess(importCommandParser, input, expectedCommand); } From 190e4a34e71e641ca5114d60522145146f0a8414 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Fri, 16 Mar 2018 02:32:26 +0800 Subject: [PATCH 071/288] Updated Checkstyle --- .../seedu/address/logic/commands/ImportCommandTest.java | 8 +++++--- .../address/logic/parser/ImportCommandParserTest.java | 5 +++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java index f11bdd30c55b..b06bff8d0cff 100644 --- a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java @@ -15,12 +15,14 @@ import seedu.address.model.Model; import seedu.address.model.ModelManager; import seedu.address.model.UserPrefs; +import seedu.address.testutil.TestUtil; public class ImportCommandTest { private static final String INVALID_FILE_LOCATION = "./data/samplefile.xml"; - private static final String VALID_FILE_LOCATION = "./src/test/data/sandbox/importsamplefile.xml"; + private static final String VALID_FILE_LOCATION = + TestUtil.getFilePathInSandboxFolder("importsamplefile.xml"); @Rule public ExpectedException thrown = ExpectedException.none(); @@ -47,10 +49,10 @@ public void execute_acceptedSuccess_successfulImport() { @Test public void equals() { - final ImportCommand comparableCommand = new ImportCommand("./src/test/data/sandbox/importsamplefile.xml"); + final ImportCommand comparableCommand = new ImportCommand(VALID_FILE_LOCATION); // same values -> returns true - ImportCommand comparedToCommand = new ImportCommand("./src/test/data/sandbox/importsamplefile.xml"); + ImportCommand comparedToCommand = new ImportCommand(VALID_FILE_LOCATION); assertTrue(comparableCommand.equals(comparedToCommand)); // same object -> returns true diff --git a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java index d80e28880ba0..581850521ada 100644 --- a/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java +++ b/src/test/java/seedu/address/logic/parser/ImportCommandParserTest.java @@ -8,6 +8,7 @@ import seedu.address.logic.commands.ImportCommand; import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.testutil.TestUtil; public class ImportCommandParserTest { @@ -38,8 +39,8 @@ public void parse_moreThanOneBlockOfString_throwsParseException() throws ParseEx @Test public void parse_validString_success() { - String input = "./src/test/data/sandbox/importsamplefile.xml"; - ImportCommand expectedCommand = new ImportCommand("./src/test/data/sandbox/importsamplefile.xml"); + String input = TestUtil.getFilePathInSandboxFolder("importsamplefile.xml"); + ImportCommand expectedCommand = new ImportCommand(input); assertParseSuccess(importCommandParser, input, expectedCommand); } From 8838a20f75bd0147f74c1b796b1e28a4a662ac31 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Fri, 16 Mar 2018 03:04:50 +0800 Subject: [PATCH 072/288] Updated Checkstyle --- .../logic/commands/ImportCommandTest.java | 4 +- .../testutil/TypicalImportedPersons.java | 97 +++++++++++++++++++ 2 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 src/test/java/seedu/address/testutil/TypicalImportedPersons.java diff --git a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java index b06bff8d0cff..87cb62a3eecb 100644 --- a/src/test/java/seedu/address/logic/commands/ImportCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/ImportCommandTest.java @@ -4,6 +4,7 @@ import static org.junit.Assert.assertFalse; import static seedu.address.logic.commands.CommandTestUtil.assertCommandFailure; import static seedu.address.logic.commands.CommandTestUtil.assertCommandSuccess; +import static seedu.address.testutil.TypicalImportedPersons.getImportedAddressBook; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; import org.junit.Rule; @@ -44,7 +45,8 @@ public void execute_importFailure_throwsException() { public void execute_acceptedSuccess_successfulImport() { ImportCommand command = prepareCommand(VALID_FILE_LOCATION); Model model = new ModelManager(getTypicalAddressBook(), new UserPrefs()); - assertCommandSuccess(command, model, String.format(command.MESSAGE_SUCCESS), model); + Model expectedModel = new ModelManager(getImportedAddressBook(), new UserPrefs()); + assertCommandSuccess(command, model, String.format(command.MESSAGE_SUCCESS), expectedModel); } @Test diff --git a/src/test/java/seedu/address/testutil/TypicalImportedPersons.java b/src/test/java/seedu/address/testutil/TypicalImportedPersons.java new file mode 100644 index 000000000000..99cd04ed2422 --- /dev/null +++ b/src/test/java/seedu/address/testutil/TypicalImportedPersons.java @@ -0,0 +1,97 @@ +package seedu.address.testutil; + +import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_ADDRESS_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_EMAIL_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_NAME_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_AMY; +import static seedu.address.logic.commands.CommandTestUtil.VALID_PHONE_BOB; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_FRIEND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_HUSBAND; +import static seedu.address.logic.commands.CommandTestUtil.VALID_TAG_STUDENT; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import seedu.address.model.AddressBook; +import seedu.address.model.person.Person; +import seedu.address.model.person.Student; +import seedu.address.model.person.exceptions.DuplicatePersonException; + +/**@@author Bumblebee + * Special Util class to get people for ImportCommandTest class. + */ +public class TypicalImportedPersons { + public static final Person FLICE = new PersonBuilder().withName("Alice Pauline") + .withAddress("123, Jurong West Ave 6, #08-111").withEmail("alice@example.com") + .withPhone("85355255") + .withTags("friends").build(); + public static final Person FENSON = new PersonBuilder().withName("Benson Meier") + .withAddress("311, Clementi Ave 2, #02-25") + .withEmail("johnd@example.com").withPhone("98765432") + .withTags("owesMoney", "friends").build(); + public static final Person FARL = new PersonBuilder().withName("Carl Kurz").withPhone("95352563") + .withEmail("heinz@example.com").withAddress("wall street").build(); + public static final Person FANIEL = new PersonBuilder().withName("Daniel Meier").withPhone("87652533") + .withEmail("cornelia@example.com").withAddress("10th street").build(); + public static final Person FLLE = new PersonBuilder().withName("Elle Meyer").withPhone("9482224") + .withEmail("werner@example.com").withAddress("michegan ave").build(); + public static final Person GIONA = new PersonBuilder().withName("Fiona Kunz").withPhone("9482427") + .withEmail("lydia@example.com").withAddress("little tokyo").build(); + public static final Student FEORGE = new StudentBuilder().withName("George Best").withPhone("9482442") + .withEmail("anna@example.com").withAddress("4th street").build(); + public static final Student FVAN = new StudentBuilder().withName("Ivan Kutz").withPhone("9867723") + .withEmail("wolf@example.com").withAddress("Centre Street").build(); + public static final Student FOHN = new StudentBuilder().withName("John Blake").withPhone("9575232") + .withEmail("star@example.com").withAddress("Hollywood").build(); + + // Manually added + public static final Person FOON = new PersonBuilder().withName("Hoon Meier").withPhone("8482424") + .withEmail("stefan@example.com").withAddress("little india").build(); + public static final Person FDA = new PersonBuilder().withName("Ida Mueller").withPhone("8482131") + .withEmail("hans@example.com").withAddress("chicago ave").build(); + + public static final Student FTUDENT_HOON = new StudentBuilder().withName("Hoon Meier").withPhone("8482424") + .withEmail("stefan@example.com").withAddress("little india").build(); + public static final Student FTUDENT_IDA = new StudentBuilder().withName("Ida Mueller").withPhone("8482131") + .withEmail("hans@example.com").withAddress("chicago ave").build(); + + // Manually added - Person's details found in {@code CommandTestUtil} + public static final Person FMY = new PersonBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) + .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_FRIEND).build(); + public static final Person FOB = new PersonBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) + .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_HUSBAND, VALID_TAG_FRIEND) + .build(); + + public static final Student FTUDENT_AMY = new StudentBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) + .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_AMY).withTags(VALID_TAG_STUDENT).build(); + public static final Student FTUDENT_BOB = new StudentBuilder().withName(VALID_NAME_BOB).withPhone(VALID_PHONE_BOB) + .withEmail(VALID_EMAIL_BOB).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_STUDENT) + .build(); + + public static final String KEYWORD_MATCHING_MEIER = "Meier"; // A keyword that matches MEIER + + private TypicalImportedPersons() {} // prevents instantiation + + /** + * Returns an {@code AddressBook} with all the typical persons. + */ + public static AddressBook getImportedAddressBook() { + AddressBook ab = new AddressBook(); + for (Person person : getImportedPersons()) { + try { + ab.addPerson(person); + } catch (DuplicatePersonException e) { + throw new AssertionError("not possible"); + } + } + return ab; + } + + public static List getImportedPersons() { + return new ArrayList<>(Arrays.asList(FLICE, FENSON, FARL, FANIEL, FLLE, GIONA, FEORGE)); + } +} From 1cc701affa970b2f1134aba769740d56392201e9 Mon Sep 17 00:00:00 2001 From: shanmu9898 Date: Fri, 16 Mar 2018 03:21:42 +0800 Subject: [PATCH 073/288] Updated Checkstyle --- .gitignore | 2 +- .../importsamplefile.xml | 105 ++++++++++++++++++ .../logic/commands/ImportCommandTest.java | 14 ++- .../logic/parser/ImportCommandParserTest.java | 3 +- 4 files changed, 115 insertions(+), 9 deletions(-) create mode 100644 src/test/data/XmlAddressBookStorageTest/importsamplefile.xml diff --git a/.gitignore b/.gitignore index 823d175eb670..b034a08a64d9 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,7 @@ lib/* *.log.* *.csv config.json -src/test/data/sandbox/ +src/test/data/sandbox preferences.json .DS_Store ./screenshot*.png diff --git a/src/test/data/XmlAddressBookStorageTest/importsamplefile.xml b/src/test/data/XmlAddressBookStorageTest/importsamplefile.xml new file mode 100644 index 000000000000..4e5b7ab1afd2 --- /dev/null +++ b/src/test/data/XmlAddressBookStorageTest/importsamplefile.xml @@ -0,0 +1,105 @@ + + + + Funny Yeoh + 874388071 + funnyeoh@example.com +