From e44eba173bf7d901a40a26797e67a3bb6c15af44 Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Tue, 27 Mar 2018 01:55:24 +0800 Subject: [PATCH 01/18] remove the dark theme --- src/main/resources/view/NewMainWindow.fxml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/resources/view/NewMainWindow.fxml b/src/main/resources/view/NewMainWindow.fxml index 9cdeea626a9f..158ef8900fef 100644 --- a/src/main/resources/view/NewMainWindow.fxml +++ b/src/main/resources/view/NewMainWindow.fxml @@ -14,10 +14,7 @@ - - - - + From c8816b8ccd503e1401575b426da42f8eb1433630 Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Tue, 27 Mar 2018 05:18:48 +0800 Subject: [PATCH 02/18] added Undo, redo and clear support for calendar --- .../events/model/AddressBookChangedEvent.java | 2 +- .../events/ui/RefreshCalendarEvent.java | 13 ++++++++++ .../java/seedu/address/model/AddressBook.java | 5 ++-- .../seedu/address/model/ModelManager.java | 2 ++ .../insuranceCalendar/AppointmentEntry.java | 11 ++++++++ .../insuranceCalendar/InsuranceCalendar.java | 25 ++++++++++++++++++- .../java/seedu/address/ui/CalendarPanel.java | 9 ++++--- 7 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 src/main/java/seedu/address/commons/events/ui/RefreshCalendarEvent.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 f920bea44ba2..03239b2aa4d6 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 appointment entires " + data.getMyCalendarEntries().size(); + + ", number of appointment entires " + data.getMyCalendarEntries().size(); } } diff --git a/src/main/java/seedu/address/commons/events/ui/RefreshCalendarEvent.java b/src/main/java/seedu/address/commons/events/ui/RefreshCalendarEvent.java new file mode 100644 index 000000000000..e9d72a6455ac --- /dev/null +++ b/src/main/java/seedu/address/commons/events/ui/RefreshCalendarEvent.java @@ -0,0 +1,13 @@ +package seedu.address.commons.events.ui; + +import seedu.address.commons.events.BaseEvent; + +/** + * Represents a calendar GUI refresh request + */ +public class RefreshCalendarEvent extends BaseEvent { + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 86d132e4bf1f..28fb19d80f3a 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -32,7 +32,7 @@ public class AddressBook implements ReadOnlyAddressBook { private final UniquePersonList persons; private final UniqueTagList tags; - private InsuranceCalendar calendar; + private final InsuranceCalendar calendar; /* * The 'unusual' code block below is an non-static initialization block, sometimes used to avoid duplication @@ -69,7 +69,8 @@ public void setTags(Set tags) { } public void setCalendar(InsuranceCalendar calendar) { - this.calendar = calendar; + this.calendar.clearAppointments(); + this.calendar.copyAppointments(calendar); } /** diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 38f097465897..95c7e30eb1df 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.commons.core.ComponentManager; import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.model.AddressBookChangedEvent; +import seedu.address.commons.events.ui.RefreshCalendarEvent; import seedu.address.model.insuranceCalendar.AppointmentEntry; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicateAppointmentException; @@ -75,6 +76,7 @@ public ReadOnlyAddressBook getAddressBook() { */ private void indicateAddressBookChanged() { raise(new AddressBookChangedEvent(addressBook)); + raise(new RefreshCalendarEvent()); } @Override diff --git a/src/main/java/seedu/address/model/insuranceCalendar/AppointmentEntry.java b/src/main/java/seedu/address/model/insuranceCalendar/AppointmentEntry.java index 9a4bf6694f21..30bd297a356a 100644 --- a/src/main/java/seedu/address/model/insuranceCalendar/AppointmentEntry.java +++ b/src/main/java/seedu/address/model/insuranceCalendar/AppointmentEntry.java @@ -29,6 +29,13 @@ public AppointmentEntry(String title, Interval timeSlot) { givenTitle = title; } + public AppointmentEntry(AppointmentEntry clonedEntry) { + requireAllNonNull(clonedEntry); + appointmentEntry = new Entry(clonedEntry.getGivenTitle(), clonedEntry.getInterval()); + interval = clonedEntry.getInterval(); + givenTitle = clonedEntry.getGivenTitle(); + } + public LocalDate getStartDate() { return interval.getStartDate(); } @@ -45,6 +52,10 @@ public String getGivenTitle() { return givenTitle; } + public Interval getInterval() { + return interval; + } + @Override public String toString() { final StringBuilder builder = new StringBuilder(); diff --git a/src/main/java/seedu/address/model/insuranceCalendar/InsuranceCalendar.java b/src/main/java/seedu/address/model/insuranceCalendar/InsuranceCalendar.java index b1e8bc607320..11cbde560a90 100644 --- a/src/main/java/seedu/address/model/insuranceCalendar/InsuranceCalendar.java +++ b/src/main/java/seedu/address/model/insuranceCalendar/InsuranceCalendar.java @@ -26,6 +26,27 @@ public InsuranceCalendar() { calendarSource.getCalendars().add(calendar); appointmentEntries = new ArrayList<>(); } + /** + * Clear all appointments to the calendar. + * + */ + public void clearAppointments () { + appointmentEntries.clear(); + calendar.clear(); + } + + /** + * copy all appointments to the calendar given a new calendar. + * + */ + public void copyAppointments (InsuranceCalendar copyingCalendar) { + + for (AppointmentEntry entry: copyingCalendar.getAppointmentEntries()) { + AppointmentEntry addedEntry = new AppointmentEntry(entry); + calendar.addEntry(addedEntry.getAppointmentEntry()); + appointmentEntries.add(addedEntry); + } + } /** * Adds an appointment to the calendar. @@ -36,8 +57,10 @@ public void addAppointment(AppointmentEntry entry) throws DuplicateAppointmentEx if (contains(entry)) { throw new DuplicateAppointmentException(); } - calendar.addEntry(entry.getAppointmentEntry()); + + calendar.addEntry(new AppointmentEntry(entry).getAppointmentEntry()); appointmentEntries.add(entry); + } /** diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java index fc005b6c7401..5dd8434d7a2b 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -7,8 +7,9 @@ import com.google.common.eventbus.Subscribe; +import seedu.address.commons.core.EventsCenter; import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.events.ui.PersonPanelSelectionChangedEvent; +import seedu.address.commons.events.ui.RefreshCalendarEvent; /** * The Calendar Panel of the App. @@ -22,7 +23,7 @@ public CalendarPanel(CalendarSource calendar) { calendarPage = new CalendarView(); calendarPage.getCalendarSources().setAll(calendar); configurCalendarPage(); - //registerAsAnEventHandler(this); + EventsCenter.getInstance().registerHandler(this); } /** @@ -46,8 +47,8 @@ void configurCalendarPage() { @Subscribe - private void handlePersonPanelSelectionChangedEvent(PersonPanelSelectionChangedEvent event) { - logger.info(LogsCenter.getEventHandlingLogMessage(event)); + private void handleRefreshClendarEvent(RefreshCalendarEvent event) { + calendarPage.refreshData(); } public CalendarView getCalendarPage() { From cead8247123e7fa60d5eca08301adbf7f56281ae Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Tue, 27 Mar 2018 22:32:59 +0800 Subject: [PATCH 03/18] Amended the add_appointment feature to support time specification User guide updated --- docs/UserGuide.adoc | 8 ++++---- .../logic/commands/AddAppointmentCommand.java | 8 ++++---- .../parser/AddAppointmentCommandPaser.java | 9 ++++----- .../seedu/address/logic/parser/ParserUtil.java | 18 +++++++++--------- .../insuranceCalendar/AppointmentEntry.java | 16 ++++++++-------- 5 files changed, 29 insertions(+), 30 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 455dd2bb2cd1..bca75bb46bf0 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -161,14 +161,14 @@ Selects the 1st person in the results of the `find` command. === Adding an appointment: `add_appointment` Adds an appointment to the address book calendar + -Format: `add_appointment n/NAME S/START DATE E/END DATE` +Format: `add_appointment n/NAME S/START DATE TIME E/END DATE TIME` [TIP] -The date must be entered in the d/MM/yyyy format +The date time must be entered in the d/MM/yyyy HH:mm:ss format Examples: -* `add_appointment n/meet John S/11/09/2018 E/11/09/2018` +* `add_appointment n/meet John S/11/09/2018 15:00:00 E/11/09/2018 16:00:00` === Listing entered commands : `history` @@ -288,7 +288,7 @@ the user is allowed to use command line to remove a task to the task pad GUI sp * *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` * *Add Appointment* `add_appointment n/NAME S/START DATE E/End Date` + -e.g. `add_appointment n/Meet James S/14/08/2018 S/14/08/2018` +e.g. `add_appointment n/Meet James S/14/08/2018 15:00:00 S/14/08/2018 16:00:00` * *Clear* : `clear` * *Delete* : `delete INDEX` + e.g. `delete 3` diff --git a/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java index ce1b8f045b8f..debeddc360e6 100644 --- a/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java @@ -20,12 +20,12 @@ public class AddAppointmentCommand extends UndoableCommand { public static final String MESSAGE_USAGE = COMMAND_WORD + ": Adds an appointment to the calendar. " + "Parameters: " + PREFIX_NAME + "NAME " - + PREFIX_START_INTERVAL + "START DATE " - + PREFIX_END_INTERVAL + "END DATE " + + PREFIX_START_INTERVAL + "START DATE TIME " + + PREFIX_END_INTERVAL + "END DATE TIME" + "\nExample: " + COMMAND_WORD + " " + PREFIX_NAME + "Meet John " - + PREFIX_START_INTERVAL + "14/08/2018 " - + PREFIX_END_INTERVAL + "14/08/2018"; + + PREFIX_START_INTERVAL + "14/08/2018 06:12:00 " + + PREFIX_END_INTERVAL + "14/08/2018 07:12:00 "; public static final String MESSAGE_SUCCESS = "New Appointment Added: %1$s"; public static final String MESSAGE_DUPLICATE_APPOINTMENT = "This appointment already exists in the calendar"; diff --git a/src/main/java/seedu/address/logic/parser/AddAppointmentCommandPaser.java b/src/main/java/seedu/address/logic/parser/AddAppointmentCommandPaser.java index 3c7330d39704..2b88af03eec0 100644 --- a/src/main/java/seedu/address/logic/parser/AddAppointmentCommandPaser.java +++ b/src/main/java/seedu/address/logic/parser/AddAppointmentCommandPaser.java @@ -6,8 +6,7 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; import static seedu.address.logic.parser.CliSyntax.PREFIX_START_INTERVAL; -import java.time.LocalDate; -import java.time.LocalTime; +import java.time.LocalDateTime; import java.util.stream.Stream; @@ -40,9 +39,9 @@ public AddAppointmentCommand parse(String args) throws ParseException { try { String appointmentTitle = ParserUtil.parseString(argMultimap.getValue(PREFIX_NAME)).get(); - LocalDate startDate = ParserUtil.parseDate(argMultimap.getValue(PREFIX_START_INTERVAL)).get(); - LocalDate endDate = ParserUtil.parseDate(argMultimap.getValue(PREFIX_END_INTERVAL)).get(); - Interval interval = new Interval(startDate, LocalTime.MIN, endDate, LocalTime.MAX); + LocalDateTime startDateTime = ParserUtil.parseDateTime(argMultimap.getValue(PREFIX_START_INTERVAL)).get(); + LocalDateTime endDateTime = ParserUtil.parseDateTime(argMultimap.getValue(PREFIX_END_INTERVAL)).get(); + Interval interval = new Interval(startDateTime, endDateTime); AppointmentEntry appointmentEntry = new AppointmentEntry(appointmentTitle, interval); diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index 720e95a4a034..e7c7904e5070 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -2,7 +2,7 @@ import static java.util.Objects.requireNonNull; -import java.time.LocalDate; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; @@ -75,12 +75,12 @@ public static Optional parseString(Optional input) throws Illega /** - * Parses a {@code String input} into a {@code LocalDate}. + * Parses a {@code String input} into a {@code LocalDateTime}. * Leading and trailing whitespaces will be trimmed. * * @throws IllegalValueException if the given {@code name} is invalid. */ - static LocalDate parseDate(String input) throws IllegalValueException { + static LocalDateTime parseDateTime(String input) throws IllegalValueException { requireNonNull(input); String trimmedInput = input.trim(); @@ -88,11 +88,11 @@ static LocalDate parseDate(String input) throws IllegalValueException { try { - LocalDate localDate = LocalDate.parse(trimmedInput, formatter); - return localDate; + LocalDateTime dateTime = LocalDateTime.parse(trimmedInput, formatter); + return dateTime; } catch (DateTimeParseException e) { - throw new IllegalValueException(AppointmentEntry.MESSAGE_DATE_CONSTRAINTS); + throw new IllegalValueException(AppointmentEntry.MESSAGE_DATE_TIME_CONSTRAINTS); } @@ -100,12 +100,12 @@ static LocalDate parseDate(String input) throws IllegalValueException { } /** - * Parses a {@code Optional input} into an {@code Optional} if {@code input} is present. + * Parses a {@code Optional input} into an {@code Optional} if {@code input} is present. * See header comment of this class regarding the use of {@code Optional} parameters. */ - public static Optional parseDate(Optional input) throws IllegalValueException { + public static Optional parseDateTime(Optional input) throws IllegalValueException { requireNonNull(input); - return input.isPresent() ? Optional.of(parseDate(input.get())) : Optional.empty(); + return input.isPresent() ? Optional.of(parseDateTime(input.get())) : Optional.empty(); } /** diff --git a/src/main/java/seedu/address/model/insuranceCalendar/AppointmentEntry.java b/src/main/java/seedu/address/model/insuranceCalendar/AppointmentEntry.java index 30bd297a356a..9be6653a4e81 100644 --- a/src/main/java/seedu/address/model/insuranceCalendar/AppointmentEntry.java +++ b/src/main/java/seedu/address/model/insuranceCalendar/AppointmentEntry.java @@ -2,7 +2,7 @@ import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; -import java.time.LocalDate; +import java.time.LocalDateTime; import com.calendarfx.model.Entry; import com.calendarfx.model.Interval; @@ -14,9 +14,9 @@ public class AppointmentEntry { - public static final String MESSAGE_DATE_CONSTRAINTS = - "Dates should be in the format of dd/MM/yyyy"; - public static final String DATE_VALIDATION = "d/MM/yyyy"; + public static final String MESSAGE_DATE_TIME_CONSTRAINTS = + "Date and Time should be in the format of dd/MM/yyyy HH:mm:ss"; + public static final String DATE_VALIDATION = "d/MM/yyyy HH:mm:ss"; private final Entry appointmentEntry; private final Interval interval; @@ -36,12 +36,12 @@ public AppointmentEntry(AppointmentEntry clonedEntry) { givenTitle = clonedEntry.getGivenTitle(); } - public LocalDate getStartDate() { - return interval.getStartDate(); + public LocalDateTime getStartDate() { + return interval.getStartDateTime(); } - public LocalDate getEndDate() { - return interval.getEndDate(); + public LocalDateTime getEndDate() { + return interval.getEndDateTime(); } public Entry getAppointmentEntry() { From 67d70cad01bb3296a0603937869793cab629c080 Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Tue, 27 Mar 2018 23:38:23 +0800 Subject: [PATCH 04/18] added remove_appointment feature that remove all appointments which has title that match the given search word --- .../logic/commands/AddAppointmentCommand.java | 4 +- .../commands/RemoveAppointmentsCommand.java | 46 ++++++++++++++++++ ....java => AddAppointmentCommandParser.java} | 4 +- .../logic/parser/AddressBookParser.java | 6 ++- .../seedu/address/logic/parser/CliSyntax.java | 1 + .../address/logic/parser/ParserUtil.java | 2 +- .../RemoveAppointmentCommandParser.java | 47 +++++++++++++++++++ .../java/seedu/address/model/AddressBook.java | 17 +++++-- src/main/java/seedu/address/model/Model.java | 8 +++- .../seedu/address/model/ModelManager.java | 11 ++++- .../address/model/ReadOnlyAddressBook.java | 4 +- .../AppointmentEntry.java | 2 +- .../InsuranceCalendar.java | 42 ++++++++++++++++- .../AppointmentNotFoundException.java | 6 +++ .../DuplicateAppointmentException.java | 2 +- .../storage/XmlAdptedAppointmentEntry.java | 2 +- .../logic/commands/AddCommandTest.java | 4 +- .../seedu/address/model/AddressBookTest.java | 4 +- 18 files changed, 188 insertions(+), 24 deletions(-) create mode 100644 src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java rename src/main/java/seedu/address/logic/parser/{AddAppointmentCommandPaser.java => AddAppointmentCommandParser.java} (94%) create mode 100644 src/main/java/seedu/address/logic/parser/RemoveAppointmentCommandParser.java rename src/main/java/seedu/address/model/{insuranceCalendar => calendar}/AppointmentEntry.java (98%) rename src/main/java/seedu/address/model/{insuranceCalendar => calendar}/InsuranceCalendar.java (61%) create mode 100644 src/main/java/seedu/address/model/calendar/exceptions/AppointmentNotFoundException.java rename src/main/java/seedu/address/model/{person => calendar}/exceptions/DuplicateAppointmentException.java (87%) diff --git a/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java index debeddc360e6..613505669744 100644 --- a/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java @@ -6,8 +6,8 @@ import static seedu.address.logic.parser.CliSyntax.PREFIX_START_INTERVAL; import seedu.address.logic.commands.exceptions.CommandException; -import seedu.address.model.insuranceCalendar.AppointmentEntry; -import seedu.address.model.person.exceptions.DuplicateAppointmentException; +import seedu.address.model.calendar.AppointmentEntry; +import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; /** * Adds a appointment to the address book's calendar. diff --git a/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java b/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java new file mode 100644 index 000000000000..8936da3ba039 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java @@ -0,0 +1,46 @@ +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; +import static seedu.address.logic.parser.CliSyntax.PREFIX_SEARCH_TEXT; + +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; + +/** + * removes appointments associated with the searchText in the address book's calendar. + */ + +public class RemoveAppointmentsCommand extends UndoableCommand { + + public static final String COMMAND_WORD = "remove_appointments"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": remove appointments associated with the search text in the calendar. " + + "Parameters: " + + PREFIX_SEARCH_TEXT + "SEARCH TEXT " + + "\nExample: " + COMMAND_WORD + " " + + PREFIX_SEARCH_TEXT + "title of the appointment "; + + public static final String MESSAGE_SUCCESS = "Appointments with title %1$s removed"; + public static final String MESSAGE_NO_SUCH_APPOINTMENT = "No such appointment exists in the calendar"; + + private final String searchText; + + /** + * Creates an AddCommand to add the specified {@code AppointmentEntry} + */ + public RemoveAppointmentsCommand(String searchText) { + requireNonNull(searchText); + this.searchText = searchText; + } + + @Override + protected CommandResult executeUndoableCommand() throws CommandException { + try { + model.removeAppointments(searchText); + return new CommandResult(String.format(MESSAGE_SUCCESS, searchText)); + } catch (AppointmentNotFoundException e) { + throw new CommandException(MESSAGE_NO_SUCH_APPOINTMENT); + } + } +} diff --git a/src/main/java/seedu/address/logic/parser/AddAppointmentCommandPaser.java b/src/main/java/seedu/address/logic/parser/AddAppointmentCommandParser.java similarity index 94% rename from src/main/java/seedu/address/logic/parser/AddAppointmentCommandPaser.java rename to src/main/java/seedu/address/logic/parser/AddAppointmentCommandParser.java index 2b88af03eec0..93bd8de4a8cc 100644 --- a/src/main/java/seedu/address/logic/parser/AddAppointmentCommandPaser.java +++ b/src/main/java/seedu/address/logic/parser/AddAppointmentCommandParser.java @@ -15,12 +15,12 @@ import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.logic.commands.AddAppointmentCommand; import seedu.address.logic.parser.exceptions.ParseException; -import seedu.address.model.insuranceCalendar.AppointmentEntry; +import seedu.address.model.calendar.AppointmentEntry; /** * Parses input arguments and creates a new AddAppointmentCommand object */ -public class AddAppointmentCommandPaser implements Parser { +public class AddAppointmentCommandParser implements Parser { /** * Parses the given {@code String} of arguments in the context of the AddAppointmentCommand diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index ae8aa143e7e2..93f97c594632 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.ListCommand; import seedu.address.logic.commands.PredictCommand; import seedu.address.logic.commands.RedoCommand; +import seedu.address.logic.commands.RemoveAppointmentsCommand; import seedu.address.logic.commands.SelectCommand; import seedu.address.logic.commands.UndoCommand; import seedu.address.logic.parser.exceptions.ParseException; @@ -89,8 +90,11 @@ public Command parseCommand(String userInput) throws ParseException { case RedoCommand.COMMAND_WORD: return new RedoCommand(); + case RemoveAppointmentsCommand.COMMAND_WORD: + return new RemoveAppointmentCommandParser().parse(arguments); + case AddAppointmentCommand.COMMAND_WORD: - return new AddAppointmentCommandPaser().parse(arguments); + return new AddAppointmentCommandParser().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 2781c464d2ed..d601afa4145f 100644 --- a/src/main/java/seedu/address/logic/parser/CliSyntax.java +++ b/src/main/java/seedu/address/logic/parser/CliSyntax.java @@ -13,6 +13,7 @@ public class CliSyntax { public static final Prefix PREFIX_TAG = new Prefix("t/"); public static final Prefix PREFIX_START_INTERVAL = new Prefix("S/"); public static final Prefix PREFIX_END_INTERVAL = new Prefix("E/"); + public static final Prefix PREFIX_SEARCH_TEXT = new Prefix("ST/"); public static final Prefix PREFIX_INCOME = new Prefix("i/"); public static final Prefix PREFIX_ACTUALSPENDING = new Prefix("as/"); public static final Prefix PREFIX_EXPECTEDSPENDING = new Prefix("es/"); diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index e7c7904e5070..ff6815ad40ee 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -14,7 +14,7 @@ import seedu.address.commons.core.index.Index; import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.commons.util.StringUtil; -import seedu.address.model.insuranceCalendar.AppointmentEntry; +import seedu.address.model.calendar.AppointmentEntry; import seedu.address.model.person.Address; import seedu.address.model.person.Age; import seedu.address.model.person.Email; diff --git a/src/main/java/seedu/address/logic/parser/RemoveAppointmentCommandParser.java b/src/main/java/seedu/address/logic/parser/RemoveAppointmentCommandParser.java new file mode 100644 index 000000000000..169227849fbc --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/RemoveAppointmentCommandParser.java @@ -0,0 +1,47 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_SEARCH_TEXT; + +import java.util.stream.Stream; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.logic.commands.RemoveAppointmentsCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +/** + * Parses input arguments and creates a new RemoveAppointmentsCommand object + */ +public class RemoveAppointmentCommandParser implements Parser { + /** + * Parses the given {@code String} of arguments in the context of the RemoveAppointmentsCommand + * and returns a RemoveAppointsCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + @Override + public RemoveAppointmentsCommand parse(String args) throws ParseException { + ArgumentMultimap argMultimap = + ArgumentTokenizer.tokenize(args, PREFIX_SEARCH_TEXT); + + if (!arePrefixesPresent(argMultimap, PREFIX_SEARCH_TEXT) + || !argMultimap.getPreamble().isEmpty()) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + RemoveAppointmentsCommand.MESSAGE_USAGE)); + } + + try { + String searchText = ParserUtil.parseString(argMultimap.getValue(PREFIX_SEARCH_TEXT)).get(); + return new RemoveAppointmentsCommand(searchText); + } 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()); + } +} diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 28fb19d80f3a..3ef7bea366d7 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -14,11 +14,12 @@ import com.calendarfx.model.CalendarSource; import javafx.collections.ObservableList; -import seedu.address.model.insuranceCalendar.AppointmentEntry; -import seedu.address.model.insuranceCalendar.InsuranceCalendar; +import seedu.address.model.calendar.AppointmentEntry; +import seedu.address.model.calendar.InsuranceCalendar; import seedu.address.model.person.Person; import seedu.address.model.person.UniquePersonList; -import seedu.address.model.person.exceptions.DuplicateAppointmentException; +import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; +import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.tag.Tag; @@ -99,6 +100,16 @@ public void resetData(ReadOnlyAddressBook newData) { public void addAppointment(AppointmentEntry entry) throws DuplicateAppointmentException { calendar.addAppointment(entry); } + + /** + * remove appointment entries related to the searchText in the calendar. + * + * @throws AppointmentNotFoundException if an equivalent appointment already exists. + */ + public void removeAppointments(String searchText) throws AppointmentNotFoundException { + calendar.removeAppointments(searchText); + } + //// person-level operations /** diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index d5a1f1663d74..8a49eca1b48e 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -7,9 +7,10 @@ import javafx.collections.ObservableList; -import seedu.address.model.insuranceCalendar.AppointmentEntry; +import seedu.address.model.calendar.AppointmentEntry; import seedu.address.model.person.Person; -import seedu.address.model.person.exceptions.DuplicateAppointmentException; +import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; +import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -35,6 +36,9 @@ public interface Model { /** Adds the given appointment entry */ void addAppointment(AppointmentEntry appointmentEntry) throws DuplicateAppointmentException; + /** remove appointments associated with the given searchText */ + void removeAppointments(String searchText) throws AppointmentNotFoundException; + /** * Replaces the given person {@code target} with {@code editedPerson}. * diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 95c7e30eb1df..8ceebaa6d662 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -16,9 +16,10 @@ import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.model.AddressBookChangedEvent; import seedu.address.commons.events.ui.RefreshCalendarEvent; -import seedu.address.model.insuranceCalendar.AppointmentEntry; +import seedu.address.model.calendar.AppointmentEntry; import seedu.address.model.person.Person; -import seedu.address.model.person.exceptions.DuplicateAppointmentException; +import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; +import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -100,6 +101,12 @@ public void addAppointment(AppointmentEntry appointmentEntry) throws DuplicateAp } + @Override + public void removeAppointments(String searchText) throws AppointmentNotFoundException { + addressBook.removeAppointments(searchText); + indicateAddressBookChanged(); + } + @Override public void updatePerson(Person target, Person editedPerson) throws DuplicatePersonException, PersonNotFoundException { diff --git a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java index c88e29a345b8..311852edea3b 100644 --- a/src/main/java/seedu/address/model/ReadOnlyAddressBook.java +++ b/src/main/java/seedu/address/model/ReadOnlyAddressBook.java @@ -4,8 +4,8 @@ import javafx.collections.ObservableList; -import seedu.address.model.insuranceCalendar.AppointmentEntry; -import seedu.address.model.insuranceCalendar.InsuranceCalendar; +import seedu.address.model.calendar.AppointmentEntry; +import seedu.address.model.calendar.InsuranceCalendar; import seedu.address.model.person.Person; import seedu.address.model.tag.Tag; diff --git a/src/main/java/seedu/address/model/insuranceCalendar/AppointmentEntry.java b/src/main/java/seedu/address/model/calendar/AppointmentEntry.java similarity index 98% rename from src/main/java/seedu/address/model/insuranceCalendar/AppointmentEntry.java rename to src/main/java/seedu/address/model/calendar/AppointmentEntry.java index 9be6653a4e81..ab13e51d062e 100644 --- a/src/main/java/seedu/address/model/insuranceCalendar/AppointmentEntry.java +++ b/src/main/java/seedu/address/model/calendar/AppointmentEntry.java @@ -1,4 +1,4 @@ -package seedu.address.model.insuranceCalendar; +package seedu.address.model.calendar; import static seedu.address.commons.util.CollectionUtil.requireAllNonNull; diff --git a/src/main/java/seedu/address/model/insuranceCalendar/InsuranceCalendar.java b/src/main/java/seedu/address/model/calendar/InsuranceCalendar.java similarity index 61% rename from src/main/java/seedu/address/model/insuranceCalendar/InsuranceCalendar.java rename to src/main/java/seedu/address/model/calendar/InsuranceCalendar.java index 11cbde560a90..20ba41376e9c 100644 --- a/src/main/java/seedu/address/model/insuranceCalendar/InsuranceCalendar.java +++ b/src/main/java/seedu/address/model/calendar/InsuranceCalendar.java @@ -1,13 +1,17 @@ -package seedu.address.model.insuranceCalendar; +package seedu.address.model.calendar; import static java.util.Objects.requireNonNull; import java.util.ArrayList; +import java.util.List; import com.calendarfx.model.Calendar; import com.calendarfx.model.CalendarSource; +import com.calendarfx.model.Entry; +import com.calendarfx.model.Interval; -import seedu.address.model.person.exceptions.DuplicateAppointmentException; +import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; +import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; /** @@ -63,6 +67,40 @@ public void addAppointment(AppointmentEntry entry) throws DuplicateAppointmentEx } + /** + * Remove appointments found with the given keywords in the calendar. + * + * @throws AppointmentNotFoundException if the appointment to add is a duplicate of an existing appointments. + */ + public void removeAppointments(String searchText) throws AppointmentNotFoundException { + + List> foundEntires = calendar.findEntries(searchText); + if (foundEntires.isEmpty()) { + throw new AppointmentNotFoundException(); + } + + for (Entry entry: foundEntires) { + removeAppointmentEntry (entry); + } + calendar.removeEntries(foundEntires); + + + } + + /** + * remove a given entry in the appointmentEntries + * + */ + public void removeAppointmentEntry(Entry entryToCheck) { + + String givenTitle = entryToCheck.getTitle(); + Interval givenInterval = entryToCheck.getInterval(); + AppointmentEntry apppointmentEntryToCheck = new AppointmentEntry(givenTitle, givenInterval); + appointmentEntries.remove(apppointmentEntryToCheck); + } + + + /** * Returns true if the calender contains an equivalent appointment as the given argument. */ diff --git a/src/main/java/seedu/address/model/calendar/exceptions/AppointmentNotFoundException.java b/src/main/java/seedu/address/model/calendar/exceptions/AppointmentNotFoundException.java new file mode 100644 index 000000000000..215c9e61bcc8 --- /dev/null +++ b/src/main/java/seedu/address/model/calendar/exceptions/AppointmentNotFoundException.java @@ -0,0 +1,6 @@ +package seedu.address.model.calendar.exceptions; +/** + * Signals that the operation is unable to find the specified appointment. + */ +public class AppointmentNotFoundException extends Exception { +} diff --git a/src/main/java/seedu/address/model/person/exceptions/DuplicateAppointmentException.java b/src/main/java/seedu/address/model/calendar/exceptions/DuplicateAppointmentException.java similarity index 87% rename from src/main/java/seedu/address/model/person/exceptions/DuplicateAppointmentException.java rename to src/main/java/seedu/address/model/calendar/exceptions/DuplicateAppointmentException.java index 3d0d2f7668be..f19a6cefc4fe 100644 --- a/src/main/java/seedu/address/model/person/exceptions/DuplicateAppointmentException.java +++ b/src/main/java/seedu/address/model/calendar/exceptions/DuplicateAppointmentException.java @@ -1,4 +1,4 @@ -package seedu.address.model.person.exceptions; +package seedu.address.model.calendar.exceptions; import seedu.address.commons.exceptions.DuplicateDataException; diff --git a/src/main/java/seedu/address/storage/XmlAdptedAppointmentEntry.java b/src/main/java/seedu/address/storage/XmlAdptedAppointmentEntry.java index 43589b873327..b439d8543396 100644 --- a/src/main/java/seedu/address/storage/XmlAdptedAppointmentEntry.java +++ b/src/main/java/seedu/address/storage/XmlAdptedAppointmentEntry.java @@ -12,7 +12,7 @@ import com.calendarfx.model.Interval; import seedu.address.commons.exceptions.IllegalValueException; -import seedu.address.model.insuranceCalendar.AppointmentEntry; +import seedu.address.model.calendar.AppointmentEntry; /** * JAXB-friendly version of the Appointment Entry. diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 171a29f0d318..927dd0388b8c 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -23,9 +23,9 @@ import seedu.address.model.AddressBook; import seedu.address.model.Model; import seedu.address.model.ReadOnlyAddressBook; -import seedu.address.model.insuranceCalendar.AppointmentEntry; +import seedu.address.model.calendar.AppointmentEntry; import seedu.address.model.person.Person; -import seedu.address.model.person.exceptions.DuplicateAppointmentException; +import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.testutil.PersonBuilder; diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 374e715de81d..3bbb4ef386ed 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -16,8 +16,8 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; -import seedu.address.model.insuranceCalendar.AppointmentEntry; -import seedu.address.model.insuranceCalendar.InsuranceCalendar; +import seedu.address.model.calendar.AppointmentEntry; +import seedu.address.model.calendar.InsuranceCalendar; import seedu.address.model.person.Person; import seedu.address.model.tag.Tag; From db1e30e681fd67da257642c5134e1a6bdc2baef9 Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Tue, 27 Mar 2018 23:53:45 +0800 Subject: [PATCH 05/18] updated user guide on the new remove_appointments feature --- docs/UserGuide.adoc | 17 ++++++++++++++--- .../commands/RemoveAppointmentsCommand.java | 4 ++-- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index bca75bb46bf0..0beb6b587650 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -170,6 +170,18 @@ Examples: * `add_appointment n/meet John S/11/09/2018 15:00:00 E/11/09/2018 16:00:00` +=== remove existing appointments : `remove_appointments` + +Removes appointments whose title match the given search text + +Format: `remove_appointments ST/SEARCH TEXT` + +[TIP] +All appointments with the title that match the given search text will be removed + +Examples: + +* `remove_appointments ST/Title of the appointment` + === Listing entered commands : `history` Lists all the commands that you have entered in reverse chronological order. + @@ -257,9 +269,6 @@ There is no need to save manually. _{explain how the user can enable/disable data encryption}_ // end::dataencryption[] -=== remove existing appointment `[coming in v2.0]` -the user is allowed to use command line to delete an existing appointment by specifying the appointment title and interval - === update existing appointment `[coming in v2.0]` the user is allowed to use command line to update an existing appointment by specifying the old appointment title and interval then the new appointment title and interval @@ -289,6 +298,8 @@ the user is allowed to use command line to remove a task to the task pad GUI sp e.g. `add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague` * *Add Appointment* `add_appointment n/NAME S/START DATE E/End Date` + e.g. `add_appointment n/Meet James S/14/08/2018 15:00:00 S/14/08/2018 16:00:00` +* *Remove Appointments* `remove_appointments ST/SEARCH TEXT` + +e.g. `remove_appointments ST/Title of the appointment` * *Clear* : `clear` * *Delete* : `delete INDEX` + e.g. `delete 3` diff --git a/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java b/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java index 8936da3ba039..20ea8b654386 100644 --- a/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java +++ b/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java @@ -7,7 +7,7 @@ import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; /** - * removes appointments associated with the searchText in the address book's calendar. + * removes appointments whose title match with the searchText in the address book's calendar. */ public class RemoveAppointmentsCommand extends UndoableCommand { @@ -15,7 +15,7 @@ public class RemoveAppointmentsCommand extends UndoableCommand { public static final String COMMAND_WORD = "remove_appointments"; public static final String MESSAGE_USAGE = COMMAND_WORD - + ": remove appointments associated with the search text in the calendar. " + + ": remove appointments whose title match with the search text in the calendar. " + "Parameters: " + PREFIX_SEARCH_TEXT + "SEARCH TEXT " + "\nExample: " + COMMAND_WORD + " " From c9d6dc14de93417498b566f4cac7e699bbed6e82 Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 00:17:35 +0800 Subject: [PATCH 06/18] amended style issues and passed all exisitng tests as regression testing --- src/main/java/seedu/address/model/AddressBook.java | 4 ++-- src/main/java/seedu/address/model/Model.java | 2 +- src/main/java/seedu/address/model/ModelManager.java | 2 +- .../java/seedu/address/logic/commands/AddCommandTest.java | 8 +++++++- src/test/java/seedu/address/model/AddressBookTest.java | 3 ++- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 3ef7bea366d7..2632927f4b3e 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -16,10 +16,10 @@ import javafx.collections.ObservableList; import seedu.address.model.calendar.AppointmentEntry; import seedu.address.model.calendar.InsuranceCalendar; -import seedu.address.model.person.Person; -import seedu.address.model.person.UniquePersonList; import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; +import seedu.address.model.person.Person; +import seedu.address.model.person.UniquePersonList; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.model.tag.Tag; diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 8a49eca1b48e..78b94e53b7bf 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -8,9 +8,9 @@ import javafx.collections.ObservableList; import seedu.address.model.calendar.AppointmentEntry; -import seedu.address.model.person.Person; import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; +import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 8ceebaa6d662..6fdf41e71e71 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -17,9 +17,9 @@ import seedu.address.commons.events.model.AddressBookChangedEvent; import seedu.address.commons.events.ui.RefreshCalendarEvent; import seedu.address.model.calendar.AppointmentEntry; -import seedu.address.model.person.Person; import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; +import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 927dd0388b8c..9edab9c96772 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -24,8 +24,9 @@ import seedu.address.model.Model; import seedu.address.model.ReadOnlyAddressBook; import seedu.address.model.calendar.AppointmentEntry; -import seedu.address.model.person.Person; +import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; +import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; import seedu.address.testutil.PersonBuilder; @@ -110,6 +111,11 @@ public void addAppointment(AppointmentEntry appointmentEntry) throws DuplicateAp fail("This method should not be called."); } + @Override + public void removeAppointments(String searchText) throws AppointmentNotFoundException { + fail("This method should not be called."); + } + @Override public void resetData(ReadOnlyAddressBook newData) { 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 3bbb4ef386ed..2442d25dddf5 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -76,6 +76,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 InsuranceCalendar calendar = new InsuranceCalendar(); AddressBookStub(Collection persons, Collection tags) { this.persons.setAll(persons); @@ -99,7 +100,7 @@ public ArrayList getMyCalendarEntries() { @Override public InsuranceCalendar getMyCalendar() { - return null; + return calendar; } } From a79e96d1137d68ed993704b4f2ccadae20bf9b15 Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 00:38:27 +0800 Subject: [PATCH 07/18] ensured appointment title to be unique before adding to the calendar --- docs/UserGuide.adoc | 18 ++++++++++-------- .../logic/commands/AddAppointmentCommand.java | 2 +- .../commands/RemoveAppointmentsCommand.java | 10 +++++----- .../java/seedu/address/model/AddressBook.java | 4 ++-- src/main/java/seedu/address/model/Model.java | 2 +- .../java/seedu/address/model/ModelManager.java | 4 ++-- .../model/calendar/AppointmentEntry.java | 18 +++++++++++++----- .../model/calendar/InsuranceCalendar.java | 3 ++- .../address/logic/commands/AddCommandTest.java | 2 +- 9 files changed, 37 insertions(+), 26 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 0beb6b587650..f03db3a924ce 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -164,23 +164,25 @@ Adds an appointment to the address book calendar + Format: `add_appointment n/NAME S/START DATE TIME E/END DATE TIME` [TIP] -The date time must be entered in the d/MM/yyyy HH:mm:ss format +The date time must be entered in the d/MM/yyyy HH:mm:ss format+ +The name given to the appointment as its title must be unique Examples: * `add_appointment n/meet John S/11/09/2018 15:00:00 E/11/09/2018 16:00:00` -=== remove existing appointments : `remove_appointments` +=== remove existing appointment : `remove_appointment` -Removes appointments whose title match the given search text + -Format: `remove_appointments ST/SEARCH TEXT` +Removes appointment whose title match the given search text + +Format: `remove_appointment ST/SEARCH TEXT` [TIP] -All appointments with the title that match the given search text will be removed +only the title is searched, appointment with the title that match the given search text will be removed +This works as we enforces unique titles for appointments. Examples: -* `remove_appointments ST/Title of the appointment` +* `remove_appointment ST/Title of the appointment` === Listing entered commands : `history` @@ -298,8 +300,8 @@ the user is allowed to use command line to remove a task to the task pad GUI sp e.g. `add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague` * *Add Appointment* `add_appointment n/NAME S/START DATE E/End Date` + e.g. `add_appointment n/Meet James S/14/08/2018 15:00:00 S/14/08/2018 16:00:00` -* *Remove Appointments* `remove_appointments ST/SEARCH TEXT` + -e.g. `remove_appointments ST/Title of the appointment` +* *Remove Appointment* `remove_appointment ST/SEARCH TEXT` + +e.g. `remove_appointment ST/Title of the appointment` * *Clear* : `clear` * *Delete* : `delete INDEX` + e.g. `delete 3` diff --git a/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java index 613505669744..bfd81089a52d 100644 --- a/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java @@ -28,7 +28,7 @@ public class AddAppointmentCommand extends UndoableCommand { + PREFIX_END_INTERVAL + "14/08/2018 07:12:00 "; public static final String MESSAGE_SUCCESS = "New Appointment Added: %1$s"; - public static final String MESSAGE_DUPLICATE_APPOINTMENT = "This appointment already exists in the calendar"; + public static final String MESSAGE_DUPLICATE_APPOINTMENT = "appointment with the same title already exists in the calendar"; private final AppointmentEntry toAdd; diff --git a/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java b/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java index 20ea8b654386..9bf56b9e6c8a 100644 --- a/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java +++ b/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java @@ -7,21 +7,21 @@ import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; /** - * removes appointments whose title match with the searchText in the address book's calendar. + * removes appointment whose title match with the searchText in the address book's calendar. */ public class RemoveAppointmentsCommand extends UndoableCommand { - public static final String COMMAND_WORD = "remove_appointments"; + public static final String COMMAND_WORD = "remove_appointment"; public static final String MESSAGE_USAGE = COMMAND_WORD - + ": remove appointments whose title match with the search text in the calendar. " + + ": remove appointment whose title match with the search text in the calendar. " + "Parameters: " + PREFIX_SEARCH_TEXT + "SEARCH TEXT " + "\nExample: " + COMMAND_WORD + " " + PREFIX_SEARCH_TEXT + "title of the appointment "; - public static final String MESSAGE_SUCCESS = "Appointments with title %1$s removed"; + public static final String MESSAGE_SUCCESS = "Appointment with title %1$s removed"; public static final String MESSAGE_NO_SUCH_APPOINTMENT = "No such appointment exists in the calendar"; private final String searchText; @@ -37,7 +37,7 @@ public RemoveAppointmentsCommand(String searchText) { @Override protected CommandResult executeUndoableCommand() throws CommandException { try { - model.removeAppointments(searchText); + model.removeAppointment(searchText); return new CommandResult(String.format(MESSAGE_SUCCESS, searchText)); } catch (AppointmentNotFoundException e) { throw new CommandException(MESSAGE_NO_SUCH_APPOINTMENT); diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index 2632927f4b3e..e4a82a589678 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -106,8 +106,8 @@ public void addAppointment(AppointmentEntry entry) throws DuplicateAppointmentEx * * @throws AppointmentNotFoundException if an equivalent appointment already exists. */ - public void removeAppointments(String searchText) throws AppointmentNotFoundException { - calendar.removeAppointments(searchText); + public void removeAppointment(String searchText) throws AppointmentNotFoundException { + calendar.removeAppointment(searchText); } //// person-level operations diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index 78b94e53b7bf..e02076783588 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -37,7 +37,7 @@ public interface Model { void addAppointment(AppointmentEntry appointmentEntry) throws DuplicateAppointmentException; /** remove appointments associated with the given searchText */ - void removeAppointments(String searchText) throws AppointmentNotFoundException; + void removeAppointment(String searchText) throws AppointmentNotFoundException; /** * Replaces the given person {@code target} with {@code editedPerson}. diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index 6fdf41e71e71..e9c9a7e42627 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -102,8 +102,8 @@ public void addAppointment(AppointmentEntry appointmentEntry) throws DuplicateAp } @Override - public void removeAppointments(String searchText) throws AppointmentNotFoundException { - addressBook.removeAppointments(searchText); + public void removeAppointment(String searchText) throws AppointmentNotFoundException { + addressBook.removeAppointment(searchText); indicateAddressBookChanged(); } diff --git a/src/main/java/seedu/address/model/calendar/AppointmentEntry.java b/src/main/java/seedu/address/model/calendar/AppointmentEntry.java index ab13e51d062e..6d08e7bd7a6e 100644 --- a/src/main/java/seedu/address/model/calendar/AppointmentEntry.java +++ b/src/main/java/seedu/address/model/calendar/AppointmentEntry.java @@ -19,8 +19,8 @@ public class AppointmentEntry { public static final String DATE_VALIDATION = "d/MM/yyyy HH:mm:ss"; private final Entry appointmentEntry; - private final Interval interval; - private final String givenTitle; + private Interval interval; + private String givenTitle; public AppointmentEntry(String title, Interval timeSlot) { requireAllNonNull(title, timeSlot); @@ -36,6 +36,16 @@ public AppointmentEntry(AppointmentEntry clonedEntry) { givenTitle = clonedEntry.getGivenTitle(); } + /** + * Edit the appointment Entry to match a given appointment entry + * + */ + public void editAppointmentEntry(AppointmentEntry referenceEntry) { + this.interval = new Interval(referenceEntry.getStartDate(), referenceEntry.getEndDate()); + this.givenTitle = referenceEntry.getGivenTitle(); + + } + public LocalDateTime getStartDate() { return interval.getStartDateTime(); } @@ -79,8 +89,6 @@ public boolean equals(Object other) { } AppointmentEntry otherAppointment = (AppointmentEntry) other; - return otherAppointment.givenTitle.equals(this.getGivenTitle()) - && otherAppointment.getStartDate().equals(this.getStartDate()) - && otherAppointment.getEndDate().equals(this.getEndDate()); + return otherAppointment.givenTitle.equals(this.getGivenTitle()); } } diff --git a/src/main/java/seedu/address/model/calendar/InsuranceCalendar.java b/src/main/java/seedu/address/model/calendar/InsuranceCalendar.java index 20ba41376e9c..9e3e0271f4c1 100644 --- a/src/main/java/seedu/address/model/calendar/InsuranceCalendar.java +++ b/src/main/java/seedu/address/model/calendar/InsuranceCalendar.java @@ -72,7 +72,7 @@ public void addAppointment(AppointmentEntry entry) throws DuplicateAppointmentEx * * @throws AppointmentNotFoundException if the appointment to add is a duplicate of an existing appointments. */ - public void removeAppointments(String searchText) throws AppointmentNotFoundException { + public void removeAppointment(String searchText) throws AppointmentNotFoundException { List> foundEntires = calendar.findEntries(searchText); if (foundEntires.isEmpty()) { @@ -101,6 +101,7 @@ public void removeAppointmentEntry(Entry entryToCheck) { + /** * Returns true if the calender contains an equivalent appointment as the given argument. */ diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index 9edab9c96772..d46026115dc0 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -112,7 +112,7 @@ public void addAppointment(AppointmentEntry appointmentEntry) throws DuplicateAp } @Override - public void removeAppointments(String searchText) throws AppointmentNotFoundException { + public void removeAppointment(String searchText) throws AppointmentNotFoundException { fail("This method should not be called."); } From 5cd45dec53c6682c65148f8c83be925986703adb Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 01:28:39 +0800 Subject: [PATCH 08/18] added edit_appointment feature --- .../logic/commands/AddAppointmentCommand.java | 5 +- .../commands/EditAppointmentCommand.java | 64 +++++++++++++++++++ .../commands/RemoveAppointmentsCommand.java | 2 +- .../logic/parser/AddressBookParser.java | 4 ++ .../parser/EditAppointmentCommandParser.java | 64 +++++++++++++++++++ .../RemoveAppointmentCommandParser.java | 1 + .../java/seedu/address/model/AddressBook.java | 10 +++ src/main/java/seedu/address/model/Model.java | 4 ++ .../seedu/address/model/ModelManager.java | 8 +++ .../model/calendar/AppointmentEntry.java | 10 --- .../model/calendar/InsuranceCalendar.java | 28 +++++++- .../EditApointmentFailException.java | 8 +++ 12 files changed, 194 insertions(+), 14 deletions(-) create mode 100644 src/main/java/seedu/address/logic/commands/EditAppointmentCommand.java create mode 100644 src/main/java/seedu/address/logic/parser/EditAppointmentCommandParser.java create mode 100644 src/main/java/seedu/address/model/calendar/exceptions/EditApointmentFailException.java diff --git a/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java index bfd81089a52d..f00cd62b2507 100644 --- a/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java @@ -28,12 +28,13 @@ public class AddAppointmentCommand extends UndoableCommand { + PREFIX_END_INTERVAL + "14/08/2018 07:12:00 "; public static final String MESSAGE_SUCCESS = "New Appointment Added: %1$s"; - public static final String MESSAGE_DUPLICATE_APPOINTMENT = "appointment with the same title already exists in the calendar"; + public static final String MESSAGE_DUPLICATE_APPOINTMENT = + "appointment with the same title already exists in the calendar"; private final AppointmentEntry toAdd; /** - * Creates an AddCommand to add the specified {@code AppointmentEntry} + * Creates an AddAppointmentCommand to add the specified {@code AppointmentEntry} */ public AddAppointmentCommand(AppointmentEntry appointmentEntry) { requireNonNull(appointmentEntry); diff --git a/src/main/java/seedu/address/logic/commands/EditAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/EditAppointmentCommand.java new file mode 100644 index 000000000000..723896996b92 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/EditAppointmentCommand.java @@ -0,0 +1,64 @@ +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; +import static seedu.address.logic.parser.CliSyntax.PREFIX_END_INTERVAL; +import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_SEARCH_TEXT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_START_INTERVAL; + +import seedu.address.logic.commands.exceptions.CommandException; +import seedu.address.model.calendar.AppointmentEntry; +import seedu.address.model.calendar.exceptions.EditApointmentFailException; + +/** + * Edit an appointment in the address book's calendar. + */ +public class EditAppointmentCommand extends UndoableCommand { + public static final String COMMAND_WORD = "edit_appointment"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Edits an appointment in the calendar. " + + "Parameters: " + + PREFIX_SEARCH_TEXT + "SEARCH TEXT " + + PREFIX_NAME + "NAME " + + PREFIX_START_INTERVAL + "START DATE TIME " + + PREFIX_END_INTERVAL + "END DATE TIME" + + "\nExample: " + COMMAND_WORD + " " + + PREFIX_SEARCH_TEXT + "Meet Peter " + + PREFIX_NAME + "Meet John " + + PREFIX_START_INTERVAL + "14/08/2018 06:12:00 " + + PREFIX_END_INTERVAL + "14/08/2018 07:12:00 "; + + public static final String MESSAGE_SUCCESS = "Appointment Edited: %1$s"; + public static final String MESSAGE_FAIL_EDIT_APPOINTMENT = "appointment do not exit or duplicate new title"; + + private final AppointmentEntry toEdit; + private final String searchText; + + /** + * Creates an AddCommand to add the specified {@code AppointmentEntry} + */ + public EditAppointmentCommand(String searchText, AppointmentEntry appointmentEntry) { + requireNonNull(appointmentEntry); + toEdit = appointmentEntry; + this.searchText = searchText; + } + + @Override + public CommandResult executeUndoableCommand() throws CommandException { + requireNonNull(model); + try { + model.editAppointment(searchText, toEdit); + return new CommandResult(String.format(MESSAGE_SUCCESS, toEdit)); + } catch (EditApointmentFailException e) { + throw new CommandException(MESSAGE_FAIL_EDIT_APPOINTMENT); + } + + } + + @Override + public boolean equals(Object other) { + return other == this // short circuit if same object + || (other instanceof EditAppointmentCommand // instanceof handles nulls + && toEdit.equals(((EditAppointmentCommand) other).toEdit)); + } +} diff --git a/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java b/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java index 9bf56b9e6c8a..387de3bc7f4f 100644 --- a/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java +++ b/src/main/java/seedu/address/logic/commands/RemoveAppointmentsCommand.java @@ -27,7 +27,7 @@ public class RemoveAppointmentsCommand extends UndoableCommand { private final String searchText; /** - * Creates an AddCommand to add the specified {@code AppointmentEntry} + * Creates an RemoveAppointmentCommand to remove the specified {@code searchText} */ public RemoveAppointmentsCommand(String searchText) { requireNonNull(searchText); diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index 93f97c594632..e679eafb2bd5 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -11,6 +11,7 @@ import seedu.address.logic.commands.ClearCommand; import seedu.address.logic.commands.Command; import seedu.address.logic.commands.DeleteCommand; +import seedu.address.logic.commands.EditAppointmentCommand; import seedu.address.logic.commands.EditCommand; import seedu.address.logic.commands.ExitCommand; import seedu.address.logic.commands.FindCommand; @@ -96,6 +97,9 @@ public Command parseCommand(String userInput) throws ParseException { case AddAppointmentCommand.COMMAND_WORD: return new AddAppointmentCommandParser().parse(arguments); + case EditAppointmentCommand.COMMAND_WORD: + return new EditAppointmentCommandParser().parse(arguments); + default: throw new ParseException(MESSAGE_UNKNOWN_COMMAND); } diff --git a/src/main/java/seedu/address/logic/parser/EditAppointmentCommandParser.java b/src/main/java/seedu/address/logic/parser/EditAppointmentCommandParser.java new file mode 100644 index 000000000000..12a7424fa3c3 --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/EditAppointmentCommandParser.java @@ -0,0 +1,64 @@ +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_INTERVAL; +import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_SEARCH_TEXT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_START_INTERVAL; + +import java.time.LocalDateTime; +import java.util.stream.Stream; + +import com.calendarfx.model.Interval; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.logic.commands.EditAppointmentCommand; +import seedu.address.logic.parser.exceptions.ParseException; +import seedu.address.model.calendar.AppointmentEntry; + +/** + * Parses input arguments and creates a new EditAppointmentCommand object + */ +public class EditAppointmentCommandParser implements Parser { + + /** + * Parses the given {@code String} of arguments in the context of the EditAppointCommand + * and returns an ditAppointCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public EditAppointmentCommand parse(String args) throws ParseException { + ArgumentMultimap argMultimap = + ArgumentTokenizer.tokenize(args, PREFIX_SEARCH_TEXT, PREFIX_NAME, + PREFIX_START_INTERVAL, PREFIX_END_INTERVAL); + + if (!arePrefixesPresent(argMultimap, PREFIX_SEARCH_TEXT, PREFIX_NAME, + PREFIX_START_INTERVAL, PREFIX_END_INTERVAL) + || !argMultimap.getPreamble().isEmpty()) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + EditAppointmentCommand.MESSAGE_USAGE)); + } + + try { + String searchText = ParserUtil.parseString(argMultimap.getValue(PREFIX_SEARCH_TEXT)).get(); + String appointmentTitle = ParserUtil.parseString(argMultimap.getValue(PREFIX_NAME)).get(); + LocalDateTime startDateTime = ParserUtil.parseDateTime(argMultimap.getValue(PREFIX_START_INTERVAL)).get(); + LocalDateTime endDateTime = ParserUtil.parseDateTime(argMultimap.getValue(PREFIX_END_INTERVAL)).get(); + Interval interval = new Interval(startDateTime, endDateTime); + + + AppointmentEntry appointmentEntry = new AppointmentEntry(appointmentTitle, interval); + + return new EditAppointmentCommand(searchText, appointmentEntry); + } 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()); + } +} diff --git a/src/main/java/seedu/address/logic/parser/RemoveAppointmentCommandParser.java b/src/main/java/seedu/address/logic/parser/RemoveAppointmentCommandParser.java index 169227849fbc..14361962972b 100644 --- a/src/main/java/seedu/address/logic/parser/RemoveAppointmentCommandParser.java +++ b/src/main/java/seedu/address/logic/parser/RemoveAppointmentCommandParser.java @@ -9,6 +9,7 @@ import seedu.address.logic.commands.RemoveAppointmentsCommand; import seedu.address.logic.parser.exceptions.ParseException; + /** * Parses input arguments and creates a new RemoveAppointmentsCommand object */ diff --git a/src/main/java/seedu/address/model/AddressBook.java b/src/main/java/seedu/address/model/AddressBook.java index e4a82a589678..9703c19f8b51 100644 --- a/src/main/java/seedu/address/model/AddressBook.java +++ b/src/main/java/seedu/address/model/AddressBook.java @@ -18,6 +18,7 @@ import seedu.address.model.calendar.InsuranceCalendar; import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; +import seedu.address.model.calendar.exceptions.EditApointmentFailException; import seedu.address.model.person.Person; import seedu.address.model.person.UniquePersonList; import seedu.address.model.person.exceptions.DuplicatePersonException; @@ -110,6 +111,15 @@ public void removeAppointment(String searchText) throws AppointmentNotFoundExcep calendar.removeAppointment(searchText); } + /** + * edit an existing appointment entry in the calendar. + * + * @throws EditApointmentFailException if an equivalent appointment already exists. + */ + public void editAppointment(String searchText, AppointmentEntry referenceEntry) throws EditApointmentFailException { + calendar.editAppointmentEntry(searchText, referenceEntry); + } + //// person-level operations /** diff --git a/src/main/java/seedu/address/model/Model.java b/src/main/java/seedu/address/model/Model.java index e02076783588..a6d9fb674dda 100644 --- a/src/main/java/seedu/address/model/Model.java +++ b/src/main/java/seedu/address/model/Model.java @@ -10,6 +10,7 @@ import seedu.address.model.calendar.AppointmentEntry; import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; +import seedu.address.model.calendar.exceptions.EditApointmentFailException; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -39,6 +40,9 @@ public interface Model { /** remove appointments associated with the given searchText */ void removeAppointment(String searchText) throws AppointmentNotFoundException; + /** edit appointment associated with the given searchText */ + void editAppointment(String searchText, AppointmentEntry reference) throws EditApointmentFailException; + /** * Replaces the given person {@code target} with {@code editedPerson}. * diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index e9c9a7e42627..fdaffecbdce9 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -19,6 +19,7 @@ import seedu.address.model.calendar.AppointmentEntry; import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; +import seedu.address.model.calendar.exceptions.EditApointmentFailException; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -107,6 +108,13 @@ public void removeAppointment(String searchText) throws AppointmentNotFoundExcep indicateAddressBookChanged(); } + @Override + public void editAppointment(String searchText, AppointmentEntry reference) throws EditApointmentFailException { + addressBook.editAppointment(searchText, reference); + indicateAddressBookChanged(); + + } + @Override public void updatePerson(Person target, Person editedPerson) throws DuplicatePersonException, PersonNotFoundException { diff --git a/src/main/java/seedu/address/model/calendar/AppointmentEntry.java b/src/main/java/seedu/address/model/calendar/AppointmentEntry.java index 6d08e7bd7a6e..45fd085ff875 100644 --- a/src/main/java/seedu/address/model/calendar/AppointmentEntry.java +++ b/src/main/java/seedu/address/model/calendar/AppointmentEntry.java @@ -36,16 +36,6 @@ public AppointmentEntry(AppointmentEntry clonedEntry) { givenTitle = clonedEntry.getGivenTitle(); } - /** - * Edit the appointment Entry to match a given appointment entry - * - */ - public void editAppointmentEntry(AppointmentEntry referenceEntry) { - this.interval = new Interval(referenceEntry.getStartDate(), referenceEntry.getEndDate()); - this.givenTitle = referenceEntry.getGivenTitle(); - - } - public LocalDateTime getStartDate() { return interval.getStartDateTime(); } diff --git a/src/main/java/seedu/address/model/calendar/InsuranceCalendar.java b/src/main/java/seedu/address/model/calendar/InsuranceCalendar.java index 9e3e0271f4c1..12bce12b7c4a 100644 --- a/src/main/java/seedu/address/model/calendar/InsuranceCalendar.java +++ b/src/main/java/seedu/address/model/calendar/InsuranceCalendar.java @@ -12,6 +12,7 @@ import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; +import seedu.address.model.calendar.exceptions.EditApointmentFailException; /** @@ -70,7 +71,7 @@ public void addAppointment(AppointmentEntry entry) throws DuplicateAppointmentEx /** * Remove appointments found with the given keywords in the calendar. * - * @throws AppointmentNotFoundException if the appointment to add is a duplicate of an existing appointments. + * @throws AppointmentNotFoundException if the appointment to remove does not exist. */ public void removeAppointment(String searchText) throws AppointmentNotFoundException { @@ -99,6 +100,31 @@ public void removeAppointmentEntry(Entry entryToCheck) { appointmentEntries.remove(apppointmentEntryToCheck); } + /** + * edit appointments found with the the given searchText + * + * @throws EditApointmentFailException if the appointment to remove does not exist or duplicate appointment to add. + */ + public void editAppointmentEntry(String searchText, AppointmentEntry referenceEntry) + throws EditApointmentFailException { + + try { + removeAppointment(searchText); + } catch (AppointmentNotFoundException e) { + throw new EditApointmentFailException(); + } + + try { + addAppointment(referenceEntry); + } catch (DuplicateAppointmentException e) { + throw new EditApointmentFailException(); + } + + + + } + + diff --git a/src/main/java/seedu/address/model/calendar/exceptions/EditApointmentFailException.java b/src/main/java/seedu/address/model/calendar/exceptions/EditApointmentFailException.java new file mode 100644 index 000000000000..c62ded88d96e --- /dev/null +++ b/src/main/java/seedu/address/model/calendar/exceptions/EditApointmentFailException.java @@ -0,0 +1,8 @@ +package seedu.address.model.calendar.exceptions; +/** + * Signals that the operation will result in either a duplicate AppointmentEntry objects + * or unable to find an specified appointment . + */ + +public class EditApointmentFailException extends Exception { +} From 4576cc125278931abee90df5026a59a8df41e076 Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 01:42:00 +0800 Subject: [PATCH 09/18] debugged Storage failure due to change in datetime format --- .../model/calendar/AppointmentEntry.java | 4 ++-- .../storage/XmlAdptedAppointmentEntry.java | 20 +++++++++---------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/main/java/seedu/address/model/calendar/AppointmentEntry.java b/src/main/java/seedu/address/model/calendar/AppointmentEntry.java index 45fd085ff875..70d39648c86f 100644 --- a/src/main/java/seedu/address/model/calendar/AppointmentEntry.java +++ b/src/main/java/seedu/address/model/calendar/AppointmentEntry.java @@ -36,11 +36,11 @@ public AppointmentEntry(AppointmentEntry clonedEntry) { givenTitle = clonedEntry.getGivenTitle(); } - public LocalDateTime getStartDate() { + public LocalDateTime getStartDateTime() { return interval.getStartDateTime(); } - public LocalDateTime getEndDate() { + public LocalDateTime getEndDateTime() { return interval.getEndDateTime(); } diff --git a/src/main/java/seedu/address/storage/XmlAdptedAppointmentEntry.java b/src/main/java/seedu/address/storage/XmlAdptedAppointmentEntry.java index b439d8543396..d78110ade4b2 100644 --- a/src/main/java/seedu/address/storage/XmlAdptedAppointmentEntry.java +++ b/src/main/java/seedu/address/storage/XmlAdptedAppointmentEntry.java @@ -1,7 +1,6 @@ package seedu.address.storage; -import java.time.LocalDate; -import java.time.LocalTime; +import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; @@ -23,9 +22,9 @@ public class XmlAdptedAppointmentEntry { public static final String MISSING_FIELD_TITLE = "[TITLE]"; public static final String MISSING_FIELD_START_DATE = "[START_DATE]"; public static final String MISSING_FIELD_END_DATE = "[END_DATE]"; - public static final String DATE_VALIDATION = "yyyy-MM-d"; + public static final String DATE_VALIDATION = "yyyy-MM-d'T'HH:mm"; public static final String MESSAGE_DATE_CONSTRAINTS = - "Dates should be in the format of yyyy-MM-d"; + "Dates should be in the format of yyyy-MM-d'T'HH:mm"; @XmlElement(required = true) private String title; @@ -58,8 +57,8 @@ public XmlAdptedAppointmentEntry(String title, String startDate, String endDate) */ public XmlAdptedAppointmentEntry(AppointmentEntry source) { title = source.getGivenTitle(); - startDate = source.getStartDate().toString(); - endDate = source.getEndDate().toString(); + startDate = source.getStartDateTime().toString(); + endDate = source.getEndDateTime().toString(); } /** @@ -87,19 +86,18 @@ public AppointmentEntry toModelType() throws IllegalValueException { final String newEndDate = this.endDate; - final Interval interval = new Interval(getLocatDate(newStartDate), LocalTime.MIN, getLocatDate(newEndDate), - LocalTime.MAX); + final Interval interval = new Interval(getLocatDateTime(newStartDate), getLocatDateTime(newEndDate)); return new AppointmentEntry(title, interval); } - LocalDate getLocatDate(String date) throws IllegalValueException { + LocalDateTime getLocatDateTime(String date) throws IllegalValueException { DateTimeFormatter formatter = DateTimeFormatter.ofPattern(DATE_VALIDATION); try { - LocalDate localDate = LocalDate.parse(date, formatter); - return localDate; + LocalDateTime localDatetime = LocalDateTime.parse(date, formatter); + return localDatetime; } catch (DateTimeParseException e) { throw new IllegalValueException(MESSAGE_DATE_CONSTRAINTS); From 4b51dc9ceee62d21ddf0edaa01ff12ea7b75cd80 Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 01:47:22 +0800 Subject: [PATCH 10/18] change time specification for add_appointment and edit_appointment to exclude seconds --- docs/UserGuide.adoc | 6 +++--- .../seedu/address/logic/commands/AddAppointmentCommand.java | 4 ++-- .../address/logic/commands/EditAppointmentCommand.java | 4 ++-- .../java/seedu/address/model/calendar/AppointmentEntry.java | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index f03db3a924ce..5d8b5e327d4b 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -164,12 +164,12 @@ Adds an appointment to the address book calendar + Format: `add_appointment n/NAME S/START DATE TIME E/END DATE TIME` [TIP] -The date time must be entered in the d/MM/yyyy HH:mm:ss format+ +The date time must be entered in the d/MM/yyyy HH:mm format+ The name given to the appointment as its title must be unique Examples: -* `add_appointment n/meet John S/11/09/2018 15:00:00 E/11/09/2018 16:00:00` +* `add_appointment n/meet John S/11/09/2018 15:00:00 E/11/09/2018 16:00` === remove existing appointment : `remove_appointment` @@ -299,7 +299,7 @@ the user is allowed to use command line to remove a task to the task pad GUI sp * *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` * *Add Appointment* `add_appointment n/NAME S/START DATE E/End Date` + -e.g. `add_appointment n/Meet James S/14/08/2018 15:00:00 S/14/08/2018 16:00:00` +e.g. `add_appointment n/Meet James S/14/08/2018 15:00:00 S/14/08/2018 16:00` * *Remove Appointment* `remove_appointment ST/SEARCH TEXT` + e.g. `remove_appointment ST/Title of the appointment` * *Clear* : `clear` diff --git a/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java index f00cd62b2507..2a4bf45d2e55 100644 --- a/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/AddAppointmentCommand.java @@ -24,8 +24,8 @@ public class AddAppointmentCommand extends UndoableCommand { + PREFIX_END_INTERVAL + "END DATE TIME" + "\nExample: " + COMMAND_WORD + " " + PREFIX_NAME + "Meet John " - + PREFIX_START_INTERVAL + "14/08/2018 06:12:00 " - + PREFIX_END_INTERVAL + "14/08/2018 07:12:00 "; + + PREFIX_START_INTERVAL + "14/08/2018 06:12 " + + PREFIX_END_INTERVAL + "14/08/2018 07:12 "; public static final String MESSAGE_SUCCESS = "New Appointment Added: %1$s"; public static final String MESSAGE_DUPLICATE_APPOINTMENT = diff --git a/src/main/java/seedu/address/logic/commands/EditAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/EditAppointmentCommand.java index 723896996b92..57eb93902a7c 100644 --- a/src/main/java/seedu/address/logic/commands/EditAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/EditAppointmentCommand.java @@ -25,8 +25,8 @@ public class EditAppointmentCommand extends UndoableCommand { + "\nExample: " + COMMAND_WORD + " " + PREFIX_SEARCH_TEXT + "Meet Peter " + PREFIX_NAME + "Meet John " - + PREFIX_START_INTERVAL + "14/08/2018 06:12:00 " - + PREFIX_END_INTERVAL + "14/08/2018 07:12:00 "; + + PREFIX_START_INTERVAL + "14/08/2018 06:12 " + + PREFIX_END_INTERVAL + "14/08/2018 07:12 "; public static final String MESSAGE_SUCCESS = "Appointment Edited: %1$s"; public static final String MESSAGE_FAIL_EDIT_APPOINTMENT = "appointment do not exit or duplicate new title"; diff --git a/src/main/java/seedu/address/model/calendar/AppointmentEntry.java b/src/main/java/seedu/address/model/calendar/AppointmentEntry.java index 70d39648c86f..85f8bcbd94fb 100644 --- a/src/main/java/seedu/address/model/calendar/AppointmentEntry.java +++ b/src/main/java/seedu/address/model/calendar/AppointmentEntry.java @@ -15,8 +15,8 @@ public class AppointmentEntry { public static final String MESSAGE_DATE_TIME_CONSTRAINTS = - "Date and Time should be in the format of dd/MM/yyyy HH:mm:ss"; - public static final String DATE_VALIDATION = "d/MM/yyyy HH:mm:ss"; + "Date and Time should be in the format of dd/MM/yyyy HH:mm"; + public static final String DATE_VALIDATION = "d/MM/yyyy HH:mm"; private final Entry appointmentEntry; private Interval interval; From a08c6b142f250ad92880f944265ad5ce04a6d1df Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 01:54:26 +0800 Subject: [PATCH 11/18] updated the user guide on the new edit appointment feature --- docs/UserGuide.adoc | 19 +++++++++++++++++-- .../commands/EditAppointmentCommand.java | 6 +++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 5d8b5e327d4b..7c6470d8c735 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -169,7 +169,7 @@ The name given to the appointment as its title must be unique Examples: -* `add_appointment n/meet John S/11/09/2018 15:00:00 E/11/09/2018 16:00` +* `add_appointment n/meet John S/11/09/2018 15:00 E/11/09/2018 16:00` === remove existing appointment : `remove_appointment` @@ -184,6 +184,19 @@ Examples: * `remove_appointment ST/Title of the appointment` +=== Editing an appointment: `edit_appointment` + +edit an existing appointment in the address book calendar + +Format: `edit_appointment ST/SEARCH TEXT n/NEW NAME S/NEW START DATE TIME E/NEW END DATE TIME` + +[TIP] +Make sure the search text matches the title of an existing appointment and the new title do not duplicates +with other existing appointments + +Examples: + +* `edit_appointment ST/meet James n/meet John S/11/09/2018 15:00 E/11/09/2018 16:00` + === Listing entered commands : `history` Lists all the commands that you have entered in reverse chronological order. + @@ -299,9 +312,11 @@ the user is allowed to use command line to remove a task to the task pad GUI sp * *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` * *Add Appointment* `add_appointment n/NAME S/START DATE E/End Date` + -e.g. `add_appointment n/Meet James S/14/08/2018 15:00:00 S/14/08/2018 16:00` +e.g. `add_appointment n/Meet James S/14/08/2018 15:00 S/14/08/2018 16:00` * *Remove Appointment* `remove_appointment ST/SEARCH TEXT` + e.g. `remove_appointment ST/Title of the appointment` +* *Edit Appointment* `edit_appointment ST/SEARCH TEXT n/NEW NAME S/NEW START DATE E/NEW End Date` + +e.g. `edit_appointment ST/meet John n/Meet James S/14/08/2018 15:00 S/14/08/2018 16:00` * *Clear* : `clear` * *Delete* : `delete INDEX` + e.g. `delete 3` diff --git a/src/main/java/seedu/address/logic/commands/EditAppointmentCommand.java b/src/main/java/seedu/address/logic/commands/EditAppointmentCommand.java index 57eb93902a7c..3d0658bf95e1 100644 --- a/src/main/java/seedu/address/logic/commands/EditAppointmentCommand.java +++ b/src/main/java/seedu/address/logic/commands/EditAppointmentCommand.java @@ -19,9 +19,9 @@ public class EditAppointmentCommand extends UndoableCommand { public static final String MESSAGE_USAGE = COMMAND_WORD + ": Edits an appointment in the calendar. " + "Parameters: " + PREFIX_SEARCH_TEXT + "SEARCH TEXT " - + PREFIX_NAME + "NAME " - + PREFIX_START_INTERVAL + "START DATE TIME " - + PREFIX_END_INTERVAL + "END DATE TIME" + + PREFIX_NAME + "NEW NAME " + + PREFIX_START_INTERVAL + "NEW START DATE TIME " + + PREFIX_END_INTERVAL + "NEW END DATE TIME" + "\nExample: " + COMMAND_WORD + " " + PREFIX_SEARCH_TEXT + "Meet Peter " + PREFIX_NAME + "Meet John " From 9c3421975e7018ef2a74f6d62d46ebafdf291886 Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 01:58:14 +0800 Subject: [PATCH 12/18] regression testing passed all tests --- .../java/seedu/address/logic/commands/AddCommandTest.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/test/java/seedu/address/logic/commands/AddCommandTest.java b/src/test/java/seedu/address/logic/commands/AddCommandTest.java index d46026115dc0..79d8be272633 100644 --- a/src/test/java/seedu/address/logic/commands/AddCommandTest.java +++ b/src/test/java/seedu/address/logic/commands/AddCommandTest.java @@ -26,6 +26,7 @@ import seedu.address.model.calendar.AppointmentEntry; import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; +import seedu.address.model.calendar.exceptions.EditApointmentFailException; import seedu.address.model.person.Person; import seedu.address.model.person.exceptions.DuplicatePersonException; import seedu.address.model.person.exceptions.PersonNotFoundException; @@ -116,6 +117,11 @@ public void removeAppointment(String searchText) throws AppointmentNotFoundExcep fail("This method should not be called."); } + @Override + public void editAppointment(String searchText, AppointmentEntry reference) throws EditApointmentFailException { + fail("This method should not be called."); + } + @Override public void resetData(ReadOnlyAddressBook newData) { fail("This method should not be called."); From caf255270de9a66b67720943f72941060ca70ed9 Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 02:49:44 +0800 Subject: [PATCH 13/18] added look at date feature --- ...ndarEvent.java => CalendarFocusEvent.java} | 10 +++- .../logic/commands/LookDateCommand.java | 46 +++++++++++++++++ .../logic/parser/AddressBookParser.java | 4 ++ .../seedu/address/logic/parser/CliSyntax.java | 1 + .../logic/parser/LookDateCommandParser.java | 49 +++++++++++++++++++ .../address/logic/parser/ParserUtil.java | 36 ++++++++++++++ .../seedu/address/model/ModelManager.java | 2 - .../java/seedu/address/ui/CalendarPanel.java | 6 +-- 8 files changed, 148 insertions(+), 6 deletions(-) rename src/main/java/seedu/address/commons/events/ui/{RefreshCalendarEvent.java => CalendarFocusEvent.java} (52%) create mode 100644 src/main/java/seedu/address/logic/commands/LookDateCommand.java create mode 100644 src/main/java/seedu/address/logic/parser/LookDateCommandParser.java diff --git a/src/main/java/seedu/address/commons/events/ui/RefreshCalendarEvent.java b/src/main/java/seedu/address/commons/events/ui/CalendarFocusEvent.java similarity index 52% rename from src/main/java/seedu/address/commons/events/ui/RefreshCalendarEvent.java rename to src/main/java/seedu/address/commons/events/ui/CalendarFocusEvent.java index e9d72a6455ac..fb8e37ad212c 100644 --- a/src/main/java/seedu/address/commons/events/ui/RefreshCalendarEvent.java +++ b/src/main/java/seedu/address/commons/events/ui/CalendarFocusEvent.java @@ -1,11 +1,19 @@ package seedu.address.commons.events.ui; +import java.time.LocalDate; + import seedu.address.commons.events.BaseEvent; /** * Represents a calendar GUI refresh request */ -public class RefreshCalendarEvent extends BaseEvent { +public class CalendarFocusEvent extends BaseEvent { + public final LocalDate dateToLook; + + public CalendarFocusEvent(LocalDate dateToLook) { + this.dateToLook = dateToLook; + } + @Override public String toString() { return this.getClass().getSimpleName(); diff --git a/src/main/java/seedu/address/logic/commands/LookDateCommand.java b/src/main/java/seedu/address/logic/commands/LookDateCommand.java new file mode 100644 index 000000000000..9781943f5035 --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/LookDateCommand.java @@ -0,0 +1,46 @@ +package seedu.address.logic.commands; + +import static java.util.Objects.requireNonNull; +import static seedu.address.logic.parser.CliSyntax.PREFIX_DATE_FOCUS; + +import java.time.LocalDate; + +import seedu.address.commons.core.EventsCenter; +import seedu.address.commons.events.ui.CalendarFocusEvent; + +/** + * Look at a specific date give the date to look + */ +public class LookDateCommand extends Command { + public static final String COMMAND_WORD = "look"; + + public static final String DATE_VALIDATION = "d/MM/yyyy"; + + public static final String MESSAGE_DATE_CONSTRAINTS = + "Date should be in the format of dd/MM/yyyy"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + + ": Focus on a given date ." + + "Parameters: " + + PREFIX_DATE_FOCUS + "DATE TO FOCUS " + + "\nExample: " + COMMAND_WORD + " " + + PREFIX_DATE_FOCUS + "11/03/2018"; + + public static final String FOCUS_DATE_MESSAGE = "FOCUS ON DATE"; + + /** + * Creates an RemoveAppointmentCommand to remove the specified {@code searchText} + */ + final LocalDate dateToLook; + + public LookDateCommand(LocalDate dateToLook) { + requireNonNull(dateToLook); + this.dateToLook = dateToLook; + } + + @Override + public CommandResult execute() { + EventsCenter.getInstance().post(new CalendarFocusEvent(dateToLook)); + return new CommandResult(FOCUS_DATE_MESSAGE); + } +} diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index e679eafb2bd5..19f28aa41e2b 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.HelpCommand; import seedu.address.logic.commands.HistoryCommand; import seedu.address.logic.commands.ListCommand; +import seedu.address.logic.commands.LookDateCommand; import seedu.address.logic.commands.PredictCommand; import seedu.address.logic.commands.RedoCommand; import seedu.address.logic.commands.RemoveAppointmentsCommand; @@ -100,6 +101,9 @@ public Command parseCommand(String userInput) throws ParseException { case EditAppointmentCommand.COMMAND_WORD: return new EditAppointmentCommandParser().parse(arguments); + case LookDateCommand.COMMAND_WORD: + return new LookDateCommandParser().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 d601afa4145f..1ae8bef9982f 100644 --- a/src/main/java/seedu/address/logic/parser/CliSyntax.java +++ b/src/main/java/seedu/address/logic/parser/CliSyntax.java @@ -18,6 +18,7 @@ public class CliSyntax { public static final Prefix PREFIX_ACTUALSPENDING = new Prefix("as/"); public static final Prefix PREFIX_EXPECTEDSPENDING = new Prefix("es/"); public static final Prefix PREFIX_AGE = new Prefix("age/"); + public static final Prefix PREFIX_DATE_FOCUS = new Prefix("DF/"); } diff --git a/src/main/java/seedu/address/logic/parser/LookDateCommandParser.java b/src/main/java/seedu/address/logic/parser/LookDateCommandParser.java new file mode 100644 index 000000000000..7dd23bf350c2 --- /dev/null +++ b/src/main/java/seedu/address/logic/parser/LookDateCommandParser.java @@ -0,0 +1,49 @@ +package seedu.address.logic.parser; + +import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT; +import static seedu.address.logic.parser.CliSyntax.PREFIX_DATE_FOCUS; + +import java.time.LocalDate; +import java.util.stream.Stream; + +import seedu.address.commons.exceptions.IllegalValueException; +import seedu.address.logic.commands.LookDateCommand; +import seedu.address.logic.parser.exceptions.ParseException; + +/** + * Parses input arguments and creates a new LookDateCommand object + */ +public class LookDateCommandParser implements Parser { + /** + * Parses the given {@code String} of arguments in the context of the LookDateCommand + * and returns anLookDateCommand object for execution. + * @throws ParseException if the user input does not conform the expected format + */ + public LookDateCommand parse(String args) throws ParseException { + ArgumentMultimap argMultimap = + ArgumentTokenizer.tokenize(args, PREFIX_DATE_FOCUS); + + if (!arePrefixesPresent(argMultimap, PREFIX_DATE_FOCUS) + || !argMultimap.getPreamble().isEmpty()) { + throw new ParseException(String.format(MESSAGE_INVALID_COMMAND_FORMAT, + LookDateCommand.MESSAGE_USAGE)); + } + + try { + + LocalDate date = ParserUtil.parseDate(argMultimap.getValue(PREFIX_DATE_FOCUS)).get(); + + return new LookDateCommand(date); + } 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()); + } +} diff --git a/src/main/java/seedu/address/logic/parser/ParserUtil.java b/src/main/java/seedu/address/logic/parser/ParserUtil.java index ff6815ad40ee..09cb9a559e71 100644 --- a/src/main/java/seedu/address/logic/parser/ParserUtil.java +++ b/src/main/java/seedu/address/logic/parser/ParserUtil.java @@ -2,6 +2,7 @@ import static java.util.Objects.requireNonNull; +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; @@ -14,6 +15,7 @@ import seedu.address.commons.core.index.Index; import seedu.address.commons.exceptions.IllegalValueException; import seedu.address.commons.util.StringUtil; +import seedu.address.logic.commands.LookDateCommand; import seedu.address.model.calendar.AppointmentEntry; import seedu.address.model.person.Address; import seedu.address.model.person.Age; @@ -108,6 +110,40 @@ public static Optional parseDateTime(Optional input) thro return input.isPresent() ? Optional.of(parseDateTime(input.get())) : Optional.empty(); } + /** + * Parses a {@code String input} into a {@code LocalDate}. + * Leading and trailing whitespaces will be trimmed. + * + * @throws IllegalValueException if the given {@code name} is invalid. + */ + static LocalDate parseDate(String input) throws IllegalValueException { + requireNonNull(input); + String trimmedInput = input.trim(); + + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(LookDateCommand.DATE_VALIDATION); + + try { + + LocalDate date = LocalDate.parse(trimmedInput, formatter); + return date; + + } catch (DateTimeParseException e) { + throw new IllegalValueException(LookDateCommand.MESSAGE_DATE_CONSTRAINTS); + } + + + + } + + /** + * Parses a {@code Optional input} into an {@code Optional} if {@code input} is present. + * See header comment of this class regarding the use of {@code Optional} parameters. + */ + public static Optional parseDate(Optional input) throws IllegalValueException { + requireNonNull(input); + return input.isPresent() ? Optional.of(parseDate(input.get())) : Optional.empty(); + } + /** * Parses a {@code String name} into an {@code Name} * Leading and trailing whitespaces will be trimmed. diff --git a/src/main/java/seedu/address/model/ModelManager.java b/src/main/java/seedu/address/model/ModelManager.java index fdaffecbdce9..97285354c4e8 100644 --- a/src/main/java/seedu/address/model/ModelManager.java +++ b/src/main/java/seedu/address/model/ModelManager.java @@ -15,7 +15,6 @@ import seedu.address.commons.core.ComponentManager; import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.model.AddressBookChangedEvent; -import seedu.address.commons.events.ui.RefreshCalendarEvent; import seedu.address.model.calendar.AppointmentEntry; import seedu.address.model.calendar.exceptions.AppointmentNotFoundException; import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; @@ -78,7 +77,6 @@ public ReadOnlyAddressBook getAddressBook() { */ private void indicateAddressBookChanged() { raise(new AddressBookChangedEvent(addressBook)); - raise(new RefreshCalendarEvent()); } @Override diff --git a/src/main/java/seedu/address/ui/CalendarPanel.java b/src/main/java/seedu/address/ui/CalendarPanel.java index 5dd8434d7a2b..61201b421b8d 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -9,7 +9,7 @@ import seedu.address.commons.core.EventsCenter; import seedu.address.commons.core.LogsCenter; -import seedu.address.commons.events.ui.RefreshCalendarEvent; +import seedu.address.commons.events.ui.CalendarFocusEvent; /** * The Calendar Panel of the App. @@ -47,8 +47,8 @@ void configurCalendarPage() { @Subscribe - private void handleRefreshClendarEvent(RefreshCalendarEvent event) { - calendarPage.refreshData(); + private void handleCalendarFocusEvent(CalendarFocusEvent event) { + calendarPage.showDate(event.dateToLook); } public CalendarView getCalendarPage() { From f9d16807c5d1d8bca95c8826fa68a2a3f88d4f53 Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 02:54:36 +0800 Subject: [PATCH 14/18] updated user guide on the new look feature --- docs/UserGuide.adoc | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index 7c6470d8c735..bdee489fc03c 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -197,6 +197,18 @@ Examples: * `edit_appointment ST/meet James n/meet John S/11/09/2018 15:00 E/11/09/2018 16:00` +=== Look At a Date: `look` + +look at a specific date, the Calendar GUI will focus on the date + +Format: `look DF/18/03/2018` + +[TIP] +Note that the date format must be in d/MM/yyyy + +Examples: + +* `look DF/11/09/2018` + === Listing entered commands : `history` Lists all the commands that you have entered in reverse chronological order. + @@ -284,10 +296,6 @@ There is no need to save manually. _{explain how the user can enable/disable data encryption}_ // end::dataencryption[] -=== update existing appointment `[coming in v2.0]` -the user is allowed to use command line to update an existing appointment by specifying the old appointment title and interval -then the new appointment title and interval - === add task to task pad`[coming in v2.0]` the user is allowed to use command line to add a task to the task pad GUI specifying the task title , task details @@ -317,6 +325,8 @@ e.g. `add_appointment n/Meet James S/14/08/2018 15:00 S/14/08/2018 16:00` e.g. `remove_appointment ST/Title of the appointment` * *Edit Appointment* `edit_appointment ST/SEARCH TEXT n/NEW NAME S/NEW START DATE E/NEW End Date` + e.g. `edit_appointment ST/meet John n/Meet James S/14/08/2018 15:00 S/14/08/2018 16:00` +* *Look At a Date* `look DF/DATE TO LOOK` + +e.g. `look DF/18/03/2018` * *Clear* : `clear` * *Delete* : `delete INDEX` + e.g. `delete 3` From 414c87569a60f4af29b1579d5148890763b7b6c2 Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 03:34:38 +0800 Subject: [PATCH 15/18] added back to month view feature, updated the User guide, regression testing passed --- docs/UserGuide.adoc | 6 +++++ .../commons/events/ui/CalendarFocusEvent.java | 2 +- .../events/ui/CalendarUnfocusEvent.java | 13 +++++++++++ .../commands/ReturnMonthViewCommand.java | 22 +++++++++++++++++++ .../logic/parser/AddressBookParser.java | 4 ++++ .../java/seedu/address/ui/CalendarPanel.java | 8 +++++-- 6 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 src/main/java/seedu/address/commons/events/ui/CalendarUnfocusEvent.java create mode 100644 src/main/java/seedu/address/logic/commands/ReturnMonthViewCommand.java diff --git a/docs/UserGuide.adoc b/docs/UserGuide.adoc index bdee489fc03c..f3b299edacd1 100644 --- a/docs/UserGuide.adoc +++ b/docs/UserGuide.adoc @@ -209,6 +209,11 @@ Examples: * `look DF/11/09/2018` +=== Back to calendar Month View: `back` + +set the Calendar View to Month View + +Format: `back` + === Listing entered commands : `history` Lists all the commands that you have entered in reverse chronological order. + @@ -327,6 +332,7 @@ e.g. `remove_appointment ST/Title of the appointment` e.g. `edit_appointment ST/meet John n/Meet James S/14/08/2018 15:00 S/14/08/2018 16:00` * *Look At a Date* `look DF/DATE TO LOOK` + e.g. `look DF/18/03/2018` +* *Back to Month View* `back` * *Clear* : `clear` * *Delete* : `delete INDEX` + e.g. `delete 3` diff --git a/src/main/java/seedu/address/commons/events/ui/CalendarFocusEvent.java b/src/main/java/seedu/address/commons/events/ui/CalendarFocusEvent.java index fb8e37ad212c..a42f77809814 100644 --- a/src/main/java/seedu/address/commons/events/ui/CalendarFocusEvent.java +++ b/src/main/java/seedu/address/commons/events/ui/CalendarFocusEvent.java @@ -5,7 +5,7 @@ import seedu.address.commons.events.BaseEvent; /** - * Represents a calendar GUI refresh request + * Represents a calendar GUI focus date request */ public class CalendarFocusEvent extends BaseEvent { public final LocalDate dateToLook; diff --git a/src/main/java/seedu/address/commons/events/ui/CalendarUnfocusEvent.java b/src/main/java/seedu/address/commons/events/ui/CalendarUnfocusEvent.java new file mode 100644 index 000000000000..214c8bc6c3fc --- /dev/null +++ b/src/main/java/seedu/address/commons/events/ui/CalendarUnfocusEvent.java @@ -0,0 +1,13 @@ +package seedu.address.commons.events.ui; + +import seedu.address.commons.events.BaseEvent; + +/** + * Represents a calendar GUI unfocus date request + */ +public class CalendarUnfocusEvent extends BaseEvent { + @Override + public String toString() { + return this.getClass().getSimpleName(); + } +} diff --git a/src/main/java/seedu/address/logic/commands/ReturnMonthViewCommand.java b/src/main/java/seedu/address/logic/commands/ReturnMonthViewCommand.java new file mode 100644 index 000000000000..74606e82967c --- /dev/null +++ b/src/main/java/seedu/address/logic/commands/ReturnMonthViewCommand.java @@ -0,0 +1,22 @@ +package seedu.address.logic.commands; + +import seedu.address.commons.core.EventsCenter; +import seedu.address.commons.events.ui.CalendarUnfocusEvent; + +/** + * return to month view for the calendar GUI. + */ +public class ReturnMonthViewCommand extends Command { + public static final String COMMAND_WORD = "back"; + + public static final String MESSAGE_USAGE = COMMAND_WORD + ": Unfocus the Calendar to Month view.\n" + + "Example: " + COMMAND_WORD; + + public static final String RETURN_MONTH_VIEW_MESSAGE = "Calendar back to Month view"; + + @Override + public CommandResult execute() { + EventsCenter.getInstance().post(new CalendarUnfocusEvent()); + return new CommandResult(RETURN_MONTH_VIEW_MESSAGE); + } +} diff --git a/src/main/java/seedu/address/logic/parser/AddressBookParser.java b/src/main/java/seedu/address/logic/parser/AddressBookParser.java index 19f28aa41e2b..bda21b19107b 100644 --- a/src/main/java/seedu/address/logic/parser/AddressBookParser.java +++ b/src/main/java/seedu/address/logic/parser/AddressBookParser.java @@ -22,6 +22,7 @@ import seedu.address.logic.commands.PredictCommand; import seedu.address.logic.commands.RedoCommand; import seedu.address.logic.commands.RemoveAppointmentsCommand; +import seedu.address.logic.commands.ReturnMonthViewCommand; import seedu.address.logic.commands.SelectCommand; import seedu.address.logic.commands.UndoCommand; import seedu.address.logic.parser.exceptions.ParseException; @@ -104,6 +105,9 @@ public Command parseCommand(String userInput) throws ParseException { case LookDateCommand.COMMAND_WORD: return new LookDateCommandParser().parse(arguments); + case ReturnMonthViewCommand.COMMAND_WORD: + return new ReturnMonthViewCommand(); + 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 61201b421b8d..bacae5d41624 100644 --- a/src/main/java/seedu/address/ui/CalendarPanel.java +++ b/src/main/java/seedu/address/ui/CalendarPanel.java @@ -10,6 +10,7 @@ import seedu.address.commons.core.EventsCenter; import seedu.address.commons.core.LogsCenter; import seedu.address.commons.events.ui.CalendarFocusEvent; +import seedu.address.commons.events.ui.CalendarUnfocusEvent; /** * The Calendar Panel of the App. @@ -44,13 +45,16 @@ void configurCalendarPage() { } - - @Subscribe private void handleCalendarFocusEvent(CalendarFocusEvent event) { calendarPage.showDate(event.dateToLook); } + @Subscribe + private void handleCalendarUnFocusEvent(CalendarUnfocusEvent event) { + calendarPage.showMonthPage(); + } + public CalendarView getCalendarPage() { return calendarPage; } From a22fef82573d340da9dcd70011d96d0cb39baaac Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 06:22:11 +0800 Subject: [PATCH 16/18] added some tests --- .../invalidAppointmentAddressBook.fxml | 8 +++ .../logic/commands/CommandTestUtil.java | 2 + .../seedu/address/model/AddressBookTest.java | 12 +++- .../appointment/AppointmentEntryTest.java | 13 +++++ .../XmlAdaptedAppointmentEntryTest.java | 15 +++++ .../storage/XmlAddressBookStorageTest.java | 6 ++ .../address/testutil/AppointmentBuilder.java | 56 +++++++++++++++++++ .../address/testutil/AppointmentUtil.java | 35 ++++++++++++ .../testutil/TypicalAppointmentEntires.java | 49 ++++++++++++++++ 9 files changed, 194 insertions(+), 2 deletions(-) create mode 100644 src/test/data/XmlAddressBookStorageTest/invalidAppointmentAddressBook.fxml create mode 100644 src/test/java/seedu/address/model/appointment/AppointmentEntryTest.java create mode 100644 src/test/java/seedu/address/storage/XmlAdaptedAppointmentEntryTest.java create mode 100644 src/test/java/seedu/address/testutil/AppointmentBuilder.java create mode 100644 src/test/java/seedu/address/testutil/AppointmentUtil.java create mode 100644 src/test/java/seedu/address/testutil/TypicalAppointmentEntires.java diff --git a/src/test/data/XmlAddressBookStorageTest/invalidAppointmentAddressBook.fxml b/src/test/data/XmlAddressBookStorageTest/invalidAppointmentAddressBook.fxml new file mode 100644 index 000000000000..688bb3255a4d --- /dev/null +++ b/src/test/data/XmlAddressBookStorageTest/invalidAppointmentAddressBook.fxml @@ -0,0 +1,8 @@ + + + + + 2018-03-29T13:00 + 2018-03-29T14:00 + + \ No newline at end of file diff --git a/src/test/java/seedu/address/logic/commands/CommandTestUtil.java b/src/test/java/seedu/address/logic/commands/CommandTestUtil.java index 74c3f0d0deb3..72a402771c82 100644 --- a/src/test/java/seedu/address/logic/commands/CommandTestUtil.java +++ b/src/test/java/seedu/address/logic/commands/CommandTestUtil.java @@ -35,6 +35,7 @@ public class CommandTestUtil { public static final String VALID_NAME_AMY = "Amy Bee"; public static final String VALID_NAME_BOB = "Bob Choo"; + public static final String VALID_TITLE_JOHN = "meet john"; public static final String VALID_PHONE_AMY = "11111111"; public static final String VALID_PHONE_BOB = "22222222"; public static final String VALID_EMAIL_AMY = "amy@example.com"; @@ -54,6 +55,7 @@ public class CommandTestUtil { public static final String NAME_DESC_AMY = " " + PREFIX_NAME + VALID_NAME_AMY; public static final String NAME_DESC_BOB = " " + PREFIX_NAME + VALID_NAME_BOB; + public static final String TITLE_DESC_MEET_John = " " + PREFIX_NAME + VALID_TITLE_JOHN; public static final String PHONE_DESC_AMY = " " + PREFIX_PHONE + VALID_PHONE_AMY; public static final String PHONE_DESC_BOB = " " + PREFIX_PHONE + VALID_PHONE_BOB; public static final String EMAIL_DESC_AMY = " " + PREFIX_EMAIL + VALID_EMAIL_AMY; diff --git a/src/test/java/seedu/address/model/AddressBookTest.java b/src/test/java/seedu/address/model/AddressBookTest.java index 2442d25dddf5..888b2d1f62d0 100644 --- a/src/test/java/seedu/address/model/AddressBookTest.java +++ b/src/test/java/seedu/address/model/AddressBookTest.java @@ -1,6 +1,7 @@ package seedu.address.model; import static org.junit.Assert.assertEquals; +import static seedu.address.testutil.TypicalAppointmentEntires.getTypicalAppointmentAddressBook; import static seedu.address.testutil.TypicalPersons.ALICE; import static seedu.address.testutil.TypicalPersons.getTypicalAddressBook; @@ -32,6 +33,7 @@ public class AddressBookTest { public void constructor() { assertEquals(Collections.emptyList(), addressBook.getPersonList()); assertEquals(Collections.emptyList(), addressBook.getTagList()); + assertEquals(Collections.emptyList(), addressBook.getMyCalendarEntries()); } @Test @@ -45,6 +47,10 @@ public void resetData_withValidReadOnlyAddressBook_replacesData() { AddressBook newData = getTypicalAddressBook(); addressBook.resetData(newData); assertEquals(newData, addressBook); + + AddressBook newDataAppointment = getTypicalAppointmentAddressBook(); + addressBook.resetData(newDataAppointment); + assertEquals(newDataAppointment, addressBook); } @Test @@ -52,7 +58,7 @@ public void resetData_withDuplicatePersons_throwsAssertionError() { // Repeat ALICE twice List newPersons = Arrays.asList(ALICE, ALICE); List newTags = new ArrayList<>(ALICE.getTags()); - AddressBookStub newData = new AddressBookStub(newPersons, newTags); + AddressBookStub newData = new AddressBookStub(newPersons, newTags, new InsuranceCalendar()); thrown.expect(AssertionError.class); addressBook.resetData(newData); @@ -78,9 +84,11 @@ private static class AddressBookStub implements ReadOnlyAddressBook { private final ObservableList tags = FXCollections.observableArrayList(); private final InsuranceCalendar calendar = new InsuranceCalendar(); - AddressBookStub(Collection persons, Collection tags) { + AddressBookStub(Collection persons, Collection tags, InsuranceCalendar calendar) { this.persons.setAll(persons); this.tags.setAll(tags); + this.calendar.clearAppointments(); + this.calendar.copyAppointments(calendar); } @Override diff --git a/src/test/java/seedu/address/model/appointment/AppointmentEntryTest.java b/src/test/java/seedu/address/model/appointment/AppointmentEntryTest.java new file mode 100644 index 000000000000..f230e7ab0068 --- /dev/null +++ b/src/test/java/seedu/address/model/appointment/AppointmentEntryTest.java @@ -0,0 +1,13 @@ +package seedu.address.model.appointment; + +import org.junit.Test; + +import seedu.address.model.calendar.AppointmentEntry; +import seedu.address.testutil.Assert; + +public class AppointmentEntryTest { + @Test + public void constructor_null_throwsNullPointerException() { + Assert.assertThrows(NullPointerException.class, () -> new AppointmentEntry(null)); + } +} diff --git a/src/test/java/seedu/address/storage/XmlAdaptedAppointmentEntryTest.java b/src/test/java/seedu/address/storage/XmlAdaptedAppointmentEntryTest.java new file mode 100644 index 000000000000..a366d7f859e1 --- /dev/null +++ b/src/test/java/seedu/address/storage/XmlAdaptedAppointmentEntryTest.java @@ -0,0 +1,15 @@ +package seedu.address.storage; + +import static org.junit.Assert.assertEquals; +import static seedu.address.testutil.TypicalAppointmentEntires.MEET_JAMES; + +import org.junit.Test; + +public class XmlAdaptedAppointmentEntryTest { + + @Test + public void toModelType_validAppointDetails_returnsAppointment() throws Exception { + XmlAdptedAppointmentEntry entry = new XmlAdptedAppointmentEntry(MEET_JAMES); + assertEquals(MEET_JAMES, entry.toModelType()); + } +} diff --git a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java b/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java index 1bf3765cfba9..46930e88ceec 100644 --- a/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java +++ b/src/test/java/seedu/address/storage/XmlAddressBookStorageTest.java @@ -72,6 +72,12 @@ public void readAddressBook_invalidAndValidPersonAddressBook_throwDataConversion readAddressBook("invalidAndValidPersonAddressBook.xml"); } + @Test + public void readAddressBook_invalidAppointmentAddressBook_throwDataConversionException() throws Exception { + thrown.expect(DataConversionException.class); + readAddressBook("invalidAppointmentAddressBook.fxml"); + } + @Test public void readAndSaveAddressBook_allInOrder_success() throws Exception { String filePath = testFolder.getRoot().getPath() + "TempAddressBook.xml"; 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..22237b6379ac --- /dev/null +++ b/src/test/java/seedu/address/testutil/AppointmentBuilder.java @@ -0,0 +1,56 @@ +package seedu.address.testutil; + +import com.calendarfx.model.Entry; +import com.calendarfx.model.Interval; + +import seedu.address.model.calendar.AppointmentEntry; + +/** + * A utility class to help with building AppointmentEntry objects. + */ +public class AppointmentBuilder { + public static final String DEFAULT_TITLE = "Meet John"; + public static final Interval DEFAULT_INTERVAL = new Interval(); + + private Entry appointmentEntry; + private Interval interval; + private String givenTitle; + + public AppointmentBuilder() { + givenTitle = DEFAULT_TITLE; + interval = DEFAULT_INTERVAL; + appointmentEntry = new Entry(givenTitle, interval); + } + + /** + * Initializes the AppointmentBuilder with the data of {@code appointmentToCopy}. + */ + + public AppointmentBuilder(AppointmentEntry appointmentToCopy) { + givenTitle = appointmentToCopy.getGivenTitle(); + interval = new Interval(appointmentToCopy.getStartDateTime(), appointmentToCopy.getEndDateTime()); + appointmentEntry = new Entry(givenTitle, interval); + } + + /** + * Sets the {@code givenTitle} of the {@code Appointment} that we are building. + */ + public AppointmentBuilder withTitle(String title) { + givenTitle = title; + return this; + } + + /** + * Sets the {@code title} of the {@code Appointment} that we are building. + */ + public AppointmentBuilder withInterval(Interval interval) { + this.interval = interval; + return this; + } + + public AppointmentEntry build() { + return new AppointmentEntry(givenTitle, interval); + } + + +} diff --git a/src/test/java/seedu/address/testutil/AppointmentUtil.java b/src/test/java/seedu/address/testutil/AppointmentUtil.java new file mode 100644 index 000000000000..bf435688bb41 --- /dev/null +++ b/src/test/java/seedu/address/testutil/AppointmentUtil.java @@ -0,0 +1,35 @@ +package seedu.address.testutil; + +import static seedu.address.logic.parser.CliSyntax.PREFIX_END_INTERVAL; +import static seedu.address.logic.parser.CliSyntax.PREFIX_NAME; +import static seedu.address.logic.parser.CliSyntax.PREFIX_START_INTERVAL; + +import java.time.format.DateTimeFormatter; + +import seedu.address.logic.commands.AddAppointmentCommand; +import seedu.address.model.calendar.AppointmentEntry; + +/** + * A utility class for AppointmentEntry. + */ +public class AppointmentUtil { + /** + * Returns an add command string for adding the {@code person}. + */ + public static String getAddAppointmentCommand(AppointmentEntry entry) { + return AddAppointmentCommand.COMMAND_WORD + " " + geEntryDetails(entry); + } + + /** + * Returns the part of command string for the given {@code entry}'s details. + */ + public static String geEntryDetails(AppointmentEntry entry) { + DateTimeFormatter formatter = DateTimeFormatter.ofPattern(AppointmentEntry.DATE_VALIDATION); + StringBuilder sb = new StringBuilder(); + sb.append(PREFIX_NAME + entry.getGivenTitle() + " "); + sb.append(PREFIX_START_INTERVAL + entry.getStartDateTime().format(formatter) + " "); + sb.append(PREFIX_END_INTERVAL + entry.getEndDateTime().format(formatter)); + + return sb.toString(); + } +} diff --git a/src/test/java/seedu/address/testutil/TypicalAppointmentEntires.java b/src/test/java/seedu/address/testutil/TypicalAppointmentEntires.java new file mode 100644 index 000000000000..dce52a03f422 --- /dev/null +++ b/src/test/java/seedu/address/testutil/TypicalAppointmentEntires.java @@ -0,0 +1,49 @@ +package seedu.address.testutil; + +import java.util.ArrayList; +import java.util.Arrays; + +import seedu.address.model.AddressBook; +import seedu.address.model.calendar.AppointmentEntry; +import seedu.address.model.calendar.exceptions.DuplicateAppointmentException; + +/** + * A utility class containing a list of {@code AppointmentEntry} objects to be used in tests. + */ +public class TypicalAppointmentEntires { + + public static final AppointmentEntry MEET_JOHN = new AppointmentBuilder().withTitle("meet john").build(); + + public static final AppointmentEntry MEET_JAMES = new AppointmentBuilder().withTitle("meet james").build(); + + public static final AppointmentEntry MEET_JOSH = new AppointmentBuilder().withTitle("meet josh").build(); + + public static final String KEYWORD_MATCHING_YX = "yx"; // A keyword that matches YX + + private TypicalAppointmentEntires(){ + + } // prevents instantiation + + /** + * Returns an {@code AddressBook} with all the typical persons. + */ + public static AddressBook getTypicalAppointmentAddressBook() { + AddressBook ab = new AddressBook(); + for (AppointmentEntry entry : getTypicalAppointmentEntries()) { + try { + ab.addAppointment(entry); + } catch (DuplicateAppointmentException e) { + throw new AssertionError("not possible"); + } + } + return ab; + } + + public static ArrayList getTypicalAppointmentEntries() { + return new ArrayList<>(Arrays.asList(MEET_JAMES, MEET_JOHN, MEET_JOSH)); + } + + + + +} From 83780991f94edda17b0e7bc19126e757acda6d4c Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 06:32:15 +0800 Subject: [PATCH 17/18] updated the Developer guide --- docs/DeveloperGuide.adoc | 9 +++++---- docs/images/ModelClassDiagramUpdated.png | Bin 0 -> 221563 bytes docs/images/StorageClassDiagramUpdated.png | Bin 0 -> 101362 bytes docs/images/UiClassDiagramUpdated.png | Bin 0 -> 93070 bytes 4 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 docs/images/ModelClassDiagramUpdated.png create mode 100644 docs/images/StorageClassDiagramUpdated.png create mode 100644 docs/images/UiClassDiagramUpdated.png diff --git a/docs/DeveloperGuide.adoc b/docs/DeveloperGuide.adoc index 00c564e4a9db..985ff9869bcb 100644 --- a/docs/DeveloperGuide.adoc +++ b/docs/DeveloperGuide.adoc @@ -156,11 +156,11 @@ The sections below give more details of each component. === UI component .Structure of the UI Component -image::UiClassDiagram.png[width="800"] +image::UiClassDiagramUpdated.png[width="800"] *API* : link:{repoURL}/src/main/java/seedu/address/ui/Ui.java[`Ui.java`] -The UI consists of a `MainWindow` that is made up of parts e.g.`CommandBox`, `ResultDisplay`, `PersonListPanel`, `StatusBarFooter`, `BrowserPanel` etc. All these, including the `MainWindow`, inherit from the abstract `UiPart` class. +The UI consists of a `MainWindow` that is made up of parts e.g.`CommandBox`, `ResultDisplay`, `PersonListPanel`, `CalendarPanel`, `StatusBarFooter`, `BrowserPanel` etc. All these, including the `MainWindow`, inherit from the abstract `UiPart` class. The `UI` component uses JavaFx UI framework. The layout of these UI parts are defined in matching `.fxml` files that are in the `src/main/resources/view` folder. For example, the layout of the link:{repoURL}/src/main/java/seedu/address/ui/MainWindow.java[`MainWindow`] is specified in link:{repoURL}/src/main/resources/view/MainWindow.fxml[`MainWindow.fxml`] @@ -197,7 +197,7 @@ image::DeletePersonSdForLogic.png[width="800"] === Model component .Structure of the Model Component -image::ModelClassDiagram.png[width="800"] +image::ModelClassDiagramUpdated.png[width="800"] *API* : link:{repoURL}/src/main/java/seedu/address/model/Model.java[`Model.java`] @@ -206,6 +206,7 @@ The `Model`, * stores a `UserPref` object that represents the user's preferences. * stores the Address Book 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. +* exposes an Calendar that the Calendar GUI response to any changes made to the Calendar * does not depend on any of the other three components. *Method* : GradientDescent.java @@ -218,7 +219,7 @@ The `Model`, === Storage component .Structure of the Storage Component -image::StorageClassDiagram.png[width="800"] +image::StorageClassDiagramUpdated.png[width="800"] *API* : link:{repoURL}/src/main/java/seedu/address/storage/Storage.java[`Storage.java`] diff --git a/docs/images/ModelClassDiagramUpdated.png b/docs/images/ModelClassDiagramUpdated.png new file mode 100644 index 0000000000000000000000000000000000000000..a3fef2f6eed350e62f5c075ace99dd0f588e7b6e GIT binary patch literal 221563 zcmeGEg;$l|^9BqbQaE&XiFAo{rxHp^OC#OVdFT)+1qtbt?(SAPluqf6Lm%R~F+RWV zdjEp=S?jsiQuHji-Fx=THP_5s+i+z?84NHf7z6@g$jM5pf~53&C*Ii>3n}cTYV>y3p;rhGQL`X=-t5 zO)CFx_srUiJKs!S^r|Lr+t7jF?vq9So+j6nZr8Vc&ns<;-e}O!Rk-0kk-%-afXkbA z@`cR%ZepVNQ9s8{uhYjqKtE`4I!tnU)a||D6{RfiANIeGoek+1zyJMUtGCZE=6^r1 zz%hI(EB!xDHOf=sCy)Q<(Lp3e$Hn=dhYcPbIsAX$K?sK&_&;xumW}`gO8n0o9%nuG z>!ALhH{gstZvX$5@t;Bd|Hc~FMtGw?$6Xx7D+vDYd>Iq2*W&|9#GUucjsM^3I*)DO z|M;Vh#S2fodgr&Gf&%o@ub3V5G>v&VnTEu;>I3h~oqgyYbNZgA0DHHf`7bOE!`?m) zT$3iH`-xOFXZJYr@MerMMeN5TMrx6G33@h~L`+;g7kM~IP{j>O_1BPQZwjg#jyl8L zu7Mf;hp0gNFBm*!s?&+v8|u7{m+fr=M$OW86cpY*9p#MDGQvOp#i)k7Ax#2Swwd&x zYv;`sPcLUz$M7>^d=*JI=H~bTLkf6TwfMi_%(6Di;qxDBl~ZG9dtuctKGlHpDk?WK zu2WVCzNSb%Qznno*j22` zr+J3*BHrdvm7tAEH507+11u;H?Nwy%=#pp@UYTydAS24~iQL0Z4gY7Sw|Xx}tE&hZ zd>5n4?|xxF`;KmmL@IiEe<1m@(%9m99RWEPpBj{zBt@e5Aum=D{*#HNYytH<1>Ua# zmP8rFF2Sk?&&*Rm{p)U3AuGJ)?PhcwC2gA(_BD zV{CST&5E$uI3ME>ANbCKoQM376&(5x)Ae4zocz3saBs9FJuCNo~-yGF*jM04OB z4W;>#9wH_<;m}zb|I1M$Jug4W% zbuvPz5m&UI!;juH#Ht?neLlyTi#ALj_+|0BLzFW@wBy-BzRe1b{C6a5HejAbjqq>jn@<%?Z9@k%Vy-AnLu_}@OA6k7hI-8Y@LIH*y}g=KV>?<+ z_e#eepSX`_xJ2K@(|GnZhZ|C8Hfr&Jf6fa={}={ZvdG7;di!r>DA-xnKcxw*<%lSK z5eoex9p$ki*(td~(lMq#lyp}g=_X@HrtWusY zQmUt%q8O&&U@UdZNt(k%+*aOp+q25@jqw#41Q{o~e0FWf+(l)Q$x|W5{13#anws-3 zAId@+Vlu8|c@!w-)@qIw_f-cop6(|P2zh3iuc@>b zK0f_W$*2}(+w4@YT^BFDwUxKHibF0Dx0q=y+tK=>cxSr3(u1NSH9IEhfm)3P^!!6@ zLUuTDW=2#eVilIiPvZ*gK`wKc{LKT}5@9tFvT98M2;ionAJL^^{YhHN`~&h#46o|S zh&BaP`^BEH|Mp=1|Mg%5%={Rpr`?$pcOId;&Iv7WM&-rPTfJ?rl6`&ZGgYRIQ#i#( zG5azPro#R|Qz>W@me;a-_?P^~Ibt2%ESaGp&e(FzkyG~h6 zLEJvsm#{jfbYLu#n0d=lyFAmz&tGIaIsZBu>vl1fZ_?#cb{pEri1d-d~XonQJualyCRV^7unWy#KQ((AHnu447hY}3`C z@9E<8cS~~L>tD@Ouirh3obq)?zYwdqO|>Q_@XbHbH9Ti)Y8<7s;&%U?BE~v1Dp3DW zC<~g`X-MWzq}P3C>M{{C5Eb`rAA!(QsAOO>qSkg2ZgxC1;=Qsqx~~I!zc9lk{%DsJ)EuAbB2VCu?FpAT*lt8iS5-VKHb`el|LyPeOXl08>5U9vY2 zI~d_Nr+@GR$)5Lrxp$*kPUfhq4XA4YPpdK$UOlo$vs%m?Ma3&XBHo0~y5(*dC&i~` z?rLnzpxXF*Au}Tq3d61zai)yibMm(9VA!ThdUhb{&GJhxyTm(Jx=k*@MDe*KeVh3f zcp)m?!2FSe)VkH#dt)?AF&`Z3g93=moD7rF&vY;eFL!yVo50lii-)6{;`6I(0QJTc6Ny!ei15U291oo8}#oa$jn5T)45Ql>Mliie8E_X{>_oHu5 zaqS?7FYpukoRnniWvkQoyDsi_$z;)=c!+|oXG2rhn*$hkG&KhY97UiP_WJRea+}V# z;#V8EYH8NuNc1H5X)EqXaUT1}bde9tuH!#AntG+}LsKjKBg{ukI2xc*&6hQ+{70`? z>^!SczZ~ejuWY)}p#pKyJ zKm{G;A9{>m5I3b+yzn(bFZ15#2T|)Mg+79qu<#z}J3gOtr&#iWD--j;y*2Lxfg<_T zf91KAoRmPk50P%Rl$K6xFRUTH9G^=|hm-lrtXw$l?!S4GU(N`aD|VJdbMyh{&$EBm zdgaA|@HCXkXUjzBC_egj`T`m%)m4T2mtHuWwi(#5ugA^A&oBZ5;(w^vP$2eJ%lcLw&f zoH5;A_eX>&-q}NzPGw@=JG3CbHdsr#;J)Rd$*gr>VWN84l|b;x2qz;*)~j9*#%%KJ zH^?q;8C-S}O@p1)KSaN(bb5dxoLHqNg+@Pzb+``;169Gd3B8=0F`YeKJ{BHDj|#q{ zzb^tSE0Yg2ME_7jhNW5c{BQ^Ns5=(V&iM7`(#htc=dZ~j^$Mtg`LA_Yb~F;QEngyF z3Oh|+&3tP|tX-_@uX=_ZZVB=eN}mq99Z7xeISvA$yC@j0E<|1~Lz*dcXdKSZ*i(FK z5OiqDZES~9>MB|;_XFLJi)3)hzIBz|UrE(N!y~6JCJ4!IR9IAHGcBtGPTvlVKT|7a z?cUZDO0lgIZN{Y|2)3BjjmB5q;^##HJs{KdPs|Ul3WB@mDI^lj^dTX6^5&2?RQlm{ zzV5x+n^Si;`oh%a0)f6b|XJM3sM>H@r>xVZt@Ud*c( z^&7~r+8Vd3%VgSN_hb}WqO0;@Vp=Q8{Qd-62h+uHLXQPIdJ+&iJ|ezV$noR?4jBF2EHc8WASt+ArZ?AQv;$}v1V}W z*C<)FzDciS@6F1MG|!t}1JMA$a$CY~Iy5P_-7F_D2BbZ0cgK|ZVoZ9!j+G8yz^+6M z$fh%?L3{4?BqDl&VVY|zOWt?-(pjEcHF1h^_rfU-2(E`U2qP(}o@z4mmKkS;e1b|C z?N6U*Ea`@teqp(S2a<}DsxINZNiFl|gzd_c&KPLgsGw6`|t#Os1JKRWu59~C}mD|=%+)3%~hH{ZX$M5)ZbQ>Ew3&Q5EmPt47G+SNCvjf9fW;ZSu(G+W@d%Zqq<~)u9 z;Ko(BkrZ^aQTN6H2wwBs@xsm&TV0J+s^qhk5xYJr(KDPq&#ajS`!)vhRMe(`5!cg( zm+otIuD`I-uTcs$nw*~d9=5gm7aZf?9Th|`13%<;AO?l9KVg_SSZ$mBm2zlHrG*93 zs>y`|jY3?}`xfgR)JGTwt00cpkn1#tRQbMb#3Cv(`@(MX)?;E(Xk=ds3>QHzMP#0{ z$mAP`GfdH#G5C{x_0_P;`lR3*f%I<-IPMoVUpTMwX}x_FmFI9MQ}2dx3bgyDpP|;K|ChOstvEP z4t2vkkW{!A*EHlPd`iyV*9sg}ISs$ljwHKYCwd_@l~hppvuD~7QdMJcp|zJuzqvCU zZRZg3UDu_Gth#r=WVk%7W?;a3?gM6{Q5oMimVytkC?b$zv*&hl8rCv$lpDl&wYaWj zTdzo26$eOW^F-4M3OSqJ!r}f;4(@V?Kz^|Fr_n>A7a!mAAKYvqn=iB|HT+E3H-{-J z<2t3K>)uQ$9PG*@nS9V$is#uYb)k5u`o;n}1^%|ZwkS*=1z}kCt1K#qIl(-~<^r_hR(*rkc4-k4*&W36=<+fD%8!Yom`-21|fCYdrE$DlZEd`c7|}s_e^}y z@?}+m!|p1XvYP(#%*r}JT>VeIE|FEIMS6jxbBymvFX#N>0FRi^@K@*~d)A7#_r7DS zBZ%W045lPTw_eTG*2?&Mf>nEYkt&IqciMqjPr!^iNs6?CWin7QFZvLq%D zKZc`o(@;N#*LfA_*V*3V*nH{M=de?wxaX~em)AR?9O6e=wV}}TN;x)JezmiMa{jD? zO?mP?7(7R1+evo6rlFlGG#*~!R+0?$0NN89&5>?lLjw&T4UarmO2`rY46Z*3r5H(< z5zSF)1s6!~P>3KOVwV`5fU~C0q^r1|?8X{Y|BAY>?Ht==U%4x@PwzlOy6L#CE@B>8 zH`BmmM!|kKna<9?)OQQn`83y6_%`?U+ba^kQEH5?>+ffmFIwYeQQ+9JXb2}VWq2%- zJ(@jVi6@XY4x_Ka?%V2c!Y#t2d8ALc%~_@0zIC;W!ligaagjMbtPW7!c2vt$Tr}mE zuMevyS_`O2INA))4bpGD*#dwqPVI72hWy}5{XtZPrzOek@agq|*KNUS{jCUDS(jkr_MBvM4brxoP?zKHj|s7{34x&F^@V{>QfM#ECG^jID$t-7P8O z)Siy}wFz%sXBN-gIzO~$B#BzP)W9+F5~Se9JngP9uywLTERPH+$gNeJk=*xA*!Px$ z>V>1W@NPx=-4_x5`xks5!*`6qXnjrP#wNEPqJ7@|C}CtNVoQedp3es+kcn0u=k=34 zA?Ds(sS2H&zaP}LX|xSKoL}6=E(K67vPqM_PUaDwCU^7JPvK#niyy0lBTXRC$X$3v-e@*y5WU0J%u5TQvFJ3Y$ajH+zQ7su+=d{A#h?axDhjZ&+!tlO* zkTvjQ1Zm~(1(C|=i-fMvSt)C2EC+?igF3B3BHh^C0wh50up}<6)>ih-3dKlR=x6f! ztznk>tEhO*>LG(*LVk`S&Qpm7Hf8rML0x=LSr?tdvag<05}6}K7>G}22$kf z?y5}OuZz5nFZ10Va_>~SU{oW)`qYhg9(`vhrh;PLadz8$VBVLVjkCnr=wyl2h$Yc5 zSo*Z+=Ix&Eh#&*8u9K38JoB%rSyBF;j5_*JRFrrRA10FGVY=VtdC>n^WdiB#i_UMd z#Z4xtg`^RsFq6+A0faa)mPqlRW$Cy^x&4#l>88(*p4l{(;UM*JK6#<)zHQwXD@Wp| zYQ~evjey2L5<~)SJ%L0SU*PS6ERh2?5E=$pCa1EEJ#dgq%1fbJ)M@v9x9<0c^Q4|1 z*zBE6Ag|FLN*tiV;wP{NK+=PWC#_>JKjgI zO#>cynoiLbB9tI-5sgU?zaQ%w)dBf%S6*S4OXg0G{PA+)LO2{?yCTlF-O5%koaEW{ z^!C*->>!34D-|DS;0%XdkU$0Oe7V09ncim5FPY{o=IuuQ_TlHh(;4Q~wgE+N(Y-e~ z*!1eM+h8ehHgA0QTr09#y03s{&ud3mv2`(cFb+uN7VpmkoOjrk0l zjy^!BJdlRpEO=!c*uF|#CHctxz7YV|VVWB&9ZSZ`w{-Syd} z0*VE(>xsI`TAxFz#ejoJnta?5>nXgU%!|2ARFDrv*X7L8p$w2B)JoWUY1?Y>fST3> zD5}f6_xdtnJOzRo3 zZmm6YaB~*%M?9wHlObAn*fy7}lIhWry=@PLQt=8J2M*4V-0g{chX!?{D>3@GdeynsIUau$|+7zKSq?af+1US%X&amNZrvgNH@F9C}P&+)_dbG~Tu6 zBC!-!>_v|shcxvK86JHS8ucE)eWj3-nWO%UagST7p-xH?3#RwgkX==k#EFuF_+;qq zx4s4&DQCL#HVfqURV3#w&eW#*q|6RTC@XEQ#SzjHG;L3@(dkKm;nr9@P!l@aIx?yN zVG2ACGl5ZGZxBGd3GLSmm`e~&Pn$&;TLNuzs!?7%~m?Q54 zor$t^EF-1J{Nt)J@?L*)9V1z44$9~I$*MMx3$RVIwVXxp@`uY#QTM{sW;ew;kqJy4 z{*Rw5Z@Q>j`~bkZT+^h22dS~L^$U!wziMi&DpuR7$&L$%1Iz0qknajTbRh`I|CQi; z)Ou6JzbKIurb@r8lI|q87fcDp%Dq%8VeB}-D(&rUO30|D7v1z>HuaT56&JklY@MMC z>hPBm*`+BS9E~HE_lSaczv$ymunjXSEHjxVDLfx95JkU;GP&@Y9J-t3>|{q9;mN$I zi&s@vm3St@09aF}oSPT!A=TlGMLs75n*@G(zlcG0z@1yUcg^pMtoJnypS!h#SKgqGOe0|;i%8S5(b6fKnw!rHLAm|n!Z}9nDjRJpJ z_2O6)E(Fe-o9rPBc2@`BerKxUX|0Idq9XGaDx`G{xXxDJJ?lOQTfm;JYPtX%Wp z<;s?ds=d!rw=1uylFl3lP06xmJWoG09c?kV>7}L)#F(z=3q3x~q6KV_73@dwcSgz= zgBA)q`ouvcY0Qtx_Lw@ib9<`k=-0h~zuIG`)zotJ;hZ?JfpQl3{j0ITIlG!qP2_ja ztBKuVO>Vvt1c{oXEoO0tyuYb~@PE_+`_|Uva$7UX(3?Lz;3Kh>W_(t2DYhi2ProsU zFU`iE+pgUW>SGiPM!gHjM3$U{E-6(Lf3+-2C7%l8ZkvA_WBPk_XsG}BX8YwRe%k$x zigO*hR5X}%Nj1F5*M-ehv=u(L#xds;^5W$I3AxA0IEMRqCo7S2E8=|kn53Oo>wLc? z-{m*bkhrZExgf?BecDCq=kG1cC?4WUCy~GJ&m4FRK0%JeeLr1sgW`4Tc@)6?g*LeT zRW`S}%+}hR(2O1_?Wu^$>o#q+qLf`p?Wrgq^_iayA*zETzuU!(8h@wQY!3E!N92p1 zg#<~?$iUdIVs$KDtEq|7Q(DGSfn116&%dT_l9n*q*xL}SbUT8u)x_`GmC~ku^k}`{ z?MHcWX1LrSr#VF|p8?#M$?`DOWH=fGEFIRk(?L$g{av|s<<5qs*3W~=qm2ff62JZb z>%X2an<0bmn7?MLBl!Dwborvy>ARzMHa-p{Ct%t{;$%rr=D=&7_4@VOqVjiM1gBp^ z7AIANp+uoiIa73xHp_}}#pvQU(H2pWMe2gj2y`|4P3bAC`7bvxs>=wrLpJWL<=j=> zhgp6%RFwaLSr$^^?HYC3RfLr62Ra;%NTZ3C$m!#0FuvvnZPK?y`@MX+Ao_A|YXa96 z2myV_YYU;tXeWEO)!ch0^uy~xUTNql(ju<^4xN{7_p&WrNd*oPb#A;pijz9if+^Ce zu6%t{d7vasiYd|xl`&_~5o=hxU2~KAWMjWhovU_A>X*`$^=#o(WdWZl%!P$xSGxHt zVLAlohnPV6k0ru$kAG>8zQ4hK;Yp7(5N$YAsAkH<_F5i3U;LxN-!iStR3dO#38Wmg31OtP3^k_w#6jEFYZeoGt0Vfuq8d2Dp_a2h=Jd5M zV6)DdRQJMXsP?S~s3rTRuuWCws;@B|UB6Ku_g`co(I1Z(W<1G?ydx`#GR18E@gh9fRGc1E!lQFr&ggfn5V?=U8!SFM--od8t3F1b3dK$9BOG33S!YLh%7SC0 zAth+dY^u>Iz`!QlRhCRPOZ%KXkJmIk(K5ZfQua^wL;KiEPyGNxk9GJlMZ9plTBibD z^^1G>kPA`TcZM{5rY4P`7BPJVGi!-e0Sd^kIyxWp4y`+r7tX>6wupBU+ecbG@ugDn z(26)y-qUk6tEygw;vrSqJ(`&_JM6n=CrG((9$+rtL#0oR!3D+nRcBH2H3uE?3NHdud61k+co z^Z;aIWTHB!khfPsobX?-ZU;|2?I$%J600FeZWZtMdzVscuEVogYtAiG_l@avm^_;1otXag zh}srsBXm@tOOY9lCQfKAdy`x`s?T}DU+Nq?F|&_nsG&eyD0u%O#O`&EDCZZ^6%6@@ zMOm!;>-jsUl945LjJjkVm& z5qclda|(R!R^CKhyzUTC-Mrm-Qu*MQ4=_Z|TY6 zp`3Y~lf$B#jJxlF-sj-4Pw0$V0)U0E-SS3+j09d8+*wBsrU&jJJ7^YEmz z@FZd6hm5Y*_Al7<`o>=)>)*gk_#qiY$=F(rt>ksh_B@|$OC{;qViifTt5TnIlKMOq zNqQlng8qimru$ME*Z%fMm_8)$=w^vRMq7_2+3ly^J;vLSU^7P9F7jt8S{Fhd5%3uv z%<0{y9UYLRMw64UT2i*46UO90Y1L!=ll= zZ|@TZ!CdP_*8zBN1$zi68sQ{b__qC`oKR633?wEFAyVew8_54J!@I~c1&b_Mcf=CS zQs+tz^&8LMT*?& zl>)7TCR;|mLHaxdlI33tUXXoiKewON>@?KzMWEpM#KWk54^Kmt_41hl5M9;F{}fGI zf-aXphju?*sY~`HaLC4UO`lD=T3+G|OvTFQlwI0-(12*!VkeObH9rFmz-?q~0cNv5 z2l}4=>38c!-bc{7jGV^hMr$&sRxTtO#1pV_Si-tg#Lh-}dtpnn)9QM%GJ7#1 zyNwjV^bY~XOBvVdI+X+Acb&<_LvJ7(Ucz1|a+!msLKGk2N7cSLeyQ6(2Q8D(j~i?g z<`l2>VFbr{U8_n=)I1;iqXqGJ&bg&R5&P8+DU4h*?!n7x{_}DQLBMN9ZqIOX=(!ln zIJ#>?$tw0&2pCyMWCWA^;})q```@Y}$K;!QzXs2r`2T$R47cPF%yGp+O#eoV;pkw* zM#5L+^xBfVC`c}PM>e0!LS!_&;tn;JVv4cCSS+v<7f_CTp%OFvtePZ9Tvbvlx}?}- zWH@)vt^sLiY=Rpw?VMiu{mKFC%m* zJydd!gU6G5g&nQAU}=*$9N)VNQ)@;|NS`rvC9T>j7BdY4 z-$)HkrpW$UE27}PoQNRaPLk#( z>_}BA?wJftfXe+z{f++rbY+cE>O6!inM?CQCn1k>a4oC%_B(;{n{%2oO7>M#*82|G zSD|s>&GQSR`{6G0Tb|jI^bKA&F-pBCDsa8!Ec`S zcZFmBR;UBwov%T3^Kqsy4#q)urE|Evir_z%7Xtb%(omj3da@r`@UdS*(x6=rrbwAv zdPK{l(o%_t0(36KA>DuTZ%pRC}RTiyzM)Xu=0Sy~Vm`GA{%rYHN(_WM6F zMQn_OGk-hgVzH?H$Pz?h9&&U(u{q{hPbJT^H8yY)&M@eKgx4iU?s@k(s%1K=Vo|Oe zOj{3|ntTWjvZM#j5VnQfD@XhLPho^HSts7Yr`tn`#EO~w-5_@IEh!^8Q6P+el(7ZA zw}`PM(Gekz+?J(7Pw}q73x&9%0>y9G#&-Q#*UVZusvd%bnz!y5)mlkS9RgiF5ftcFs2g(Z5$|0jE<@13tVi8462~jwM!Dxf~I4JiU5JOqC+}Bu|JS5Z;e) z3_Md9C zS{zluu+Kzc`h4`=77j)W(F=#8d?E)|1HKQ{lB|@$loOoesqHJ9a}L*M?60CsmDN=I z9*H)P0MgN!u-`{49f9&+#lp%#*+D_27m@eH3Pd;NYlQ+!1Kjr*PCAP;57(01qXMH( z->U0!8Q=IA;jHhl29hq7vi>`PfG|Li{9P5g{Fz!9XPPq&d*8C)*mfc7!)`Xc&bTIi>w(o_e9S!T_Tf}cL2Ju#Dn z>#q_XQS#I}hYhbM&9vx9h~t63%Y|#+T_H9OV?O@$8Gr+CxZkIpb#*nDrXc?N5V&ZZ z;c^H2B^0I}{QcL7aL&i^e*W(2V3i3|AtMP4$pbVqX|4uHUUWjLSa521`#OULI@-6& z3xNdqo^qFb>--tkk=oSx{X8#TcFk?V^TDeNh7I?5<~8A`fvr3VuE}%Iqy?oo)vzA! zwH|^j4;-lHYu1j3F5}~@tH0gvFf(aV4e?CW993MrE+**{<3wTwNpU#&KAVz0x4JI zjJR2zI6;X=?pBbclFdr<1!%sUp(IxsQ6E*-V(kr3^=}`bdLghQhPYIRwmFBi{t&s? zO$+)4aX2?YRRFeeXkuRX$&Csd{&7xf%DTAFjI9&h{u*UyU25}w_9MZ_Gf=-B+0c@r z>l}(vT9r>!vLEiGiH@1CPeo9W&z}5{wUELT--5~5yXsF(#oXc+{mre3 zkA9=^nEJmuFoHq!B+>;78LV-a1r8pt*GKu)ST(_b{OuHc8f6LaylL4JjT-{p+jt)# zR>b~7Vkn|2mpw8>i-dGo0gqZ>4r%UtGncv0OkEH8EULhq$;SR$j*;>rkblf^CCvu+ zeoj!^P=HVWLF_>*Fz)+B3iP3G2Vrr~7znvXo>$oXLC6iFzd0hAhYS03*g8L@;q>M> zk-=SMawJc#%$pCPi$~tFG}F>9UT+IKXQqj#2pXjBLO;Ks;~aVtr(v2dbf3cKjfQ@| z&GrTT)t9frH1Xqm$Y8{*RvGM-{k0Y+!u=ezbBA;%D~5L4FEOs~KF3n%Y}hai=?z;k zj5MHS=Gik4*i`NHqGH?#+nQb&IZcnUSTk6d$yzR99SVnNq=Q2iGkxScQa!QJk$z`! zi@U!n)hvOEBBXsI0`;h4imEO``{h_`QC|1+?ctULUfi_hw`t#sre)vxi+z8WHu79Q zbf0^mFUrEvAl>DBWq%T!X7nOh$Suo_Y_qW(*65-j(cmvs^+$P`Z2m7WCZ#p%iFjpA z*wfnIP9g~5>QQNmYZO>)`IROdPH5m1ks!jSNp0-nu+}HNXtJJMVoV~sBB6B1_I^2AQp~(_-w%~*+=jNxDzdX8F21(KX z1AHF;0ZvES+z|N-H96DaBC}hyU~i(dbY|;s(q2mAsaZq1T|$D{s-wj#(n-;yXPxNX zC5$7?$Iy_)MI7nWvl0P}mhTyrrDUd9>DE38X`>5O4~YlBGmn4QM9dW3Rk18Xh|kGw zal!DNS9Vn_cZ0@^e814%oZl@qwc@c^d4so7O*OBP2Cnw3B!pm2%m3Yq!zlr^A>2>zxM@jp(bCgqn-zyK-}D= zB$fDoVaW$LQfH(jOS}klra*OdZR%rYVOMK_IlE79Vqp*j{oI^6{Qq^Dnhr+>3Bx)KrnUbB&w;X95N_U(7DX=#e;s~NQ zFt;kBGCZGs+Isg&DzU37+E!Q{q#Wn0XrSUM%2ZY{&(RD*R zA!eW!eUwMcBdFfVv1_!)s9mZfD%bX4v(xV>2}lHY8AW&8f)|{+tO;fvatT zhf^@IT?}&Pa+*r|2;{vSAymFyYuf5U`lV>}@{ziG<_gNCKpZ!pAm0XeT%KQ^YEpL3bm?7= zrBk#^+XFZ`7Osnsp(gvx{T?^nP*2lApRf|U*>yUv}GvtdD_k&)E4N$r+ntkvQ?KAaj?|8;E)jmHYQEF`Li%jb9M#g+>H1hE;@w4?&urbk*S!UihOKr0 zQJV`W6ygjw;HvRU>i*bnji|mWLEcjT^i-ZFm+F2#cUqBU|Nc<|Rnmx*0j@5eZz=@Xs%IXm)!$^TnWB;p+ zzVLhJ{=}bOL$d?%_)qqbHqQ$e&MdUFQQOhUzVJ@bvW;)?TZQgSfCdeB4q?L{_Pp9gLdYbGs&%wf=eIsEE!zEGV@=!rUdtO1tQEobds6~u2*7xo9+~3kYR#|9hEAv4#xW{U1znX#_1OBueF4l?x^L3?6IL9zr z!g^D2Td}UVb2vwKH6w{IcWu zg+N0KDVe=}^PUq)_>Q8`%t+U(k)=H}RC3Q=48r|QX7{MJliUUOd#d>lc=pw+HTQGB zybiw9{t%3Y1BKt=E4I!D$DYsM_AK6Oik;&&Dn%K?9+4dvv^7#~J0mOIey3RySiH5~ zz1_U%FrT899&nBq!x)s~D2tmwld&+gcpYn8M@dipHw5LpTfp0C1LKW{Y}!~_pnseJZv z={;Y!+5)K$9PMp~_Tn0M*vI48V(SXXO!*>9HDc3)3M#K`< z-p&g2tv9ixm@K+qsDj#A48(%ha)g2`wM*{ZsjlV;m!Noi9Ij-uu40SmplRp1XG^?B zn^U#+z_I2`m{09#{kmzkUGnqrojk)HxWF2R?uezei?mfDrC;tyg=wy57B&$7#4z0e zlqYI;jvjv~$p+3p5SB;DXl+1`zB}Oc-myREx)w^v$jZb9be88gFVT9h8GLs8PH6od zB}Cv}l%gWXil|vQ;PU1gDpb-Jr=u;27A8kHPKXToskVZ?2~nll0v2hz9~|KKnnoW7 zOy1Aez3H8}rLeMSFarX)FK3&9OhcXY%tKSoFz;`E6<@Th#>O)igk=MAxK2{O52wSc zZhIJR?Crg_c1ZKXk2F`H9L-eecm08iPq#3-_T+`z(Xrr`FIo1Xv%H#~ceQ}|hXpiP z9n+yVonN8k)v4Q93$>nlu~6@|9S(pEwazUXz1~gkH*@xtfs9${OG_dOHUEsRDhvKu z_tQx3HBaHrz>$!F7nSI-7^MWa7(Am9CKa=Yf0GDHK0J3Sq!I6->pXU|O#X*D230ol z^NLmDn=ghfcXo)r{fG>R-sRL-nK~y!KWBb@Oa)vb=hhRK=bGm#LVzRo!v`muX&`|W z5`X&h4uKVO;JI-Ik>J`K@S6SZ3s`H*) z4!G_RfIWk-H(65ba9ydoq5DM=MV5{x$f43Te+dD*5oAvOw`1{l*s_JpHJ{qPyCf92 z=wuQmjd*GyTN4}46&5D`q>u*Csx9@X0OD?=w@*%98uOpO6QU--yvrdlbqOY>N|vk^ zml3qIV>b$>ei{mjAHQFq*+*K@PBWk*aP$UP>95^%-=7VK%Wbupx0l$Wr|EXzN!Esf z^=yf*t8#NMZ|z0EAbziUG^M)>5k|(eCBt#DSqxp$k%q-@eq#Kvc#eJ7kTrCj*4BQv zrv1_7`B}5H;U%xA0XNO%rMvG7n){yNn%!nDzHPS`he-GicUla-N9&rg2ITYlAOW+5 zL7uo0``4D5WAMrJ*pa(i{5*q1ybo#baWc_gB5(Kf5yTb8-sg}U1ZN3!&$@0Tv^0z~ z=}^TZw!THkV6%jYPpqJa^8@$zSJLDFpaI%uFC4@=>x7ovpdqP};QaB?3zKc&lGul| ztpaMbNx_7PY2Dx@pA(~-J?l`%od!G5#!)N>WEWBNz%Ke@OX+;Wht>^LcqerjLf_K^-%AsFi)bK~RLQ zG8rT-Ed`k)Hkkg?OxFKP8yh=bMdoLq`rmW{S6AY)irMW<-_1w_lb~3Itvw%|5DX}Y z#iy5f9TW0!X8=yCwE;X(tC0ykeLCFo(-wp7eQ^U){O0|l#pp0byehW%Wk%SduJXFh z_6eYrzWhct|K4YAWQ74@hRNm$*kTzgZ;4$XDJ`K^?7WxG`yL8|13h4QVZ!IEl3a*> z`qK5!b$%2+3!xim1OPH`ymzNF^^GEh$hUzc5Iy9^3PrLhyFGex;J)MuYBxz=I4G(Y zZYhISb{HDKP)>fS#Hn>}p53%KAt;{aIh@wK9Bu~Wr{}t)Nzj{EQ=a4EO$dEQ_Qeh5 z&A#nd8^-5-4Xt~v#hp#%b=GL>`kcdtndi0r7~NbX;f1Epy^Vgix&JGMw_dcsU&cTb+grxxQWUh8D!&=gJbW#N)D=eb|3?(!8*L%PX)wQziOz`q!;?1nYTp_ zsk^T^y-5*2%PmXkoK3|L=<2Bb?0a*`f%$9dzE1?|d$%Y+3%ASwaYZ!caV%cciEcf| z0az+hG{kc=WzOMj($m0Vc1|>)cZ1m=y*v_=KE-!csBO_v9F7epbmPMuE2*L_Q934F zb=`dOBCvmN_Z*@M2goo;H4=`4AMS02g>3}?)$cSOGbVOONgS_lD!m4835x{PwL&OM z9$j_u$L7)Z#0K8Wj}l3h%!dT(p&ja% z58&4Mqs(`YZqMs3#Xc3Vc=M5x%+a_Qd0*(=1e*ZMzS+AwTAw?p68#{QqabWGcI2vv zy6p_+b=>pF*U$d0!&>pkvPw!8c7!_-?sB4&x!yyIf7AcWBG)Nqj zl5P;`I3OY29fDE<64EVQf^Qo=N+p(0G0)MiRL7`< zwb?eu2nmMV8Z+kZW)jK%>CJkN{$I6%CuS;mcyGh52nWY2_YC?0bDp*#9Y*|^X0J!V zPy{d^J&1z#OhHq=j{@?#|4JLw6~arG1{{AY2Ri=-O%k2@QoKrc;^f?w0rjm9a^{H& z)Sh|hcPF%lQk%admu_+l;@pp~3P$F5gIxp!erzs@1^XzcyZEN3!w$RSm}Bk(DtaBW z&s@vx9`E$+wBx%I=87xEVpSF5&erR1FRxFAqv_&!4$n7hjpxMJedZn^$|M;0!uR8H zSW3cIIt`o1i|Zy=6YSF+ClNlyv5$!UHgZCL=MTn^D1KC8fAwL?3zQh= zLz|1zo*h_XG)RSo?9awaCz9j~M*N0S8SO#FDSAm;dl@?QPTJ*Fy&L%v8(&S!I^Ooh zpTZ*QtQ>!jl*Fa$%U+O;iViJY)c{(4>x1+1VuN*4VT~PDR{j-!=gJOIINJ2Sy-F7k zE4W>YvA+UWD6%(OQG}vU`@z^577%+Xht$>(_Vci1X>O(1#2eh5pl0mp@o}GkGJR>@ zud%x)B(sJ$`efqH(OQN2 zUB3{7zxk<(%fmS8+C*y0d}*8u1+=wDO@XPyu0NaJPPWVZm$(Hxfq{tBuhlT;1ZM*( zqrYXTC#L9~ThAf5VuqJgojtAIq(7%VT=_o64XIs4b>9iwba1uDCt79QBBbW)e_Oep zWj=i*!3dg#Ri|D+baXy-cX=Nv!F&Jq_}+e9(}9Se+h4u@ zWkd^+H!alFjTpp#)L9#rnAOzc0B|5kjGB<)DN8nrgS~z(2@%Bj=K1tlZPWfy2n<@O8PX8-1tdW&I zX3+6bz>R-D?XXESf3gLMpCB1R7#b z7RLy3zNzT6{S;rmr7Wab-Z!;GPaI#xW>&yS7F<RvhvV%sU!6pq@Y+j&R=+ zs9O$DeicYFQD#*qUymHBxn{Otk6T@cVoKlf@>^o=3yT>VSB*8D*sZjc;Q79#emL*1 z7#E+qwC^gqQwh4@v-?sy|LJpV$^VPa>q!TR5>Cp#2`LZ$vWgj zt*{_7gGxo~R`8qKP#Em@VvtMIdtht7>n99a=U`m0oij}{b z9Z42}*3$12Q^Td&%LX4Ypk)=Ivfrc{OC<=!XIBsrZtH5L zr#19XMkS@e8F2kgrHfk=69WU>9m-|1D zvJB(DRx>*aQf`$LwAxdCT3oe*Ex-{jnx!k52}{h=7`i#FQYYCeCaAgHRKyK0L)B&U zm6w2^XJI=HDX#C0Lq=j9&((B3yzA&>cV{?#zU-Du0~FU zF8~XUetAfo1ufTjkuz(cNXK~5{$QAfTbm8NGbUzoKCOLG`R|7~=lzGZ@3QhzsmdqA znITTMHL2q$Y$DIG(ZXDlwo02Evk64*8!21M|drX-+3lGG~@ z9cdAf$k+z>xf(;)Nv$U-_4Om;1ugkI@wl!`UfIp`;TH$ZL&e5 z<&s$ihbHiTQ4d%qFos95-Jwn=1oc%1@NqF_AbIw1B9W9pYJ@9~oGsS3zgr|^wZ3po zVGp%^{`c0kasS%@LY7u4HZ2l6{blY%T$`%*7DpHfE<-rHWN2JIgcQv7jX6E>5*(}O z#8K-gGOGcmN_#$&e}7hmOKmy#_~%KQkU5fhF|5DRisHz)4R{ghlmc2yLwpaCSCbE1lf`6sD`{E z<2T5!x{rp0*q@5AoA@i!B^>qsPb^(+HppB!zam{4K#-OtF#*d8C2)P3;E*ULe#U`$ z7MJsL1kW>`Yn8E4PeJfgba0@Bl5gR>H3vOOeAOzA@lX&M*5N#CRCp?eUZZ&_$Rqox zCdK|Yd97xdYu~K4j>t?uXv)u8%(_;k=e*c6vj}7uQQAOF@#(mGfu6BeF+cIrP-3tl zt;vT?TjXL^9^Lo;n9?b3LIMNE+&59btBa~RY%N1#R~wet-w$T$vz)}_>L|3)1nB=( zwGC4LwWnNn-@#c~wy_m=9eJ_qe&Y4Y>&F*RDWa?48~WcHP}`+fXb$*5(jsd^7oNAD(o|=1ZXZ_K!l_lmYlJshMsW>7MfLiEkrJF z;56A>M7PH%%xAGe-SePs$gON|?J*`1Kl`8>=;6;}ezRt-!`D6D|Av@lRoNh&Ea-5Q zw%138kFq0}8%wKZzX{tHq&8_$fc-r^~m(3m?E{u*VDRk2wb<$Lb!1CA3su8`oUosG(Ct_31<3gi?S{;r1+Rqx|SxLDR}>tvd)t z?eU1x;->qhtJ?TW(jmUQK=V)k92dty|DDMx2Cws=+gh`%31TwT*Q0W-9EsEpx^?k= zdZ*~3EjM4<6Oc0Vaa4DU#0#becwvQyS^>JpjmRU?hhG-fw`tgI3=({zTq!;0*c#KC zY)M-18+{xuWW!2Nxs6j zX9iD=z#?_)ao7nfx-4o;XzJ~+f6>7IX@{ortU|JqM{=1hQovcw&MF#?uxvu{sr{77I%4$9R8PJ5_1B=E0F0 zYd#(PD zcVY2>F9A7T;$=Y8;-vBQ585+OUplddHB;UHZ}I-E`+9Vq|8vU%&9iYLO)`QwGM5_D_aM z`S05kNYY?HWohe`^*$DFiMTsVa~s~dCD$M@V23XMU4>S@zc@Yr97x%e?_dK5^2mUo zI79c()0Rg2*DQ7vH*&(~-|v~NHlqFe*MI)_e`zt>uu@1o_n%E}AP_1yH9BPBlRiGF zr2m6EEYjEAj8Ta3B^$&4VObN#;{S`NQ@*2_aL${?`}fk;{_XW{J?s3JLipy5)PHQ= zzvnL?ME*ar(;XDadQV^-fh+m{do0e>|0w|e{pKGt-`rve$x6aMH}c=FGIm0KQX9~nRk*xo5=4uDefQ>fBpPwm}ok|hWn>e$E~tWV$K4Kss*t+K3AR5+VY9V6HJ4~)nuf>hVG^tvr*=LGQ3+VgA5}*mI zUhcM>XHOFl%S{lz7I3GjhVznCr+$COX%_%{jxA&60N!);s5BQ;uXyy~Y zkHZ+lMpa)$)MEa5!+%u`8+QlrV|~IqV&?3fK!RQ~Vv`HPM@uh)8uF!{M<&~UFGd{2 zmMknERrbAGrA5Xv7xQ&MU0*tI)|BTBkKFBXpyAY}A@&yCA#1)$k}Km0(pfL68GrtP z^Gv73HD&wweQ}z_Xn}gMEF&#I0}=wQf-YxF{h z`J@Z9QIeQYsh)3=>Y*CJ#bJ7XfY-UEpwNNgAt7)pa>X3BuFtRKarv;twR59+tQO zCy-UV^jjIs+xIG)3%Rkz?q9axdG2y*;dI+O0-H0hQ=e2ukI_aVu6xIrLK_gvPcXO| z)BE=v!olvOY@pcS2_YaH{k+=L|ACR*Y7Mxl<4(`zN8Vfq}flo$}Pg+D-kiBjju#PsLyt1 zzcrpE8@MIGMM4hJtSZNy1H7Kp{(+oZZe;9@yd5AOA%rlyk~Xh9BW9S-eLpR%V;+Gq z3?fr<*)3TnH6+;Cro3eG=f=sMIw8aK3!XeA{XMyOK*nxzPx&CHoS_HY==fB~zU z)i^nNP~VK@;jj6gDhpTAlt!x4%OpN&=V{lJ-wFdxEr6+Hd_$pbCxT5E7e&v_k8b|O z_K%?^FpIzplFW8f0kBc3_(<6MpD3@s6eGt@C-}`y_R3Ou+!BQf-z&6v+y&ID6hLr+XC_U*qi?_%=BN*IVkDMGyMJB~BSiKaS0W`9tDalkGd|?S(@j z3Oo_h4thunEh-%8Oa2=)A|OoUD$vXIqP~vEg{R2P@GovL974* z{3HHYDRp@F^T+Yf;Z~!m(aVT<%(0CqoeHe$-futi5c{((7i&`#MM6GLq=H=jOTU>B zTQPpf3%8cB{zKOzyMz7;%WL#hr7kWTqAFYC9 zPLhrzJ1j1|E06H<>(H*>YvHmzq3ljfg8n*t-K#z+pHb+yaYjhT;RK$lXG<7&?OBd?O&R(w89VyTOp1ulhL zsG}DAbG>V7_nem%73eRiPQ`p^fV&J(Z+%Scp`}gjh`yVW1WpF3bq&zL#-D;s_=F{y zPuY$KMLx~H8o1RE53b&wuYHnXzpz3+JjyGY>o()-bA-pdrTAz*OblR$^G^iP4Q)HkH$UJsO@=HDZp)SB@j(9Ppmaq(vJK1WJe$fzpo)UAzcj3_W1 zu1ZTa#j1BDHq-LsDL>Y&i9^cOxTRMM?{(v7x%ut^vny=dz@z|Dek&1S{~XR*;~rD? z&1(_bzB|3u+o;;W`WQnoAwNv{J2zwr`K9v4l8&uqh1iNHY56;D)}7ib3i|meqJy1x z#51i+@Tds|mK_&O>?NCcpVqS_i5Ax*s+^iA1=eAkPYv@id4Knfb2ETHa3+(*49YKWeZJn-e@N zuK5HB;Nv-Zz16g*g%zOFf~QNwI~Ve%DKYK9Yx(%P#oSzzmDLbobb9z!UQyh$O6=r= zS^(Klb(+2N)8W;t&8~atgTb4k!3U|L2eZ23F45}eZ1l_ch~PWoPD|FK=;K1s2{k~* zf3bv364JJ&gYhXGd&@)kN0*28q7nri?D)+8xZ74%g!S$os(pf~mdHhh#o3@~qwyba zHe<&}Kxiinm@NG7PL;C@AJOX5T6g^X_>+)hB=a4p2yNN@MCgkRFR$Wm^bYj3Lk4j3 z9HUcqY9cL#YDzUu2`Y5$>B2&a0&drCDzWMpy?xlGGrV#ATxP#bSp*Q;r>znO*l?7j z1=2pQD7FnYQpFuLzrFEXD!2Ei;lA6W_%{A4U3{8*bLSb0Annj0`mIBvPgatp(3EVy z@$tks95#+Nf?5y#rIbzX;-mFNP;MN3Yvx$tt!f6h6| zAW6N7hT%v$zS!E(DsJ)0InN4wAT#O$)`J|IuE2R!?S9+-{CWr z8*s7AtNH;VG(*FW1<3H>(`zJ7)n!EF?uW}Cb9!mh z(IG3|S&=6L_G{F7k967zpk`GYPXllA^N#QnehSIh%l;^jfzrfXQ82(!q_5_YpU)`` zy_S-AYfaG57LZZ*Ba&G;8zDnYbN+je>BRgtscZH5AX}#8VqxehtDnflmBu-D@>SA=%O-BM=DzPi%>>olx48lf#|89q zA45NgkU+tg?rU1Z#BizUtjx3DMrB=AY=?SGfp=JE-ouv_(vxA>^M+LNMTonAwBJ|V zSCZrh2Q1r5idtJ+H(l{IWR}|(H*^UHeBaMR^w!Dt1i8!|_FbzCmu~jfK2H9FyWA%R zN1}s>{qvv^7#6a|W7gn!$iim#$ZJomAnH|c5E3^S3||le#{uaF*;%enxyR&CfijPP zklJ%?_Qsq&X_nByNgkW`d)(>ANb3}rgoCT~$&cHPWj>bTN{6<>>u8$e2l_fY7=7v9 zPF=e2l5j*V&Lh+fOfuNuHC^cYpFBMWzFX}yG=u4by|Qx8nZ{(9ajQ$s2?{Y@7VLn-6z6mdPoG??P)WGJ*!E z3B2m=p^OA$d>YsUDH6)fHw1fZvAD<8_v@E#WtY|X7Gz0wNt~zU|7_oI|^;CEc1JKS$6(++1q^JAyZ`$#bZ`yIs zCYa5p_a(MiIzqMaE>xrs`5p=GvJ%|3N2cz56*vATOo@Vb;$J_3jBCRlBS*Q_3InDw zgj9a@)Na1c2B-RH5cjK3$4OMmIbRs?aVgojW{cd5SEzjysj8UxkVlx&x*N5_u{ zJx?`$qDvJtqe9F*#_i_jgabk4^Bl^oI-&E9WUd%^L@iNv)dM2PsFN@8P2#iIl!45e ze1Zw~2-W%;tdybFfp81B?u78^3$xpz%I!@u=;KW)n@8vJOxKKkc9;Txnxg7Dc_qeQ!tz&w*bl;JO<+xs#$a=PB~mtM(G1! zc!@lYaSH|{U^E>Yh;eaAem}Kp$wOZM{WK;tFqXeWAOt9@PwsQ($$%!oL;N8#hD7j3oG5t%S6SEg(qS%xySJ2TgA`i7DE{p9 z*cYe^808{YXTFEOI?9~xOgqn}>oMr@GD61u_RyE!FlXDGy9L%5%2=KT1TP=GnoRp0 z7A*Ayn(GKvPxtbxf6^Ow(*TRxvzSwYTvwp}E$yTLxOE?PrC!&SZ~>mX!?u+;#w@dg zg+0FAMVs|n*NuUXtttX*v!8WJtA|dBT-@=&pfF$`8RV*Dpk3{hlfWt< zVsf`DFg*A=CoURx8V3hk8VC=cI>H}5{z4u2_J<6?4vW3x zbaXf0=tM)HBOrbj!L3k$h+LwF3>+2Mq$Q5oxRoj5m@$T&_tAK1jC?eN1v^(A zqhSaa7~YU_jXa5nJS%CtoJ*9FMrYv0y?DwkZ9>Sr_CB;@s|^i|2O-ub2KE)9ql;*l zbI)SsC|T@Tq&y6`oeje1ak1!QQU;7Fyr`NJL+Qtf0OPV@7>}MWLGn?4&X*!EIffvPwTF0wupv-Ww#kYzk+3E};+I5}Rbtt{!G0DA+#S&jIFP;4qcPHXeL!MFugw z!G^j-np!geYf`ADf`Y0}%H|NS4c19*)bgRzCKA%eef@y-kJf;r6heaxg-cmH$VG!0 zhi3M1Is9_Kk81VAUjH02?LG|o&X*w6y7>->ke{+k+zWU@lKN!StC{uA1<9;u2bjAJ zDI|E!w44S`rTO>>_Xq4eUgN=OCaZ=#D8Qi>n}D6Vu%t#dRf^3E4jQQo1b*iN3mQSQ6M1j$OaB7iY|_Iagf9fYhkdS_xY824c_skdZdq8O zjDHV)W+~?EsP}2EcPk}675AYTzS&dFWyU2=*fj0h7bcz}Hp&$V*st!~66Jdbrst6D zrnWWu+Pvk}HhPFy?kcD5xuvZ`k;()hS|8KX-rNV5kE5~+T!=kFRO_r+xm<@UN#}q{ zS zd1=9}=}B;cRQ1NtTPq85YX9$M7z>-B4vxwqdibZAt+r@S%`bHPEOW?#xyQZ8p9GVs zUg4t;9@A`hZVQMwZ0pc=UlJASsz$iW(U@GQN@t^lojEU;(x!JGaqxY)3Rh$)?Cbp6 zOB~fS5>b24N2k#So54dks@a>6u^HQp$0BbobdIue{WgK6m^C<1dMSjk=^9^V)CDlr z;{%*6G0J^5$#T)yfW_CDjDYdCOKTRUQ5OpW%nXs}+SQxhT&OIZfoNQ{t_WBmS$9+^ z@+svlo*$x}df&kw_NeRBH{S;#P7rXt=mLPpIWW}v2nIuN2>!Ab;gLi2@6Z<)4GIz$ z3;VgA_vLKKPI9|QQ0ZW=EjCea)MxQpB|ILIf|UJ>EX8fowEu=(byNq+$b_6n=PZ#= zGDP*WV}(=?M8oNlk$VzNED`4VHkEq;n&4?butH*6|ubXAk(C{;pRm9dKtJjKsV3{A7f-E_wh z9-JfyLmRGgF|Qe_=t%>u#hsA~yRa9G?K?wWdoy!|ZNI5J717H-FY|~_rEfOy=JIip z8it0K4bo!u`SUO!#ot{*`=>hCGT`D&&dIic#}Lf3ymp_;ajDzaKQ5Nva|Yvx>@TAg z4ejJulJ9$m?(ZZVH9fgZgwJ6gTE?^GF30|pocu``5ASxhEk46x$~}Fyns3&&f!f)4 z3HU=a6%Ucy@p8ZKNM|0FqJSvQ6$4WW5(25^!GjE!I}H4$Pj0_t#b2J!Vw16k7m?&m z-vm4aJ}!73U8)ay#syEun5aB!aXSs}30}XToZKzzDN5r*@~>SD5#QIPEB%~eI zyd)9^AO4(mvqk{s1t8anSB6ptY*lgIPv_iG^xYi4I^-0oOT#U_Q*fIR5Qu?7Nm(?b z$Rl>AIMyk>p@d6B)4k#~E{;H0a2*0_n0q#5O@5%kdcdDO$#+gA8W zd))BcuU14PxLsd%!Xp9i?S6uS0+G`!+2ed>q}?$B5e50Pd?w4AzoSF0OM1rPNDF;@^V_y`1l|3$u}ajd^1szYv@c z({A;lO5+I9Y00Bt=bvIofPt&IC*$XfeY3avf=jBU2rw(nTv`3 zl>2+>W4N&{as>MiAc2R$v`tFviPAVwxuBV~pP+esAuPol(l13rpX+4(1xDZ=NDSnKlFR(g4=9qUq;J5GQmTzF%9kRwb?8QMP&_fmrU!uHK(+R zkt6@&@C6f?TfS*XAknG)M6qCrS$TF<;Bc~zQ>df&ZV4ly z?WbYd^hCVHa|bu)_e&a^2`x`um#^C&zYv{$n?lNI^n1v&Wacwkg2LM@8JKM6Zl{8P z#_H%&3wol`$&ZtCywsVw0H>?QL6z6qsKE42MoyFdcnOrv9n#HnJI%Z8~cY-X=k?;=9})po5Jy@joaQbX}!1N&v_Hm5?MCgN?VVH?zS1%ulI2WxXIL#OU%w+1kRjY zB?jGvCdo}y-=PbPC@DEz7~1D)K(YRI*Y2|b$`rifPU7(=R*B<%Jt~hDTxwv_aP?zYOOu>!dK>3R$jgvifWMDncC=~n5_cdBSe}d@_ykAwz@Xd(^M(m{& z5+o=M``wu`1DJQ$pZ=JcY`2*!@VPugN_md4B6)4A4U@Gt3EYC%`lCEyIQH&^5)Oti zb7s6yL44`X2^Wzm;%onr%F>I_qV=aLQj!!zzX#U~4fR7!#qE2(yJJ``?YEcGA~w8( zqgU9K?opp{`-|Q90M3mHoKtghh4I9)>BSNPjAbQ&H#|B--sH`? zOr}w5eIdc%l(8&!76LHXcwW`pGxhz%0j%R^uRUm9UL~%A)GKnL4wmUChb>?H)?p5F zGOI=ytlQUs=w`BMI#{T$iOhm7rra}q_yF(rv_?{WeFVCrHr0v0{Cr*f-r2=Vvg-OgtxNWqLeB! z5^}13BY4`!1Us+-cl8@MnVlFQu@M~3Onp3Ry0_Qd5;$cHlu${OT)Up?^fwD$d+6nj z6*inx-Wed&iSggL6vRVtDbrS$KW<4+{itg`rU%*=r+O4)rXaQ{Kvcf5(ex~{IdD8b zxbBZ9+c*~!8}}O@cs18{9l*vV$}*p&*g5y@xM5T5dRvC?9}|WhvLML@`e}Rr9YS0{ z+>GM&YKTpNIs72q`vN@f;SbH1mz6oCEQrC#8Ize0Y{&L`$zI->AorfUX&!M70ErUt zdruRHP>&-wdyn#zfi*P~MQrfER-XIuN-Jd1Qfy8%spC zwH)`4bq@ZVbgP{*Zv#{-xfX_NzA`W}5qP5oHO^jvNnhDIB71!^OAa^461F;#3NsY2sOXOUtg z!rzje1aF;wX_;IsO{-6Sk~R^>n3bvAG*td^Lb=z={?262Hd3cKhX$B*t7^pJD~6`L$55G4X%6?e+(;C zYR>^GLp2NHKdJN8HG#a%51qKc-`&OZ4WSJpQ-9$SI_9i%&USj@(}F&RLhL zP}ce&m0i3C(?9SE&zDS=?XIf1d^s$_!ZB5s5!=1!W14wvW11s1?;l8kkmChl1B6yP z!;-i26yS3McqR2Sowpj(fvw;{rxXOmjP3n(FZ%eP>?|t*WBeb zaRRA?JUXMP1o^EsOY(;#vg8i%E`OL`u&}(#&Mw2cc28t3%Rzz(b&*o#bF;TZ; z4wY&(m6`I=KIkeW!W8)3_2v$ET!1VLW+?MWJkX3G(pg^EY0P|#s4qsz<;`;iK#B@3 zYnLS_+e?;s$ie*t7Bbc1M0J%eyviSr@ecnvL)>#z72qa7w+Fc=3kH{f=#rH=ooX{I ztH6Q`Ja`6VduwL0(2$a2dvkLy=<(5yQ5g}aouo1jD-N8VoRM@wvC?d;v1BPGkzyqQkaq z#@rsv$*wnc5eImnZtz0a^xE9OOV=qT^o2&d@r`%!dDN1h+Qtq>KSp>N`TB)~|4HItF%>QJ z$QP^qE&z>AC!-|)#z^H9ld$Rubj_!<|B_2ZHlfNzwEl?-@{+y#u&ZvlEPW5{Wft@f zlO}L4H@ENB?Js+lkOS+_5{?7$^(GA$I0?4tEInwsGhCAD_RRU>t0)AtTU>*a`?Pnl zNl~%`&>J2Es$B7y)HpgF5+R{%lmhStb4o8QjAGj9AFarz8dK4!s-?2+!2|<5k|-45 zf5y=ulVdARl?VWurbR$L4v;;BD9B*O&`vqrG4q>%iMIsd+gv;rB%v2HA^rrwP44)-U}57Vlb5Q%#>3yqP#H?mXq2fO<5Z9h2KNttCBI=tap_t=wT z8fRhUY)flxBJ3BKSl*p85WMYsnz}F*p0~qRX}w7VT60n$QI<;9oK23GR#X=PE{=1r zR~!U}_6|BIm&C$N#arKW5Ayv1PCv8v0bNffnvt2t{w9;kQzqU%$k$~p8|-zQAa8O7 z2SMK9o8%f8`!*z}@P*pD>$HqffjRZRt)CyP7=gw z&9D2sB6NR_2n~d^ZBNZr9BfyU(WXmzzzOBqjtDv4NRnGje-c$r_Wg{?~?i30U!8~t7ybV zH~P8orqoVldFrzAAUcnqH7zWCg(c?JMYuE=OTkZF>UpR)7iLlxI zmy3vz6?8`EfF~%KQugrx0fq>32?YPF6j_m!rIdT=i&DXZ;4*qGf=b`+6{+xzzN-zR zEm?nt^9|!^eMEcRM4)5ojs&g7qAl{eE>qXbb z`3PRQV*aV%>gyU+o3n`(MSfQN%=e7f=s`vY5I7)M{K3?<7QXwx?YVL|EybhqJ$VzIpI%=(a%4XnJG9dD#BE~SX%=Zu-Dlhz{w+y|BeJlQWHElVMExjmf;xt7OqaU>(Z<{0G2LD{CvF{%yfz(p_>&B!$%ApO4ToPj`gyE(jID1fVthXZIs7t1Je0 zWl?Q&0EWQcFobW?!)Q}+(L%yf)(fmIMtrT27;mu6)U-77VDQGkAAcM`zaGX5CE9)$ zewdUHFU32|Sq5Sv!eD1Gb^IP41#!wp#U&4B9j>Ygq-S8 zO-&kgY7E*=A$cBvj-*yHuN5|{xz55ijG228K$eC4trGe;Z42H%m$oH15goq53bf|k zQ8FJZO%!m85)&BiM@w1clH4lsrl$4M-0%w$+3C<~XH{bjty^pZ18zg1zIx~fu>}Hd>X;2G&0@F7wMAtk!<5Gr-cC%X zUtzfqnP#JLS0b5*P4=jNvpgQ|bQpdRCF+MwijPZ|#--BOfVQ*mTuiv5l_)iiW~K)i z6)dOTXHa0liwO&;ws%?m%DxA@KBdM71RV05X}!KRIQ}!Xd^OS!A*pFfNHO{0DhdR* z2hZXFN$N(}&jEMr@y$$dMCxnI7ii=h6;Z1{t)fK#($=#1a=B43zy`6%sm?_7d$!J}o) zM<-1VJA~9ys6>pQ(NmDQog##WkOo>`?1+9G5Pb2$%&}|_88Hw5jmXAc8DNuzA}6b= zs7XELE8yu!mLC&|PGyG0_i@NpYmdkK#}frn=a6kt$;g=_Yb|I*cjIajq_ln4frPh% z9}k8(MCodVV`Qr?KxZJ?Rw9dGL%cy&I_l_R`S3UjwQv}~J#q?p@B!>nX#J?`+tjSX ziVi0@PEelaUGz%xS<=WOSjfn?H4bpy-mMrS^e(*p${3$q3}xD%kSEn zEb#|QmWxXWUpJiL)V!IXNY5u+WG%p&e^&@ucU-Yw2w z?f|%7wYUu`e{!405}VOBibgkkxPq;%_;KMdjb|p~%?g#?3YwFK)4)<1fZWNfozzc; zs*dul=Py?#+*b|txMsz}1@3-7(mQpfZxsv;UmSFs(PX{B2uoUUIQ>ESdxk5efxnG~v=4?L{IE*I`(HN7k248*4hI`Vd zJ18ZWz{?8zcu$aNP-q6p$^Chj$CP%4FCv4*T4S?fQe{z5 zz-iYLDne0d;)Kg@NY%aFY%ADWj$;52H8TSy6Z8;*P^pKuKWab5`kFEcs=*cw~{}MbFfV|<@mFd zyeuk#6dYko|AWcni*pHWScZ7?uUj+*z$7&=j2xSlDrxk=_T7hqBEK8N@dkx{2g zPi;$n{UHn{;{bawZqO&oxtizdvxZczbW&D$tK+g!L;x0lt~xn55e9q#hW2B- zaOrqkU@{(-(TZk3I_+>aMjm}gc-pwwa=4pl&$^HZIaop($|l~oNjO3Cq8L=?zZxYI>6T*{RBrpv4LZ^n)Z_WR#Eyj+Df&MLEDv8G<& z1l@`LYAG4YPm3qM776+rM*{xD5iQ@>#Cl(^+4TeTob+$% zD7+g)RRr_3*nkJOWC>Su2;lm)E-&b~x{`QGH5t04HGgvW;!`a@iW{#(aq1dd3$2{>|6x z-wGnMhT$psL`_Hd%&%9B#DV()wwgSaIi3&k;8f*B%d_wN3764AMfC4U13qvOa1J_! zerMF%4LshOo)A;3?}W;)Q}6TYn3KB4J$BBnT$b6{lfl!tov|O0^Lq1m#f*@RtEsR& zyRG3iY5#4*z_9KqZz^=Y4zfoHP8Q_b9 z5iqX`ZeuNKi-!aLpDP~G+PHCcjkzR{{Y?48NkQhl4zg&`LNp-73kjraK%~YqWkN{E z+9`O5RZ=_#Qby>UQKeW|m@=VGLz7?vvW}MxBWMV`zFvO|QZQy<;hUA)K)^Hs+OTKx zUyn?u&z|F)-sPefoYsI@hY*A;m^2EmLZz-~z(Yo(y@XCOpgbh&) z%9pd6Yzpk->YN2g-Snx$y@x&T1uyg{g_X`2iQdv_5lHU+bj&TO#~%zO?KOLljjp=u z{t6eUe5ic)MgQQVET4J>;G zvWj_G(2xxSg+T`;@LU01~jiXoPIYCy@I}QGoE@m z&E=gnm3B;UyECL9rE5RHE^BV^_R%^sV{Dk)jr?rV}`qwa?V2lJVQ9SxcmrQ*Mr%}bpU zAV0SZ(0x}pkFRG1k!t8aH8u00L*5vfWjI8}IymqXsR%yGDED||r?Z6%X$DrTm~(Ox zm5`MG-9(e6wAS6HZly>_#PMINeA5kyyEy%RX*uZ#DZ-mzUet=DUv{*oz;FsadZKYK z$)M#yFoBMfjhNQLi??gi7=Ws7rUrN?s$jA}*4*?TqwdSChC6YuJHiKYAM&6c#vTDh(9xd->Tg%E$wwkTA&Zh3D(yu-; z?%Ks8S#9^m*y5u1Mcv-NRlYk)WWlYk?LHQ9ZV01y_G7auR)NNBkd`HhF~}e+K0AK@$j*|*&?Cd$ywOsk!oe@RDEI! z*}EUlTKm50dplMhH8%7VpW^-wc<#P9Iqef|AZKe)T0}z&oaQwb9yEMNy2l{IN~T_Dx&Pi~~%PkrN4!Sf$doPCqZ=7vu7^eTW++tJP8-LoCyLG$ zj+Sp7+jDHbL{64bt!FFeGYx)Irp~r+iknDQbe)tZJ`aNk{LRghb^lV3b#Uv`lUc9h)QfA3j|yJIwF;S;d5j8{e(CA4{58d_iKw%l`dbvQ zI>{7N@L061S-Y>)zejgmzKtkb;ZKc+FQXH?HP1Ge<>tMOq|O9^Bh5@H$#Qi^f82Xs zv%5@D*mc#E!ZS>tNCTTF7dm3lsMH{8`G{(f3oFA{iU(VKqNC#J~?q`{u)=a+)) zymK#ZRz*enpZXr(wG2>-H+9AN3ALLVihe&tSwyBi`<`<>8rB8Ruig>>ZoGpPHSB zZ=HuN_cVr%p zWY<`;VRgS&OPMU&4cM`gi8~mWKX#9zjCebU*6kJht$<=af@J@*_#R7DDWa-$`)u7k z@G!g}dFD+wcIAVIx6gbEYrU>{5!y?m9RDmfS7)a->hI1$D9B(Q{$!Z8z*3knb58RpH#zX?h>64XFr@`cf(5 ziQR{>gj2+qh=P+m35!$44;zx^ER1k4)>4Jnigm^ogeJLr)5#Bh`gP;qhJ%%DxxGC4 zI5f&l=IU%Ts(Vn7rTDPfzfIsgpj{5}FoR4A5n_1stN$TkfeK6CXLG^J69*mUk?67T zXJ{?$aw5Rv%J^JIAi#d4?3qpEFI-!(dWYr+C$0ufu+AT6SR8$$e@H|5l`|x;??t3_n~45@M16Hsl-=65BA}8gNJv_A zNH>UxNOzZXgLH$4fb>H*Nav74cMY8b0}LhQ(B1iM&w0-Ktu?OYAFf&BzW2VaUtRl_ zo~d#!jmoQhmZ(5Po)SMwfvT=lP#Vu^D% z1Srktx*63}0|L!4bL8qVZ=)iXJGA!VAv2?V)l8=77Sgu|HO=D1d_?c@0 zy=c3ZMq}DEC?xc?>^L#^s;)}4k*au~>8vUXv{KW{HQswzfd4(5u;7H&YHJ+AE&WoH zD!+UHu zJbC_|^$!kxl4cRVecg!K8|APdqXk9`-iXeP5!rVat52}Lvg2(z&NiL;Z!s+*e@~df zcuxo46^4cG1-%8uL8~J{_j|8yfua1zTm=LywL5(8sfw_4Y)$oulc7Li>^9fwZwb4q zNO#dE=>Pc$EB^Z+E6qz?xilfSxK}W~YJYU-kMpR+`C{42nZOm*!n#O9tmtm;GJTa+ zgL%H0X}%e6^cGjLd=J`oAA3tdS~RlU&&823Tn~HtFlFUv;*Tai4L7eIZeGkt70)nP zc&A#A&b^K5LO*Te)wD`!;AC*lV;b7hK#oR#7%dU$zEXM9goZwblnw65P71ZnxI%76 zs4Y+Z<8b72HSr)q0PiQhp2}4F+Kd*g~`Z=K|=~Bzqjm z5f;IZ6N5$xtuZ+PEylSp=~8Cd+p}6tX^V!SSrVan2^y3kTDfSV&n!AkNfh3;P5g`o zG7q}4ltTel+k9^zlOi0~a>NBf$l$SIVwc_fXPgCq0e+MkM@Ztm@p{7g8cw7lE~^5k zckqVZ$v^l%l?%Q|=|BJP>i-CO{uC2K^vMr-yg12{2Ew4BZb7mm7EvP)mPu>%A#)X9 z^Tcme45qD0;VA9eLLs-t9D9a5`!};vT){*4cZ*itXNx{I_@*-CA1^EuR_`&&9kkLe z6E4zZu8)-dkm`kvE6s0V!=w9#owhW%A6KST* zn>f1!>0h_999~A+9(7Ii@LlDKtqO3^Nz7jz-3k8`>4`<62u7dfCDj-px7uoBv3=Gt zp$5t3WxunnSKT7hZTl5VhHM;9avKMAv`k!!KmR5rG@$=hq3oS{an$LAUn`nePez+d zza3wHIgT@>pJe1|L%ii5gUDf*Tj&1B=2VhWrJtVTS;s8%z=rDg;oeGjxGS0b|7~rL zf4BCl@{hZaZ-M+)4{fRzznj|Dd#hPD6ttHS5eRj}MPtmo@OG1xuT+{ILP*nctL;NH zA+=X3O_aQH2j^bD>@Dl4J$>z^pefyjEjPljjh3qk;i|?f!u+p$ zdn|Hi#KripF_xOj;RrLJVv=;q4PYc{K>(Pi08sod>7}BMQ4;khr|g9~SY@l-!smNJ`!CYzuY?z# z$D6V=`b)S@hOd99U$;M7W`~yzt>o$8Wl&`03Uv;D^4oB9OucI7YI10UFYC zHpuT<6Pa6E+tYa&XU}^&_h_aDhhxlV^y_hwK|`Q6zyQ?c8ZloFwP(+TCm#63a!rsy ziJmW({afoF;p4u-!2-}B1E=W3b<+xmyEsN&SHJM4Qg*?WW~?FEW>REoN>R)&L?Ckc zDm>IpN<4J=gBW{-g<)DzigdtEh-s#gO)}}=3-AuSrs65j_o>SR3(Bbz?eP)V=gH7MNuojXu3CB<9wfv*z5Md*DF8( zrQX5W<=5}?-fn9Xtv{fuyxUV{7lBof%w#;Zm?;AeG{YWV;d6Q_wM!uR=1LBL!?e|l}%&UPuzt7Si939x!Bl&rIwY6&8s9O zCIh@QRdy-vdYv?pEWr``1bg9BFcc3xzpj32cDoA*pSA54f^{3&aSIG_mtrb~M zdc~4R(kEi!k5Zn(q3{&rBl@{me|4-66;i$`B2Y1VX^T-UF2obg%=3Kcs}$F<(um0- z)vnxPkNYZR5d7e3Gx3A}Qd~G65x+$8XU&a(S*Bi&+ zTS(8t=U}C?pAO6^^9v~SMLhEQUd#U58!6>Jk`RJIEv%;j4r)YkqK{25jauQA!{;}P z<#y&%RP1Axre~H)i!9uJ8s1flh)_KHu{_afg$k?SsgvSjE5sb1^N4q+ka(E45&UmhN9kV-Z z`f9~z!)T9DZRm2;&pxDQWxl%**^=Q&xfO|PUwP7DHknJp7ZjZ!;^`hPAl9%>OmcP3)!lB&Bfuei~ zMfw%7z;mgH@7^NQ@imE>tWVqIJsiNyeI7))wX|OKK&G{(H(Wiza^t;CjtLh|^QHV- z@#VE2H1Z4HlrK*jq2aBw4SVE7+0^^EvsU7NO3T26VoZliR2vVWYkvvr_Ae-wzCwBC zEE_yJ&#@q`n~ZGE%R3#BPNXGJ#WX+t<+LBGbZeArB4ULu%)Xg*y3X)5TK;GygejgPvGeET8#tz=9=d%$0Ivq`~arT!#rf*KVivCe-j;A3*e2ml*@F~3tEDC<4F58@^0=F_JqBZBH zzqsuw9Jl3PBJD1ebCa|_Z|R|5$Un8O=BitHVVL*ANKNPme|e4}ml~*4c@_qX#)T&l2_(-}@af z%k?jHgk)moiDwczeGZ5B;3k4UJH$#t@7H9J6l=0w>9+*9fVX528UHO50 zr`Px9U)z){%)`#U7uaS&8m{)X9(d?K;=AXyB+Cr)a&$Uk z`_9)pPDeWs(L$s|njim1bH?2FiCbWN1ddpbXJTVRKjUI^N7?}6sz6oAuyuuS)zCSC zKe@LDugvSsi)u$C%H-FL9!~utF%N@!OW9|J|8Pj^M;#KB{~{N3dv%TG_aBd39InpM zzZhO_zh^G)8#s{^EqJM`?(B~|{L>RE&>CF>{c~F6ElsN$FJUoT&JZ8XZ2$Y=Pq=7` z(C5@xH9CsC;3{118m+6}yj)dVZ_&iO*C(1;`3Re!AFKjoleu=EGUjqg&6o>#jwtX* zyCbJFmc2Jcmq8IatNFH2EdLgq8lw?JUQNu+Mw<&0#>==DMh{^Yt%+QX#6_89Q<04{ zMk5LtJsMAhKQf%W8|ePFTqI(g! zvPDqZ37XxFb@D)KYiBSqjQ1+Hb5+0*>hwn=W7g2oJ+itUvUy=CQPB+EWjus?Nz1=M zwwI%_Kdm>P+guhvFcQvwaDGqs27>MvzL|^=9tlp{YEB<=X0`2FQL&+IQRbS6`WHZ= zFBypb5CsQfi9pQxy9h%^{)CWP3svrGxj};*iturJ+Ehs1^Xz3Nx3-wF95sR7uao7P zN=H9yRaZQug6AFZMs`vLH3*wUvd>Pw)T&n#)6cZv9(YZ@(oXWOr zi1Jstsv80YLVB~ABGNi(56JB{4e z=UX4`LlS<3XepO$J)r{2`H=Fe78xJr-pYVqLn}&FXF* zu8o7-+vUd!D|wdA@u*fsMY+HJap%ZLe<{?^(IT=jA%XPok;Bf0I<4*tW$0)p*Q688 zh575_l_MrZgwOgWnir4m{8rwKaQ@qq-OQgFD1gFrzWOACx+G7_I{E=e&8-j-=O%Hy z0-Yj*6c@?GbD27wt@DXkOjgC<~m=iV2E0L-jTcy(q2hwUzkF9 zxa&@a(RPH~VN?{6}BgCKzInPfE?3r`DVw|Gg=2IL&xp9vKl zs#bXmSPXSc@GGNCEjD@`Hmibqt4;Q$MP+-f`A?tOBkkr?6Bbc*%E72e>PJhXKlOfT zrp+&HN;`sX6g(qcyj_wosug1)%l2*tR)Gpk^s@Z6M3A<6NZ(}m-k?W}e$*o0eqHv*%K`B&e% z;AC{=t~(vaVdT)}wa8CSp1_QcXjl6rfBeqVCVcU(_6T}bou!Mb0bLp8N<@t&317kl zI*C=nERsDMXHb&Oz4h{`Kf4)PSl!bf|5s@15CdBT9gDBq(1cI=2^i=81hucm|+v7OBIHChMz8Li}wYPJy>t)xOfBncrcFbReAP zk2@-X=PNw9k2X+&f$)t@maS6LpR5n!1Q~HI-ch}40@`zKHW5R)LV$66S>9NpqbLa9 z#N%E#(rSG~t5ltR5JFkIptp(~;P~~+wZvZq(fu(?$D1lE*#!zkad_Lt&k_^$8S8k! z_`kyOXdb<|%z+SMhAk@xOV{bEiewh6?A*@MRJ3O$GnH*AgSSW+PA&0bEpjl)K^)FD z*#k~qDHhl(C(8)So_!{J-Q(F?ZB_v@lzDUSqllF^w_rTdY%bIKWcn(y(XFK8Hg-HY zt}z8@C054~&VSjCR->aE1}lHm`Io|Qq1hZf^&|T!H{WINH^C8?IWjreR79Db0=HSg zMa)-Eu5wdcW;Ev3;`U??{>a-^RVj7J@)>I@9aGq@oMVfTyIX#XiqSPbWLb+Y#QMG| zoH`NTRgO`@#&w_h6bDjW=xI8Y&Q3%iO>N1Tp{b=h?>9M8wN7dzdtO|rz<_By%bt33 zsCZpzuvx81WLp9skMBTB@(S?_mUH0_K_8QT4$~TEW~o1Ag7KiIce7rhdj>j;8F}XR zo+L=m)z@{weVxBY#Wd4F-uXdE~Yi*)1&%lCdu(fue3bOqOEo9cDJpQ&%lk(;o zogfkysQ;?)e6{B^1PE`Xb-I(Jkcb3cGvySENv)N7sCwZ%3r|hDtPP8y6?KLE70fh`%7!F26x_JEYD3gc zu71i72NBd_@jOpSs;<_v%96CAV3>B^B{Gs}9?e%7ic@=vW8>{xbQ-EfU(#^0;@zKB zM6j3nax^ezi3qy&gwWfzMQB7@Bn8dNVrw8fuHy(zs*$n~+ByB&Tktk68(141vHoA5 z@xO4LWYHrP3HhN7-$I z-!q9rvG=CM(37nB5^FAeTo#$Rf<>q<-t z-#!*;Y;t%H1oatKS%=jPgTM%vY;Zrq4(!wNmv1W!cp}1|rOg5ZHn?ikL(Fl#S169< zofN0(E9#-rir?MnwzzXMR;;g%RKlaZ1Q5s;r! zNUup34E&WG_v>&DqNl!1YQ2oP(bf1Yj+ZN3^Np4k_Mr*^fb-z-3KjIjolIKR!sEJ;hl2*s>v zMh1)9j;p6GpKfL0>&`4o@yuJbPF$U2Li1qh8_koqVoz zVyPH-yf`vW_Ulf*s{d?|TJ$hp=y;mMr`WN+b7{zs(NCsE%2|ZEaIP7)4SPIoU5~Pn zjoIs8;sx4UHS$N)mmF|YwX&fZ$WaN9!6x;zi%BnQT(XU`^$khOSjV zQ=B)*&AXi$=v5i%nZz)lbtogR3>j&xo=Iy65pa)tp?Lr0 zj**Yrvuu~O3X_-=%~x3`s)SY6g0F-8WQzw+)JuXW_qpho4-cc1V$Ycy%hqDxS@qGN>L()EOFcry3Ttg$W4^EM zf}IV){Oft{cX^9i8UC&4;k@@#EwrxVs+JeSbbsUd2IQUdr|tQ)a~F_x#!kI})@R z3Z)0cTZc95vPUXqq>}-_4P*OT=8$8@VJ^ROI7MgPi8S}0sGFH@4TGKl)m}H=V+iYc27!v)}#r{*XpZ(9k;4W$=lAh8~ezr{D&)N6pg?#OF6UCxy zE=v-Mv?==WyrLF-eDcH8R{^adMV3qSJnpAkIpi)p*mGV+=>o(=#mlk`E8|?q{wUf& zQoc!IEWt5j)ZB@xZFAM%3Bl7ELF+H0^s=7v>A|#^d`@{8I#x7!08rz+KG5g0$X>yslwDSV~k0*A6i*Hh$no9Ukka;lN9uH}4O~N>w%LtyWX%8rj&U z(6+jS9rR$9ci-Ew#2R>O+r$^CkH_oOka2oTM3jfnXm0EqTr-If76{woM`wH5Bg?m4 z@;uSQJAP(>al3>_fnFT^v`6c|D=9Fjqq972XJ=Hh)`e|E&OaZSO@U^# zsoPPrumRtMC!y!&H9w72GqIfJ~87YmOdUcB%Z)+1HHK~_X=V=h9e(M~f z;~6rhEHrJn-5n#cCQ(&ELY?MVLDZzQUy9M*Ab;leVi%UZJ8P>}%YEA@^nPAG?@;Xk zXY~LjzUot!Ru-}&qBZcIX3JrF!{EC^TiTJdj`smx#MbW|a)l*ta>4PT1G7(jPNw%1 z40e{!H8~ln-R@lTEoMLAYr3cYk27`#|H~Nzb3Cbq=hgQ}z8SZtxoxD~AT!aPQuvRO z=DyC4SHdIeJlw(E)zj&a6~Lj~eUs+=7%kL+bGEoq=lq13SEHqd8weV8 zeV{XiKno=~jELm|S@z%ngK zdH^7%RH*;>3lp(+S7+0h4fPK%$7CBpcrWb+QfKjyK!aSps;X`vcX59CaL;bVl;Tsw z889E1<`;}N=g6_)TY!vbkA!9F4lSrfVYk-zRf{Zu_u$689trzZVq#+-6uzd5)kwKR z^BYEX)O34OoWp^)Viwd}lQ*q{G;*!#{nJm`yppCeAL~psQI46bR^CwF3Aj4lPHd8w z!_VC%?h?B(ttHPu@LQWMs<<<7usDCmyU#ZxmM;snv5G~KSZ7) z73tK0-WIOjDljw`hg%+xSRii>LIUBreb_Q;!!Z9 z6GInu<9+g9@ebXfxVoo^!0SqN(SqG>3L24ER7S5R>Ag{x+mYKkIe3t*a9QZ3`z{F+!Ll+e8XLR*oMFc z$=dtMLviC?5&#+ziO^(E+n6oL5qw7J)Wo~=x&CoOsq-Y(LkD|b{7bjhDuUw(R|O>f(IL8+UR-8bt=yeKh_{Exy|h61zL=kXaNl3EzSk>MPm3Ml$igl?Od=Wh7#ZW86=l z+nm1ehdz6l5dV8^d2Bf?xX6NJ4cE|Snk<62M$)8F(Lhf%b{vFWmafZeqlX&= z?{<{QeGEw;gjSBTI@dSMEH|e_GhRhni}<`!4tK4kp$$!LJ;gWi1)bcC48?WS=UGj{Z z$VfJq2CCfWfO0Kdk2&kzEvXLQ{h@gv;jvEMTP55&FpnLYqpkCI(?d;LkXvE$rn!Q-qPi$7(FDx#qf``gmV; z!uK$MiBjq17*oOFoq9RQYa`^|FCM7^GjVhYo$_^xyVxpDy%|@eyb0|q;;pSHADR`( z_yd~P;i-H+h?uf_R3_AKS%H#U3`z#-_LQ?Ho$M_<8Fu-Xi7%WlaRIC^U&GZ|wa71S zWmhT(aeZwzG{i#$u1jI9Xx96EP)4~jh{A^>V>-_R+Y;TPn{IkMJE@X|9%hLoAsxFg zs|l;V?~7(bJM1YCC|ABSu!FoDliIM&xB3pJ6JUIo)*^Pd>)fDPCLBhLtS!#vR&xwt z-|dpjAUIp7x;86?C#WvC2JibS5A`@G3CI|eL}FEQFG^JBRg_Y+B5V5IU>Jm}1Vkti z^^6ls(D%>BcK$Xd?(FfjWM%zWDz-w_RJr(dn86()IpuII5Fx2E(!BiUf1Z+9`2V_} zl!qwUy<{ZWI_v@n#+7OzMtY0mqX*J=QM^C7kELS;l--*u>=>M zrP(nNlWlhCwyRBRu`y`C44efLf%%ca+_$GS(tw7IFT~)_Ydse2K0~Xtv4F{+Ii5t; z)_d9qPZHw=*s_5RqxF0D;w=;bIIVmOV~{=`V1mzBEF@dQ5==2rnP^(%T=q;Ibx`rEnF!g3o>u@odREk$q@$HNkz*l@5=QyLyTJB~< zLGZ)pX{@1LbKBt%uFMzS<7w)kVVvlGK8;28)Af6{NE0)g$de13?*)13)dpVI4sDqn z4+O7y#VRY0_h!1!-+n z=;@Jc2H|3{ALzRgQuhg%g3j{D%d4IuU`*BtnoSjQHC(b*W_V?U<-Eok!`pEt;E9e4AOTfX1@b$&r%x=w2vt@tqqIeB*m%eo`~e66 z)^8Qhd0C|^XHevOzoX*EjQh~|V&tg)c9V%mFC$+E$8EDr?(3m)Q17ZTx(St)N-STk z<~*C_hq6NLRFbQc$cW9MH@ggkKkzAYspIUYHCYdkXSQE2@Q(nJU}t6lQtF_xFPG@q zS4y6p@@l13SiQIlBBbf&NB~f0_rooMrGdwK`wFgF(#&f$5TarmlALN$8#2cm?w>dD zfeC)g%X%lC@2!ojtneReUz9+@9~R`{L!_rj1zf&77JN{2>Q}JbZKHbaE)JRBzLKf> zP$&xzr|g89uks+c#GHFzSKp{y>9s=lW_Te@by2l%LB>EMk>6lUh}K1_akTN zl;&8XY=#u3S)QU}_BhiK3%RJBYBbdk!W3zM)L9Px1 zyE%xzw;;&~4&+AFEray+Fu~O5K z0j1ArZ06mG@mp>!E6_9@Y&5-C+b)0U205{a^Cx7LYj!YRkdTGMbiviMsPDz8fiGqM zniEv0ZmN-}XR@loIup-X%#mUZ*&P=d6QBBOrP7EW;z=o8I|VW%?=C-!fYKK*&kj<3 zdCX#W#>C2YgAQBQuX@rca;uBMYk~oWn$euk&Se%GF_%zzFhIMH^Y#N9q?vVO9D-|| zYntN+db0}xYqhcJI1FkK_Lgq;vmj1yO)eO2tE#9|4wn_TR>k7KJaWRTetLf2hwVMz zuaeGTOTXsuXZ;<60pi@mE(-kHzEWZa`GX6lPtzQxXPJxy#iqWHNo0_&olxnnP44Oc zWqL~l-Z)fynXb?WJLX#ajxxer9e^gV+$?dE9SMX9j`#E)P+rnBN}A0fN!Y)5`Ln&d z)ey-S7Kli3D5nV<>NsW~_H~RAxvs6HCzd;!CZ?s|b1xaT^$Yat)HQaXm-5tGPpn?* zas@`KwrfOpiWNw9fXY?Q*D5Wo9q$*+0>v!*9bk{egeBebT1;9Ze*Q!V>fDn8?5dV8xykf!OqMeP-f}*msU+8L#Hbi5Vk56Vj{`x>_ie~2ZYkI`A)+{nn znRZUDSPPd85=9Dhk`D|k0I)dT61%!>nbm@GwUoyxkxuzL$&ND9u^fYdBrwwX@VYiq zVVa5E(LKC6NmuW#T~>>qL-26MU=9jWN0bXpQ3oT}pj}_+sB(?Tsfss#)SgK!ml#q^ zV4~5s;qh@T;KNe2*2bnetyJ9UeFKuBHHFO?#;TpU2$xBjZRxznvgyiIR-qt=6VaWg z)u=fB^KUrruhS>?KlX+u{l=6;J4Gdw=BP6d!U!>v(MT9h)Y5}^h`u|`^J%iV_W;HL zN*zHY-aBCRYjm#{`sm%Fj&#l^aZCKeg_T9Znm`Klq;|RCMXU9` zl(1G18qJtVqr+f>!+Fh5a>oZ?7=?*vF%<>6=)&cJbDmz(QZM{9xu zuWWTG&O4R>(F=_m;9UCQBu?(68(tmKhP|cpf?|iYJO_A*VNk%#k^m|MnI7YFbGwN< z8|%R!<)gsl_wOe}X7|R+`{=>mGl6El^CRBS`c>D6)!~%5Gv%>R94_w>HCCR5 zni@nPjIdzxGKl-nKMSfdMcA#O~67pG#N> z4Rzs4@=DGgiDbVxe{Z zt_4*Ma&Nhk<>+G(Oba?@2QdDNQYO%f>|;CJ@;397;u=2RS7dIXI}L1b3wo6mp34Ne zu|*4YA-s`jSbt%Q8os~)=B5IR$DqD;E~GIa)5zP{!QxtJeN#Ja#&8Mwq8`CX@c?o! z_N+;Pn&Ao@WE>fns%q%KP%ZH~#a@ugI zkZya5IVg+~0|XrtsY@J5uu2Vz1aehl4_QiRO$;se7`8Tgs|{t=1s(r}6eZVmz|_m1 z^{VVT`uyYw&XT)_{mzoP&O`0UXQd)vp(!UbHoNKi%i~nG_Pd_ypUsqkX-L>J1{y~; zO5rcaHCaM3B;0-t?i7wr*64zmS_z_*x9&oZodV(#!~{><+vW=_BX zU>P}<<7h$1KbMcIJmcbAbI>&}@aV!cB{T{PLBlsd?oh8JbE<0~5 z=)BdHKp=!~nXG@5F2Jx zzFNPo23agZxS(>r%@dL>xHs~n2fW`kG;qy6-yo){cI-q`#!#Tszq#;>A?^|3$LIy(;r60wa}9Vw|MJ>CvtDHEmL+zq^r9gy?d!B%^0e8(iN*TTj_u z+9&9gY4%9iDg(L@G!3y!4iVx*dT1p!Hw_{>@IYQWDK%6*B-I>?9Mb6&+tSX8Q8G9G zR~_5UDaFjhGri~3m>UZz4HrK;taGE{j282N?2$#)We36l+8vION9c-JCp1j z3F>s#@uNYV{0^dDMkBHyv?J$9qNOc@ow^jP<)LwxDakykF}Dw`4fn(Z_g-#M-nX~y^bh3XHJdn1h&!bIX)_>8QOJ# z`UKpw*NaiPRjqL;c7qjej%nE=;n918&kEi_RyPNU9H-RTU|H3#9(`D1Urfsei8-KL zRJu8azaEMB$5t}aiSC$rap8--2X2@sqh&RrO^I-P@bYs$-METX0c`-f9FNj4falp) zlLMS3C6n#FR+wmfvd86pFHYro4E#!l1PBHy%poN(06t)u{G}=NEn0V`ywmoRz zH}f_KewunuCKdFmY)>=ZwzR6cNdm<4ZRXt%DKz;pwG(}syRNIBM+kFBl`@lIAtFre zY6q{wxq!CQ5-e9~qxropi{V6=nPl;=Ewr5w39R@5NbMgP5TzGZ-z`yA ziB4s81jP*0&I6q;6Lv527`tdLpC5eJ|GwXnMIp|x119Pj%6wdtXQZt(9_%!0reDI| z07gRI@HkX-{$bMI1<15S`Z}l1hqIU6{HDp(%_vk)00r}4!`C;pbV;r0yZ&CHFP-py zaPHY3;R(^%QK@r`?1`+31i$F&pv?F!<(WSMR-kA3)(+v9zM!I?H0rLMM^##H&s7{a z^;Ww~X1Qh97u8*gKmR`$iQr!s2`6qMwVJQmm^mGZqYkgVTDd~f#+aMjRxFQKRhXm` zkB%jnZAba!=`{}w=9(Zf7GF-KznqFUIRD7%%F1Ma(oH%C9a!J+ae$DPg9xXwjcJSu zOZO`Lb=Tu-imuN<1^MwWT9YWWm&|`aS9kSbjKunyGFl1>lShR~={o z31csEKwV5`^yt4HrMd6w=(HVuPv$iPXKxkBk$O32P^0Er@9F+{kq7YUEJx}RNs`zH zK*j@u8-hnX2ogbLX9WsBYOB}afq(GkbwI?>y8c^J*=03#%xLf)+gIl#(qBHPFHCRT z-__Gv1^A;pzI4e2FOBq(u1|}oMfdXY3yy?%^Nm4v9~U~Ao+9T-AtPomU_kS2K`d=h zU)OYZlfips9x%oYfjMz$vxphSVgMjzVN_%t_FMzCh`I{|xs{`~ab=;U?kA&Pxy-V6 zOO%y1Rde;_pFQ;%vm=i);|zT~!nN&&D(dURN`AM`ih3f2P`LW;R!cI~Mr2XU_wq6~*K0k=8tf2HGec#y~Ak{dr2twoQWD^#Dj` z>~+aDf*gCcm3jIMBV*HTCnJy+6A{Az9=>yQ4<7KXlcmX6nlQtIBjDfF5AButH(R6r z*(C)Mx7&4b58$T2kCSFV?HjMY;rvk%ITG5Vk5!OTR`v*40IR{!9>Pz&E(Et0H|?22 zKy0nJN}%bWGesstyW@sbYc56~5 z6yZE(42sd>1r~nX(#I?k+>0@4E|onRx#>rZ-!hilNey4Fjh*3Y z12%5q-R7o!|G=rM@A6yMsjjPnYC_+y-8H(ZvVe-0X%>QVXQ-}!4-xuOcF6zaGfVHr zI{W;3mT6<7O%yU&7Kgvu8^f>t%pdu&2-oT!A6A0|l9YeEbFTXNu1;dU(XTk5v}WgD zRxDPg-VMnv+;$W4EGE+~rgs{G>8t%yL9nL`5Bm(rCE%_FF(4aQe;qUnn# zxL8{JRmNJ%QOc}@OHE4e0rBf;aU%>h{4@S)z?Iv4XYiR@pqF|)us|HPhTNO7sAeEP zQ@<`9q+b@tK+lE&RSTZ-bqfF~bthOi<3%hsI6Rs#$VH3xnCF4)?HtvG#wq$+qUop zrHqqc->jq=A6gLEl?2fn8L=pfJhCLH$wSxmko101ZqtGlHC z4E#4;WNYhO-jL@CMal>d1ruYsAC}R8{=@wo!zv>*-l09;E-Nj+#Xd3ZMC zjZCCLyoF-YX9<+qLBWGCoLAJG8p}|#%WVZL(_IUB1(f*t1enPo$$4dY5Z_q*bRK=`sQ#oY* zXy}gr8KTV;{WrKyputh_wEOjWdSZmQUN1HA(N3cPTKLj z?zgch3( zLQwJ&`eZ9+5C3Bx7Jt*n0rnEW7|1KFzpCt1diU9NQQdPlVHi+w{a2BdfGktLBYHl$ z(#fEObo~2ke8%!U>u|%`8H3Q)R%2c};nlFYL1_u`I_J!%+p?fpV4A9CL2x6U6VPJd zrP7oeP`oJy2juVOHvMgmpA@e`H>b)kv3h(cmcE z*ELvYi!q4u)z?$j@sw*l?gNeb9~)Va_Y6LGP@$Z&{b^ zD$Oza2c$>gA+I_C1`2Ac4NF~rohDh~WR=zoLF4{b+OFn7+i?T}>0qfSuf`RLN+Fe1 zH9>o%$jd_~+-fkO7gW>Y_2$ygh0Dkc6Lc@S?bxl#X+Db}&}DQxcfblQ=a7G=iz`{N zyrgMxW6v;Mb)(wCo+Wf0Fo*Pt@PFRRWWkJZ3NUnJBdnee8<vvi%j3F(3XSYujCi^u>#bw)=4c;8+NI$W|L{+?CEwq65HN=%}D`QiUFTD6bzJ{ zL}bxKq+yC}#=&()Og#O$@Xy870F&#K5#@d<_v zgove@O-ICsVDZ7}h2H2n(=Qebmutl@_)n%cTjW%HBFjv-5~6ygEXi7CyJi_qRo|+) zjur*pOk(@hC_Yv#Vli>*@kafxiiY0Y^fPv-=`KHI>Evn*)H zkM?(R1ZF|t4hr*iO2&(cp`0QO{dc3t`3{iDDZ_I1Gke4YM*YF51k)QNAwMHNScU83 zDML=lH@naSsrg+W!H>a~3$7BA5fuLM*Km9YX=f#4zu=$~F8cZu(6gr*FUNE*)TXi>s@r}zH1_Bb;=4JDN+5X_pgA~BRSALbJJ z@CnwqaCS;~kP0J+ZOKUHprI?9pP%4l36moT$P>3s&p#%<;EMW&M>buMfw?3UHY~D_ zdu|XWfH~XYqsC5WBK9zk?fh-4+~9t;%bEE@@3CskwR>xpV6gDudwJ`}-L(A{(uTm< z4WYSkT%2^2`dKzPnA{lv^5^%qXR)0tg14Y-};iPBNDQPh_&E$|~mi)VHMr zIf&;t#p8C;2!}eEkoZE0OWFmQVC{*#pQ{e6@u#08Yha$~J1=_Ewip)lJ~I!8G?a9r z{KdPiQn{}zvra3X!Qwu9W}wE8FL!QRX>N^ieqw0-?FQgOxqK)8Z)Fj*4z@hH*WWmo#58U$x(TNJqo_r&1DV8Kw1YC1CE*hrTWT z`~JDq0|k~#l`V8t`I+~>-eH6)EnUP*`&7%Ng$SfD^kCv(X=Al$!y^exWJX z>N3C8;=M5U5}T?07OAxKF<<>Kd%s}6sfew3q{UQFOf?}?iSyb2W9uxVqU_qYZy+ED zsB|MpH%gaCNq0+kmz0#Wv~-KKba%%L0s>M)=SX)q{5SWl_w#;uXX#pgbJkq@+WXw+ zc^tnZ=LuRFf^q4`&RE5a6e+*sCqk2Y6mF_2)arMdghpIk+8sAA85^1#d7eueZo#Ty zSw@mkW^D1m)(_23GObk}OE}=P_<0{$S)wn7W(JmP%Y8y+NcS6vgBSE7_VJTtU$k1k zUysb`7Ap|EK7@VeMbP=Q|3pPDEBv@vQZVEqR_$P)9}Sl2N(@3 zq@iCv^zew@*j)iU;umkT&FePb-zRe-zz); zsos?qk#?X&B1?1Px(;|&qZ-zt z5U-n@x!STr zikdv^7D9!3!cv2UU-OcW>Tne#kZ;=RZO6>LBvG$1?;W`=soiOmOp~vlckVw`km;sF zH~UjTx~}~Z7ELHU6R_CHfd-ek_O`AuAKUI~m2J#fXDSDF`6o6wJ$LUOl_Q_>+rY}F zqWopBEx#A6=w0y8A&^q{fV28AR4S_H$g*ejvkFp9@#konC7~mChx%g1QYeG{RUnrV zX&xD}l4{Ly_1*+-no^G33BpW?X@;3uHPr`3e^Hk9YA=*Him0w$N8wI3c6;kFFHol<@Z(db2{|y7&|+a@|BT zyGu_I9}NCt{nb%9pPXH$09wy0G&XTSMucRYoQq~(wz}%-f~ICA57Mk>G64I}P0SdOPnBe7_tNVCIUqZaazA;zVKe@tKQ!Bbvxev`_;^06X) z|COIQVJ<2faZ)b-a(K}-00a$$o> zM?Fc20pa^gI(uns_dVDK(Ud1#*`1H$T)x}@_rF%%vp*&sMh*w^di!}(Wqm+x(({Yo~!ZO-l{lIo=v_?oLz z*xz#TuOX~>eiysc8E+oA^@?y2yqw#;*y6wFZQMTH6;J>8#ml?(bXf=*`Vp7aoAX*= zKZkc4OcW`w1gf7SW$e8%E8go3lxj_1?I)czvaJ-M+h+5sNic0;mzX!=)fpUc zjL^E@ec`&2LJ8P+IC-4FhJ9!2i`snW_FA5xV^(GCfTVt)1<#YZPm z)5|rcdXj%8%;dKSZu-roArSQd=?#^u_hrmJ+SCvjWqw{N84SI34X z3t%xB;_iEr?U!C#F4%O04U5D0LH#+zb7w=?sj*7M=P4dFYB@JlvS$wkv36FQznz|u zNGpju8E~FnM!fZ#zP;hF3Y|WeAD`uCZH(@S)^k6zQHRSq; z)G$m$>+g4e{+Iee!{XDf$#w8SFu%xTc|ev+gYuPX$F(y>j-6t1he=Y3EmNhdBc>(8 zWDSt%ZDxUQ1^n{l8^{=+ACskx083t`JB?ia!r|A@j>n{j0)|64Vx;RPd#==#3FG@x z_oX;%>fG()DC95}Jf0rkVAYkFm^S}NLoF=o-&u%z7^_IcGcC0%!s~hl-ds0J`>elc@u!Nql>+ouXe!N z5|@DEe|;H>qU{b-AaXPLv|ar?V7t)j=dQ!)0btVwZ5nB5LrJ$g5l%dv*mz~vl$&l2 z_)4!1vHDzUh9p@(G=;9-tRQz%H_#+pX_}8?Jcbj>@2%lN*Vg*V>($@nm&NDp-S3`L zkM*6~cZLogfyPQ$-TI#$e32sZ-==1F%n$B0>|$wjl+(yZ01B1xfa%60aQ=F{kYR4( z?Pgh>q8szVu&t>*QNQU8T;hUiYVRad(|)+$A8E~$sz8PITC9##TF-tYc_f`MqfTWB z;@vO+rk7xPc-ZU023#Ibh}OR~o!*R=j7D@w@B&$6uv)8oOhCR&EbK%0Z?~Ii@k9@Y zdsq_-6fCKkecQygrh8^V9xLAOu3yn0A^3du{W}C_A^Ud-z7GkEQ8{B%pqwF<)m%(? zP?D~-5P5q|fU1x8E6;`2Uhn-TB;0fu!8RQ*lDHo0=G8lT zJu+lSyT<=|*7sP}>*Hr-kn6R2s6aPu>EUOJ6)kimeAZxGG&=hqg$()6o-WAtn0W?i zYDkaqRl>OIvTkl-YfS`eAP|^;y-kS$E%v1x?}n~8T+_*ECdZpq7jtu&{jGTtFofx# z*T^q^iQIt{qILwlA&cv+0zZL-iQfDDw=($t0Q2tfaMa?YE%A%7C4-`3jdhaWa77hJgOfew&q ze3CwJx|O^d*LB@oVBx@S#e(H~Y*>l|+{WXBZG0ef2L6_o>Modt52u$yinLY;b*on* zFdd&7iD^Fd$3V9v+k4_^xXpLEowa4{I^*G=Pr7znQm?3mzv=#PTcmyECLT_*NFUshm<1}#6e zZ{z1(Y1BVTj~a_2Fd6YW(sQ3h&g+^6^bUM%@!hf$R&P&$*`Psws)DDn)AH8YkG?e> zf`CK4{aHu_d`m1$|7zN9lJ&);)-)r%3bY)(^Ans>?^~RaQszKr-t07_DO;XxFvWa- zG0R|kbHt(5_b9dy&$}onua#S9-jxt4(vAD?u6%cE{nK~>ypYi0kPl1{n4-`4%{C&g z7rUR@o`mUpSx<{F(^j`IKt#RD%y@q^qzR_A`d=?$k1xb{@AWN(GwR$VY=Uj$&HbH+ zvQPjO<)iVjl`mNuH4SvVD5VDL*YH8#Oq`R>d4l;$NpTjonfPo%qg-Qh8%Ete^m(b* zDI%dGue#oz8PcHFCNLyivigih{jmT8dQosZ6^W$(&U1Dh5AJBC5%@nco_F3um{eanW6Lp;O8#+shcTaUCxT($BV#Zq|# z2Cy*2^4Pg=P`_DcKkevrD_v#4@856uX`vCi= z{bGwL0`;MIgX_+89v(L#I^~~_k^a2Ro&!JUB`}aXh zHQic*&HcQB=^1s~QN3KCdt_UJogdZ-U1BP|-lI~}Nu>sAPVNNp+oh+G-pfxJXEm;( zBe5(0pWhwvzu#R?7&o@U4iI5xbqz!XQf_^;sIHZ8cN;Sw8ntv?HwoBNb`NHYP71dtC<~9cna_+OfRh7 zF7q+pz@1Jw`nYH*8y3W$J)&X(@2_xoqw7j3#w+Ir)NQ&N)es=mPkHZY|COvPBZfP0 z(*h9AY_GRCaJ{&N^`|M)9Jx-m?hSgtS<)W5^)?E?-X;FMmpm1a{kH@Jc#zdlIZZkXgZ%|&dI@-szq5g1L z;ktx$rk>Am$@ae3vv~WB6$f)-?^KdUfv^FwT<;+b?t_bNUbmGLYT$2~t0lSR1 z=`a+45lN}Hf1o`TNS^pbnb>Rbk4Cz3`fBUe&Bv0N`HQ6G@T79$TjisSNIobh@MGO+ zL3>K&e$AzK;&skS6#|!^%t}cKJQr)d$WM{w`htA5#XBZ$T8l<+;T_VThhcP7%q&e# zS;S%v0#{MMcFvk-qaWnJ5rML(3 zQD=E?Cf_}i_!$}0*DiMJ7~8qGuk-bM<+0?W^gCVO%p}k=rBF?OUHZ8y4yxzdK4zXtDVKK*?}0e6LF_a)@<;AQyw3>a}?OFJg6CjPK;u*>q7NsLI*+ z$qt`VoVc#K$bhLr(wzj@<}^~LKpBusJ`%k$ap+e^8_vA+ZSPsTrWDU=nTJbC`i&qH zKwX9lN1p5*>B?19S9O=(2qqwVte0XCdT|3Hcjv45R3n$>t^nP+oTg3CfdNt{wmWpi z-BpIywsaxkfo3DXqx8NYxjewjkL^fsXZqi26Z=P81txMeG>>ec#x9jzcT0a-uvx~w zyVIUMMh^Yph*S2L`*%NJE)@a5j)IVM1wDoD*_M)`5ki*t0#p{TJ!WE8q6UdFn^q4u zPD?84>pHLE&~z@k?@C!vqYDAw#*ePXy=Qo&A`iHJan3={viSM-tL>@2uC30v*y=rW zx9$Fh7Vx2m{bHy+P*i@M;OF7YJc+SOR@Z1B>Q)Jk+hv|hVsiy_D-JEhT_6c3VMG@X zo?l8#H69OTMpWsp+EZxhDL7#LYkl$EYy0m>;ZQGwUtr+&3cd7p0dbmM^q;F;;)$bO z1)#8ZBO(%Fa&)-u|6uxT9?Mr?Ai+5Hy?SB#9`&}v%3%<#O@iAY_4tGaz5V4C%H19Y zc#}$C?%akaBK}OkBQ{fc&wP8}VD+|er0Uefe7*NuHOk1`l)G(uFHbfbfdZ|7fx6vD z2qyEB2N`YdhsVaC_i0tUmGR4HT9NN!HOpg1FwN-5h!YS5c{Y2q)?a`k%BzR^3(uE7 z`vF-K>c1B#aORv-Qs*W^H5z&2A7+Uqg=7mWEN;J*TzUy?muk9SGu|K6pKUh&o>Jtyb?IK)8Vs<3un^{xdAJHgHGyB6z%I6>)S8Vu z;doN}W>2@&ZhKkuszPY<-M23{S5Y5H=!)&$2MmYoozThSv|71s=GD5vgKA%Tu64dr z7Xq$L&GW6>B?LJSYa&AiRT1sK`x?o;zh|fVV)k3ypJ}1=O-FL$NsSE=)qxQ$ssmT& zFTpTN$UIyv%mQVqj+*5Fx!?z}nPo)Vp6%-rLPi$WzQ6-UFqHoq<^1(*N&(;>IOjCK zRjuxy$k{~o=ee$Efjv=9i3!o*^r^rHlJBSmcB$Jo@rm_K5o#zue!mB?1g%8=1`VI3 zNkJhob=#t)b*qOd;0qtgtRjz*%7`^MhvCq>)VwVppC}Mk{;zWJ`tJ##X#Y= zi8zaFoH`}xFxu&*4sYZ9rYG{!Xc3{Zf%14B0X)`njA3wVU+|jLyZsdJHHoK4cgy=gJu}$VKjb*uH2KvN~&i+KH=a=8=%`GN8lSue^y%MlAr7O4m$-nZ>6xW z>kx@xM|oFQ)|Pg9ttN+iP#DIrJDp#-(C8Ph${OGB9;$nE1YxR^-?b$a^3m-Wb}nD% z^ZHDo-rt9_PdmM}vB)KwP2k@1if#8>iaiqQHZV~s_OckxIVpi-)ucdZNdm8H3LSd@ zI#_EAc3uX$-S?N2?VYH1%O&S*3k|M=ujAT~!jukgrme=qr`?RDeC6>b6fPJV&N_soy7 zFcHjdx_F+^E-G`U*Z9^Jm{2FBpQ-^il$M)mbkHS2(5wTFkGwi1;25wiuhm#M;RUsm zoRUWgC8W&=Ns_)Osz-N`f~95DuRey(P$+}NUgoDFrmod%hr$bK>7V&Tqfn(&#qpAe z$zDZl+%59HZ^aCs1?iQu)L~@z<{GV1!#Cz2v+pH*iWQ2izWP+Pr;R_&ljJiClNsTf zY%n#PbrRkG4h=pfq28fZbs{d%K`uhJJ7$&YqSBmL7zi~uCbKW_rtAVx;O!R5yQR}_ zfO&f@v}9!H^oUW0S-=@1C;GoT&@RURekdhyi&MK{>Ao9?Z)~BublfN!U zA=mN0m6dR?Gqxms?jYkqub>>Owuj9L1&YEbmyPmnD#o&7L1NkfjT>8bd zY|&eP3nr3LAn#&7f~sFRyxDan9K7jQXb3z2H%%)$Qd%49iA{RL4p^|-X~vuF%0bsx zHY@z^zM0R+yu8r2oD_?ZEqCpeF<{~_FsIyI<%6SFi!^Fjk8BKf?GrNnoSWb8^n~I} zBZVsYP1~h&5s$XabLCU9hTir=Z9Zsw^L&5E_bz>^)U&ij#87bqk<*f#BTnGB&A#A$ zqbIJ0?tkY^^50Gi2C-%k`xOu&FN3S%z}6TV=s`GRt*3_S9whO&aDG5}+aWtr^h@pi zbs?7$Ir|_??nL$0WVgJupg6y$A)>>Hc&12-4!)4^`YZ02B?2|EIhyh$!IC_qYu;_GX z|BY%Y;qGit9^h&Xq2#dls-M85QZMJwG~FHejuS9xFs>?|jepyt&Lc+__)L>g1i>Q= zf2NhdUMVD?rq9?vHDN&>0=dzV*-d%soXp)4y@ca0`z{9yIuUqmNKwJmoNrAxsysmN zJo5v{PR&^j>D1C18KTT9qlpi_0GFKx_QfX!o~29LFF$8HqUT$oDB!k;xOEBtD@EK&&%Ds z;YZ&9cH7yrXh%?1rnI(1aB^Z^^e>nSVe$H3Ff!O0{z zncx`Ow`9kyR>U*>MQ0zynxf^pHRS{w7~*&@TnXOak}hEg3C{5<5lN?i>lR@pQn*qj zd^BCyQ@d9Z?1=@&Y|ib~o1q3c1nrwkqeouz;;G3Hy2*&sv_N+S4U)~uh8HUU`gy)D zV^yCY8B;(^&-eIGtpzF#SMR^|b5KNEEtfeYc<_n+!K=>Q)|d|8l%YD>AiI->b>6;8~(Ppefz>FygE?QP4VPM7iZ}VlOD#H^zdvjv_ z_;lL+dw7On+G0hUA`>E3O)~~lXI?fsHi_a=W?!>NkM@zRN`KjC#k(4rquKnTd-#aZ_O*dSD;PVE@h_dUbgzGsh2a&RlH^^6=Xh}a*GBRB z*QiN`jKN9z>wUgr27M0T@mY62M3t2s8IEeVKfX+FQGQC|P!#S@RagciQt!UYML9b- z<#5J^X)6D$P(5#Ev)Rq_TJ&1=E_Ey_ZB?7E!BF4bAroH=BF^)hYU3X)ZTU(Oycsbi z8F0ORe>Q&C1+b#2U|zp2&)cr&4i;dte;=m5=btr-knuR8(4Gh~hN}ihIxc|sH#fwg zb9QO?0d0jA`wAl)`i+clR2_6ZR9-6_Z(Ae}H7v95=WvuIyFo|!<2ktn$_-Uh9qEQZ zaJAuOM7maI^=SC@g`>p|ZJ~tU7$uCOE0;-jl$4$%WyPL{CTR`nS>AVWW|Uh_?53WC zDxJ;0BM2KFhCya9;)>}c&m_5~x4 zVtj7yfwZ3#$m3-EnT?#b>zCYMKPWE^w6SZoZ%_-ea*n}-+$KYE&F9UY^W_j+Djn3k zj*BnGPH6ah(CrfbDI>{Vclxq_v6dQnH5I6K1jxBr+Gsw~zfdp)C4)M?ur~=3)P`S& zZjW>gt0eQ7s#y~oQ;5e^jB)h(23L1tXSQo_>#OiOi(0TnO&D9is~mW8E8-Lv>)&Y8 z_194u8f407^FAxlw0Nh*98yqMlfAL@D=d(U^2Db>JXJZ(GdyvuR3i244O}FKDNZ^A zzx8$>Y!mkKMaj@$^(m14B1%mXsR9Z^Ua2lxK5mv8oD}ucljd#?x4H1^V3Bl-_!5|= z*1GoYAeTzqek5|l-=6g2e=V4xiHjiV^Z1EQ58J*gX??_NXl>PpY;$v|#W>%G)Wweg zA*&U8N+k-j_s)n;wBUX+o6{X0%&V$VRE}pjB zevFSYTM@<53jQr3Jv=xk<#kQ+k^-b8h-yl~&rXb{49`%Zp~91|*sLxi_`Ly@vyP@8 z>*An^eLUL!r-WIl5?{6`E+6W9Eyf6r~d#&6IWx6HGr%Ib)5! z`&A0M@`r1NLVCX&-6IKGOSFLs@rJZ} zM;?k8=)Y(?4I9P9BH>|(!bA9}JH0RfQ6Un4h70=te3v^ABuo+-Eawi< z9_Oa#=>;(RtPA)47kLCDI%1Y849zM-R2I|UPg2RT-he)H+pAbquYPSYNgAyU0S=lVwuGn91rVuB zxUO7D8MQT(^-?Gs|6V>84gc1Y$TISDS91D&hK}|amO_mH#*VUWCecd8=ix~JD1D%D z3`R6P^tWuHROtpsQA}WLpBPMiv6gN|Jrdn<=n;0ybm3ZgVAgXYv>WXarLh5NVSi+`gs}r{2(5i)xoPaIsf#9klVV%%HhYcg z3Eh1JOZ%z^#brL>B4aEivb`C%@<``9R%=$37&v)n%@yI0M}@7H;y~#D?5&Cuv?J^j zl3H>lHbJT?M04?4rOag?-2K{nn9%u$gH#C&Weizj$}4IB_`fQ27^QT}@WFHwDQ6!x z;ieKte9hR-c+l3vuE%pq&lNbgGl?fO7+G9A{lM6V<#>Y}%&XRjdJl7M`|)M3Cy{M5 zgWlHs-P=gr|1Ruz29_o1o6LibATjaGSoqY89vC1Lc#t${us!V2P%v<#BJ>%6qcT5L z*uM5>v5RVAV@uCkA8P8=77J$NDX`W^=0e&}t=67Yp3ZUluakxsCzodKk7g&ncQ~Y4 zCn(P6bRJ{!rMe8QzjzNYfVsNq@Eq^@pBdtp=b^V(2*veSUh?_YrbCio_6rQ8OQyHW zXi$=MIQ?y7-VZb|gOQf04k5)T<5=_$Es@K?>eVc1X6xI%@y2z%l8OPKSIX_&y^xH) z39182SOAeU;s_< z_y`8?{Z_Bkfecm2Mjb|yU@mq(RYTck3ts)GFkQbG2jC=v$9XsQrlE#DYF)RH#=)>%uw!CfV5W+k=H+Z!k9vMVXZ3rwqMt>JaR3kp?zBon z1ji*Uy~hPcy7D!1RA$e&O|EMtz%G<~aUk*fYX^^Cocb)hQ`|2F#qoT{8Vjhdd#V#~ z>n@gvHY?rFTH5iXYS^)Jv1??8)BmfF%0>T-dHfOL%Mjx?Er4v#4USYxgX;+;*#xLR znQux2C=!>EWFB3Y)o71$Jk$caTX`Z~u2?RfR`QMLId4SQx#*8~Vx2pZy~Xs4^NltTL}|V~FpNCf&u`_0{3^GJ z&D!IC2vv0wBj(;$R)!CqE$&xkwH17+@e z2%;&xV3`_gvL=F|8nF7iF4>_S-b=b$QD4>nTd6bb>lVnZUBGAK4m#N((wWrD9F3PW zj}<;nG7As4cwUfu$`Y;EX<3-f9WJOSbJn;^*vm@-grlWad*P7aCDqCFeW48QgVCp8 z7!}-oA^dFQRW%oFz%U)4a)##Dkx?l8lHj#s*gfcN)d5ny6x^GgXAykt{tj3^q@VI3 z9<5&ZC;{ak@`Ifn4c?kp&%V@wsg4|x_^W=?Mp}NOU-`4+i0aOr5r?}v@qUJ4k5QAJ z=fVMq;C@F9q63+w*G!nwcI)36k;m1)X(>+;^hv|2!5aF2whH>bAe3Y1cXOAR>lyOq zWB|GHtq5=Wty~`0d6NDe9XZ9exXi;b1*DRs)y5~a)(q?gGm)InAcJ=m5WU3cHkaaL z*ojRa?&`nCQz~4n)oomVfmwaqVXV+Bh>db3$=O3<{&@pgQHCO)=P0@Al~zV=Md>fC}jUX}bA-c|(i*0Kk`nE1QiDnW)M@K;-Ycc!Jhs9oeTO zh;%taRxkbW3BM8d|H!vNjQjwuf%6$;e$1pSV z4cy6w#6J%46iIBJIdxNGlayhb zBxM+2$%Zdt^4~#^WVpvP{o|BVfxGgK9SG4P1j4%bnkVN2(rZUE$M}g`OJ|1^G~(SC zrH^m%wWSI*@@dT%2XZI@z=oA&2(lMUk{Syo=-UyC0_ugI+FFK|ZW!GvApGGDWB+vs z{Q)M+@f07YPKu$U8%8M+%k>o4#d*!t?9a;Y1A}AtMRM_phExY4{w{p9Yr{ei%3-61 z&)0L^b?KtV+Ks!PWG7o_CPi~lr%bw(-Dsl6q{L`x=mTq0VY{PGq zADj^5$-Z!E`$x8)a(sD-{_oa-@#*hfONONdq6enPkclLn*H7_;>z^(pgx{5|Bn(wm zd0@t^ESeL7o>ASg{^J+xm({gbe&Cm09o{ub^zuwvPMHQY?D}IUn_~hD#JqM=c;n>a z5%Z1+m#|}_@b5nqeW0~%`Z91LnMLtZiGk5j@if${+{ycUk-ApCs$W^O!3an8(i6+7 zq%s!m*v#jks}G~GYBJHv{!FW8e>%)o>Um4xiAnt7sD{PG340#3`vyA91egX*d)rE> z7h5lgy7L=Oa_8RzL8x8StMnAT-$oeuMSiP~0BZRF8d>59j$Z|J%|=ZcocJUj&Q1_( zu#yM6O9t5NAD&9<>^F1f^q4!_cLFHZ75ZBs-Qt-NUI<#%3o~9^;bHb%MFGxP0K%%O zsnt_CI|U5%xvL&5wHsI5ZL_Hc2LSQ|dO^lJRn)Z_HP_7y@_G?w?(CDyrevH4gL*QF zQ?HR307rJD#{dM?LF}>BZtPMLZjMow`O^XGURhIV>ac!qQ|rUg>iK9b>0*~Dv|#D` z1Dn?7AN2F}9S1+Dz<*C9?g-#k#c}*Z;zPrLoDYf03!U_2#y8Qw4b z4P=G@8xwD1y~LG#GKX_P-AJx5qP%%OP*Ho!?~OP+rW0ja!Tn;(ZHx30>jbPPaBD)P zT4DVvoi;}{^mUws+3M#&hh6V%^R=)w&D6;Tmk>`;Bj{^6hZvwmE{*sR-Hx&lKXm(W zv=q8;#g1KsOxGcN{mitD{@fMv#`ncPofNzDzuVj|1Z-}jkVcXl&1cA>vC1$sCG?P< zw`bo^W;eXwR%O-Q96SJ-UaUfgQ{GcU;OapOSs0RiFt0eZ->Dqg0--0gX({j8T4o38 zla+N_k{2}Rde+s>Y2}Lu#nm{NPhm@;==v&{r+SoWt1T1mHE`LE5Tzk8_WPZJW2pi9 zY>;>AA&TLu#r{#6=3<S}HhzyJyo}{|0bNsRj9=U0K%%(1R0Z8@rnXP7wB?b;k*G zuWNQjr;_f+%N0`LG7svIP2%+C=qD8Xnwup!sO0Sy)=mKsI5>$soZZKcj(~Q|c0Q`N z_B$j31037EgJf(c0j9(#;y&eg^Zw|oZ3g9BwEY8`K5DHlaiOjCkh837&;-AmUYeRZ zMbb0REr+K|9|n2Xy=i#`V%!lGgmP4Me-}ufWF?|jE+Mi<$#dD&g#wfTo&Zb~^lO1Q z8-SDJYQ63KP+J=Tlg9=y67Mcu6@7$)NhT*#C~_X#G~h4ZdRX7l=Hb;oDRWt^%F++AmBgwdI9(x%U4f@yBf3_x)XHQLN~{?}K-@Ny)=O-x=*^j*&jI=Y)7wsbF_OFR z=AXmG;Vh5n^*2Tp}9pJB_^sM(!y4YzvUMfTsz{LE@N@g)`ZEY9pELwL+*sWB^5cc}+ zOVXysb_83@#-ZN7a|)fGa7@Cmatz+kZI2#tYGDd(dC_7UMzk4SKpJW!tLVK8Im5?_ zHB+9pbpPHHYIyenZR$QDaB@tY9o_CB1McLD*`>e;)`y#w(^jQe>J8OG?z&%<2Ox+U zKazVJ^oc0SKN#8vP1`a)M*wyCM}O*;j|d>IEo3OB8K9Qu&d>YHTE3yA*~h^_0~)+8 zn<)ev2D#N8;Ty!6D(W#TWgrIAU}J`8+tW?pdUw$7X#EAq$^sCC*{p3VhHZ!K9DE?v zWpl{Hw1zVO~74S2hF&>g~%AQkoEG<8-(cK5^ShuHu+<@+=< zZ^$vob}86)F3~YuIA5vUusFInIv)ObM}`?tG>RLIjE2Gas(O5M_NY>=^>nj$Xoz$) z9Bu10_H1V{&G;&`@zw9~kPo|-#z*Bk3|jJZ2u|$BBs+xF_@$%FWJ4})*Gw}BG1|pd zkYbFLq$}5?oM5yWVp4M?xNNW9Rl}q7eMc#2uZriN#}?Uz@hGhP1i$1bBbH{rW1r+Z zZf5;@9`ms3$jEoglmeXq@88cB3dNJZ|L*$sxT46a+hFH{hxDq`T9TI}E7HmFLW^Qz z-9+*cMvT4wo+we%+s|)ALME&m9z}Yv{>YsQWzfrcnI9IgtR8nQDMgkOpaoE{6E9j7 zL^Las$Ex~P^K-Q&BrwMq3bQ$PPu!(ho*+aXNJWQ)D4r|ed{Nd87a~sP%nUvfN0`(% z;|bElb8m|L0L!i0ev$nxpI^q(He$Q_0dERrEU7wMf!#cLRlUe3tpoL>x$Ls#VefA- zb5XKY4+haT_)N4$!uaR9(@+mHT$O4v8I-W;Wa)lH4C&Vx=AdQheSe07#rZxy54O)w zN*$wrvB9=^sO3s2_+3kVZ%@i6ZTX@D=e(cXdba*cOF_ReB3CfOx$?N6qeq zU2F7@?}a$kntrPmTd~=u-h}*F*3w>0ZI-v4k0LAZKEi$LZ>S>K4m&{Ckx-z!;4*I{ zzY-5PPm{r|UCZJ(ZXraw`DEiL-Bc^n7JpO4uS@YwmH zS@21s+IqXB5y9v9Gd8-kw6$Hi|f0cleOWB$)y;I?& zi6~`^sOG2#T9h!8+Q~_pM;+;igGw}VQGmvCppKhV1nI{}pji&}d5UkpoK2;lB@jS& z7Pg)&($>4VTvKAbThVBt6?77o0m=Vz|Gs40qxOPNFX>TT8y*5>n( zZ(9*`dy*sp#pIgis(GB;r-y_uFvhI;*-vS7;SuLbdsIz;@uL|Dt>M}6x9+w$yvC0@Oj*{RJR!MI*Et7> zKyu4Nw zH=L5{H7}>*#UwSbpLNcTPh_=^|z!XzWQhA zZev43y2Ewb!R70AXJ>WXis&NM5@DJLT0$e`bIU-=xmLc+T{tO-h+ay+DWlF01GS1h$j^tpUUn|)B z4AYs-tpUZ$#B*1-p1xle+(QNyRY`7F?t|+v9LFP7TBg_ZlY@5enkB1B{edbo-V8+CD7OijOzZ@oCG7KAS_DI{f!8Be(vqJJ&ri2BM^oz#FkI<5aX>9tjA?d=K=Z%WQW zA1uuL;lCfh=E3|Yj}RkK{IO`{$}6h+R}Roy2#a2ND`#N8)A}_Nm0SNRbo-rQz2Ymq zHi<{%4th~1W{&Vig4(sDCrWW-$d{usv0gmIK#@q9XXP+n48n*_LI z%ROi-wk6=WAm-gf=xBL5VcyfR&7NDzY?#OJ@uYguh`~eG2Z$14&~G1g$Q(6^Cdo1S zdPfOdO2$Y?fYi|m+R(TpnHm_%lN`pTXt3m4b}P%PWb_;TW2)(<5i?`DB(=`IMmEBI zaMU9Lu%eeD`ldQKAWc%1ax{E&0Wr=GEalN4+s}#p7@rVt=YC-hh>s-`elfx5S|?fx zMd#SpDHWykRzSIr98WclFUT2WE%Ehg=Y_0?@e^vp7db{3z2s_hsYdQupA~(+ti^fk zyiYZ~=)FUZabJgDTiIgKF7r<{q^$8y$mUXps~zoY2Pm>FydWYQj-D__HP_0RP_G$# z;$Kl=r-t()0DJW32SuFxSecQSYa-W=U$jh3&(3c*AKIj+z|YjW%{FZx59%s2XvSeE zBC0mf6{+Fjl4l9?Wq;S%iojSfqt2qxRhuXJ?7OV``xTMP?D31VYVM1xdzTST_N#D8 zf%ASW7Xcj;LjgIj>b7bZ)1;QBj+6E@v0?JwC_9Pdq|3 z*Knz>_}|&YlE;RH$44O7+14|`Fr%}2e0#$-K9|%966Q9CR1o77kx|7+H^H^}2q7!d zWf2E^iZkEuEpqH|(cr3v?oT)l_Q5k^I!z>uCCvu5*DfYyRup7}e43}|vt%P~E;r<2{=e+L1!KM<7V_V6u(-~twcRlD9BYrgdW)ERNS+~;P^I_Y{_F#npl@K z*IevLnw{;Q9oODT+ypErj;(b-#Vd2`Bb!a3&|&}#!}YpzzgL2Qdv(KLOBz^}!*vg$ z;<44!0zWDwQoob=nEcu7>#|il3vWqN+QI7%oDbWU8P&DHgrKN~`g%8ngvSWzlXuDH_>FIN9-xX1kVRQ_($gIFl|8Q71Ph&Ky!<>FMwpX4{JTrp|?^ zk~Xn1r3u=UujS5~?kS0NO>H^j-4ez?y^i$ak&Z;vJVQmL!pl2E=hyo=g;b>ligBz} z^SEQ7@+~czi}fTrL*0j1Ha!>?cvI115VVpO-u~e(p8i=GWZI#Yx8~v4A?{K!gwnd& znK_M*d5skqJ~D)r#+W;s?O1h4AjQ{CmFg^{g_9RLYQ2*RG?aOf{c<|>E%LJ~RCjtt zq5OsN52nN~!Se&Wt|^<61_0+;b-RXhE^c}3cBm=yStlBNY{Nm z=R5b_^@qnFqHC>p%@}ixG1;8iyphODEn2(UUQR7S^(~lW-fk`Lie7?M)y~4Hd+>g{ zRr+?KZ*{oMSx5RqTqKQU7!W-5gqhU=PlvERtA5#j*XhAb@!%8oI7)n;vG(|f8L)cD zaT&+0qHTT|os_#&xzfA`9N7;y(HdZNu%MZYKPB@EV94>AHqKCA=SX&bE2~8sVMe1b z+RJb|c4^?9tA0w#8AemV?<&|1&rDaV(GA!6#^Z0I8sdiLF({ia)rHijrkV;WmEOhY z&c+n{UZ+rQD8Busb}T!dCDIA!5PV)ajEub`tvD-zkQ2V6nW(Q#qHi>}(d9aJd&%z_ z?xod4ZCy`XQr>KCmWZj1uWwcbj@)4>OPRohF%M6Yu=3Ym|LkigQ2bezgXKZ{ zD(fXb>+jJ^f~lpXukI#EO?SiqOPZdc0efQC3{Jp5vm#`R)|3Ih2z;nu+xb%#EEm#-v!!Y zEd+F3$%d%zs*AS?H8o)i(MbFW@xK=S*B`ox;OP!8M+&-NJJFd%n@FdhQ6>{pKP%qwbCeWW z&%4t5tY%(>Rdan#)Q73TC54kM`ZGd)B=b*oUrz~Ke_xT)a>PI!AM)e^)jJfk@Ac;| zS}XI+Z)pxLvskO3LK{M}k(d0c z%3{MT>tu&#xHZJnC3tbf(K024s#%SqS?(Ea4;zf@sN+$$7G92#C(kQYc?yK465|8Q z%@)k3e-7Y}o)zyQWe|JmOz~hK2Qe;4rORTgN>^WOaUHEc0@M1m)&bW?L>^!9s15C| z&UnDK4HgH(pqy$f(Nxl$JoW*mjni`p0W&)zKJNv#))YxRldlK#=!gze>ToR|jRySn4=h=GB*^L0Rg zTH>^hg>HS+$W}ccDAo%HtbnO+*T~kz2#{Oav4iTQU@U3=*4iJ`ftbGjM)x&-_7y-4 zNdj;HzXOb3rP!7AdXyzJ7M&{ZV)r5EX(ElFmMS>O6dW91mqqtF|9603Cy`L> zOFle0qC)OJ#7emm^~Jt9Z?*osf8A7Y3_golSm}b=TFNjZnmErRwdD($S9r z)re(zbxnIw1kQ)^(MLn~J&)@ys>t5Fz3FZF?^=HC^%@b4qzp;#iAk*4=(Z^2av~OK zNf2d?2+K$mL0Km6ZOG?}Q)JJt-uqEH2@UvEh!Mln)Rn@DKYFJt9XUZWQ^YGJrr~?m z*>CIM6JVtyDfwfG#^%h)PV<`u!CYLWz0nSV$w~_=FVVxvtGk;y>rt=R9E~F%gijO{ zf7lyb{Hrb$jfe0U>G2kY@*Vx^t_4B{WK1muM^av?$Dl;Y&b|8z$@fVJw{-_L%_I-! z&fPZ9$(43jA7DDlVFQvT;3a5`g<~EMBP$3VOSO5O42LaX%&#FcgN| zPjR1x&rTVU8H{5|QCf;%Xft^U=Tf+8eUp`7|NF{n2R=y55g0 zk6dFQn>y4=uwFZJYRja4tPS2Ad@-X5Bt}U?zO6z?Mc%IJbv@~D9bohAuwr2T5;D_w zT=HVnDGiOsA|2Z~JD+z`i{1LMFV)=cVXFAWXh(C%Ph$*RS^I;b@)WB|ON~F5O(l;> z$)8Ejc8T+_Iqga~#wdGTDl5R>L5eGVzB&7z;rE^Tlz&_|ut=88dZ9_{oia^}n(*9o zJui^n=R|25Jp`~pDp7CSX_tgXmq5pVL8N8*wKs?&|3gzS(%SlAt&|5~4D+ll-~igjs)mh-zE^XO#x{XvJAc=JzF^yV#|umG z6jwg;o;sw)fk#dfXzwJFC_iIEXhLDF$bRru$@^wNVemPUcH<>N~y^sg!d14dxUcJ%=nN&Ua7KY@hF5%(QXW;` zqsxpB2bJM2e}TpST@lYh-x=%tdkrH$nfH#^LW~vhd&QN|@@?1vlMoV0gDRYmER;iq zJxz|GZsIX1@Z~kL-c2yh%g}H1B3ihH>F5ik?iZMn^A49=!`^IBCU`^KiYu;)iZitE zI{AC4@jvw6zQwlZ2Ij6H&rk@%a{o9$KZ7L&H?$!-i<3>!t~1 zM$DXhJct`52UMg?$LC{!s3d}uy$MT zwz}SW^d-#yo(1^X>;#Ib|D7(f$8n6W%P_jDyw=ZuR(#?2Xbg%#ePdz}l@xwoScxsm3acbH|699FXmXSsuC-S@i`4vzI_ z?9so&BrXUHT=Fk#~nrEBl6Rne)nNPrc5!f1HFyWX@`A>Khae9XNl zaC|N#*l{G$)G(5&5FHoA-|+FLyg<9mjKnZyn?8o-Tmoo_AX%k|Fn_B0#H_J=s$Z_q zjR>*h$Cx4kzuZdtxNHhKG{Z7}p+xpHu0+(YH@5|M)-<^BR58z! zHmYmv5E9$%Lt)uTKo~Gm=lveqdlMJ|`+mOrQ~q`R@X1g4bgEtVn~vRjgB4Tn>rj)P zYd0v^9p6UpLUcF!$Q@};uBK!bIfHsW(dSm~!*wNkHE zTogg%`3yi&&90@tsU_8xqu-^)#y0haP?6hTeoJG@E&mt@0zdldmqB*RPF1EG>Q6tPbeh#(W3I99Q0U3Di0;=5DZ0o@tl>8FZYs4_s%yw1 z-{HHU2v_&|U715-=fokew`kg;l?j@2=}Lq@poWvv&A$oi7|)KQFhJ%|OgpKvW-yUJ{|!}J}l$iB`MV5;lZ zTRv3X6_|2Y9h|(hcY}?8jffR4H?CH4TN0m4)SzxXJjk{ljCz1R?r?^4nf_Z<3_X%P2L5a zL=L>(aJx8_Fq{59z>ufE#ip$Kt9q@BgP#1K3&g6us72CWiJv8mBt`>PJ#oi(Ek>s3 z4{9c{nDeI7)*QC-?TIPSVt4c1D29QCf`JAxD<2r* z*!=%#VKhp$dih*5MAOw3XGsaLb+}F&<<#pdY7nB?jdf%Nas!M>D@!OHGtd@EhAx9| z8BJHFe-B0?PG*G>z3FQfji6r5FevoUxpio>$e4R8Aj)Arez5FbCjyxdgGsn@LNUhh z2!BPFlfwOA3$ycnnG#NZ#r2^R%?n20Rx!fRi_LD7yQMz!j7J_vc1WG^R;|$v+VRTi zh6$c62hT~oP6kHTA8qP8T2>qZoEk$pbYZvF_yLTnzWoT`{5xx`Azj*VEX_Z@t{-c- z_{FK3INw(O>4?fo=Mk8!Wih_w8|wy5xo^{5Q4Grc)-IEtj?Pi%-+t|Xm6qNxH*zs! zx87zi9sG6xEtrRd5?04`A4^^+5F+2oT5XDmcswMnN?SBJSjI2Bx9mg8u+YG#=wq!sL^>&TvQRi{t2H*L(!}w7Ko8qR~;*)@A@GVLE({( z*+Ul*FbN(n7?-FVlsM51F89K}avjH#BSutFO7P8cV&UUKg8$$5 z-fAgOP5exb!28i$$2cNl&@lHaJbU5Kx%sTzIY$#}0`dpvVDWoQYqs9@%H>pXGar$nJc5Ojq6}VtinU=1hp?~i78@e3 zty5WJ-Zj3K!7g51%e(DD(FQO7vckC~bzwQMs1fYEvK8Yg#c|-|t+XO}O9()V?+H*&2mJSv`RMyuEBJrc zsJo!Zn23<7N$4IXSaged zXBzhKW&gy1Xi4TM0q0fUa)CjK$(Psmt5r8?<}T{ucPPzd_6v+Uzq&2N?_PQ|dqQ@6 z*KBZ$SLb@(p-OYC1_k;nZ88MGSX9s~V?oG@S|sdCEwFYdfl%30;6hD{(~KbIvobs&N|xMpD-LpWzwz9LPtnMq^-f(v+p0GXJO0T~ZsfXZ7~}|k0~n&IgsU?5 z=tGefHrA*s?jrlgISm0WQ;oiTfy2@~^J)!^Q#UTF1Vz&W3L$}Ezr;LbR+IJ7=XhnI z1lF0tHE@|$%#S(ZN5^|(w|Ab`Oicx)`#Pb2AMxye$DkGF-%^gyhH+V(KhDW=+5R1F zf|a;}nGy;;eCf?pbo}LuT9BEJj_eh8q3C5S-d$yGy?Jp>pHS>{bi4>Vf`gzDU3p0H ztf}&S3895(6!q6Tc&Zk@TPeivpz$P&{&xJmVzhutG~=)M(}1D;7nA0hB(MJF?ybD) zKJF;uTz$`}Gf3x<3MU?FeHit?*6O+%YsC8@)W07ti78EX*(i>M`-enzVhJ9)WYjmF zt<(e97{WF6OHu?&2BgC%@y@)f&h;Z4;_${B$BPhHR?_|5mUw2*=9}8{{ljQ#knlub z0(ku&!onriD+<->ty&bPx%O%XhAqo#8$|Re;g|PY^(eo#1DX*9OQ**atifMF6|iXC zZT_;PdLK$PqsU>b;t_$&B)2zkDU`DPG{x4PtEl%TXj(R^;fwH_*Hs70Ju((B``d=z z=I&?x3;TS8wp4oEwMfwXsSUofRpePz;xlu-0;6liOCE zjr2?k7N(4w`~i#5Q$>6QZ-PNOY8rx2@P7xFj|^t7m=~P3dP>5WiUwQr`@6Zu`?s3a z1hJ9VZ5xiA;%OczxQkbxvc7P1;IJPom!NpvhE@zXqv!r98~HG9slca=eg8#d)^+Ca z5JDy6VCq6QL~QC3wX&BQ3o}Lc*3Y7~sQ+rK3*Pb5e=!C;ym_-9RL>lH^}tS@s$WLH zEO+x#1qlG3;qXK%XU})hZ!{>fm%ETcG(DYOZqUtMCpq70WP;rawAj3%Nx5DEfwI_z z(?MNk15`PMomv5j86XPn*cmqDMT%q_Dg)rqjvk$JXAWC!3Ap$4Cf4F4oyjW^fiVwYDZ;E%FgKaTz zi=0MIOlwU$6kMpEn`9inkCjc5r6*=pWdG-l*GSHzh{@fn;iRmZY*z{X6q%|rLukrR zLl76gXE`BJyOO-RxUpj{SO~yk**80L9&xPVpYW5G<0Ggti>Pvf_G%tT1ST#|sLDXo;jE4G|wlb5OaeS5*f1ofkRo|&E& zT`$`K?gswAp^TTxGwQTG{ToV)_epy(j*#<|{nhOdpGx%2G~-}N0=)5z1_Frj9(OjC zxllHa#)fWC{!lrE-qxo#W+Bg#V73b!#5wen`vKS7cE^rauX-F-?AHivVtJK1p}V!? zsqukRS(vVCd83PAu<52CqdMW5yp?^06UC*;@!i(vv_6rddacKK_4gx9R3Jd_k~m8& z=NG3~7p>mRnsH6RimcFhytM&thJIO(%-+>qlBdzU$Nph%gF{2ds)(^{axh58TAMJOS#VEV(iRhzn zgnx$B8*}Uw(izht`}p0K=xn_QS!hnKX@Ew?s`hC9?kwwK{Ld+CT)<2itk?2F)rUC< zo%sC0)mhWF9zuGK$oSO6iaVX0^aD>w&2ZLfQX0sN<2ygZGIa(ccUPPS zPCLd~#RfC?8JGKG^SOdO`zt6^8|4y+CF%wvcCfp*Z}{;zX!BVWD= z&WXbUhSxn+IW;bh(AXIZ^KOHe9^`^_kBwUgMI!Sg>D`Xj=H~B>Ut@trD9++I4=dvx zH_e9oNfJ+up_#G4efq6umil?@Ays5a53+QhiS7kd?ei~-|XS!cb8z#)>MHi8v2nwREDR9PKlCh7bqwmSrylb!KJ+bHHi@GdS zfD>fVca#{7UYW@8Lu+n++OoXVD44q}j`*=^_uz&~-hVd;9>FqsxLIZRqL7e~)ED|> zs;P6S6AZHIM+~cpX$2QD#0rQGH4@?q+7~r8_4m%=UnF`5CDmYWBJoxd5|x ztV6Qi=LO8Dw=6HyLtuMVzhw7A;z9fV~!(t?~{sb z+CoovLMZ&B)v2iV?(g^+^0|WjqnCU>3$t==`I5`o+o!Rn-|0rfm#XQKes6E)Q`kS3 zV@JoXQ_jIuA7`MEr+G6`og2e28S6N&+yJSHAD2EARuz)jFFzDbj|>d9fPGe-#)2z2 z80|ux>FlTsjJ5OkT=M&|C?HBW8dS$w*b<+He!Z7DzNf8n&B+4YTITbAbI$FeoC8e8 zkP&>^wnZk8DOl--E-Xrzf*e6Uc*t|(GSk^5tL1_{Bw7P-Xto~qUkw2-fjC(8)jDUi zbGB=$p&42nCCvu*)MDaB*9|I|bd+q%{jO)nyyZuJ3Gc2rAF7|z^<yWbN)c2eCkc)k0;c`Tv%d~%Lew z<*!WS2U5a%>=V|!k{yfX3~70RmpQqRR9Oj?S%NPr)C6b}+rMv{8lp|pvRBo7S4#3N zEu<|T3t*ScDCRfalRp#8c&Sy0{f7X-@1jFtnMiIfLLJ&WWS;@a3%v1?SQTgIS`tgy zm_2A?5H!@I042k>f1AJMix=bwd7+)79dAn>BH~?km?KX5Nr??y8-M?qh}9`pQFsS~ zFtcMe3~gKordcLfphE8|e6o_v{lo3S`Vd2hx7wJ-^QTSikJ|0rvlx5Wc(T4#tgExW zCYSOIZd?p_qM6Day;kuR@qnt{zn%!Lu>~4!{?ZqZmZrp>2c+&9?Uz}WKHDh_gPZ72n1cX(R65UzOp3pq>pVUkOKcjo zMt5N9sM8^>usv&pxlwI8JlT5AZn-#;1^Lq4yz9F6D}-sZu!+A`CTRZCWv)s0!2sch zPOC>UxOWtRKh1epIiwBmfS!_p@K?Yqh%-8g(e% z0Xymy6&tpl#Z#SLdWTa+ve z7R_7QH@L3k)s-}=_aB78)RhUwe+N&ohD`l7ZBb}=aK%RgE$6n&e9}8rr>3C&$*Jx9 zJyAo5Ks8k-AWvP@Kite=Rew=WDi=Hba#@?Ecw%BId3vi&wAw=&icszE|Lv&{(#ywO zCWO@b2$N8Ba}NTyoUso9nyx5dxmey%CD}id(B(tz6G3FzdD5*AS*&qx0vW~T&Ar7N z+SxP7YXS{R6|;>AYQ{qXxi{ly1qYrMZc#*>Z<*!h$MP2GIoUsPuIAZj#&#%3(eAje z1j&-I{jvh574L5tKEl^C9QNc=_C#!MF7xf82Nss)kh{CPzn-NRU~T#b=zXhzo6MB- zzr|)iCyGb-ZRVFH)|xXA~Y>;i{-{lkYGV#%t3A8n!{)L*5To%#ej4n^MB944e2r zyhm@Iu~n&8+H*`4v2a{!T56GzO{@dH2tI&U_=X}COEZ>O8nO*cW?)g>aIl7`dQWU4NADk3BGN00$j*>Yv zG@9|lF-SXcnLt&$4X-x|nD{f`ii*N(rlN<+$%6YLP z9PiF98J4I+xV@My3q4*ph*K17I<3fGE zXXvlgk-SwpxOhe!h}awWe=+FP`-JaU&Qz%rJR0Uq*d{wYqaS{@_o${_nd7h4ap)K7 zS>czZ76!3Y-kbB0qs6=n6X{)^LHd4<1%>TWVxzT1sVcvUzO>Xi#E08THKaLQLVaUu z5m)4*JQ9d3{gLXCpag!#Xtnuv0eMza*jc&Fz9W{CRRfrm;Qes@J!jStvUIth=RI?M z;s)6yqcsW#EWKjHGSLa#@@XEKi^@+s)}Bm$emCgm2S;?2dQwV++7}u7Jom&q;Gzvj zS0urO<~{%+Wg9=Eoyv2f^y8;{BKk?KVue>h=JubDf=~t=%5b7gx#^(KO(K^P1Fqj5Q!VBI0x_Z&zfZKIR~Hf^tNib(4A&Fu*k?2 zuR@fb46qn+)AD?IbA*K|oGB>+BL5SW_fR^0xZTk1JCM7{aE+y*epTPDw*4EU~b&EcX#0mGvOVww7Im$lo z9bG0%SD5XtQbmiww2e5Kbj(GLQ9scu%l*D7q}hnMs^9NN4MIfN2C=Wd;$WBf-1m>P z*d6FA(7Oi7_i$YvZ~JI8L6JhGK92M%DuTf2fVa$gSTw}6CBq+u3V*2I!PZ+jqvzpdtCYJ zS|c7#Bdk$LSS%8fidv0OkZ+?hYSvb=7(o{xuSR$vWYXQvh)9b+ii0ef<`(wn%e`%|pDFYt0xj!4)nX6OYakTD0y(>D2S}l@@OEJqeYU%4Dr|eb zg4SqqqR^r63z>%g2)?U`oyyDJ=YHG9m(q<1#)4UzzfP+87E10PMvN~Hr%K%p!eVp1 zyab5;0w&XYic;S7Ytg3VE}Nvpt1Ss6$)W8#B@wo#J_t-r+~F#JY(}eVR|wqbjJ4C< zgyCZJ)Xhy1n9MK7KK!6;R$ILzU0A>KtnpGg!RH$7Y^DCDhPSkQeN)l8%bbaJ?}g@n z-BT}({L~l6SkB@p*<KnpoNR}mBTDqhdB3^E{PF`K!R73sxi0Q1 zOM_z6iUui$S3|)+@vzqnIiYk!!Y(Lt7fG;_rkKefh;VK2siGz4pMxOcUk%#AML%=& z%v9lB3KZbuiCUd%gsA84*qK8ntmB5^<-gVVp}E(q^FwpRFAuLAX9bZ}p^KZVC2wo5 zH(xk*ZI+dw+wFG>sJoW8_8w$tYYhGE$o{=_h7@Gb)Q6o)!*CyVkx84mJKGM>s#QYF zOR&LxuJ0y|5xJWD$Yg#w%swy3ZI&6+#dux+_0{gMNabw>WaYkcqni*{eA>M=8w+FT zObx1Ov>GjpqQPW_ItPFhuDh_OT(qb|XlugRGwO?9&%0Q5-X_VnQsN#;_)Ss>J`>E$ z9UmU^nv?fd3w~wDiRm}_gq&>@zmEz12E+0{#-!*x!6i6VV}187*Y7WudX7AVR)`i3QsGWXnDtr8 zhq$+#&L=$jkO!jx{N~b@*?A7>S!=^1TJOhb&;o!8b)i3S%GljzlV`mm^GQyv)i85A z8q>g<3|0+a-ytQ@)3-_5NRU#7{qpH)WRuAzb^K&TsJMCfzCf1P%1n+>FZbPNS@F(w z!l|r+0!A2Rx<5{jjh1{MCB=CTh29v3J8yb9*pX_W?foW1K z*}DtUdWXGXud`wBk7!|S3+L*HdTstg^CyqYz!>k1AgLTawG~hoy|*v)QJm~@!0uHN zA^H~*`8$i)x`Lgs4IG$2@7JCZxz)w@H7Bj?CRH%Z&yY2%FQ0#l>@z>nW0j1??0pQKB<03}4WeyQKV z#1kMn4FUVQU-GfP8Yfir`c9kmW?@|?e($w^$k%L28=?YvSJ|r-@1~e%-rQkc!?+zp z8Mn!wp33XYwYD{X^nJ!-m{}=Oi!v97j2c78AX=HCbC#=eVm3wYkH%w2&KRUju%v)2 zt`nC36!v}tK8Q)q&kj*4zs<)Lpn3*Bd#`Zk80$DAJ^2sF_5N=+p<{K*Ht#JX>dC5o z9g+!b%ab1_i1}PByfq~gF`40O$5vq{=U~~2Jb9@Xh#jYwqrhfKy`Hto;0 z|6uH%cluN(CR){bl?u5Z1ZAmvJ7lQJr=IJetJOEJuc_RSEOak~bb>E@?VJB96GZrG zo>1oO#oES2)=4J}Lz4>*m zB<5u(88h0yq`9?PLS1{gi)B`!flS-O0UK72)@BC&)Y1J5nrp}KP}|i4p~|z3AM(rf zd|hn+MT3@QsNl!!V+S&hGh$Piey$(o5W4lo0Df^JdtYxq&ea))6QBCmmC3g%OUWx8 zD*jxzZu}PRQd~Pax=C=_Ra-eVtbA;wXft;t_q>Ry!_8oaU*Fu-&3qAyu%u`8wv9Of zTW+UM63D=8W|7p54@?9VfB=~GJ!x_CsU%;Lq>FOSFV&=ltje_&wh#7bRl^k}VV@=Q zci&R5S&EloG?h3N5|i`dbWN!ys*0-PG~UeZ%ub0^_vDlwlv^8x0maNmz|atxl0{8O zeyXl0fsFik6a&!C!?MwE;Dtb=;uBp3xJ>C4&3@))`Lh>zaPfwT?wT?TGzxoplTtCx z4^5No__19x{VgqIeKo8e?>nr9VJl(4uZ?`<$1KNksj&4(l zHaC$@KWnLTw57E+`agCqmXVZ+dn$8Y#{H|4{vj1L`DTJx+SA=vz7}Z@saj&J)3G-tF_eT0?QW2B8N=^4##|NBJWP$0EYA zDFXYjMZ%?=k$VDC7#}es(SLJ$24hT6Ih*EpIel;MM8?&|2eGZ^IQrE04noxA-B;px{@ z%dTA0g%wJORKI${Lv_SEa9f17cp0yfP*d8kz>lZ@=QF4Dtf0&6ILUvp7V`SHZdt-81aigv*0?^ zG9C}_s)=ph1oL|#7M9r@jM~|q%8t-dMXV`7ryH& zDNws`ov-pK=Wr(68U*R3`>Ol_--gTW+|36-U{+a71PM<8>y$}?HjC=R$?dzL`w=i- zF86W?o2hJ+cQ2N2_rW4Q)W ze;dU~L+G@Kmv8N^rrP;RXd)R?(lor4gRM#%Qr*NbJEcmy$LGHFN%>Sb&i1WgdQfnc ze8Wb0>Kxdhh=wLAQVj3JeW9a^xIlAekcW35Z|Ls%jg zt$MuRJXM2qu%S?sR2Sd~2~hscealQoUs5***<u3gc{~xCAz(XKtemt_JuTHB$+hHPKzY%nAYVx3$a7EPlHVY@ zKZ>-F`|*}(^$VLZR#?aK`d&G}NNQG?Y>Y>LN|a+1Su1ICmyyea)uwClG>VFel4Tp1 zxdaqg4ceY>VfHVnwqLMSQ~q!&n4@cPd=j!1I|H%08*s>BDmm%65aBwqN0(yU>Fw41 zi^2cBd;%a}k${$Db>ZQPyP(3w*X=05XG8TPw?In6s`7IHzSZFO4X=11z_wsod8pm(-vkX4qB`uqN#P z#R%R~Xis0Crn^}bH1eP#*RVDhI_K<^(&N_2_tlC7N27)YPCy1>hYxR_%fNwrBZn{#>=ftPB96i-#a$vc-;d#LZDERsxaGnP6>?|y`THVjt zeReBvsk$(7&Vk_rotv!>fv=op?+~^rS4gMI#2$7?tJ1o|M`Yq4X37JxFo8@|08su5 z3oWGiJnu_~U095I z6_C2K)#zE%`ey?B2fB)bKwqSoMroDe^6VT)fu}Y(C57_6uKf$MI)|Iwu%@zz?k2v^ zTh^?jqnE|S6%x1ZLRWyzJ@$(q?NwmSqWgAc_#Gv!U;#RwsUPbX?ZAc=oC)Vl8`r$4GU&qxJ1OKIDpZw``NWA)D1cN`~+fyMso2|L_aj^();h z#@BUqDJR&YK%2AqO1`v0Nzcp?bAx_#25WYTi&osGTey}k*$!#O9|}ZzMqIbIuY^SF z%EmZ)&y4qaM&1t#(wVVZ*F^ispbd{krvJG34XVQzY=AK3$Ps**Ejv9{YV8`fk-&J) zzZei*p3vMVK?~R8;Xszk`Ovv(3-#03bB4AJP8%1!QlB)^>SARP_F?$^$(XtBhCQ?^ zwXUmcBG>!BOx?;%&8@MNUZ(g%G)jnOHU>N|G?&^^OH_RT^2G z`ZQ(DYWHi(j9L*95$$Oh*&dK2cLea)if?@khc*35ec154X6aQi&={=|j%XkH6Wx<- zY$|1Qwt&BQb+cDEuvI31g39~?5q*uSn(|mPH7KMY`L4&pvVmu4*6qjHwtE`{ z#%PS|KfDnz8YDEAQP-Q#&uOh$T7y?6W-R^|ZGPI);5k3dW&;O9bydNLd{)=Jbs~Y0 z?>1nrU+c?859#67k=-4eli_d^fC)Bp{%`Ic?%aP;l56b*G1t&x=K)6hj$J5y`bQso zb&Ty**JcGJ1m45TD|Ry6!eYFHjq~sVqiYA*QhYvCPlcE>;ZVN!MK%i)HA4+fY(^@9 z8`|iPKH)c=Lo)5ESlQ`5Jk#j=;aF|8Gq|kHo~xXItMIHtW{>|$|}^d@^}?`!pGFt%)&(UXQC9l1Y8J~&@Q6{DY8GRQ>c!k zI|E-Uzb)D~Pv{N(@Z(z@kgsJsm|gz%Phg=Ul7RUJl6y>?fl=c}NuxOX=r3w5G(XND zN_n}oDRS<-w!CyBN)`~9Qy9OnYRlwpJvrNJQx|kW zKm&`r00?v6eqfKr3D|W8o7X5Bk_dm7!2-{HkUdBvJY7jady-}DrSWIv9@ogymA}gK zHKMVESz#$7g=1ugS!GaH0jiS*_Rlv%<9@HjZ^Ebg$5!?P!GkTgmD^d*I1AgIqw-6U zGm-6_jdkZ-rd$kX8W+nyZeeoUc3sc2g2bwJRk>GK`3#QrDGhxRtCu0uC`%o^W60ga0i2C#JxBchv&u;to$XK5KprPhCz^B| zeD7YwSkyO!ERWF_1$3133L2U&X8wfm!HP!pj#D3o7RAXNJFf1vC88BDEN?h2DLxsI zIecd0hfLwa-B~<>@>@rcf~;%*??D1nzOv|5WOrUM;T4H5fdZj zS7UFj>(!xj@q$zGr0%@Bif_Kety85&YR3duSp6-j0e8ix9>n*m83+`ZkT7IX2^fDv zuN)gs)N^o5D%yDR2#f(~v?F_Gr^DGu77;I=^#Kt}sWmF!md6KB8Rzs=|20xlm0mW2 z<3OsFL)JM%xWc8XI|Z%?O0r(bQ!-xpmFGt*m)4CiUI9`0YG&%fN|&phIV0|4JEVEODxI^=k!6i+j%~?7bH_uQIHKR<#5eiVhq?8IC zqLZ&?sgotE%2MW*DHfSwe)9hK#)ecO91>0_8jr)i zJ!XXpIOFm;7A(k)k=lUzudQgoCI2Xs@E8yo<6w#R1+r{&*`;pf!x~A#fW?AQo4>YW zDT7IH9Iu0$B%3OS>OKVNG_xJ&YkBT%H_Wgwvp&yEUGry79L()~kZ7gOVf|kl`=0SI zmYMgQOGHL^cmyPvnI&JHBX?_)Q4n)v-H_ZHEhg-)2EOG=r(4+kL2>)^Aa$$2|66#%uK%E%KqNHBt&Pbim{uB;iyy)dWdTYk zS$9ia8h}djBv<-HmkB=ZGCC4Ndf4Xo2p$>ZZ8*J{y1II}foP3TMpw|EzCA4*TGraU zhZY#a`%W%7MFd*>RH(sFBCTc(fqo7`YN94a|MQvSA9lO#9gi+)r)Z#1UGw?ymboMi zf~~r82POZc)8jQ}Cu;)G%SF6KeMT|SG`B;UN9V%cC?V|%3gL{)O4NlU zp;N@;=|otVdAo5GT~3NY!5B~4-Yvh1{58=LKH~g-1&snLag`&1eU9q4hD}~+gGa?- zr30gA>;)L0+PbPhO&uEmC4EU^fAN*8Pav`_d%e_p-mE3V>8|S*?RgV7G=q>`b2gun zK(`2w@a%DzU37<9Rj$Mn8KN_xjCKY?o%_-EKnn%ot*iAcO|Nkls0$w%2Xe?{jIVCQn@M5YzO0uzEb+p-QhOYfeBwzlQiS~e8t#` zEVH~@vi34FZJq_8qW&fIwOO7qqHkaE`d)h#L{8RN>R6eIzaEz;WSGzPNG}Y3DEwu| zIHeK6^eBS4CN!?0P}#CBPjj;kP0>dz2Fu#{D}#gzeiEbGc?zB+Cc%#Y zO!OK0bFzNX4NOskQleQzA$#yIxo`@Z^Y0*W^gccrh6sUH&4Aa#ht`D-GG=jj-F# ziC=4ROxz^d<01^)Bb6*GF?*kCW>b5<>Mt!WSMJta00HOvLELY!4j_kj&k=p`YA&dX>PG%GMDMh&1(vsKLen60o~B za;mxAd_jnckoAmO|G+j4=_timGHVj+*B7QnjsbuJNxNB)!kTL%&hOtcv^*3p5&suF z5u4+`%Ld*kSZN^-L-hm6f%pP_MN0@Tpc@gfQJRb2gRZCU)v;^}#ulFP;X}tJO62{vV#sGAyfh?bh#$5&}}v(nxnV2#6rv-QAs1QX<{m z@zC9kbVzqfcXz|SS>IaQUwXiy2y@;st})Kx?(H2HS16TBm(*6(zuAZ2Dk9*>LtJr0 zYeLq9J9_oThc&cPso_@cPHtzm?9ZHBxrP-JQ3%>J~`6Z2fH;e5&!kZ=BYl7JvR_U@K$2Vv?Qc9Q(?oP`jOd z*8uLxQ=R|!VD3P(hry=rZd8^>*giax{Hadiy*`Hnf+aCIJ$)5-M&CCL@5Jk$Fv#e* zvf>8$_~2^Px4I_HJ1Yt|Fu5Y|`{=^q@lxRBSCC9RHoy)W=zRRQ^!Ccz6ZJjsOU-+uc&M!Div|N zHYi#o=X$8N+b*{O1j^dC-Zr(W0YDCt$m-!qX?d`*X7qGRqVTTBc#^q{9N>zZoVr>2 zxt{w8jA0ilErUQyl><%G< z;Xi$Kxj!2AHj;VY3>eH03HRV}p>^VEUE^Y8FN6B`ghB9=7eE#g-~u29nE^Y`huDNqhcFH*3E&Y9j;Y(jv)mr5 z?gBZSjrhmUh=>Q!;#6WgmdWZYaVAdUg+w&+@ZgzL(1@2*;Qoc<83u19OxH&;n@+YE zEl4U$?O_~K#d%fB1S%Hk+wB4mP9*IQ{M2&syX)i0u=(dD6fAIw-{A?xTBEE@_j1Vv zrkOXlZM&zXVn4ZCQfx7keZ>JYgJ1t$Ts2NjPlnGR0s;Wy6R+~p9C5c<`wd)g0e)nC zYF5MX+LhDn4~ntv$ylWLx0)GnFi&=9$IGwSIGb|0ao8{JYB|LcRZSTM^&CPD zDnA|Cad#44)_H~C#oZEYp4{{2z4JIK(68QP?K>bCS_V~o3K%AN1zF`}gt36#9Pk0< zg&br)0D@IN&?g}`pAn>czs40glRGKi;_BRW>>Nl4Uxw9QoY_z`p8ol!Y+MHhRO^on zAw$cm8<+LhcIR7qfU8BR^VSJEoBa`aA7)<_6c5;Lxv+rUHOHhTu50vqoNXyIrq1`D zRRtsFpS38R-rZ0Qu2RjWzh%SUnU{Y3;sGnjQ(2*IxPn?N7VuT90{^2Kv`_R&QRcDm zRi>UhR>(jFf^|oqgD0(qE{`(X2f5imiSY|M49!?9IRAKq=_$Vg118|QvKU`^QwI8h zU3HzX(zBf~iv?>6uABu8c$9VTKGNZqzk4%2rY=8?850q>VOO@EtvkWB5|)2{($f-g zLXFqgX>X{sYpIA_l{JXH=+d&SFAq~7jh$k5u;{7*y(q4s`wjSS04J`@{%rPxWobML z3Cds_9JDHg3{@VizKv&pc@gS4xURy8U$2oM6y<1mb!pO=ph^YyE%bW6LEl28zC^WV z!~bdeJw7NMnpV%f-0cs99lkmv{ml>K#i zZufzroKH>>dEtmczlg%2Ws`+R5t&?bLmVA&DU3ES{BCFHz9SMGZw9_BVnx;wr8!X^ z#}RM^c;#77^$S7*( zvl~(e%9FnZYs7zFiyu4GsWm;7U<&d<@0;Qc)j;LeyG zoTkA}aD!ONmSmh_=^o63h3U5S;vNM)mQ`yEq)|=x;3t!N(}O>2xzGT7>Shj%gjg#I zp*pI$il@7{*2I&C6|KtM=7%J%8Ql1DKNoNij=GkPoJO8JQbA{du_t}R!M$OM0wTV} zPS8mNGDL`Rw2Y7oV`jFzks#ZYcuWD2@TwiAfNJ20~+zJB5 z1CN#v#h5T1c~?EF09cF`E}W1puxOqMXd3~>*vv8F>`Kzsrb-}C{Qj}>1O-wkhqqkp3?`cyRvK%e*X83{ofVYJ5#OoyYO@xgkib#8u*3W8rdCzb;Z*ugH7^ePV@6M) zsm8C~^TfQ8D24l)+>T|!qpii);#=-TzVXV4 z_|9#bvT1*;q&GD;bc^{tZOzNJ-6CoDTNRLIZXWmdrBLUj7V5eO050(N4Z4sLwe1uh zgV)hVUZ{ejl=U*+`EU`hR*>~r)_;8DrD*5wt;G6iSEU@bEVGO|&39UpU#WH%MWnrV zf2R0+Osnxc7ao8K^qF_!A`w7!O{+7%KNWGi{a}b}KC@kSw@TRC2w+i#u>srsB1b|* z{>CPx6}Hkwmcfhk^&<=uOmkn#Nc~jKnf|+-Fy6Kby#EXr6c?SFY-yi{14uu%V5S=0 z$|`p9%+5TFG&tKJ;v^Fzg1=xKzcc)eiL9x^v6+`HVqa~mwy$Ubsp_QQmsP**2w@vR z3*OLd3Qu*-6>*89;Gm{le;=P`B_9KtWo(Pcb7j1+rKyTB+~% zh@^N{A-I<8z!R9hczMvE;ag*mE@;y(9a1)a;8mfSQ}_5o8|wsn-P z7U(UVp?vk&z59>Hj(}YLIDGVXl(Y6@2&tIF=}3EP$5NQn#4we$Cu^T*JKj!!fWQzq z<@A?t)5{Mv=T>cR7**_W5~0t35<+-g!T~Qi(IqNg7jRV@HYPWzz|F7Xlh-%7A@^G^ zMxLpxo7}XjH#{=$krlDfeN+v&qK~dfUOf*0(3RNG&^coKZZQg=2e+sGJb=tt*Cqb` zXLTr-zG4irYg@b(1do@r(BW|`nBDo=A;_#r!|5QtG3YI?tmwK^$x9?$*?e_m?H_bG zBC?ax0cY9Ck?YOna^^R-c>qbNY^>>8&`b~OfpXxOX}lld&2M7|oLu(-Cqu9?j4Bn_ zLN@91HCV`NFl*P1B_o2;)pMM?a=Q21_fBt`I=6&k#OF&SZO#{7Y<(J2Xb>}YxAsm5 z^G;-8t;a=o&FNaZ{RQ#iLOL6;izQQN$IGa>A!p-Efqc(i1gnolqzdw z`BujE;aY0ST&&XSPuzi`scNAKff~--3CsYx1PhyC z+uZ?ekn*#YXtTrkpCot-#fvOkmUr^`qrfA;#r8fTm3m5D9@#(&*#hK~tyM1a$>TP}dHx~hI^unRmVtyJ`@vp(g95*HyvHQq8SrD1Sm~QSmK;6~=8F@@PVa8WdwD%Zv7N%}{;;wIv_ zIf*xe3a;8ziL<2R@*C9c=JBM*ogY5CrD@+*OZt=-Sz+`J7*%4xH3ZvYw)zXr2C5H6 zKzF^~jj;7jvw9BGjD$OP-i}@k)Ioq*Ne*B^*K$;P8=uB`altSUEHdCAyO?^v&p7%r zPh19y3*zccY$xt-RQ~j@uKA*f{n2-T^iN!3K4ctjTylIpd&(@^Qdn6T1rxbOC+B}5 ztZ7|zHCH>Pdqa`p8mi&LV_DMjQXuQZ17d*wD9E2Q$~1R|?P|?rUQoaSpkPNJD2=~z z*_qd-W4s!G|A^q0S5|Vmd2_?!oEPZW+k2x3315EN%!<9)<(un8evavDyiK73^7YT@ zJ>HKYJeqC>KLNE!)4e%HVFg?7(2=9Dj&%XewG9675%-vW`u1&ZiIlbQ^-OHS&^Rn!67J{T$nxxFA_+HUP~-maKdM^IchV)K zfe^)2R>%vIXUZ#S%$s@#pbN@kw27)hQ5+B{R8>j2T@}Vc(G|^b$iw&zs~DZN#8XHF zuU3mz_$n1^xuOwuO=mR8=LpZXwlA4b8M)HKZzVLo`%?AzJ?iY@B2*{UWb+I1k>@ZF z?!0ok53ew+y%@U=Rg_)NVFUMYEjwY3-$PDoK%YQXGdI+9ga+DkPoGC6fIDe+;+;cytODZzyWx0GcU>pKBNgJ*GxA*QdT z1}>P+gb>tS^i-fo8TQXMWI?Rmz3I`}dpuvt5`?aZ0U zgMr~`ORi1@q2+Gd$j*0>-9l(tPI~lzJkL#~I30 zdlmTO=5l-MAmP)6$?fFJQ#IgFi&oNp>-)@-M4mE|g|~8tOt3S?@?>a_B;#cxFoEd` z-E-mXjGd)-9s^-CIPqGXhjEio7T0&fw76IVbNYA(f%dM$S~k#5z=LslwmJKg^J-Y{ z`%jHXdD%gCHuj$x=>?w|X^wxSMIU-+CzN>(BZ5%vBf~MHw?SBG9H1R1>H*hXejC%! zo=xZ&-%_ZgnroT2&VkiKTW=Ng8&MuWDPA9A@dV~1R*sbn11qn<+IcJXcxNzk=zZ>M z24`|lun`a~Z)TQe)(OhXy4I^4e}^bW>S4V_RzeVmT$Zhf8ZCeWS{nzir#+RRDXE0der94qY7A9Hh2JJwd#S~Kh-;JJag}l7 zF$Q92uul)`MOD=>K^&Mmh3dQA)~hRKL-DphM-A(!c0>sv{M}63(@# z)*+VYDXN_!ymc^B^MTt7e5m~tpGhKV0eKT5o7u|H_hE&n8^m-21l#{y)*5NQBoJOa zN0g5<%?XW)S)g=VXbsds{`jCnc|Ljjt;8 zlW((a?!Lq0JkrhzTJokl8hylhyHMz3R&=RaD!djjB(**{$#Wurh zm>#*MG(u-s+iMYowuxrWb1#O-q!i6iS(?l33{+Han7#vH1BCTNXz-`DW6^5d82@{< z0q@86>s;2NRbV;V65T$}a9aNs7MEN0*0T14l~gG-*{4|8ISATs>!V!{ZP6p6b!C>Y z?Dc}$J?-^3rQ`2LJ{fT&m?Gl5mqBw!Ee@=pNYCam?UuUqz*R9VkXc+pkYQ@8WuNp0 zo|FHCDazi^^{lQr$CkU@5WaFZF{p?o;X1y7MiZ>N)BJiI&ytiZQvA#C+DhKa zcT|l0S}^WDTX3=Y4VTSk;vyL)Ksx#=?MO^JKv6COh~r_E05E#L00(SkD~~P-ySp~) zG~S*h=o)WNo_1kk5|pV)dOQRE(Sz>nKe`A>eLCah5J)s|D8%-VR<}apod!QPLW9FI zYvy70wvXs25zyHk22z^5 z&`XxIdb7PLy8PSDKQmu_079J|>jLDv0E$}O-5zM!@AKuwHB~ArD?ro{CcrAevRHVu z&DlOJ>9eK$G;S!UV2h_~t1s(0ImZAJvhz%KYkpGQUp(pFGR%DBgxq+MIr)xP z`0&CKCeO#7-!S#{Ni%=*#9w~J(W0(VMhj&^j7@U-K@S$3;HWHubc_O@vQcF4&kd^Q zq)F5qMf|X6ktfa)RJWYPy_zdKY)U77P8`go+
zD*d_tS&~-~9w>|GjgBV!PGgs) zW5a1bBW%<*Np{$_smF~_Z@tZ~z1cUIFic2p_#oj~dVQP9@3yjK>v7{b%N_FxvZEv} z6g$d+>t(u+Ot35+;=VyeTo!aAaMwbz)a^DAW{`LLY`&13sog>%smF>;1#lgmCNMvJ z13!pU(f+v?njLZ5B`)IFx@b>d9ptIDq{pH>ZkP*K8jy@6snF6$`nzfK%y0tI`>&vN zLn{L^b6c6nx^4$Hm6c?@{Xy!+cy#sOBgRn^;iIAgg!zpu!b~TX?Cnwt&7d<1b{EfF z?`#A{WhG4y)C(!jG}<_{o^ym6X;_vgxSpI?p96$|?%Fjuph7ZZ;y(cv>I@~ADP|iG z1)@XM?+To*&!}50`37#O0+|(TPvHP~;&C}?w{2}LOYOS!-P;E^_{kaQ9JUv8z{Nu8 zO~kHA>$RT_mW;>&{I4bf-xHW5yCma4Kbfm>kWn4Lif_C z-;Pi08`^Ue28HG22{P(Z@e0aytEOx2JeFHC-wlwI6+^Yfb=uQ{LHOA%2hx~JCJTyj zq4H7juR-|={?_3@f!5wQP$$Q?+?Vi@HfgBN>^fM^P?gA-o^4QLycE5Pj2mKFTUJ`A zTCL>)T?1t%2uw)~k1<_{1P4Im{JS>uaDjf#Uq|X?b7Q;(T~{)Uj|2FyKUh}qAuqNc z>kOa`g#SEz=lv7ku`|c+fck$o+!`^e@}^DQ=btAS@g;@`5>%*l-BrHr2s|F`=&IqL;wt|g z?%%V{B?Ez?FM2ut=elMdF<0}v_5A9qmmD`t&UqZF&Dh_X4|lubTP_cU4R)$Q|7i(`|V5-gJ;u$dikp_|Q014CR9#_vt z|5GU7NM3 z*_)Vyeqh^*J2(L)Wr=-s0oUAFt$8!6m>4O4e16PN#6fDCgZkRq2ziXg7g9v#e)!VZ zNS)5CcnB2@tX<9`gGo->^gLZz3tI>9LsM>R0g_kDWq8e6JbHq5b6221lk}`D4Z~v( zaWYR;iL?!XscKi!ILWhDCt$gqoG?_gH}}M>@O6&`X$SL=fum%!nK&q07A%Nn7bDWe zxF7%ym>OkpNNG6xODo|rgUz!%+CMVLv+@>Ek6HzDo(J#!mRuGX?K4tpcq?N28RjCOYEYa4ucZeG7M-G2gxZdtp) zF!<_Kb>_DJczXteaDZQKhrQHSD%5yGH|Lo8=V3B1LhTrfl76+%N&$YLN>2&HRoO;i zl$KR3{_)1K7k6AcY%SUWA);%#4E2WX?jC`)mlG?`l|MBB_n~-Y@sAfvzq{B(SC3*#(Oc&Xi zt7|!H2=O%PoL#b;Z_K-f%3|@b(yK*c3+-;63KyI5*lUY(AXy&wDs(#AS!Y*1@tvXb zJ^ch=A&gnv9F$id?SEdobd~j)DJ7&s9`QlxHJX*kb0PssDg-^~Jace9ay>jC1&<$} z4qYogHE@O#j1NVJD+M=uP+zAt@JusXOj^RAVx7P;?hkH|enV7(kUI4%K0zrCs=^k` zDcuio7DfRfaJ(`b7)nH(@IFQww`4s-wQTGO@E(u*pHlva0QteXqjOt#5cV#kOYyY(%(pW)Yl@CiyfAd07U@|c6~ z50(O)5b9^(J#KS~HSd=3J!D=xk`1_I6eN;k7$QI<5EcT3>S$8jA2&ZJkYtU4ROq1ZX zN{^7fhzosLmzMiLIRl$q>FXxP5mA6)UMl-liwz-K+~mt5Q)_WH;mn?ICAWv2r)527 zHm`bT452oD&d2WA|Z96B!x#CYH1jnCyZdRvkL+n;oyatxzyys!79d+ZYREUzf)q7GO2Pb3q;ZF8Q)Wf zO;{>(d;$4jNhxGG&aadxN&|LXR~?2V2R&|}F|981lWN9jHG2X@Om$aNWG#ufd|2HA z_ZfFqye=&PN|dTuy-0jizfeDsf|Hwl8VE4dIBs!XKQc;L;m}g;5m+0n3}{=Yrx}5e zum;Uyjq?uFfdmA2xkmAHf-Ln|2D2A4{=xGTRE5;@eIeC7dadhhQndRE*mxk|az z_QuZ6TW;VsH#;)dH!}WEzZ$Tz!G6@r1q4OkMhhBO=nP=~w8%`7jOn_%$ulFg)Vnl9 zo}XbI2DdWo3qSP)kOWP8LkBLR_SYsHbMxomqD&qm5j9{I>{f0}o7GjKB)Xo9?_b)_ zYT=VAwwekVs$S8g_U zRC%$@n1f974tMKrj%r|TW7!c2I=*Yi+b(dArWk0vhl;EJ*a{dJfm{;gxAoocnAX=l z4vBYJqK+&~jt;)!V^NnO+yYq8u=I|q-!bi-Z`mjPZnJg2;&R7@Vr(I;=LSRK!$AX&wdMTMlgR2Mp&|1%zU9s?!jmK7Hs?c(T^>Vu1$%2x z?-Kh({cO_n0;5SApZH0KGM?F5bC&1&8($P3P6pbJg(3EgN9W*+_GH83dt5Nn7yovD zU2hLAXoucaSX)#}@mKAJnuRC0iuoEl$n&q2R_A z(4}i5MNzMPzPwt7f+VkRK}mF8)?(x_Fidcbg{D=hVe1IH!xO)0-kd2T2RV`k2Rok) zhOkI8X@vzlP;I%^#4kl>CXWLqfOLtUZnYfHosc=-_Er5r8xdbCCs%j^{Y9t*|qsWmKMQBS5S9h`eXIJudSwq zp}-mg!+Hz(Ve8Td%WB0p48ja|SNP8CA>iPk%B=c>(Zw^VHo!`~$v!lFFQ>FUNxseh zB)~xW2<c&HId>IIp+r;_^TY<~( zr;JDAWZ>rUD177cWAv7-D6Wh)bQi~L?a~F9PKvw0mf-tC|1TQ{-+!-cZ~Q>toA8}? z6L-f9@KrKp6+2%`Ijz$b_gp%1s$r_DEL?qaUejN~O^LV{@eSVR?kX5knamlao~@u8 z-1%hQq;?!ZNyso^BBVkH5xKQLZKmxb6jEGJ-!-4e5-Yl)xb9X+qRH}uME-i4PK^*F z5>UOHz4Dcp?5Db2dbX8<$*cbUZz$t!WLK3Xd=I|0jE;fhDaxKArd9C3k_zyWn}ME_ zNns0>`1+S&Hm}DF@BWE2sc>GN&pWmV>NL4@r(hRj z+2v@NSuupsmpwg@badO&(Of-bu%6_Y=|%ANdRxDHR{gS$7l0p8{y5DP-p<-Ru}Kcz z!s5C_3y58Ha72oXgNU+p}2(kUsx5v*V(gzO>%j-rlox^(EMYgCYJ#`AX6wR#uim; z-b5!*NW_qhj5=8f8{HzJt^IH^0zTlqQdtb_FCq(T1L9FoSfa6b#LxFdp&79WsBh)M0Tdb`jLizusWAmGvU*1~na(;W(o`}zoeQbs-odM$ZN-2u3~+w`=90wG z@?h@8qk}W3*kUKmea#ieMW;@x?xi9jhd`>{`Udphhk6wp0fA8mZ;#ON$yOgW)4}yq zgf7Qpi>;AHE^ub-t92o7^t6tj1aDr_30`g?o!>-umA-;{G@w6%;wWIfehv5}^Du)^ zwe1;4ePUBfKlsEis!$MCp@YwF71jibYDs)&zsSDG{}LxJmKU_*QLJ^&{N?efR(_2$ z24hioWfIuVeGHaskn5RTtdbXBl+7Wx=onT9x&aJ;PcFPQ#0JDjz7-1oTpz1``Vd*|BjOW z{#Aq0GCr~{R5j{LH;bdyXEX*60xk7I5}P2n;H&7cUnPv8F!a;hLF!$X(?-VSrDObK zL(dd2{j5A4Y={Z8>UBK}kC?9y`Q8XFC~E|Di>UELX%3NfpW4;3Rc%2(TBNeh;>fMN- zy%i3y3&eiykHn(U?RLOu+cB8;-5w!F;!7~vtRw(?ZsX~`RoSDpFG72ph=xsgSrog+ zXx}$3M7+H`cO9O-Hr~NoQHPcr7Zq@hv;sBEpyx|Ww^seQbp{aR-Qka@d1bN`q8%NA z9Y;DG{Gi`}?0@{H#bkX8r@+VW#3&E6IFG|o;1=Dx&JJqK()@-2T44<|ThdXTTZo*0 z?8zj^L4^6`_||&d#7gg@OJ5FX>$H?;islNL06PvSqDZ-US;GZfhwdu6wo4i5iJ95Z z885Pik_DfyDvin(S-tHi>$BAN-{0_6&Jfh+kq579&j`Omg_|ua@2`UZ`+V0Wq2(69 zh&rsPd?*>&7KB}4aetDgGx4;@e36BH4WIRC<7PT!;^+uc)x2lR{$Iz1Psh$viJ<87 z(f!O94)HWyz7IiN1zNW%lh+o60ehVyEYik37a@lYwz)UC=#)B@ zt=io;p3IGkoO)B>69$}eD|cvTu>eg}R89$m`18x0xXJ#In z|9+lxV+V`M+8yqFDW6(+%h>3~3W46PDupz6|HL=6_vXxLm&?BYw7O@|`cPAYNjG?V z@Hqaan5@lkYZQyr!0?co9Sz&B?rFc0)IcdKFlN9}$+dyRg87$8q7P-s1LTH6D$bQ} zr?(LKARpV=l&eZRgJ6>2T~lrieFDxffZMDS?7^v$^!@*o&e<$PLk670p#kJ2Wa-}a z=if^9Dmt?TSPh_OLbJgOsOi2W2_Bw)m(*0>9J%9KiiTxYeYfWhpOxj_5H@p6j%i)W z>}eLX7SjrXkjr+jJ4`q5*;^Ay7c=HmMe`*pHfRUdl|ymEY5)VHo|SV-P)G=#hxtDg z_#O$QP>XWqxztVvwKEMo{GI234xF^j+C{+((kn~%rs1V=_`z<-#2qx>(U;H)OTyBs zc5%(SzAe6Xz+N|U)y+76My17kSAC5x2vcaUq^nlU25IT*-hu|`n908xIo0hrqe{8* zNN-?y)Y2Ao9}j7t0=dDx_5COzdwhN4-5TQJ0kpKIQS6A1a!a;o(LmOVEEX8XZ_muD zfm4gw$tbiScLjjLgdrPKZc703Xm)9N(r{c_uxX)q@Nt%M`om<-=B!HtC{|A`83x}~ zUrh~|l?!vLlkY=f(j};e zNgt!kSaAQpH%-v-dub{_sJ2doRn5TxtyW>uUA;~^4#><4tA$aOoI)N_3nksGN za*OjL?W>?$d>eEF;5?wR6qJ6CR(sq3vUzsTKh=x~X-|SvCVJ;%^liaC1uPe&9(U!^ zs|n}|2`aK8gh@__K`<_96%tf)^Y-(a^kZCek`gZQjUNw6=(a&8sPW4lf4HaFui-6x zkb?xoHo>L=!8k?J$+J5lny`G0hwO~cQ)b>z2*uF;oht6i>Jr1T?bQ)iJVl*sTc@}hBH^nk_6WE@T5B#1 z{T3`lUOKedQF(u9;H?1c2+M2vJFvQLa!B|PB}Ug=vD<;{9+G!qMq8yakni=L*aN8D zRO7{3oa2YjL23C2+^C5^4OinXl1OJU912;fyK5UWxLGMHs4N(Z9raV z@=PDF&`RAz22714T@uSOXFfS!DS;>Vi9L z^-govww*W8YdOnc?CyW_a-`&SBcNpn&Y_;L+_uS<;)?_zkPMtd2KnD{_@^bja$boI zIQ0c{-gy}_!17uwQr5;6baIb~e~=B~2)SkjUI`E@oJ7Pw$up^WPy8t+AtAA~Qv61Y zr_})e-}*KrHiqF5^(YO(p~_bIF9(^=TQl-Lg~cHy4Au_o5IH114u73K-~0Di0!An8Wx&4yZjKpgMeD(%Uh%9zLPr_CP~5 zeltmc`)eIt*vWlZfVq}HS&l%=Up)Wbre}xBMJE0(MNzllXyiR|fP}i5Ig5UU(pS#e2*lV^n7DCVu@8lwtGeI?#$-kMKto&TJb2{LQsMswA8^;`cD$ za-**&FSplSLB-<L2;2z> zM4T`8MB`kagucep^V1r(IKgz~2e|qus^yo+d z22ao6A^T!GJ)^g~-{cA|V2%ZXoKbcyT*=KbvrU~^w>V+Q3j#XoXb^OcziB(A-kxcVA1%O(3HP?JL~7PH9JEK<-p+e{ z?@cz_7bA5ff@`w&NYWjag(JTXa%On%8`o^8$%gB|t!%2DgIX7$a+=g!IW%MLleNKj zNqG31VedEhL_|qEdgKTv7>kXw%zOo|z4bIU?w{(W$Nl!(8nA-DhmnnM!9=cd5)+Ku zD<_{+sRn9Y@+%dX(N$U7^3C=J&o*6Ss-fw{2c~@ zJPHtO2j)1bcq(YZW_%C>M0u=$4Detl&kiQ(s}lzsnw}=`i%~vl`9C|l(&mzM37rSO zaKx$xAFF#F+@y&^|^4@2g(1Tqe}~nOCnxJA4#p1osUOsw4&=6 z9*3bl;M%u2Cqe3XS-XnC2asb%fP4%f^bdl@+jD#Wf*eo%^A*MGYIhvPjwHYnnpP*9 z9{hGTn|x@7t)ntCOGb7oyuf;@Z%YWD3Maes9zP??D}%frrRHrKaFxE~16S!n$DIl} zaM#oF9FQHxepY98d?!n(GP#hlwfRRl^}d(?9=R6QBkobO%q!3c;W2vs9u`5<%PJW( zLepvx`6vAYDu={w%VaEU;z3XM_UXk_+(S}F&S@*n8w*dn6XdKHA_6d;X_2q6&G#V0 zVlEIkHar|tT9w16%HA`dXevWIyDN%wkAO1(rw44oW#C zw7kSg z;oql@q2=M>Vbb-e2ubD){M9JTW9xm38|~(s)QhKd-{E1G?TY7ith;S*x1YeF))2nF zz>x2{Fnk$$JFOzlGr^Kt8U|LxqeI|O z?d=`vhxPqi9$jix$U*g(?>4kCB5QDC%7LbbQSwKdk*dl_VJa~ry53P|hqZ?dJWsD5 zmZI?ahu>-O&(s7MWcX_m9TJ;sN4g7)Gdr; zB$}3`=K|xbv(}e;9Qa1&qgFK;bLDs3q6@c!0^D6^<)M|e(Xj6UU#F>WVO*T$d)^B2 zqqwDxw9>=B73EJc4nWA}I4WkeR;cC6vbTf{}b`6-gYE*`6fu1b~kTHR_T{ra!MSh4Zrv z^-dr`e5IHTCdOyQ`#vKi&G^qc*Xn~E6#t3Nl77423LT|06G9`hBTHkojFU@cs|76{ zX)SfWF2Fquyqv+xxDX7eh$v(7_Y+p&kT)UL?wl$A_X>dun`>SQWI{fMZ~@ouoYzxt zT{^4P6J4&xhxFW3hWTR407kM66IgKcH?T14TO4&Bs3Qm4!PwsnvN-9?*iL$$PZQ)j zZEnB1WRS-f;yPGANq2lrh6zl^%Wf?XSa(jUJFam-Qps}kTt@P>sjul#SWGJr1??=c7Rx*CRg+-M#KqlGip!<#&f=)vYBT<&YCLq93!$r)wxqeQzaj09d4*k8l z(wxSykDal}edDJv#THP1I5ECtrnDvmDZz_>VCjf$!JVZcT;GbnZ^k~0 zpY(*|`y1`WS_CBH!PQ-dH;%~lj2=}nA>IN#>#gtW5)d@+dTLY%&$duUJWWE&vS{Uf zH%w!5P=Efec`Gk&pF(Ec#?`l#A;k0g$dJfvYbGN9zV*wwQL9UQ)0_R{I86pqSW~*ls?Mo5S!~7= zhO4F=LcSWx+Khju;UM4Y$#HlVBa~Mk7(9bihWmpEVs$c<8VMF9Xu^uolfr>-04KH# zJ#3brWkh#VQD9I>n{oWAjAl7H^GcBrH%!5~*isR-bAYNj{qd+n8V1Q_jT3%JeYjLU@-WnB|dMKJ*_H4<2unCt|FQoq-Q_`a&KDii*6!8+m;aBZE4(W z?*o#Po_f_Ys`=4CW)p7np+1(9=R7jRt~L+yrsL1O>q?MryxIlmOEihJz7&r zA#o%7v8;FuUQ#0a?7jrQpCJBcu6s!ufAyO_|tUGpjr zu3r8jO}*QO^MqYMMH_@(Y|iUDtu20YMAxqN)zo88ubn^VnNGhNF8L2fpI6-1ROiKT zy5yot9SmmTvB8htF6i#dGjQ+`WG)=n$@r#du=Jf95({eVDr|dvua& zq@=>Kr{z@*(Ls)AHe;myMq(sK-}p(xk(Lfu!?Lo+r(?yK1u;gyvEMIgG4wqFd7OBT zA}zzkH(*csNyd49_>ZtCcjL=A+6R^R@#jw(7BU3Zj~)y=?QA25M{IyY;)*mMh&bkX zk0|=@#H`e>l?$D+cP%HYqooNgb)>Cv<^LS&C%F^SuFqMsp+rfhe45ay(BoZIJi#3~ zKRhAS2O-akiK%T1WXWaH(knK-{2%^mpjNEXn%8r;FOadajnFmUB z7%CcD{Km!>;tUTpIb@!W1wo6tL>^y|f<2#G-)Lp2#ruV6?7Y?A^V&^;>T+e-r5wUd zY(58+!CcM3eO=lq){4p{o|$|}X!wSvd-t>*;vU)D3$T43lr&JOG1T#4;1d@`J~pHO zq90fgaVw8fH_mltC0i^bD2hhT!k80*4X$1Fk!Rz@Ta4Hhdtu37q67;z*m0H)tBum22`9D?jN7Hy_?OGqD#y2WgYu*?h*5cs9r6?t(sZ5g|JgJQZS5M} zRKe?Ef_g69LpgKI314p3B}|k%+)QAtujZ41Ns}3&n8Wd+fl}kRq$pbcVfLS<>rg_A z57>D=GvKgfcMoCGem2Pm3m26+3Np(Jq6rHM_PAm9wROo|fdMN|{=(Ce(D(O>{r5=f zSp9NY7E4E(ayR!C7mkgv>=9`B#&iB<&Atjw%{bDBcB2nguo-Xj3oIhISFBa}B;AAO z7(x{wQb)cqD(!Rsyl;OF`Kb9g|5gYNQ9?P!RR4jF!074jW#$~_j7)j(Gh9dSI+BEfhBotz!M!&7Q|0G}l8G}GzE2bHVn0y)5@7eD*}6mN z9dTlDaZjtA$43;7-V^Ix?cSyv*A&U)>&VJ~0PWnX@fh9K>vQ_`L}49)ZrCZj*8OZpR!!N+byi{bL#@c?bg z9rpI@<-x$Zoh6WJ*b^Ei_8hO8l%feN*vCu^{2lk&xY1XQcpnlH?5rZz&=wO+ql#Jc zsD7XCr@ED3pWqlT2!HsFQBZRwGWgGB+WuB{h~76O?OljPZa|cRmgeK$Cx`kOD$BUW zt8KhL$aR2Dk4o?168kKC1SoS2*MHRLpDcav7B%KXu*}52_o;I|9HG9Fo6{@V{~3ga zy|gK5$ zGBtAAu52OLS;59Z*;VNRb-MR!vuu`;KgZ>m*#wP6p?wxS%?MY%mK1({GJk3pLY{K! z9$$U&^PZBJ+LzTW^%^Z$t)8iM9y{dnUsR~InpE8(ElPud2+?3j)gaa6o2Ny69at7+ zk9{YDHtB?3nnu+GQ$@MOBy%KmXlTK1VsFVHx85Dng^d||-aYZNvgg{g2}^m<9eU|@ z8og|zxAJ%2P%d$W1pVD`6@|dxWK;RO17h-{_Xt6zf-S8S4G&o@$AQ$%qw9vmf}RtR z=5wS~%vi`WdS0rjb6X2H5;=d1xz!AojfnmGK4~*V>o7bFzPD?4OO@n;|2Oq|VSXg)a0{k77J1~t;9gpeq z=C>ED`G+L_t4sC0ZqE_ndf4l02tN^I&`x?&s)zon%C#No$ipSRZ%D!#=OR?v)Nb-8>G%p=x) z9l+-H=aIE<7`~jtJ$t(m_)Xo2&;M^?&^YUfl&Pj6Me_4-y$+FAVK$Bb!G9(P-oRj$ zQClh_@G3E$%tjv$4HIj;R&ZV%%sV<=*Y;WXLE*bKtK?k3`k0dPr?S#Bcnp-V`3d6k zbv#G$kf0de71UgtMdg;pbN4>SlDi8s!9aVxbKUXAJR<(5fs(M;CD@`t!nquqsNRwb z-n-+u$7_(dP?-cxDoqXp_<)dN?73`+nxKwMh!g6)$Q0jWv~=88NHffTiE^PT~Fcy6|4$LTsVVt_g)F%`W7S26u=3n!&Qva_A?{2`)md)~%P2$v^YjYE5~M#%5ik?$>Lhts9(e6CL|i(QNqZ#OKfa0 z^3n&H7)HfuD%tUMY-3vnFoK7SHt~XL^+asOUyjm=NCYCR(k?`tyIdF`^CMsqyMm0S zmaBCrAmhF~Ux|D9ci5j_3|E`mNQ!=4azI}F@dlD;4l!_ig+WMY@^XuPbS!9dE*dabr+HEU#Tp*zt7p*i@iDeD*WJ2~Dfkk}ez`!`ku8CGEsrVVZ5;%t z;^cd3Z2Ln_Z_teMp?}6T*y$y$p`7MJ^Vx{KxbN{{JV#gR z7^<%GsFlnb#{!#(fh;*q#XE9E;2Qn4gj=T?BJUSUyCGjyd?5H2Th zL|Us_;Mi1cB0dVm#TZ(JE~3^9ebOz+(kE6>t5WB9|DF}B8#}O(s5yts2E^6?dO5lGnr9j!Jbx-f;Jw|0xsai$F99v4mdP5tGTBI9mG4?+pV_)RP zaT!Gi6q7~1R5!8S4{nI?7$ze4MPwxY*}z2v9y*c8$R*MEtkC0Az9tLJg$fF-`Du=7 zMNn1oQ|*8Mp%(~ERlFJWLukf%V610)&Cpd9{JLLA?uMq3gLKyA$UFIN{pZB1J8cp- z2N8Zi4A+H-&;W61L#*i9<&_nC?9Yt5>Vrt$rggJyT3bPfj5JiQ?DJ;{kw1FLkwQM3 zi&#;ggK8Xl#O>PpnY)(KVnhQ&YL|e8?4kj<+?u1FfFxr#Vv@1-{mo%E#y*iFO*wBN zhjHZ|BcF;8BLY{{CgTDW8Cdw)U-}W~5VIkgcsPikl`<3JNqn%Lb35Ltemxol_WD2j z4uPSLJ3K=6I0m!yM2WUmdQ=Meqxq2;PK!`y9D6OVo)>m)SX0KVEFUA zASK!94)uS39e#Yh71UvXoupGQQr?;8V}L9HO2l8vr}P*P16qG*6VdBk3qe;m7~Vsx z&5tXL8V2d+eq0(A0ly(KPA8!sCIUP%fOjvYa@Y{RD``S%+1Yhj;^i!Ad3m>ccdAa6 z+ovsTOWI-F%P5UE+`x^3IfrTo3ht$@O?J(@5t}4(c~ny z+DJ40{8VHAEel(==4jo%K|NEQlN12DZDYxxr~!@|$7zvUzaT}ffH3=D(mFKFIG(ID zPop+pMPuDp!?w!_tdroQ{F}JlO6W0}yAuZl3sue}BBE@O3vdd|8ZtRL626s5u~uUO%@e5Zb)7T{x2$IYd)=B4O*^7 zz&wkg&j(9hUw>=GhP`}Z_m{G&O~Mdvx{XbF;%+yVU&iYrD{vnE)&3lc1_m=ZU@#N( zSAiue8Uxl9A|gSVUYTur?l3dFghH||C3Em7W{h7{@>`@z;w4wIKbNq7-3e3Wlqqj~ zhPP8n)r$pkIVjfn!tS~Crr(Ll~Iz3*b89k zq_lUc;B+4uV1*SO;>A(~6U>r;r;Voif{ zA4T_IOnAx?l={fce4qrAO}UL}idVa=jP8RJ~4J%5G8psjNdl2S~qp)0HLiRTTFAQ|8 zD#VmY$A#za`NZPD?&Cw;haQy;p_+{|ex2Y2F0Ty?mQF*+$EXk(7XRaDW9oQb#spsQ<3IAR@JlEqg)5M0v_fu;>H;vY?w8R%m~}9$TMxIJvw&P{nL-c1=>0%$1m9py$|QmC5?eD3rCbI+o@o1!x}X!+mIMDOn? zR9~!)@ttniy1|_DP>vXjq+UWvE@y>o4IeYoY|lbfZaOLO*@ZKLG((+A`y|4%oXPNU z`z2rs1n%5elt2P7>K`Li(938utda6tI|bDI%X6J5ChQ(_W6k9WB7VHG<6lg*iQOz2 zkkQrJ<-WY)n7ho=(4A<(vzC4olQVM-VJ)%Wgq-f!Q|z5ySAveFDj&(6N~6V%Y;Olk zYCCKmv^w|{wyrplQ6;{wOF7J7OgDzxDPjnf>u1|1F5;p>3}e5Z38o9%)xKh$3xcc1+jt5R2^%1sy!o{u7|Mlvvm zEqmFcaqW`m=Y$Ow3N%-+`-0;7-$hztak-3xrE_cYDU{2H`&@$Q4f4 zlv~a&RwS{GIIKQjPTE&HdITT5^(X-VIIDLpVc%sCAba{E`;qJZFbPrc^$Brd-z7zQ zCt-jC%E4?=&9VY8T8?wS?Vf(aBs)j-W*=`AN3}NWX*iH^` zCtg(oeiZrYcQSxWq7bd_tplV{fFBz977!pn)I1f*(Z4f7lnBLcR?XWn{uJN?1kzox z^IyCKmyhi&>5e5xg{{e|F6$`E>?UgxX`|b8yC#22;SF-rRP|N<3?T)yuR@Js0 z?4z%%s6~Gufhy-W=(e~x8HvjCCbBRx4Ee=1On1F>NM)=FaTE0O!wNroOSICFOmHF+ ztp8Ou9(Yncg>qChByWE8`>sj$EJ<5x2aB^*d8~VbY5*^Qm*h?n>?i!>XVjEdl%q-T z=lM@`DU5Z{(D~4R1@ze(&kPNl-ezs1)`-*))ynC!MQ!lPi_9Co3|YPegOY$kMG1FL ziM{CDz{qW+iWz`~G+2nBrlTtmytPugfq=2z@nl6ucRV$j32jldrNl5!NyGzwTJhq{UxZJ;XCD_Zg8 zcS-tAFE}+TmZLi<(kf>lmp@@DPT?X(G7(nECbT}DrEp13m zB_mAdkf6g<{iQBiMLh*^Cr)lE6DT5a2y=LetmA*-3kT3minCWCAwwXx9IumIp_D3+ zgE9tE4MeT93IIEHxaU(q8$>$ZpZvdTnj%cVwW<5MjGY`HIKG`JKS~8(RE{sOCJ*4M z?xaGG;s51-h^a{FtQkF7L(O{Y%L90o=8I#kdP42)rw?`itOEz&bxv%t3Gpfoaytu> z3KKo1yow%|P1;)Lv!M0pSc-EK?T2|#UWHEbi$MfIF==7i)Hp{}1;?2Mhu*iEVo=6= z$8g)?WT4OJ#lLLhFZU7?7sj8zMfY&{GWy0Q-})UTjoIV4X8icmSAtQs=2&VkIqy3i zxM{Unco&Mr0Y|3#B8uJHmk<7jIBcp`V;$dM5S|*FfCe**%{fLN*Y3B4?d~fMY9KHb zaU=6wK`APRZTm4;PNyKYlTQKltHuvw@XLp=O5W7;7!%ZJr{pNe*SwNicTvG~L-eAO zK5g#K2)9k&tUPYY2qNBOd&}bn?MYNLL!4$}9LsxpM--ghzv8;qyW!h)10`F!96fX( z+A};Fg6h(?!T-42R=*8cE5eyVE9Bhb1gd!Ilu%DRn=cYiX9a0;+9-0Cr|smwXzwH$ zhLBZq;uESZ%gBdnkyVGETU57Ekc61xt)A^%xP z>*}!i_(i|(LLM6i`OS7F)RcQry9<%D8W+tH!SxFu@#M~6i0|IVST_H{@P$(jmgg-c z04oY|2D_Ptyp35@R$V@3uWc@@)~z4xC*uoYB=?^~b$*};sT^U0%S097*r=x@zNZ^V_Z{TYXV~23$fRQxY0xP2wjqQE!mgcK)qa3fcitcel9VmX(%Ec&J z=^QV(F1^FBR%|oIwX9NtlxX)c--h`)4YIwp9Fb9J&UIahHM^_owW*`7PR~sr@<{qU z*%1j5PzocCYMvIhw5Q|QCA*Veu7nhTg8hn&+LvKz90G1i97}~fJ}W4hxNsRJ8{3ikWjNDo^p^{cBvOTiZ ztUuLuSc??zH);?rJRIp=L=bx7sCc3}e@e@E&h$=77|ua9mrn)#S8Gf7L!Drt%8MREpp9@!#KNQj}>(e>k zG<;%yv;8^nluiq)-g}PgS$MvuNxHEd@s$iELd89`t1Ix>I`Nnyr2hxPt(xm*vPI*v z?#L4-!j9mR4*SIY1YCuy-?t$HTFZjZwWUI9?)ky_5qJ5OxX3w^>BOsD<`p7JayZw` zKL<;7TBmC;_s}D?zlv|oIqGGTE6l$g?SnWoWW{v@3Q%DjOEX3Il{3jvw5HwcU&hy5fS3<@}K%KST#OzrXKi8x|<#^0_}a*kiS z{vvc%z2q(pM!&FOgOKa4(%34FPd`&|EU{K0Qbwx@RRZeg*k3+7^?2%S1}+>Vn$^B*X4h70*K>^kG8r)Wz`mj`;0XTpc9njqo*V5Ob8lO=xNbnD^a*lt^v z3|Fc@M3Y*bme5)+U3zk`x*haWc*nskfnVhE*v5Q(P?35mvJ&K|uocj(3@ zP<1U-zgh|{d{-GzyrFX})e~jUC^nim)h(}16vHMNZ~PpL7!6Vr3|MLofGvZ|0Iw6b zV$kGfC!vpTSa4eS{gD@!j)@Scj(C(ups5hO%**bXQ~aR~5k2$0Sb8+mEbFp zD*k@&PaW}uWXsKC0K)Iuzz#p(u2J9;YOkD|%dGlz?8ySq(CdnlwqYt}nWW}2fwY9VN za*lfP`4q#QO9ohoD#`OJc}3;_Zf-7|wW+F*2s zB-i;qdn7QfuXVfOn9oE>6Sr}4!VVA zPMphz%zMJO&PRrwqlxL9FTr#EIhAW>QW<9)&sAwG;haKhO7~}pd*@;3N>LA@dzB9c zu>5+9C480a7tnANfdLDL$%czdf0tmy6^G%9g(?CINE+5{aLrF;iNGT^6~P^(#j0cw zy@h6}sTV*j4MCh-nrr1fQy{ccdYz)Y2%qFBU)SW5@I7()rTTUUG#e`~n(?q3&vZIt~Rk>L1DB3ib9; zp8Bks;!K*@SShp&fxk}M&Yzy=LjV6eM#oZ#w%RWJiM@#jH>l>X;@Upxms1SiR{t^cGCzLR}N6zdLzCCk9V(BohZQNg*!NKDH z?s*i+T711Gc-!pqNjrP~dzJADMu;c}Qm4Xz7z?_r`yTSg!PP@TyS>LM^M@OQ^+7jX zxxe?ixQGP5lntp-67y18ItK@Uo}br!Mm`%VIa%X^F_5SgsY0quVIw*0Z*nlfH>z)c z{4AoArz=c!19X^-w`#*DtB>MMg@k5CKQ6FGB*9=dmt_7J0M0ATpqfpLW#GM-CROiRPyO+GI<)8`=s_2H>J2!MW~^;Cj42$ zDnv?nO%r{orqb5whkV)Rxt4r4?$8W}-FN8QsJDSm?km z=$oQS0l}&Bx5d*=`<=znH`E4v6#f@gELY&J76~>Bm+c2~fOPP5bc(R4Qgk^BhK*;! zRrGx$GqLbVX>Yugo_hq3Rl`(5FK%Q|HR*3JZ}9aVB})vuQ!2#(>KVM3Mq@j!A;q_Y zzwK|_cPU+MfvLaL=>ANupv;<7LTnS8F9wP53{p*jBC5(VY11*yM#JoVUL7W; z<&yRVekHE(D-VgMxd;V%a}2=yZTI5>^oQ~OAiZVukJMlT|1!Dt7sGJ(l4J_|Ykh7{ zO^V}cbiJaI9Ek+Xd6Wa%)FBDdKm=X&DGUQZCc{Vj7c+4i+0&u-=9It*aeff_RD;K; z{;t&sr#N`xnmQ_@xLXYe5C|mtgZ>XH%#>XG0wr?uDcu;y(<8KI84I{u1lbf`Wm<%l z<&O1i&ec2ZEW0p3YNq}5_O8VPx9KE*pAWXx!7U-RMIJ^|;&;i0n`Qodx_mOn0`Y!^)w(Z79nq9xbn~M%th(pn-lyrw1i-7V(*PuE9DxJ?pvYaIb5)a!)_u z>xjk|@mjY9b)nJ8AHF|;%WBgjP#ERrHGEw24^tMDc&3_|pUItMm}eI?S}q0|0gw@B z9CNu(_5T8)t3Q7HAhON2jojF7yTC-CEyJ3l2usjNA%ZKmc!nqUOo=Z4@sDSqzry(aeSa8{ZS;%fw7RBa^nMfL=U(rQEZ-st;e<>oNIblu#SVq;@MO|cOCAo8 zO8$aKDUSg$6oy#`Z-=z-lXn-d8|!^^ZQp%C`-YA|xjh`PmB@EO+NMW6)Mr47o;I&C zB|G&>GVhu`Q#D76IGaU+RDfW7rU(*>3Pp(F=>i<-n`uybSDJ;1KYU+2<*bD6v0=8I zTnj;8B9Wi__p?{h376fYKyZJh@?Ea3E2~_Dk#}6~U4ZYTh3C=QLVAtg$O_a7@+R#b z4w6GL%^X>U*4r~fOoAb5f}sx5B3B8CwkM}7gNdZ4Pg9Kyw@F^;f*ES10x`mym>5F? z8k-sPO-Im8d9JmN_!hRg14kLltnE|WHg33jBIcJ{qZ}H31p**&*c(F~tv9s}3_C)Qn_l-$pp1IJew!mKFlZWZl}n zppE{37+#8ne#wRUwAL!vw)$7HnDk@fRMv*<9FdkbT&6Y$>zOOr1)1jwEe0L9$Spdi z<=ds$O`}K8NE@6|K)}bygswFd8YoS*>WKc5Qvn=f2Cg1D{^vuzj3fYt96}_HP{Gc+ z0l}`Q;?sy|hOVeo%O6cW6~v&B+AF$gMo49(5%VDxNwRGugmudhBt|l0k+L{mBuU$M zHAxwD{9vVuNE`vX#@xMvKe%vngWfuvfF7hD3t1cr%L8uPLFNV_HI2MDQ&0uB?BN*x z0ap49y!2j-GFklmOjfwy%Zoxvw$3!1mVbhL#uPCtThOnjdT@;JS>9Mj2mtg6g{*Ezo@$Kml$tqt_S>`rV!Z zocG3$)3zNTU8+|GF(ZDZj#9!lyN>RgjM|155{_OTxiN_n6C#Fb6-G)Fw07B7A>{_` z1{v7+c?PVRLKB}5F_O;f=RWPUkD<{3*g-Ta2J-_f;4-x`$2I1HB!g-`AQl{clLbr z_-K@j({-<*L7S|r|Gcw9;~t}>L9ZCgVR~cmCkIBkE?5l#+-KM8 zfrbDkW|>!f84z)td^DLSEovlQ_Oyx2?KTUk%M;(rK$Yw5*nP3S%k7)^L{1Q^q%lR0 zL^JJpGU|?BR1A^)32;T|3Q3TcVL(@NbvSV0@3^w@64Cw1YKFk0Pq$i1a+I3v>7~cv<$bu`gFpocpF!|T1DT@xvL+w z$DfTuICC94og97(dotyP;Wz8CQ#6yQC}B)B=pszqD%o!v+zP@&D%c8h)jyjz-f>g_ zy#FFI*Jy>$)~-iUOym7AgJMOMGJzJUs1@?f2dS~d93?J#%m!)vO@K8MwAVF+K|GgeDJ@?vE;W`WN*L#}dTlCMSw8kB)0Jk-5}h zz}=ZmU?CE{X0WK2XYJf>4roD^Srhf0vO*Z1AZ zx#i~Ai~02h8!P!YpgN9|N=rc;dHjd=uC!^b%JPj?gIybT_9Co#gs_PpCa+uy?ut%IWHFJqS62o^F)vJJ^R##?`2qS>BbMMg9lqnW7cg z?lMIF&i|3a0D2?ZJzJE&zRe>K_AxxDVTr@_wwGhpwbt8p+p&nT!gMGj+x^tZul_&F zsuXK#zIAh;j^$%`WGQZbRRfg641gQfy|A+K9Ng702=UklU5@=HnMKmg%wXRsFm!p1 zn~u!$djEEbBcb3v%lU6~`vuitfd&ojm5T!oV>59M)}5b4I9Sy}v$0OQij1*^?z1UX zuydc0xtJ&4C_IJ8>nE@RF_J(;>lga@3+7f=(T={+uA;SLf3?QE8bleT1wdBzIZDOy zDaR4%v7EvY$rxu4K$&!58AFmRLHGK=yTv3%=60Psw7`iRT)T~XLPpMxXs&Ukg;ps3O%MgMvos2*J zKC*X?@m_3kar}oCvxB3qb@iZ=2e7SxaAcNQas!s8G|vTF!3ZTUmUuojFXS(0V6^lh7onB)FdGQE+)Xriw2mOdy+JYS|0X+0979JUvlYc z?kZpGwt0UZ0V0%%-IUJ8-q5pXcK=E|1|}z2C&zPSPKlFv(b;P?e5dwvcQL9BYL}L8 z6klgkN7fslB8aep8Y0ta68+<;OGt5xHWj>^xC5@C_yAmY=)}Hh_89aPklNLV|KAzM z5-}v8ZdBO^h+niAqQ1m^hYnK>vmmAr4P70nk+BN3^?L(*AWS#Y6d>ZL7-n^z!7TO( zW7I%*nGq&k0;B<|>IEo?0JNFPQoH`6orsR3%ut@&PvM}eXeE@t=RdvSXq8G_*Q zlMe9Z%@|J&w6`mSx}=?oqO3l}RttFEz@7y4K|CxT?$3&V@EVyGLlY`0<-x!b#fJab z`NK~DVRb>f=ocHW56B;uC$NuhDfioZX8O61?-qDolgNQi(mKZg=n4*rsJCSA9_o;8 z868GJ%^keA*(XD(`s2%^S$_|gW^Rw-vq`l}!vE;M#9z}^x>R+C++%KCYZ(-+L#G#S zoOmEURqqt$SL^kwAu(7DeCT~?bS3{agUk#hYXJ5%VL+ojT*CaN0yhTIMkz>_HSaCi z8iS$4J&9y1$s6=yw@h{Hd1*oT8>a3sMc^SvIKr(3+;bYOqNR{&?4C(x6#DXk(Eu#Eb;NtHEhzOI_ z>>YV2qQ(85>-R@ufCEcS{$!(4D+SL`rLvN32ZmA^E;JewFbU|?yBE;y+G5hh3h=nu zg}zAUSo|?1_Y5lsLr#URshy1H@!rtZLjJoAwpRuft4}n}Nemwvmq< zrXWbvzfKHr+W@+c5JR7WuYe%>K2;x0@6g1~JpFeihhATW=?Z4noGE|Tle10%T5{P} zn+3pwqiDB)w`9}m{6NY0WB*fz52;Rd*XF-Ib~|^2ke*YkGUM!3pS`FnL^ewaA0O-# zAruAR%hMv`dHDrWTVP(OF3chcdCML3E*H{p zl`sF%e*B$V5@D*6x=Bw$3eat5?}2@^)8-sdvlNd793$d$F#~NJv>7A?x^q+3pwy?J_{>^{V-w;aQ!tN|8{9Ic(R04idIZjIGf!b~yvRf?qDbsO#@60HvmqLI?lY<^@`Lh;Ym9_b{>1-6iB;K(EE- zTp9@o?rH$R4A3~T2#o(`){!k$mGAZzAY}GW(%?(T&cKeb!iYHZNPQ@}|9Fw&NHfX; z3<`T}ALH&zM;GaKM-|~Rk6YAHxUr?sKTh%a@%6GSO?KO~9hmH>k@e@!w3fsYzw?VK2 z*aU&&VYxR+w@q%W!2kgzHrmZVa7)z72sB?*P0C_^-Pu!g>sV#CjirgaP;Ec`5cN6J z$Dj`(Z!h^t3aV5HuCKBn6HoFjn~Ki=XGmB+_k;=u7V#+kEH#OG1(R0uC|kgGC#?>X$L#;G~W0c&HHw36|V!=DM@6cQL%DMP#^WG0zAwOBF<} zi$q(F!B%|PL{Ghi(FoufKdIo9lbu;e&uO3;2ammLj>4?S{2pqPN|^S~DgkRuU$#_g z%E$}6ZT&5j4-}wAf|t|R5q~UzN-Fzmg(fsVsquQ@^p4qsh5nge^n?`|Rd(c#(C8Cw zkB}0*V@#ya_k!*t7eSHPGx>C^Owx2`mz#NBf{!CGz*ea;%9n!piI$ppwdhE%kZM_X z>|JSBs`%B)Yx!8vE?R)*3y+6kj84;qzd^eBg}JF z%a(0nXAZyUu9dZ932eujB?-k%2DQP&sOj=|)5bq3qJa=vb9zS-$7uWg5k?9uo*sc(CCg-0RKgbTP#W8$slH&+@~e-{R- zIJaEA@-O;7e4psVW%hkT7ce2#k9Hsy*C{qqPr6PHWVj*yv$^Gnw4Qy}q$Ds@dF3H$ zNKFZ7U|JhT3$hiQo*-Ua`yNx;zw8_E1!f0;S;}QM^+PSOw63HQGicrfWQIovqxYGK z|HdaA_%HMTKjV0pDc-p7b8Jo5!o)uOVU-Y&_Tz_VpVF-T?q*`p5N9P;v7WyWRJd7-`dK#n44RnkCBZynVni0ekA(P)? za|jL;?%K~U6?{YRJBJ%LB_8>M%3l9jrL31S9f8X!#f_-LfJ33pPV#nxR^Y{4s7mCY zoP$31m-^4}+ln+)^!b2=xEHfrVXyh|kz>&y+vwsISKDeVzvayu=hcTJj*AwL__U*| z|FWNpom-vft%6MgXl}2DabNbMyo%UhcKB~N!c+FBX32j56H4sN$Jv{jOOWH@Q?m09&Di12kiu`X}$UBEkTpN zfViZ=?*x{Zc!=D*rUS;zz}9h8XD)hVvzKjsjT1cE5}tz6&XHjJ*9L@Zh>TYBl>2Un z7#*M3^k7l5oR!z#ywI=M)qVQ`)zbMS0 z8vHf^^s5OPzst_t+jeKz|BYe+#mx&cff{cRxAoTzd!^Ck`9B#d?ts_}NQ5`f+@zzZ|+uVP-xYI&)XXmX8-As<`! zejSuY(>Cmo1O`X<yI7dkv$mJF<6%f;RVf*XGW7GzqH22O@MZKHk8q!HxD_@GxO zwJXlZuL6pTEQ?xBj>w3W$6tJ0Lhk}x;b-ID?G`EV%ImlBEB@r5dodxr&H$iAVoi$N zNiQ_fGX;s2(tmCKyKfmT8G|s($2=sPs1{2qq3W4mZ%}(S*4O=3=jagqF~B!@hXuuDw?r5~p@|@2)r;6J z;_5|B0(;m7^eSbeZr1tOmidaOi_MiDoaV~L$v}b!&p1$g2qYbto~V+_*d*4KaZzB% z)ZduOH$)0eJ6M>D7;DByhw^i;XY5^07NxdyhUqy2gT$F9VUYpJ{`F!waDkyo0gk3x z7KRGCJz^AD=fe_x??G*Rp6P+4Me~%-+TIE8h+~H_px|Mkgzz}y?Uoi=l9yEutLc+Bc)2Rdh^pM1yJR@In3@??+$oizXr_wmxFYTs>kQi&@l`? zG`M@y77*z`-V)jkSst>eg7rz$6!t>~iN^QNlP$=~(H1RYh>k^v$lkT`deR zyUzKUX!t!x58^?d(Yy46cCa2n=!Z;oy>rKn>iJ_n{#w5KwSP5|Ngk;?{dX&`pP~Sw z@8iJid}N^_r>jfdrA3|k1q1OS0y?IUt|tWeKuBL9FhFTB=w%!O&})hK7{J+C1M{sO z@eo6C2Nw6fdo$qX`CZg#bu7*9T|5|NO zT)0;3D|79U`ow_;U-Z1BK*_BB`-`(@3l4O9QaV2pIxI zl!?WY<&jLDuhrS8t`j$xJ}9TuIXme=L=O*Z+6|fE0XHfCMZn2Am#cl!dD<--{$R2P zm`1(KTIs~{phQzXmAtfkra!d?v;#Vae#D~atD;p7`T4fV%VTy^>od~JbOHOdxs}c% zc+P-K2{VF{=|~-=uYB}G;LAaF*XHlvl$kPdR*Da45AhR$j3yS|06`15+MCKc`HEjnN7<~ThJ{fm6+FjwT}5tG_;+u0Q3drEVUChc$x(UMfCgcv9;yR zq_-`Kne&WqBT?f1W&Ldde&H=THm;}*+aPAyJ8rG4^*twvKSw(HIX0dJwjE7hVy+m%Q)X> z7g28x@wb!4mH~|3rA9RES29~QX9d?2dz1asa8d=1#Cv*Oq?W2NA}K*)gT2*Jr6@Ml znXQeH=s}++(PjgRkr~Wp77_+))~wsuQO~p%*HX?OLz3zpiO1LO_JPRv^P z>23EoNVDrD;Q1SPHv{KHJR!Ep|NSufq$wS0!f+Z;Km48s@wWBF=88{>Zn%*KbZIMe z(8)Iuh}>biiV2V;D{k&?W5`=u>h9PT0(4o=Tf%TLjV|xJVVB_FLFK?bc%AkpZ6K5m z?x0g(G@=SE;YiB!o-fwnMR<#b8W6<*{0-krjExPDAT@sfsGLm8V1rp zERPkuOn#I>m$!xMPjI1?``95<>;@5bj46M|jo&+xKMmlR1dpj_wmN<>ndVy<1fs%# zWUtZ>fil=%;l*Hr$98z(vhA-+kui)PA`sT)|J+)H_7I8FBRy>%<4=AJRq6lO2iqmK z=`WVBBOy*r)?I8%3sapk38RSSrKdo>Q4b88`~{ z20L;pWn?5iD!?w-CmG<8Jn@RV@~AyET98slcbYg-FSI$f_|frJ2ma`jmFWH1mg!)x zOv?I`ju)h}7ivLxT+W(bm>7IQ@yoUBd6$aG`peC_+oN-TkGSY>nrYh>)z&xG&&J#L{gSwf z7#B@5lD=G}I`wPrW`Em6csqZ4W}JL^#YoHp(*43XsPH;{z6XAW%o9*;X(bzZq5X;t z;2oJ?Eb>iF3P;F4`uf4GK!9#C|5|@n)wGhsU0RI>sS;v`3=HWo=A#sGTxA20I}d-o zfv;&nkUa_@=4Jpm$y!Ke|-Lgs`|t$PvkVKP^8vK>3!{=YK|poW&c$gPLj%(Zw=FyGLMI` ziW5=lh@>KBaQuq67U{!8fXW*3>^SuE%#p)s5fd ze&GYOQ3r8lJJ;WN13ADyhul;yl}`!4hZ%1Z_!gZ!B0#;CjF((@D;A{hBq;LT)$Q?4 znw(!S3qH0X0yK;A1RtOVhybt!bNh;`{=30XK=D~p;*wdYKZ@TQ4xHT=J7*xn>^iE+ z`D$DX*sz9gts~}-h=CORl-AnOrDbN|s^|wwo<|yKoT!>7*4+kzZiae0!GkL~(Pz-- zw^g<_0Yv3ORf_U8lmtD`nQDU1BYKVM?uRE1Ju;sF4CkLWV&5+m;?%9@J2XHlKpt|9 zMdj)@P@ZTu_lNB}P8ZmnfH#!{sJ5CD-iMP`CJgI?=S%R&2?9a;|MS52qjZ*ZL| zBceJO%L-kj-#CfPF}Em?80gRRa!05N&V!9C0Mm=M{Zt{=DG8hHwE2a^n%^%c<$Nq& z*~RvEUc(}#r7=v;y(WI}GYeL3*<~*EK*o53hJ~hgHIS_w270P^Pa_Zd73&5iT;NBG z*9uqH{!Bvy^2`ZOcbK>UeE2QVn8+U7nyD-1k6|sZzyF2w^&ZXP zrH#R|;$cNdKu7+%MAt^#@2iGMTraY7>7m%CK%v<3ISp!BwaRJjhnHni=mrs_h{UWY zD>EQxzG&)C$U&JE+2JD?RzE(mSOZJl|K$qF9~Crx?nULvK!0}_J1^s9je}aC4;?6S z<`ucZ)c^tRkawgCI=IG#U}xpq1i*~l8w z&ic1MGf9InNR#Z92y7li=0LY{hx+!j$Do$M@Wt($dwRoiMs^9yum54`E5oAd+P0N0 zL6L5d?(PyrU`Ro_yOHh?5V#TP?hfhhMrvq~?(XjX7SH?r_uv?3_Fn6{&ZH*dogWx@ zzQFoG_iAGc z5HR5y^R{yWo<}gy>G#aA2$nmT^t{M>yH$^X56brD&&Rw{W)3@Z-vyJ%&(Iu?oKz*2 zPd2FIphS0w-MukrLRUl-L^0V5;@1rgQM5gUPtT~$tOkhi zcXZGoluO$vZ&@0$^@j4~Cp0(y9d<{qrjD%H5gF|Ot{RYWyvaB4jY@Q7NIkZQ4wvYc z0QaUJIOE2a;&VZG`{gZB!zGMOKUJ(Oh!tFD;~faC%L7Ttd0ORcGX7Sozd%@?{aV92 zc4G6<6<%fs7nO#qIXM5ICbL61hxJ2qPy{fsl)O1B!rSAE>W_q6x16>)M;HwlK3n4H z=zHS6v%lBjwkrps)`1`N9O!yOb!9ocoDvsIkd2!_boyNM>S)00uohOaTBhJ4V0Sxn ze$nfd^Hy{KxJ+q*&f)k`9VC;FK_OM|t! zo5KWloeYP9SchdnQ3)TMpL$-xy_3_VtWHjeohtYx+Qr}ez=gQlH}OeEM`LYjo`X@= zhAelbM-yy*8f1~|d>0#Jrmc2AWHiSO$-W?9e=ZRDuTaZcd68>Wb@1n3rlti?hcFO( zOMK+j{8_*1w{u26w37H6qQ<&d3@)OaJN~3klHp^FhRejHo+yc1hZXv#$K) zy!Dzi(iGr~j>J@%U^_m2_blyq+xyjAmA<1GiCM~f=#+~QfH#MYyaRnU?hYpLjED2c zEx7#n75QJV24AFmkDXUFSpuHYZ762VQ^{v9p=yN+btLKdy`B6fQfdWplbIT9pf_7v zZ%f};LX@^D!D5x!rE&DEHKBS_UG#DWUqK=hUm$~FT8VU0%88_QJ1_IG-btQ}=8fdx z4#reibs*i~uq;0OzsF-FS zus*~<62|gYf&JuKd8d7WH-?we;*hqvBvU1w?M3*$5q3Vs4$~kD)^+XB0lI>CA7;ip~(MUjjyFOw~qneR-O!Xy@-IHUdQW z(%Y(rS)R5*&EG8LZY^AYaW~Mp@?8(vF+Upk?SCK6Ac`gTdN@yhIBE0p`~E!OK;+|{5PA!WbjpVH8o54>m@#zqHmZT*g4DKVX>!$4 zlf>g~klLr`r60r~lDxK8!~r_TBrN6UIMD@!?xfnLl7@W&)a{b;63kkP!X&ys?bk7P zft}ae`6vqpobH7~WuH@`D#ZW6rv{eXy{CIgr7|{=lK3&sVqD!1lt$)AgFin$XL1++ z%mEQfj~Ma5)0AyBH2(O8+r&XeTV4Oa3d6LG$z$8B$wZdPGMbV?wyQXc}AiQqE>9imK*;$A)s&!oGOphoqaNlr4mrV_H?Mxovp%J5f6;RoJ0{ zWXIeBHz-xnM&_*>jgN*qcPJ%?J^PucHUmibt&3z*`hBUj*J9*SqVmv9W1C5W%2c(OM5g z5GLxWOP`UX8io2hP+_e~HX5$S1T80$C6#Q~y4j-ei?)a+FNeqVLi-@F{~%R0ih6f@ zm_VaPql?!8Nh%()K3@vAu|J>Y_?>zHBEEY@X}6AxBXwC;W3a5f)bG$8%UdeDRQfY( z7{ssD1oDhW=c2ES?37vGQe4@#P7%dB4XTlsD{{ zl;HZ@WfjIOTqf;_LEba!5Cjl0X)SO-d|vESCUm zx*=wX0Lsh<(lz?NV@pxW0KO|n<9*utVoCW!v#5!AZ=RMdShRLkWXzum5ba39V5v&Q^x~ zce#z>O}enuhN4{1BK-iDGN&3=Lc6W~^8(Wu93;nT0*8<4P`|M zoUbk~8Xry318i8vG71zKfwY{DV0aUvbM-lR8%S37b>(WF156Pn9zx-o&hG*#=hHyG zF$O3Zf_V5$#Y@D;NTb(**7mh^aeyNE=|jM?FgfBx6mR7b1#5Z->;b%B71Ww8%CyA8 z{Aprr5&{kyHV4CihcC$FaKXPj+E?^ z(w9?JU0oe5Wy+SjD{n$_r16uSHRq#EOW)QSx|}-s8(OP*B;@1gAun(#He7i&v;6Iwku8<| zvid1XvZ4Xt6&x%ro%yZef6K~@L3SKOOaG(fM-ZAn?_(El)U%*8RkkMS2t{eyAp6-~ z4mTcUmYdL4)qnOm>{fsfln0qw+aNNSyILS*=^T|TeOwjb+~1Srf>fQKDAmu&6t9uR z!f=>J%+ro?jYA!LT)}PR1tOanln9%j^5YX58~aX9kLb^b$69}yb{0=PaiICzgPQbt zhXrrbuq9aH=96$a`;&)PW*y@j{Hi+1D|7qN^|hUxp^YA_Z(uo$^%6|9Qu z<9XYhifM)nbvhe+`$`KmeIn+q2X?L>cQGS7x?D0&)Q%|vdn4b_Def1^8jTGe z=ik@l7>r__mzz4p!jf_-k5xfqf0lb?3Md~#$C2yAa zxWs}H9e52tURlz~PrVO~<@_23j+96mpKYYx^lKt7kpB&+QN;<(ftf$v?ACNz z9?!-YK+Q1!1^QP8Z$$ncoy7g}uV+Bg^5LtaYF_ZOslMkkWE zFInHyzlfSy+m+fp2IIr7_jDR-HE}V@(l|CAFudh{Dvdz!tXQ@ifCTu!&)+`Ni);XR zq3n<5vq8ZI*dKA@6PLW#;Vl2h1f!zZGEPy%KAEt;@y@kQpAPcIZwLF}FbXYUx zwg)M{O&Gu_sO*yC4_ULO-36m*Ryp=9IX}Sn))=G-X!aq1AKP!IiXVAZ_f6SHP9_rV zqY4ZzX>1RBpb~j_|M17XGuxN)xGZowcR09msrj;5daYJsgx%=+t}u9;O(CUHx?v+j zJCu{kYn>RVYB;>CgTYIm%Na;+o2z#9Z-Lc!$I(H|ek z2eRP+l17fRi>n8r5{xBLFA0!7)V73xX&%0oRB9{WS)|uP_k#2&!?ZaRR{jF0Tw{~l z(oE0BQNUjYV%C@C=-;Gr&#<$@RWkV14?j~IalOl16Bx~e`%z%_?eKo9ABKYLuywn( z?Yo-iKlzT=g3FTRs(C34(L`2M6LDt`WKR(sPEG-viAyZ7xYKS8EZpmbbvF^3A#b;N{b%KY**k?7$AjzsI8w^$ zV;K-R(E=WINj_bZwKGgypQ|6h*`ssEGR$UM&?TQzbbOu_d|+$n*W*q7G@5`-0VAbg zXY}HBD0*?n&3{OyZ73Z|?I$D>v88U;D$Ml?qG`HRhh!c2NIt-_=Pi}(XI5~AY)A{_D5=k}9~zA_;RU`^4>2t3FEp2uk&YU4PxK#npA1?L z{Jt?(h57cE11b zTbl!HqTT(C9D%oW+X%e_`zW>5dI*R--M8)D5?mp}X zp#K>_2gN7Md>_DczIf@+gbmbm7TIz+p@bp93WXA7jjFEQekA^h4jFS{*hc!#uMp`0H`|%&Vf-GU->uP zvqNH$TW;rw(mQZTGE_> zlY6x92W`Py|7^z#)AA5>pbt@NY#Z*6@8LbWc&mtq#SN65A)n;m*gmhjm9}tqERM|~M4or_MTkM@4Enhd|w_HrExuwPBvN#!tw z2@4E1d?(IoX@k$-80U*Hde9QV)otkQQABStyBEIFoAVrE%ZIfLMQNhIt1c>hPcQ$( zHDOUvQ4Zd5<2ghPvt5~qsZ?<%I;eOVf-Z%zf!dPRf=m)+6>@bEZT#XZ>#slgB_$!8 z&Z_318Mpu0m7<@paCEC1m(Yl?s05W2RSlC@V5|NolX85&Q7u=>*ktI7F8(J`? zj^ZaULEGj3jAfUq)4AvY#kf`fP=%;O1213s!_(mZ%+3o(}xGy{BWTG`FMTrKjFE^W_ zaQh*AN8Y>x2dUU)Y3Ad4E4DNm=10vUy@Wiaii|VOCm8aPl8I(9s)P|=#5@;0F`k|MG~3b)4TUkpA_g^d@kkZft+R+goiCS4 zzQf>>);bWGg6Gwf=n{8BqvffwMZ?IlW@R!oZ%|1C`J{c{2&)~KLr@vaN!Av#$eGK8$z2J9S&Es{RA@6)Y zE|Evm?+HXEv4;?)+iRL>ya^)af`BBPg-yvILUMk@U}dU*>fdNoLSC1Qd7_W*A7EZ+fANSl9xSI z!9VH^r|}bZ{OS5f>2Shc`0nF`vczaMclf(k=Po>M=ivAD$n6`AMDLNmj*v+lT+muS z3JL*WelRF;ER%y6aNXXj>27i_MqgPcGnV-UNzAArYe;7(fq^mQ; z2``W=4iPX0Z4L9zmO0Y9tK}_-p>~z66 z?^s?~eI#8pI6I^0qVeFhtxfmMPL=Eur3>9JAYc&nwU6!Hxge|_=dY|)D&GPHHR2`u zG1-8x1$Nhn?WY~2?EI!tW-OP35y5)pWmm3TKmXX6muPr!g6|TTgCH9bJqI><{p`U@ z-Ql$u<(9g$5TiLIOEyek28gv*&kp!z7FT7?&3^TPfXa#$$;a(xG8WXP8;7@hp zZ?VtvL382gy(xa;fBrI)adNgR^cE1cQRp7fFxfC4+n$V=ZPc$CEhi=+?<27OTgnIK zdtcKAr4yVzy!KWwIhsPLs#AGkYX<1A75idmwV+>Tn4@LXC%s*cyWE6t=I5&~OeNh0x zKazysA8&!7kJUi|hA%DnMQtQ2S#u?3x2 zTABcR)$QZT=A=R%K*iMdF$`;%Pp)>PcFjqg3eSpO>rXkdifhg>cnv&W06q3N%TM1; z*lJ16z3}^^(o;ySj0#G!WVBQP#vbs;(o#(d^rWoB5VP1xn2XFdsz`sc#Fm^=eVs2O z^rKX~mqBDBr!Q-pC_^iSInd1zHcOYS91-Ex$k!yj%-s zPhuHqI|MHVg&R6zjxRJjG_foK=xXnS%1;!=?CyE#!(?oxJ&H#HB-T!-=T^^RIo~o`|XZab`pjPi?Y&Eyj zI~lNSLu^K>e*L~(_chNC$`huQc~PADeIFOZzMEyQ-seT8=O#qakhYP!M`t_Y8%sS* zGx%0S&&B5>_7k3VtWorbFdrtIlhU_qEb!ybDHOMgB-OZs(o`IHfxec}cj&bfLK~ARwpQJsAQ9Z`#Y`Kv5OkBZRSS3|ABxM{vJs*Dq45@3?>iB# z)jp2L-|5GIWC1KHj?0p^9^h>M;Dq?gUw{T1VIY%6z2KZ23Iu9K`&CvtBLhu!u7 zst?czXMev44@AU3ufX@<$g;kDUmg_&>f#$A}n+6gzX;u%1RG>Jl z6pqh7)+_3zRrptdM>?yG>Z@-CUIn0I@FMYS{tKENfLN{lbUTReJ{8uA1vjCk2KsLj z8}taZ|8tVR%2o8#lw9SY5AOGS(OFtma5Y9$)0}eK7No{M-%8c0{wff%@CZh6Sc*Y{ z1L7r{M|a=QTngwZ3?s?B!l=*`v|<~9_wo#h*dKpt+ZpUrzx03cn@DAoW_4-@pClkW zW4WH=lha~rYfZbPn1yZ&j3H6AUl2Jt_kYAobI>L$ymS=xuy+a5G&D7nt-;DPD{fNk zoj=*Et{$H;M*P`JR%|$I7ODbu`Rh8J?^xoUs#sWxAQQW~gQ)M1u2a&|7MpD=T}l&V zAw?Q8cUj|X>U!o91`aGSOBbA`9ryn4rC(4!KCdz}dmgibsP6B=i*Xq>44d$n(kRoD zll*p2WyuMUSwLIYIS5y+ci<_~+r|&=>(@DsTGZ=I>p`CKEdIyihz(RL%_qJ2px&bU zF&wAYET6hcr%h zRvR%zo;a{~U2Ns&`VDOLoyJY@I7@R0V()jh$Q5e-K2A^kK+>{Wo~B|F%s+R`v4u4Whg2(3!iH@!2Ds` z;}(<(%1-OyOe-fKhm1`Ck@BvAgImyL08z{OVFGd$^(;ZhT(RlEbY076Q6(F1%e*tw z@sH0vM!=v`_q51V8;9b}+J9$&h`_1iR~dLYOC*i4z_LLw&6-2gWg(S*X%b=cZZhX) z1clI(^aqXIJksxV+UoVmed!uCvj84bB(~ zE)Z@@C{{wfv_DyE-3;r4cU1CTueOk0LBFrg*%){VW~dP7?H=J6W!cx+nuzD)cX6VC z_`{Gc$Q&P(AF?s|cgErNmHeAIB(|nmOf$0NlDEkgO+Pru zh)YEx_Na7-Y2E4T%h7KAzoUH_;fc`4gP`6I7fqZrI7#h@OYiU~5uau$j{s%0H)(IEvrMbmASxyeO5!i}JPiqK>M zRhe#p8XTO#m%lSwTVr>gwdVc8r9XedE=(GryhoaHzePLp;13*EyE(ZZq$mv68h>@h z4M7LFdAzy0x&iQ)I@=>daL@eqF&Q$04TDM7zjuIc>Enb!4*!X!$xIsZ5(Mn#lw?^p zGCCCxQd!qcJtE?a49Q1w(`D`UhxqsdD?vZ*&aO=k9nh()jx#6$WIioz3@1uGy27DF z@>4lL1iRakH-K~Vg2aq!F-`A53uF9kvCQ}LQ+aCej1P9uxZ{Z|`>Qm{b)J81B0-zb zTwz&S230)-Ktz)FJZcS^Q5-H3Kgu<;{_QXOeR6SZ!{K2XiU=%m+mG-jHl_O8#Dh6B zN2 z1I^X}A4V|jFB*iu$T?21B^X=M9mAvf_m=$oiY%QHuum<1Bh<`j?k}T>$zc4#KQGg| z`BHw$A`WQ!+S0*hBYg?7NbO9#%9T;rvm^{n;j&Y($i(-dOxF@NdC(vA@mR z0C1=2gBEGPp?&H?VZ?YD&lX>43t5iKFzDJuWJVhuO9zr)p)Wbvzyor811)lilXM?m z%Y47+xvwj@TCrzUcZ820c#;q_7mZwki3r2UO&sAa?jJSEF(o&xKq!$$473~kAaiT& z=)Ni=GgoLx(v(GIyj=zlG)u_!Ut(rFM8O48*$$Lf>HKxl0%#JZ`2eb%3QSb2d#G!L z=w{$d?vsi~&>8W76 z_tg)O%*!2I4CX%4%h~rg!C`apsn|LvO8bqNsFMnAm-nv%a1@@lhxTkBpY(9G0W^>X zTv5GkjnLcU-|Vi{u;g#jTW)6E;Tfo2p$z~P(@4#9-V0V##lvIkxjV3QsuI@5`uW-n zhi)@17^N+e?L93nQA$+d+n>T!=dSE2WFQg=X==;a^<)gQXkz{;fv#|*)RK3g0vDm- zB$e%K-q`!X=NZqmzXUq@B{m_%!cbYn{=XJ#zxl=|o{kXou;_7C0Nu0N*}daf{WD6* zj+3uLusx~-3w(_|5Ou7&mbom5IXHoufu6;Hs)fIaZnSYrb2Cz(_zbM-vmvfjhvn0h%_YksUxbnM5`b+3t*Gqpq)(Rt==^ znOdRR_5{!jxLF~tZLbm^OD2k(pRm@Hv{p(|zk?U9atOw_@|t5gfyM@Cb?I=MHwbRw zbvfuo-ZJO5SIQJ>Ea=7{W5=$fxX6OiE+G4VZehE_aM1${J*n?IvY$L(B&8J>m_bDn zdvv@CtyOG?>0v_{^@NGt!R<$Mk;Psh`mDb#x)p6#%!c`deSvrr_ zH-lglykF~YC_`o5cdAwtluoksS5<lb-QJoxc4%lN6dA+9d5&CjJD*# zW3s;VY}pQTB7FqzeVqV;#*WB8scTT@bQKd{oZ+<~wq8DUsW%<3h3PcXv(GZuhM~PZ zaW0JEPV-pw=HGc(i^R(~*$txE6F8Uex$| z(1co6s$s|Wevwc3re7%S-aq>x`+5Jo`5Ba{EiGT*aQgBTU2N*AfSNeQqtDaio=6T> z-|anD1rTpKd^~)8{fUc*tpGBPDWJ(c4y>D{XzEclV0~Z(M@`k6q3mzm8gM^y~jl_mHc!%YC2Q+-HL2Pu{7x=13~} z&h__Cn03pErgwAn^8@grWbggbDsaLC1=`0<5%Gj)rKD9+@;BUH6KhWL5mry7{iV** zAz<5CH(L{!Xx)fZ)T5+a{8R#j4+dxB6o&ctAiV-!Y65i*&+qcqni>d^aJAgO%=Opi zD=0S@?Twcvq} z;vsi*FY?^&QDuTIETj1-q(iANYZVmo%MtQ4B z!HWJVC_3aa!diZUW4s4A;3uZzcL^+j2-RSo8HkJ;8@v5OP zu!_fQ7>BxPzUNdnId7-Y?>u`PsDF{uC--8s!8$nD-Il)cB4jMX`S_`jsUyOBaSe8+Q{PiJUZBW>??TVJjhy1&~>RiDu4jI{v zVQ0B-Er%U?Rg5$+1s`8%$^$SUISgv)ZUM6MH&Ocbh4eb0uzwm+`)b?UL2WW9{lyqy ztMlJx(|<%%a&KvgDj=^83O$K}(b9AaCL#Z`Pj+6fQu{gRM+wG_hZO@caq6YWsIPJw zdX-p_Q&*?21ns7EqlCK~kUR8%im}_BSgEspD&S^fy%8%VYH2U;l#xUinI2iqzXKA6 zr=~rg@7N~Cz`jzqe2Mj+);ty9>+kk~9(wL=fOS)t^7HP9`l+rYgfFOnU|_+sydT6t z^qyi7X-P!d)bU;zvGk^qZuC`ofx$kpxpJ?cTXojUJ6)0g1o|67QsAYlG+T%^!_K;M zBPT-anI7C@E#ew*hE6Ukb!~+87;AJ%zo0y1`VSJQ@C4jpr z)6WACVE+s#vXbfQEbyi&|4nJlL|hN;V1J*GMePw;t_c458a?g+#6Yr&o{ydhb%NEd zhHwxR7>1fBIXbyiH0l_v&Y^V6B7Uf7({P`g%&Eiy?od3T$xqUzziN*-KlC=uXbr3C z{#B0FxmqcD-XdswsInxZJbSNrR(-Wm2BwS`1&iE>EkoJ!F4xlYyaxbQKoH)~pP!*d zCuTIu5785X_Z|{J0DW5JRwp!1Ety!~yWrrk^z6 zpmpzA!W^Ci3<1(O;!0>DwuXh>f;i`PD=&Apfq@<&Nq9kI)-8$0Yb^e}>fHLIo3^$~ zNB-ZQ*%^(nHX>xdGg?xV;m;f>x$2Z3PCD^Vf zt7qG_c<(wL4*H4%rXrSU?arsG7QB4Y!k?aAw-{Oz2`=|?wD~09KJCzMw{Z-|PUpGq zFE1PILD>lkYyQ8$HH7KTm~?fA9Uink9<|o>rMloIwp8>?S#%foQzVsS5PvQB&O(a3&VjXwYUPzZG)<#3xGb!Sy{X$jeEVzITA#xw zK;Z#7>6Qhk5M{PK?&1rSzp~xZM68I)qv^mGY%A^On`-EwM=wC>%BDaq+`o2$F#n08 zlt?2qIJ!as_JsEGm6NKj3?Rg$;8{*IHe^#xb@>AkWiual$VhdRh`JSE03GaJfSUl= zuAO=0J?StAod9~LW2E=>#_>RB4Mxl1aet?!+x=uLRBl7lJ4xec+FoNzzLB0z?vh3I zK=}(Gpw9wjI;Hpd`x}T1Tl^&RJEKbeKr_5KEKv0##sWe)yi|W{ytt2Sss_gHsM9I{ ze8_rMkYIW*+(%z{S1UvxhKITw6+L_VZg;0&fteS0806VhO;*fk62mxin`L|T zP+#U;&F3cq(x)L}s9SPH)gvCVf61mGj}KS(!Xg(i@_=}oX+vxN*ZpIAhUdht{10U$ zAt)cdnRoXXgw21KkF=4#W0dmUZ*;t>8}})nKz*wMV?XXNI;^9)dW2YoMzojntbqGP ztdhTGXsv|{$eqC5&6?9*!No*OCo`Z23iLo?W=4%bFee)Sou*{Y`vQw#|G=%~QDcVd z0>`1$mj~JrkMCc9w1{Bezg%oUp2v-c4gBpk2F3wk$L|R^4r6n#B^-#D*_0qWVVCjM z$1j$#vD>UsFKrR-+S}j`%Z|v)dA214k6X`feBdq-G%JQC_gTCKMOwiVA)trB+u)P? z@af?s1;A2Qj+#PrD0(0j&?8XLY#H+qtOHa~umaL;rm1h+cPg zfe{YuuwmAS^KCrN-=O;6{AYyKRT}u)SBe%}*IgeEfV=^pZ?X680;g^%acgfMqpt*e zhseh8;u}kUF{nC<)MflS!|3)JWtYtdO)xgqz9TQ8%KUgBN`^{Q@_P!hW1=2wlg&fX z8dX6z`%n318^<|`78JtTPwc)OrfU^2u#D8X`~Kafs`t(pGCZK#WtR{5Rnz4-91P#& z7qhbZc;E>RaGq!>h@ZMGqDzK9oL=rG?x6!i1UQdfs`JOi`GKr zHqH1`bI)Zo;(}h&DeQSH8znC-oF$ry#XFU~De)8dPu1%?r)BJd4Ym7|?ObqBmC5TW zB+B!hSKV!xlo#LLIo5b*qF)l%9YhUM?g)$yZ)}R^m6fsD7DUTGxRo5^RvZrou{R* zCpi0a=FP0l^P9?|Q$30{aEK0~_N5XIKJ9(H|E|7i0ru1Sn+Zf-eb~Xhvyi=}?mf$q&Cf?et z5*qPoTb!=xco(S7qqs4{-2DWgS6%VbA?q_~&HnaW#E<5nBpl40#H(@5>vXwbzRf%a z*`Rb%wQ39A9v$B$(vQ&~a7In#l+dpL{TPoh5{RaZO6y{qNXoDz3o-8QX#d~$KSOe5 zyxz|h7s4HV%;K#vV00lS*uG08uCM>Oe&bBRVFVNGyf49MVgxsj{#%_UQSC zaEL*MoP>;np8SDoRf49!Iu9@leGiMu01^KA(_kt4BZ-@P!uhgr-^y5N;XmU5x1Bi> z%UngCGHSluM=Ou%<$PgBb$gJ3FRn^r#YMlN4_tN`LlexMar>bfhxZ4=2=UL zIq;>~yE~Sv;MVS9g;P?+RZmmukM!?Q&EE*gsm?rTi%^QmJ2(08Y2k$m-II>W3OG z`g1(VerXHvi=L12%z6pq-$|KaK~67fxQ}SLeG*aJi@OEeD#?$h<35P zYC;!(UolK1gL(WV+3IQuEhvp-V~__UGHQk2spw6oVCNT8{XV;00kvrL5RPTM&6{(7 z5IbYLi8}!n7SMdYGR_bUb}Re6P5og{ub)>>zeh+O9M3h$J5G$3ZJN1yW7Fkd8l?qV zH@??0bob*T@_|s3o?*vm$z)!tYt*i%S*OKod^d&MRW^pYI8<+n9vBXusTnOs6=^Ln z_VAu9ypl*iG`;zZ3#hypgr*G`0_ns^xeaLjirT@B>hei#`K{ z(@0Sq(lum=zen4P#@I_2{~<)&v4V`5D1MWxPI_44LBlQFsURv5+<0AXFVsIV)yfId zAbQ#((O-gt_sd4g*;_)*@zayVpK=H3%|=>G?j<%|zxc=~?_?9>06*G=K~ z7emp~RHWyhT+uibu0EC?OV_AXM;dunVxAMcF^hajNnaaB0oGC-FIn;zT2gR%prQFL1HrtsDJ;Qab#z1)CD)6FhtUkF`oi|pxcnD zrBrb8s^#ucwiH9`Ny&(5v}6FnrI(ul(Er%L8Dt66xoGJ-WOt+N{pc?TxYGnL3Ysjikn~*bP&;dY&A_qd8Y~iukSK2_ zw?iLYHzg@Lw$PqqP91B}iRuU3)KbkHym2yp>bGKRv_YUt@Nj`zAb=>$^4?d170tg^ z29YU|n;kGQ{a8{HFq!WVFtCfG1M5~?Pb%Vxsei^3W66Mg+W>^6-2mcw21*uT>;k+v zVD}1m3u-oFF9V3j)loUr_ge$W>EgBGXn4SdMlm0kQ^U|b{N)exdq%6$Y*v~6+3%qs zl8K>AuA)k(r!t4e<${loMqBmkoE;luoyPc=hF|s_^13C%gY?VhKskQsqnf&P7o`Dp zD!ku)rTnpB4mB?D`n;lm5y}uyA;JdP<~|^yXXH(Uh1BR$ym*tJ{g^o24w1!r z!?H+NOjOuYG45NYCdw#kFz#dniZK^)e}hLlAr6GV>dZBAfC3<9AgA6mj=w*4X0g<@ zKM42=G~^(6Hox95x=#(*#Ij6tQe$`DaN{~$kR0TEJE6QLnx+Eg+4~{?hv(V*V=}2q z!M6AJ&D%%h?24AD>WS*=jfF)Zp>FYmvnf}32)ymg`l_u2j3CjFnX?2(QskHMzWbnF z4gpw6zgOt(#N}#S{)-()2ZI-mBQlnYxiyfInqNpRKH)y~5qRB&#%4L?ho;73|5Z_k{JYyI9|&dS2BN5GG(%cee)L+Cv86)n}~n$qpbDsz%Y%J z1pnkW)wU3h{hC(`KYq16D!gZTC{aRNKGL`Lj!vy%gqRy}p*zVUYupi%dIFni`a>o~C8$Koxq%6|51oHOxO3lvH3XmsQ>4gsq5>_$&cF-MYg2lE*h{avAFR zPOK8e--}iQmIZuOlIG$FD$RKkw#jz{mWFwrI-*_i>sY(dx|=;!Cq@&+`2A{q5p-^n zd!?qRBy-k`Tm<=pl5WPAg@(re5@<4*i?Z7``cJif;SVDCV=e=y>_)(kQFpR%oThiR z#jaUoz9tov_Q9GrjCk~T3m@L;)ay?>Yf=ctPG1VI$h8wT6jhBQ?UC?z04Wl70E|9Yu0lYKZt18{Mcg_~`^+eCd)EO}pMjFZ1BZ!Kl1OZ-W` z*5PIs-94N~X*ucdwX$SYysrIGV;Yn%N!%RSA~L(4m+b>4&Vm5KTc@cYWEd#Mv$DRz zXI#r6didHmOf61C?#0olWecl^$2$6kZb7vj2nK9~Jo{CGH674F{>Oa&U4bQ>Z}W6# z9X;bN;nh_0miR}WoI_LgNmITENsW6EimcA$1qcwX9#{fXa>;)^yCSp0GXZ=yZ6X20 z@h^Y94eGSuIy%5OOdSIeP^InU|;avR8n6q>hl@ z6!J5Gdl8F;2wr-sPa34jeM3Z+gkaw~p8Y$9Y(~#JU=5B(p{49@Brf;cuWkx}f>!M# zKy62t&(036mKr1Q^QV8UZjqE#rmF&nmo`?VuT+3312 zu+fO-Yoi-1EUZ7RjNa%gkPJaG|L!A2DTnKB1Pck3-8DB$tb?D`;vYP4+lLz z71DMb4a=kkR!fCelvzX=LU?(mAL zlHq?1L|J~-r60=1gRfw{I)`QInmJ7c0B=9TsiJXos+(EOMCeGA`Wm_($b} z_ZSxmKo-=fZ%pEsSE`}mK?nm?9l_X+hHqpH&dY5I14p4JPkGU%q*X68J^uLCP2jdP z+*tZ9td7IBkfT1nwMP!?s4V{SoLaf{i$>IvVF~!+F`}BpTBzR5aZX08{EbI^M=@G* zW{;HwnfRwJaj&P;2dj1vfhD%$(IME_$|SC&s%^_s`H?i3${IcOaBFmyx!EzpY3DCf z&RcOWBp9Zuv=1d0ziZbTgcVV8B3$)j3mG%<2H7f*3tcs&g~}=BdO2sUF=+HT?mTI% zA8WMmtvAj_XcAjnJMYAjP|M`XSzCvL%P#C6LWHW(r#6c$u2J41xc`1#vj`3*!s9{v z(^%xAR86v~O>)MMN-o6Um+9{>yBPOq#y9U5Q=a({LPnb)>*4v}@6mj}IA6?iknvi8 z+I&}%?ZJrk=qlYJueAhWbN@f?DR0Dus7o~RM^botQKXbpjn6fOP#5w}tT*qRghND^ z*-7tF{GGqf{cS!nlQJ3|LNSm^?rr6gDel>VTCO*r9b)p@f8p?S3?f39% zT*NyX+#je@Cmp9K$FV<_RHK$`{~uHD7@b$wwGH=blg3G7G`4Lgjcwa@&e%=U*tTuk zwr$(iw|hV19pl?SlHcbVd#^d?q1pVfz<$CaT|xpSQCr>iD~EMpxDtM5O*OK0cl$Nu z1Npq|%7d)wDwa#j%R0^D@SvzTGInDkW*v0QyVi4z9(0Uh4nM#+DZ0d{CR=)Ql8)bm zxYUJkKLG95J;hKtdXKFvWFZ%PWt`?Qq@)Ch*4KM$cHHwrc{jtM#Gg~f8bk?=9q$5Z zIpODLJ@S%6`O*Pz9i=+D71mDUgWzOe^D6A6Y>J_YA!^S@Lkyi%03d zb+*>7?EM1lv^nf;#&OL|wdasl38bXw z6L$FmHZ>B{{26*BSl#VDYZ>qRAKwZ&kFd>Y#|E9;jIA$PBeu~pp3e>Quwsc%cLlzp ze5KpfUyec6#mzf3`?;Pw-n5-`Z0vhK2ht?q%9-p4jReBZjQOqLKex0*pM+C<+fete(VW@QjW%mN3M;&Ed3)2h#*Y|E=P@?_M)8nM}wLsi$CJSyGn6xnEa_>K+#CKlY()I+%XBkM;+zB6vk#4RIQKNmHB8 zvdr{dA)nu6n&m&5F_nJ{KPxkBaj9m~(%4z* z0ne4>-G@9@`n~y?)b-gVw#ijBD^fixk7%z1s%-RzL$n}1_4P2*o+Kr1-9`|y5XvmI z+cJJv0BkZ|9BJ)7s<48@tP!_v0J@SFe$MhSO3@ILxBhDyY~tmiId1Men}+WLin=QJ zor{7m{2kgm{nCD`H*YTY$(2F|>A72Xc3ziDyXSn+p`Yq7E~nj<5om4eL`d$u_!pUN z1gKMQb1TK^PgDk-!-dD#zd9s5;`1QWGY`}y529Lq;b zqX`@4z@S1#kn8Riug5N7XIWOd`ZJ~MfPRHlg;7dJ{U5?{{IfLe!=0{I)+MGa9K2hj z(*Y?T_M88RYM8Fp-i$1;2XcZsboXZ#fsWy+Wx@zSGuT~LK}_qSAX4EmU( z>IdF!$gwGZ)6O0L*V~KF^#g6*SFAnH8{=q5m7$@p;W*A|?+5xV@Qqc>9TNu{oRAG< z{$TM58{b!6e%jCC_Qd3AShzm8MC^Kmv@B@N+uEsQobL9~h-9ATXV?D;tY&FwWE6u6 zngC66%t#H&AvYL;cbj(=+he$u1Pw%J99&dXbyNkWUjHrJVFt}jIX49sL~y=Ul|X?B zngiAIHlC0Dm!YUNy~-c)o{m!SJcG2SkuL#}&NCb<{(tDBi8+%(ZxVkZh8$WjR~owr zD!B=S5QfjMZ<(O_<1arYcQQyVnh_-ed4=_Ch0AJd-412G*GB@9p}*%=bOw55)WUeD zhk^c*=}n2N7|0kIKsa{5+phNC^2%7gQ^VFAlze3d%>%_HnP}44?&um`1LEYX^>|p% z?8_I!K=MjfI#gfU(3j(ruT7|g0U9vBr;M%h{Tt53L^4hUR=)B{)lr<~y2cdsaF{yE z@&J?AGZ;gD&t7Jk$O_soStp`%K?NBb+$|4*Y5v7+v=^DWU6TMeb^KvMyILKwb)BiB zIE5MDOn^d7E*luPO6hsPQk~ZuOb3TA^dri-78;ZHPsb?{jlgC#=)0`Tj)~V>SmeIi z(ltNXtYf?9eeK^RYIX>1gU%zZ98bn{gp44^?2uvSd}>4ylc}z*Ea-pD2kV$QsHEnG}vmj|IyskOYXiZUhF_E&OY)L^x6V7DjYJlhY zbB2fp{f!U=-P?tHgimwi%D|Qy+eW(n%?o3xqb9Kh&O`^Zn4>L??Z>rqMF&qfa_t2d zJ2~W$yNYR}>n=j&^us1^KilW+EH>wAcTc)9h*kTC|H=Rc50G=gH{CN=Z@lpwswn_! zF+87y#bR9T-ZQ>yrqy^oHRGG>dd6EfG`B!5CSK@OBjzrFL?3n@hst=lN1X6>jJk*> ztuc>W#hbVu$XwIgIUxknYShx!y2imUPe5aYXb~$m1Cy5VVxvc}SQx;Aea4gbt5EjP zj>l^-RgSUgx1S+bZ2O>*#!zl=usB~7h!N)fHI-%$6rP~A^cxeJ zqs)EhF6TOj>O3ui%Ps}PlgG6S!PnpMu+P+P*|~wNfxOCdY&V5UP5p?Oo*5%$ML19( zkynY}bRlsig~SIkNSv_#cPfj*BM!6=ng+$Jag?PJq*)P^WNU;`L|DFg@z-p3_Xt+| z57Awzbv0v4mfrYGX&@y%9MA%#xff?fWV=&yWjT*26G9;#L257zzx1%G>SP|gMGho4 zHwcpM>T|^$RGG9DAK@YnCE5_ zVGfb)QPy7e+B|2;Mcfmw1)+ey)2a)JqMvK-y|ygvKg&xH1j2qb`MUCgb%bF7PySe= zUr!r2lGD=+K4G(o{FEVDHlY7Bj0=2iQ2x^uJrSBq5vXFqdD`4`Vn;>Ap^gXn+xX;B z4|Yu6>M{J*iZKOraP%jZZBBB{7K7GuDOL+G-@v*r-@_uSvJ8uoFNn&Y2rNU9Ykwp_ z9%I0yfI84&Mbdl6?{F=DxrJB_^gcSVKUk#w?j4$K?|!I=#QTo#pJ$@1lumOK;?K$G zeIjUwKLgJTSxepXSok+0utko9co?1K;`Kdk`MMgX`zltTs`yZi3EhWr;Hlqutu7KZ zQ4PV&t2ll_)v6J%h z2ftgjS)ob|ICf{f8z*Sxy9~HDDqNdC zRZm$>Il5G+#NhiC5`V8&96<_CtKHbrkeD^@6l-O=3L3?ub>Q{1AKVs)f|^8uTGt+R@Azf#vBlnU4w zwyJ5Vmg1}pfTj3l8B;$u&m2`!OoA)( zHzap7_Y4@cnEC&&d(x}YZAyleHav=}I`7J6@G%WPYXD}eZ`E=2J|*W-#sZ=Ip9?ROymQb?q7maBt zA=iGI``?gv3LiIv#E&>Wd}C!yaIWAT$igLSI8>!#i_O9glHu6@6_*KV+oc3fCjx8ahY~Z zPYx*pIu>{v&Y~lFnU9!?BZw4N03s~-l%h%?5n~|{9C!Leu021Z#4Cb~%nzA@q{4xl z5q$}*czfI9ObbzJa#P2v@#aM&vI{-@`q01U&v_&Dn$fd4^7Si4Z^&^O-qe=_oj(eB zjZQj=4R;!W@MaY6_zu2tIdaoK-O_R*BX0;!U;l=%A0r6cN|MVq4!Tqp+bR`KqeZ_$pmJii+*!vX2d8)L4VOxeisDulil|K@Co+U z^Z!~RneC3}DQMq4WBRM%>T;`bPCqga>7xl!ufEY@^6FRTXFq$a-iL_gf~@O4-dJ-hq>yIQk}g!gb5Cm z%F|CD`=P)H9b^avEpe<*a}3eRStLhyO49UncF5oO|MDEyjt=g}{Dwl!P?T5Ky--)# zuXNU4W^Lxsy1N}wDko$tK=&_{=TfG@7-Ld93hKEq0b2j(KTxn(YlC^h(NcLBN4TVz zvfIxWzo3Rtb%s)skPAsO1PSfZ*qvGK^DHca`(vJk8@$DS-*r^l#jyS|UB%>HAJ|_c zd%FERga}K|B>V7j&*+^5`;T)pp$Rk6BN5Hj!YipDLIcT}VXX{(f`C`RZYtra;-ANX z-q8!dN~D?V7Nf*Cy8TUN4UKJLgG(iWAhg}S^Vf{!lC})UT$3}YP*F)5R^c5!{ouaOwwG%ejXDp9*_p~ zd{g8w`#0s->E4zPrS(D~DFCrAqn4i!oGjrC9oL<_!Zq2nQz9Hgue9jw3h`-d@mi8O zCmkcJ`L9sve255PA?#LhKSH4QC}46WaA$TdqDZ`6f1>7%B%ctbv1WxlnCXvC3h6%}*qz9qW>B z`EU)--jHlob{Af2sin)9+?;~}>_Tj^+9Z!eEqP;S2N)~fYQ+yO%C?PB6Nt?DlqP{L z*zqh>yAFXBY;fs1%zGO5Q9#XK$?$9R?DgDB_m8!stVs&(V5}(YBlr_R zJ*&t;GAwpT|A71y!~Rz!H!={hF9wdL@bOf<<6)5Vd~}xKg<5lnQMuFeuGY3ZCA3OH zMqS07QYquA&}u6K>2b}csDtJWk+L{FBcllljx4%m&Pk0+`G(_C=^S0VRhG{R%ZijC zfD!Kk7_pnbCV&yIUsqkmzLOV~p#Xiv{#@vL81JgEq%8ELvJpZ__A{iwGZqxPeeezQ z$UUwYy=dZ8s;YP41RWW0sJ- zYs<+64HPni*`y7NHEpl$scY}9xaKftNz~NzJ#j*8=ihS%pKpo=EAc<-IkX*`4x?$R~S2fE&#<185+$_yDY|4oAVIKhafh+C6y8L3f zR@ptuFQ&HTH?cm>(Gl6-sWtI`!`7M#Q6GyE9g&s8Tq=q}{9-`wvDK zu&wXxw3`nVwEM0MFZR#dM?ctPS4ud=&s%?cg)X_UDAa0ANrxURI>Vsz9OXSn8DoNB z&Nl`jK{TI8fJ&UkU+WbEH&v#js6ut(()7)JLLQ3OO)L!%xWJw4;<#KM{d`fu6vFLg zyxJotvcJ=QSj7M-Nk--d0YG#I@5iY<5NrtS!tx?M#R1AgZ#u%^vd(yx9{}GHO*+|~ zXYsrw{ZyGwbz9z>ZI6*Y57wh7+D;%B3b5SOEvDy@4xt>btCd#V^nbzqCwgv0#4* zq?Pf^Pn?JrNlOw24UV1)VV&)G->`6#b3uh5Nje3y=KttFgN#28bmo}<;?ZV8RZkU8 zlJnzgQP{ItDeIkB7A~#uTO>SGKJ^eH<%TDVt$B?ghopNy$FB($h?-gNLL%eYx*G;= zTQd0^*|yYl39AB6oCyN>Az`4^xEgK$U?ZhxpK6n*Lb^r)?0}hqa#a}DYW_mpm=#_q z9WQraB|L0H4dYPZmigbb8@c1ZJgEmp`5$CxSfnCZRhkZ4nS65@{*TCPMD@RRk>R~8 zIULMkx;gL{^mB?h^t9C2Di8wg`C#x5g|I#a*1?V?NlRTGbY0xTnMqRh^i>fJq*2z` zkZ+Tdz0UJ1J*<~LpDJ0~#1v?)%Zp&ThfGo9dlOy2v-Lshg5OKoy(2 zu?n}u#D8s%PrLP4E%BezKt0T&h3Y=4F+ApZRjkLws8?k6wa1HWQD{<+O31qvBZAYW zXhC3e*q(<1xGzz6qS2*5VHJ~xs$Etf%(O`zZ#3o($989L(VgR=A2+2%;VGkMJc+XV z71I{4ZnzFD&_Y4GyzyLTTH(6TJyHNSgu+XbBD$1U*C5i7Q!I*ig?Fgq(UPnLPca^a zL$!4?r)i}v49RVh!Q*l$)cXswpT;r&;576brtBxcrS?h#@wH%!n;8I83$a@552h;b z_39cvzHQ3MeqFC4l3`I;K!9jgo_xK7&T%Hh{9STmT;p>2wj=`T#rIr-YnH^X0($k> zt1j2aQroS!-pUtnGA5qWdHpRMT8JICy1pRp*;xT(U>(8d6N>eq7D% zv$O(0p6KNpyO>v>vAUV3jDkxcm_ePR>;i&6bw)*@_z%X;qtQTK+d)8Qi!_L9s_oeb z1VOh;MC=61Cb!8dv6{^}@otuOE%_gKG)^tAef&=D_x%6`zk=MvdjwC}-;gCj0TK#^ zvj4mAUbSHRNVtB|0=~L~o5_ME4;w!v!?cQMk%EfKwMQ%2Y{YD$5^|4}o07_p9M+Vkf&G&* za?Kc5UqB=ElIL-)6-AXigxx{3#{Btq@PZ;%4XNop)+Ng&{$ujWm8#1xSqjv8kN#OB zWBDZi3iq82<_pPt@eIwxYOr8W(hM-|dwp~jEOSn^Ot^=*jvPECdYJJk$xcR#(6(`R z@3g}$9L$m$Y?{fBvE93`{_(ot% zpeUPo$RkP7^!7rG_kKj%QCVehZNPxtoM-q6;@Dza-HX>$GMgk+{ji_Hhvkk4nioS(Ery~>SeJ23Jf5y$8~peQ}1H~ zkl0=B4eRpty{$VJRFtprN$XXF;l>rI<8A-R%qMP3-v<_9}s0L zn;RGEstAQPnix$bEDaP!-1omkKTj#&>3ue$PfO=AL8pqX4}}(>mHf*1Q6aQbG;al0 zOgtb!_nR~Ks&mrBHtEEtQ5ZnW?-ua9$S^yeoO*@vZVGEV66(nNuoafWZ;SCDk z-hKxtbE;q=QHl+yK-QqGQmmj6aFx4}0!)yEJ^*F3c7BQPx#c-I#lkq_&=Q%y6)W2W z>)U1h8EWqRHaQ7MEQV)0d3zi?c|vetB1FAQtb3kqnHTKR=>oG~>R>VUE@R%aC1(Dgka?Fl zWVlMsRK;FV@QkELeU?)*NC#2bH2&sAMiP$Ezg8n)1D1Oh&$B1%kPAQDgVwNiAY; z$WgoQVUh982tsG2@KlV5M>OS!VAT4x^w$-#dgrE!Ix9>tothKBvQoz~PB%_@R45za z)om=oEH~PGcv|({OOmC;TQ$*dTg|({2K94a%bgg)Yb*BlX*;ThuASuiaoq5rFqInj zSMuw|_abRRoadFmSCy(~ZO(bn?>M-I#kd^8(#msEa`I6Y{oBpaC|W)dIwoH#1o4ls ztaF-M6E+OT0e58#(0j*7d%&jK?Dj3bu-|y1OKVfqaPd}P((!V2lwHX~Q+|h;l)CCr z#y5Vdpb5?>-3d!2#2SC|XqiIGKNpLUZDuvw^D5?-NVh$tItpE(T&v`#h{x+hDG?h* z$NYYsU%|Nu851tVD%3!e`pu+wu!+TTTTY)$^SMi{ zqRp5>5&mK~o8SMNa0HZHJ46AxQoF=2VSqI+?iqb7mpvB=Nu_|zZC_V+Z@`1eDV$kh zHLXir%}lkrKEqhwGu;FIU|C~aK@l(1j^rFcK_ac`AD;I1wyAUQgzj!;R-Sz+MAcE* z?BSiEi8sdR;lVQXR#o1{oBo6FvZ%^1#x*>kuJ2cM;DR5&n{+_$vhBkx?^0Kgk8|Rw ztxRowjKGSBhh5`v^N%fKlvFD7w50HxcWrNNb8vD*G^osiM#N>U<|6%u6>BRV{ z55?BvSN)xizm*iR$@H^50~3|^D|5UERXGalX-k|&IXH9tP$^(gofObs4WK&;r!bMs z6BR_j3pJ#6l^A+C@9I#vO28;%1S@hTlEl7hS- z_+Lp|j}~}Hi2~RD#Chye@l=Hg8Fa(QDuAfPL;J@SjIri}MmWkszQ$2%5TZPjS&$8_ zmJqI+^{M28LN;WBX=@dYS5apD_pMOt6)(^^9Ry4AhzS;5MqZFfye!bU%;5xwx9IM_ z9D3xM1C%)hZikjYARs@Uqt`R%j2)#H(25tD|+hB@&Y>&GD6PRnZL} zPqi-n2`a-Ym^NzA0sxpJ^cHix64R$)P>p%!MsBzhwvC{M|6PK9^|KUVj)3~Wh@6Hr z-f=-#SI-Ozi+JuTehKw67_e~(XM>)B5n^llA1bBvTOkB!3_dCdEMn@LbRMSRpee)A zrdX%=HGOaZJQ!FJ-1oHKFL)3MS>v4cTljICRKxvLEltgEd&A@h{_5nOT0j+80|~%; zk41hglP2n>8eK{K?3H!8IkSzp>fhw*xw}Wb&`L5rd;97#Ne4&~aPm>Be+L)`%gyd@ zPY%?7rz?+Y$hs6_f=d@~5k28}%(Vwv%`M~Z2u+h4`LCE3yc;~7U2E+uX-Ud5Fv{{z z8hf9^>+4c0WbMgt#m3{%XO8FegoQAAxES98UVS2Pc~k-*Zh05g82nG%#Rt_^_{ro%r*mqj`v>DhxIe$`2imlqnYP7 zhplhRl+Y2%GZHkY6DXYIb)i!+Dp;D1el+c&8-+jq6RsE{!#>KHbR<&?&Y@d@pJ;Y) z5WcSe{i692yG-#iK~<}mSMF@jVsOkZud=4SuZ>zSs;(IrOoYJk=du}k+Y9rNy8&+7)LU+5VBu>e%%qZek8}sjshH1PeCB6}VAh!|T}w}zU?{X=<&jB# z+(~nD+!9fCP6%slgb|@q+Xl2kc7DT3W;!L$&{;XUwsBiooDy&jC0dQb~_7&NaQoVm*#Po@|$T}*O#!%ScnnW(0-Ru+ zSTXY>Jvi8lQ?ERhjMA%`4tuHf$aj<{&MBq_+&(T6QB9K3bXHVD(l{=ikdk4LBP-68 zlVtIo!@KEamqR|J`my-A^ALdrk|ii9P%?rv)c zfB{xB*9%-;qpd)k2DmKwZTduq^v38dd*5+5YRg@g#46|f2OT$utwN3m{}S_8X)3P4 z(ehkkrBvQ)dPJkRf6_S)mtKQFEdP)s#kDFlU1Iewv@#d!nGy!XNGYNucpv35>5EHo zI%UItA$s4U#BM7mU0`-SCKK;#Y@6Vf)@A&uu7E8Y-2oX$Jhr$XQN1L+nCgw{VLHO5 zb27{D?s=Hc6p_|fd-MGTfEDwr6;-Pjb;QM5trJ@xJ(T1C#+lol9@it_#wASw0L_mr z@VcCtBI{^8RRJwc^=^o3xU{AZ&vo1{*7NOV=+)@w#FE5^>Rq((bBgaW^}ufrj;$Ix zbA|A}geIuM@vHlmk)2;GeQ;S0c%qPJ<^AgN{o%>C1UaeAVi`%JCNtxS1V-K>#@W@=u7SaG0V%yet0QLo|T8Uesy7_}w?a zYfFjholN8JVjl+QYJ@RN1ox^mwaM;lOV&1e!owmP8Ne*_o+TMM+k}oaBx)jWEE3B= z|EKVyR$!1sqxl7gW$x*Y3|ODUT+8J}>}0#LWwyHc9OUT%48YqIyFT+rc^W3SSirz+(fl4ktH2|fVe0L^f=cJpsK z)&7LcS*4bZfF*MT%JL%$PYn>|Y*^S#k_vawh-bZUTwy#b3dEW0_snZIUUFH(LF)-` zkErfhnl*PHziQ1=*ACKzDC}1U1Zyv6U?y2tt=FT^oHHXCq5S@c?iry}dL9&G+vtA` z{oYu|Nv2VbQ_fq~b~+TRO3*7{7F~EXS}!cto8ywrM&lKAu_%M;(wfRs5@s!|9NDT= zqgvU&Kx*ElH_4%%O%Sr0&mA}I;b3fk~kE#6@+vKV8qAd~mT<=_$?RHXqmD&Dm?IQ$av z9su+}V5IbBa&~1D!qSZWdY5L?U{CT|eQp_o--u*gu4nkzrKKqoe4sKvR=yN=aLU>5 zSHzRn#_#XqZSKxY4qj^o-r|3CY~ja?gTZLQjI8gsK0%9VO2$vZ|D9!>7%T!n*HOxo>QR>vWeL?%`p#z z&rWu2bvCJv}@l|zwca#cCp9^TQqC4oIXH4pm?c@XHp!tLMi41Qcs!e zW1>(V>s7Y~Q1Q`4oGc6RShp(2#ko2<_u(xYB8qTQsc9%QWwf^t>tj6?B$} zPA5Fn9Y<7SHJ&F~VO2g;x=wKhU;XQF!ql#62g>wYVC0gwDosnzIgBy&LRE5pQ-y^| zKsAk9qUe051+7q(*jyzGUUV$Xas89cCtHdS(9+H_tnt@ubl);tzu#kjDj+1#3>UP& z>X03L^6=+t&YRj-?kZWTo@B;v{FiUJ7GwVtGy5ZUp32_;(s5U9_(>}qsj6pf%lkZ! z55V>YE7s4H^w%aB2KE+Tp9O}yvYH~r!4eD&IY0upz~)A#ecRWYw1OKwQ2y`S5xOJo zLb3ScJ;}#-AD@c}5)BRn$;*yQo{3w0P>7DGGnewl>&D>bWj)HoNDa8cA5pejNC2n% z0lYcB3edXGbMteKMW%IvCTB!!E`lpa;Rg?*jzvE15w7LEQ_Juo85jTNNx(+~zh5kP zui12T&68OlXgxqnUBg`O2MEM6M-(BHe`uJ;RbI90eVv=pmfQ?h0Tk@?b|vxMisyM) zyVR3b4!i5EfJSNiz=O$XmN&uhedi^`}JslCCXzVUT4cFXl6UGvP(rd#H zqAO3PIE&D%&P#WPb$c8+DD4+`TzK5&J|&Ll(IKc6zr2UgTPea(Rhti4rvlB4UC1Ux5we zb&e>b62dFqQ!3uq74acvO3(f0C-0(JPD+U-TY40IR{j=o3hhNaFl}*=l_XAx!C5V2 zF5%6FC`=;pa;nNzidW9p9SBBboh{=f%aBESg;!w`XK}W8b29l2P<)ZNm0kEMHibpy z5Cp|+bu0Z)A#!)Es|TcRmr`ng5MLZ zF)R!YWXdR?ZR=*_g+b`^y_Ck&xk+D}X7&^0`A;QKh7dMngbTF@67!BA(v zLc+KRT_znfUk~J&$h~#V;ADCXyzE0Gee6(It8Z7LS~*EWbm|__F~Uwfafu1q44iF- zJ4%!}4?k!P=*cD5DBug$FWoK%WjHj?Q8B2wF25~VuyLU_vdkm^s*3_{H*xVM5OLgSp#ylS6L!gA&nPmrj18fX97SQfX!`Bm@Fh;z-zvQ{l$EJH-%jiShrO^oB~OJ(1q3?4%S>L6F1yNn6QNlGlH z%G+i% zewK=UoZMf}{*w=iIiN`iWw=lM8Ir@I_LV9#mRW9|+0UWM_uZ=lzpouxAM?cttIvrFMnz z3V9uUkxYJ<-nAjwFSZ;u!^ZTe8U%27d2HH%8*cC^9(;h7hRNPII{(@^ZiXEyRV_UH zjanHuu$wQRd3>EB4U-q_&BNxk|KD3|F?ngtW8O1B%mJhl@A z@1N70Hse|$B4%bKZLl13SD=|z{(s`It1lbtzgvVM+`E5ANSi~Y{YF-?ZxNo?+Ml;a z;V`CBNm53upeRLIrAhT{Y*tssEYbE>q99kP_b0Yk&<<=7njbCSYomQV@&%Qc)M^({ z&Qlqcu+Nn)7tcIj3ePILM}>e&s%k@=%=2-odx8^INLLDR)qMO*=B16%rt}8O_!Y%8 zOwwMsrLF;Sl&f|aAVng`?^DG(rvf}tf)ak0-%s;idH+Dic-7B%d~YjJ`9OsGfQefW zMgo@r_c@$U#OF7UBUkDqN3F|URB-1WVb+8B_Lo*VYziW7GfXG30`%6tDImOyHDCY! z7f^M`#GfGo(AVV_+y0@hRjFB5onCEGdfeRp{PXw7qoiDZ3qWOEWEouB93!mp8;YFt z>s?W=3k%mWbq^qiTu@v^8GMYxhzj37U z03k$jYoknr=#Z-1v?1EW@UA!nnSGUTs|wcUqEjUE^`6Tg_UnEf&Y)B^-3|S>9YWi; zYnB08I!1f9==@O>6jSY z%H7dPx@300>e@ zJv5p)3BrKZRSHi6l`6##EUM*Ve;$cRnn&$88s+%S<+sl6{3Am1dhFa9m2IB`0gpXk zP9*>%>s%52r5Q87obJoG$_@kTKon95jIHUt;mnTJqZ&Q-$D;9wrXB-k0c}UX9XHDOCm#iWdxeW>&D$1@U^x?%^ktuF zEo^cM8OQVa5}QnC7qG$y0zgPoQ%fJ<|LiC|;+h`VI%fTiD#wiaP+3hgJaUGnxTtdF zb)TGt9A44eRu)+YX8jA!DU6kX*)=0F)5{4bNYEF#RxN$=;Jvd=cyrpM<64(nWOG>M zEi5Ou({JSuSm(7apNzI8oT)Ar7}Oyk-#t55{*6NVIr%>=!+&j2{?8GuyR%+($-3{A zlX9yu`099rF7veTXTC_9S@t`uqp_zztYASA7$Ca`?3)FMOANutwRSFT{7fTe(mn@^ zu@a{_Ly;;keqat(gMs>G4wDcP=O*zrSz_%wPYz{f>8o^f}#aevbK0hRc#h>D>%B5 zI~m7jJ6QoMg`!xbvN;^CC*XJmWI2I2weSs6s$0a?XRcSS3(S2SfC?87Y6@rw{E!oq zmtw+nOXOk*mE`+*DEoP78>{Xdte)9E$UPKwFP{O8K2VSInhT!WD$z|Z`Fyv5COSkk7h#Yxg zZY0HSrSF|^Cl%XR8h!7ilaVQLB)l9D&@kUjInhcpNZj>`x&0%H3tl|L=lO-}+_<*g zO40h2a*^y;dC&f^b6QjQ4fkyr2G|GXXd5ytWu)$k5)^>!08;13ji*Y~U?CddAiwE& zAV)7FOMv%m1w_{0?rib_X01e`ZJ7;bOXD#^MPG@}~Lp1Wx@iL4lK9vN@R&IG^ zhLAR_In0`MyaV9>nut?j#$Tk=ZlIRSuMXuAmE=fg&ZF_)Acemn6JD#==57EK$ zev>tQ!i5D!lhzzIS8+`MM$Ef<(B3RV#G8KpsZhn-3~b3FSvZ{4NAjx<7ob-n*EJj@ z!2!OyNY)rJj;8@SQ@yL99XQDnD z&;Pw^E{YL(k)=Fl{xAl#RQw0AIt#rn&iy4i0lKtL6{I?cQ>0vG<*{WTecJzX z*vve~7A>(5Gi(Cub>xL#v;gS0s=9*sn#P#`4VUdlz@Y0PolSLhTlhJO=;d$NIy_cY zM!+8mm)R-+sPz~1pg4nmJ|FnF{Yl7Zd0mkOt?mPb8IZbEv3KC!wNIutHTkOb5Vr0* zo~~inHZGc-73ptPs{krbZq;laYiQknM%w>-gd%ts*icsxJfl@?P6KRg`-w-CflZlz z5I%QUflYH&*y5ML<`L~v;Z6zY^F-X@)SA&;d+l)4 z-z!=yg*-g&IA+t~s%tC2U8SFFt>I4V5!neDqE4}X*GmHwlF{+UNaE@`a0n;Nc(1=LF0=|^_Iff;s5Nq|PktwmYMaj8EVg&$RY?xwM6H*inIrMpi1azm> z4OQXB!!hDX09RuBG3>nYasfvziq(!2AoyA3PubPXW!d&pNjp8I6L9!q1_tO73K#}r zI~j!(RYOWEW$h2&Jg2eS+B-7k^t><7a6 z=v_?X|2&`!cFc_rS3UrPDW+9;qKe6k#s36F|Ni`7{Cgx9ur?Nr7bYF}MPD)x*55?~ z2cJVepsveB|KtGr((@5bkxiwzI1*TJ8vsKWIqTfyH}HTJr-0CCHgyLTP;}|X53?fu znui0!w!7b1+?Q0``)7)9lQzG)OifL7Bubs)2im)4oDa=krH9}hRulufcyC2dk=FCP zyDZcrHY%aZ5ln%{2F1Y9@-gC;NIm0x|89wgzur1;Kf{q7uNX|N_f25_(;toe`w8I86V#tXVB%=0eIipz5pO%HFD9C z!`eH{jfEnpLXJ607`$gIYU@#1Jd1s zl0d0Ew$400rCM|KNEqy3;4d2(7=1#x+(_otmz%+>TX4lhn5@34>2}vR<=^;C-^qWl zYtp=xInfxf8PY~9PkYSs=++Oi(S)`Z{9r`9;8{|=*VD_^e&^0%6esjqP|k^X^rAs| zzV8Es);xn2uN6)kZmUXFigT4}xEN*LG#UY^)0s%=)&F{HsDGyo37q!7Mve#)up2T5 zd?R}Fk5A}&L}}zrGPd``p#Y~ufv;48!hn2)24?r@1lVFRI9LhvC?qa4DXRMKo61gb zY&UP0VL5RJ;e5>#z^YA)6NBgw{_%ksc-yyWr%bA&^F^WXQ&<=7~M zQ|ogY!2Od>r60ew^YndWac*u|9P*m`q9)P{;kuv{0P!CgVX(xjZm0f@?E)pfUPtCha!3KjOMG7HeWwbFXLna zrEtN|s%JnUg^DjV?^6jzJLsqM)x;M1+%knpv(nzHfsI$XqiwN7ihurfp7zJWymvt; z6*Nm6L)<||sVp=O#Y^~wtST2r`)K{|h8g|t%YYii{&7krorAMHDy`gq?E#q|6zm6* zfMwu9iV;2bX(BGXNVNyY+05RXbjb$0+3%;;B>n3Jd>o49})dDX-&pD3*X~k zgNMw&hGbdDK?CNNlT`~bTjOONNr?ZBAnkwu5Rh~Cq8MM0__IMYUUxTVf12C;^|s&C z?mr}>F%2u)!sho6Y;@i9t%)EQqeh-M6(C>7;S7f74%^be*dn&nR*K2PF+RQ-hxaY= z5s)toB-`Ho3wprf0`RPX$2hl!|KG8~cL+s)B{Lzg>IS;9jgQ*Yw9jpJ>!6b>MqEOp z&t(`Dsh!pkF2F2%jWD>R<5+E|!h1w$l=avM+#8m*6H`+u#Pb+rsSnb=Q(KDap_Vw` z>y)Z}2jkSsp_ed&s~FJY(?|k^hgV zw+zebi?+U%lt#K!K^mmHQ5xy)?vRpBr6r}ilo zuQk`4WBdkzgCP!GmDYi^vE*d0g*U~S0q+-(m=^swBzF>s^{*l`)Bz~taP^W_ z1|S9M$qQm+z@*z4RR_uj@5ts+StZxd!%gHvQ55Zme!MzCbz?LBLGV!rqVL3pijLp7 z_xM~>p_p|i+BQ4l|NpLre1$>-3tmyH_nnI%NA#GW7*}dwB;7t&Szaaz5kOX^xQTA6Ms0Wt@izlbM=d zY1uPb*KNl?_y-PhL&6CSmtDqp%Fz;8z!33&R%HL;Uj~_Gf%(Czm9y0>ebm0kcWf@X zZo7hlvb|Ywx=+7w>u>hBI?d*9fuxX91Gm$4suT&v0%7T{im>^-h49Th;zv{zWS1mQ z9*2~vB-y3sCkF7uZsUEvCbTQrEZn+9mR!;gD0RhffCd2H)!HlYFa+=Q7@dwgphPN< zVGjym2NS@D-HCg+YojZxu%hL%5Eo9MV3l~aN!_2ZayS*y%cH~vzD+p~a@JoYQY%k=$GNaaEmOhmS zzbT3P%O?SZa_42$hPcuD?VE-R3-s^v)0aVHFJhhLgy2Jgp$!aCF=)(Y{$|FJ5hGEX z1~F;dEH%S5iM%N%mNe}J)3`nU%kav8Fuv0ehsQHz3Y?Ry6}6&q$& zA6#Q_<|e?sK>h;*Bu`!fnG&*-+`xrD0N!oxJ5St@Mm*h~PeH6I%Sz_&&G%$ZJC+Hu zw#}ipeZXYRb?cw{XFv~*pPFUJFJpR<1p}RnaOE_4)q0lK<8MJr5r5*Ua_f*|i)L$k zhOH3J|ErRjZ>-zp{uPhdoUHq}M1wk=#lA79z{e^v&G}cxBScLheQ9Et38pX6*y+U- z5(NSy@gIuw^V?UuX1-YfkKedFwL?`XumM#Nghd1qHy1-L>r8ieXGM(6P{uJnK*Zos zNY1`t`|ok*A;vqo`?arS0{ur9P;th)HEyi0TnFjL<*(4uc_oXfmrzr*MbsjVRf=ed zv0VqkVIL_`oE@%s`U~j`yeU*(O;y=+8hBRyR6FsfP^UbK=VzK@El*(@;?;+`*w8b- z(8WU-zmj);o)L;X7Y%swK|lp$tZOU-{F28Wlhc!|qx}9RvmZ7Ib39`tW8V}C09){F ze_Qhp%sLG`Em5iVLo_puq&Z}&6DhTH`w(9#WefF`7Xyt!p%}^)0<{4UT`xTy$=Z4` z_X2&!+}*z9WKTH}66axMYoh7HIEK+L+&~ykom_@pyx-d!YIlIfYzx}dul-W4M&CQQCRlEWv}B}2*VEcdN{(p94YjSy<`d`9vHkaW+iFGr6)-X6mRZf@f!ZW;!4|BXkt!H zdRqZH%E!z%x`2o4ItM}FAj}d{8St)8S}<+pA*y#)V-TaLg8RaaQ2t?$eA=|G-?r(d zG`o~tviCE86{o63>OW%}@9$Q2L!%Cbex;NV^>b*>n<&U6iW$^zEG&o-a(4&V;;`dS z2L3$IK5105#}|qqWH6Ecu{u)G#~6NA-MBb&G-!-DM-YGItjtv*BNlyT({b$lt`f%v zH)9mKR%t|4+;2uC(}B~bLy>9>C_cUD8W=7EihhAE)XgTS3%nz<;^bv36WWj7<{}^p zFn^{id}wercwLS9q?%lEiae;Kr5=g=@yFNGu1|Ep4kqfJtUgYqYeZ?&Np5NX>PP0C z%uQ%s2nrBD1Y>_~7gLb(Lk_S@i1ULB#%eohNJ9sQO^!o{`y6-12eIn50?rt^d>i}MjS7mM5~EbDeEwR!(29fKQrHcutAgH&=fbpzz{ zi!B}OUbA*+%ooP+A)4?^MQ7FIXy?g?_1zD{D7yD`Ga$`TN?MPB67bE=zQUKZIFrHX zYGw^@G_4`B17H>CeFp}`mJjBsc61GWz2SZFYk9ilGiZuZ@zw2cBME7~<}a^)kCwKn z=6i;%DSEE}{n)EzepD(-)7`cC{wQ7V@9>R!ZHVHFw+LK(b3h`}f5)YFDtRzF>Bf4atfD4}^Oe&g+i;~gk9$&`h`(14Q-6zZ+=yqnfFzZ?zQN%Dk;_+!i- zTMm`~#Y$Ki82W>TsR^@RJLGUs=fx9!z#Wb?4g*Wd90)U?V9w^!k?)fmvK5J?H1kU% zRTKVw=vU~LVv2M}uB#wjaMW1fZTq{{#X}(?sjpvt9YFjLo8xY7F0Ht%84!zXZc&xO zxG!zN@oVD7oSw#KHI{ci`tv6c6w^NS-#G?mVn*#tI^Z?7^rmn>ZIZ}&*L z6jsS;TCV_0*VPei5v!ItF&{Nr(KqGW*TXXR3jBKa9@JcqQ{I8-#^VCNyan1fYD~sc zH0bALZvVHCB{{VygyLlcm(x>-?pmgaW|hr4}Vw7OCT*OyZfeelbzg4AU^o>An9gaFtVqH?>nF z^ImgUE`IOyLf0lQ>_9nF#LM2rU%_rnfdFXJSHE)KWA7kGj_*^Zw^bQ@W&}$`M zm$tvg`2$8*Y|fJ}G)$nMk-Qh;XTM}YFRzI)a4?KbAsumi9HyDZaVfXKH<$An_?gh< z2s3LFRe`oue{#mfxtwO=^gaM9W^M}xz^3d$sS5|GUF))0sP@r|_Y`)?ktpB?%^H&D zDPbN7f`*F;1Q4h&3?hl7jZ&J=&FT_cDh7W4`UcE4xIim6Fm>~mKM3Bf&b~@u*oy`L z-3&@wS-KAnojHE70+?NJ{~#T*V9nn#+{TyvSyT%}b3Zfri(n&?PlN=W{aQ?~F2Tm2 z&o-Bx&oxg~o!abdUyQx6x5K8HC-Cd1-^7dZJ@bBYdqgYy=xP@+RQvrWmfG4bBGT^S zbT`q;b+mUPZ~hrJ`z1o_#eFZ=eT4AGc?~eG|4dV16l2}9ebnGCaMw<3+sqr#v`$Xk zaDV%Qf25(~TEsWwQj(+VA9ibp7L6vpc9ZFZ@Bi>~b&zAjs?N0j zeie$2HN~2~py6cQ0pM97t7c93UZt^5vBSB^7$5XjJ?{L{A=|$*0wnr`d{o}}Rf|t$ zDgF>@!tf8OjLSC9DvXo3ZGhD%*BivauFCS&-bI-53MR_!mIa15)` z{5s99yjd#Okgb{utZ`>nu|QUeF_^$sU4ZwkIe-K*E1lyzvLq2`x88HJ9Lh%O_2HLmbkl6-L45x?dsG z#DX1^-hJ7IVT)+=Jl$vt z1?T9EepCPe?A$xx*p-dqC1n_O`VV48Y2$YmZnymX zOS5s8EB3&7fU)Nn&yl=#fwZA^nA}7F!qKRZ z=EJ+urg;R~v539C?ajjgZE0H{*nGwH3{Y2n0G)krIRhyF43gCP?#UYLrJD)DhY_E9 zWTuBUlK7|_UqX1tb1f8 zneXcxVz#!LoV0KHVO*CoC|h=+Mn{u2PFQtPpCkky3zDOMWQrWUHp|;({y`wm0}$7* z(kLSUogx)<;p>vw|yijv(xF6&Do^fb=(I5v5xJvVQy~A!%S9ottOOGyj2F>ac zigk1#y{_0bvVH={|3O88JhqyLvVwWjsuCY<5Mz?#eMo`zxE6`lpv6NmfMR_vvS-bG z@9*o_Ls@kgZTUk9lv=S@vzpR5XUa?~4FaGmxE>+cf=WP71Hfv1cF%S4PGElW!co&Y zhLm%(1sI9audbMSebi$7eTU~;m}2witjnx+|B8v1 zp###}@!y(}WM6P|@&!nSPy(r@(5VybhyMOw_xePLOaZZSmuyzy4cM!D*4ubK1Nc}a zJ}HCpR70_%!UW#-22dW8&g(y{VSu!VhNnB^&ZxTB;;<|}O0@Ggu1tY}x4eW8I~lq! zJX2!P2qN#=fH57tMOH+WVA3Vp!?}YAqGoR2CRxSlw2Y~cojXm-=4%#Ltm*_!v{lxXjPH&~JYEj$ED3tIRLgtxgXBW^_W}|Ml^{5X%4fhOv0WKV>)qj= z9s+B$!*wSReDfcrX&GBM287TJg7_e^#{x}&u*Kdb*+HbkDWO!_N7P6f6NlzWtpsdv zmXTf1I{TKLHh&CpxV*GDO4HM~vHiZeE4y@$R#*SnP6Tki!_nJ~z(VP8H<} z4RS8Y-ot(6iS{XDKkIiBPRR>ZUHj=4KoC-Tr0?J08|zt>;PEXERN#Kw-q8xehK|+`=$0xstDw&}G2O?;B+ix_G*!r+Zo6fI?*rB|Dc9Q0cnlB4x z65FasQojd3VKNXsi!inHYD%(q&1%n?-d)jxs>@()?qiZo)YcIe@Z0_bbEFBDN#E*s z;84r#MXjlkwz$I|;nK0}{9-IQiiS@Rh zFU>=AYSp+L!bGF$oGyA0=~%Ul>-Y@WUH;-3oVAi#yb;4|Mo1K|4$cda1;dW|%O#?h z1!ZGb?(StlN&SoV9{Q@mS|Vu5-+i}DQ4Vqz&logUMdWA3vS~)H9DiRuI?_*!Ku$US z35wkRLtgd!K~}AY3%xY6rzP6o!7$@AeDLYp>s`chUN%1)x89v9gArQik2KUMx=JyXBm(>ybrCcU8)^>m)M9n0`ns7a)X^9}p=ca4;Hx7$XgyVL(tQz?-UMRX zX5{2mLq{|K^Ueznbxv(?*wrklr6n@uN}XtVWmvGa9k|4~@4DsWyi1}Qr<2KUta`#* zREJhYzKs3T=sX8jGp6S!hgweUd^<+UJpG#x)N=i`ISeaa-kZ{>tJNVO0lyOb7M_s) zjjD_ROy_rb#|C1T@eL35A0IXaZ-0Q%agG;g)|j4rCDglZ>c#iUN3uYggCqQ>I}Emp zO9lti;~$>-3h1MK>Iq_+6q)4CUe$`X=fl<>pJ{dkX9s>gk2nDDNknz#x&md2mBm8w zCoioSFdB6$h3uB0oRs+7;H5#M0Fj)j2fs9AOci)3e)N|yod)>av25$M!b2rDS?&^9 zzDxg#j*-lxNFK36P!X3_Ho#^849ovr0rxssu+Qw(GbbI#Q50g#+vkggPg=jXG)}Ju z(EJ0;boUBsx&44-007nKs7|$&2F}f!prJwsO2;HxFI=Nu_FN!1uV^jrT)UwvVs&kJ zeEEdzf*n5XBHcV6kV$^2xRuU1r!#f*Wg=!Pw-acZ=R#rIewgwm@wIJ|AE9PXkg}l}`R;-+qnmu^NR92BL(g9b21QQ}&wIVBG@|>kZwfG7M!r zDe?;X*B|4|6<~XR;Is?mzJWT|j6cT{53o>_$|Y9aq#11$*@co0KZ6#Sxbl-oe;THI z1%6z%2=QmJ70$OGwP%Vl74cdCW<<41?$(In%myEhdy~JrAzi8Q3xH6aR;O5AKm*E} zJlQmM>oU_*?Pn!4dyBl61^~`iWcJasYs-)+p5}YAx;|6?kP{I64ie)Hd4*4?MlECC zAkj+)`@p|$>$vuNN*jWG)#+g%NjBLOtIB-)E33!%O8V?HGrA0uCD2d3?X1&7blwd2i&X2Hd;irQZh83a7L|pgbF^jHTQ4M6cpNok9lNc zQ=6_Hx!uAZtR!)?KB7U!=ky?S&u36}-p6oBvcFo57(7?)h=DJFc+JY^_#Iek!*w*p z_A><$Xz;u%V}ZEv=E>*zHLw%EQcs_SDS1n-_Io<{qIPi0k|3_f@f|evJn;3SxeS5G zNZRvt!q0!N{RdiBsd@04>i_CJpdGV%8Nrqqn0#a9T8=I8Ja6LyCM(Rcr~R8(e03U4z z?p)n+#^%<&lZ>{yv5jp?LlX(uLl&OwBSC}$o_k}!5+=hWN4LX7J3-6YndEon?4T}* zuju9j4yJ!}?lVd=CDnt1V;||w#6Mf$7pKHT)Bre5R5W!{f9|4?7XN}$CR&+7`he9v z4Um1&8v-u7Rjp{!_vA({mxUfDFM6%)cvCa}FvU-Ydx z$UHBkn>gl@h5of}4^q0vt1O@-S*`dL?BB@uHa(;4><*WwU>7gW0;gh#s7tQ#16~o` z5_QXr%W6eDYA$V@gEEle{qH6b0yYUV)BcWp@}$Iq5Lbm61)2Xhs)&OvsnbgWBrliKQV zWKuUfc{w+&h@{7XW8mUjLVwYqxgKC(-!|=Q`*;O+LR@}YhC+Yr+qsV;2VVX6AczK( zNrq=qe!zCvvuHjU%Z#tQ^LB+Q@mt$jT;Jy`v`*A#OXi zFyyqW4i(regEF2{245ESpNA^A7DzbMoa$-w`CjFIl#omNoeBrA1j3DwV8fgOwk$Zi z>ux+gyAg_^pVU}Kx6Me=(Dxed$iPFMRN)3O*qmn^_XfQ{f=No#_SWr5*-?xxL~$Mu zErYsy?S`l9p-B40TH*UQ1it-ROeeKhm#6FRZ;qvhSS!zGpPQdRxCN#YN%O`Q-vX|l zzM=9jwFAbdj4s;8khJ>lk%X{uAnEUK2}62kWz-d0n}yE)zY`-jp;68ChDP$r*dk=51u zb)j$Y#Q8&cWtshFW%Nlb#h68h23Okz;8Y4uKj@OCJJLxsdOD&N5xLi={GM@;Z&U8q z-R}(WV8cTtCe^_SOWy#XZo)Yie=y;8TkbZr!GjJ2oEsl4(Gp7YnwLmU^;!^G8?Pw8 z^w`Bm{HAUhj#5)#8MrRg;bnDdU_Edmuwhj&gwv<08kKWOA6T$*F)zJr)iOV^MS@T}tZj89~R!>0UIfTnqFnxWotzMGq5K}raGqb&&Tr6{aOn8v_TbmP_3u*c%q-(a`UCXU>F<5J@ znPSUzWVbQ^2>_I)w&O(&&Nw2qOXNG8Iv{N5_?XQ8Kjt4exF&fS=)*IxlE`===UpsW z70H)hjccxZnEGE0R^-10z7w$lgk3|yTd&~~k6f&;fI-N;@E0h~gEL0VQsH$!Qw zK>J0+dx`X&t*cvnoTJj%V&^_<4^Z>I2pmp=mIWoBLu!4GFo(}J;7FfOIO+tGv+^0` zbfht=_4j%()Rt5AZ%)O5Q_l#LHWUng$DIQQRNFqDgomJys>tR#MgCL#YUEznQMkdf zwttrO%)R@Mh)QJ?v~5Ao{0s9%>;)(dcc0p91)E@$69>8d)oX4pKjxGh6y@{vJ5XZ1 zfePg!R(*$0ViyqbxAL9s^!65@)2uu{vOpfD-}I&*uO4v1h0%KR$ycydjDYQ-{r>rs z1N?;tiI=0WU2(X|62$k0Xf+H7jIDfN@{$i+&?9$-$x%;xBu;fRT<3~{IS|+JfALVV znWtCG(=8Nl8fRJhdmMv#0igP6(*g8!exzKz5(Y{J5FOxfm*)+Vyr5Uiyy8$RF=|NR z9-3F|^4RCp%=K~}$m$Co6bcv7%%$TL%>~ufY2tG@#|(Zl<5BxNVFHsGXex*6=^C1` zhV2K4tv7=FHDIz3HPhN9uvuFxiUm0mR0-uIAx}pj!&OXOzt^~)tN7y=2dFu1rlJ!s zK;2hQ*4!?5J~yeI83)IDG`(97YPVI_DErF@i>3P~*`riFvZi%dzdB>)sa+BqimB8$ zg@%-n!5+ut*(R%@1zl0~?9X3yZ`-*wU4)3~0{hGsL^A0@f_b;M>K|8$bf?X%_y^B6 zcqTYiXEh*eT@2Nfp*WVBu#NE_b1Se{g@e$$6x(lIBH5ygqrN961RZj!RnbSve{`bk zi)3ga5lc_|_y114*Fgfhs$=7^Yax21*`+kXvN}UBN61&Yky2oEjn`KH@$mKsuQe7#FE& zkzY#hbkvIpPSWp+&gb92oaTxipPG(%(q(FwSo~NwdGx%?!}3cflRG8SR962H?@del z#LPu)0b-aKbJWw9^w-9L^D>1#+~()vng2?TFQDzU^d^H!HFjO^NLbS!^x)Q;1m5{H zIKu^@o4*E_0w6e~2P0Ko=p6;zoJ_CPM!y6xFoOa`x|c&rS_Io0KNHEVY#&+DI> zuYc8XKZxNLv`s@|+jzug?4f<01U>)O%oIQohnDZRJd@g;pZmB5xefF<7C$^r5>(DJ zf`l>`843oC)>hg}@}L>RS&ZfLhO@bMWlt&6pQYjah7@wf<%pQgGjhzBg#2; zgBLN^yxY^z`nR>kt2DHv0o3{wu*Nz7$qXV-BL2DP%gAQxae-cQtQrnp6BlG}0cQXS zgX>H5iY6YN3O1B21#bAD1+;1fCd@qUYPnteG)^;xJ>2Ex4;vJ6D_$4xk=IhPC7cicB)SN*rl3(VsNU;PKm zon>6F2Y1)D|mcJED&J)vmQ3`8*^yLhn3};{Le!yiO9QE`q{5Kt4y@g<= z-a(NG&|#81Z;=6or7&#!(EUK<#QoiyK?GXd#cIeynlmu1I2@MHfG;4qVANZ|W_Dal z`nW;@RdBw0blnDws=$6f+?@uWp>u~XA;;zIY>ULSKfygI2C2XS8pK&$h#{|^T;6nY zr0C@Zku6AAs$^~z{x_K1O#`}ZIgTxtVKV}-XnO^6l6T`?zjnx$2#Fc^D zCSvt@y62yEf4Q@3gqtjVoA0#_%E!?bXN=n4a{njry2;&V!S18R!#k)ots@Ro??Bx+ z4gBlMUc@^8LGRQ;W*`XtpMwTHK6+y+{il_DFVGGMPTt4ScstfO(T&WYiAy_pQ99+j z5uo2bSAgz3{?>b}M$+j^65aCr)?6jg_?Q`TeXB8hj{3d(!g zk_M5gKofMR&Lv5BuY`;qYX1?0EY`wY5=-jdw0r@DwbRk3>zDA*eI(wYC0(;ipN0W2 zf*A2M@&yfu&y%ySyF<&4>GVmY=Kxc`#p(PdXA?}RDp)cktYotpdrmNIK#iXfZN>|p zE|8EseI=n~{u<|{armB~>cp#iXcHTB={I`jt7P=F49qCQwrNxAb8QO!o?;n@yh{Vx zS#2gcdZ7I-i$ye_M28t4=|x_-beIA=E$HR-g4J}W>~WpC&_;&Y+x_h_%17b*$hx!5 zHjh+*bF%X}hQm}#C{N3TDg#j9L+DExJ-rtxgY^)l1}UX3W~UQ>?To+Fk@ehqN0AZe zT%{DWvJQdegY@x)M5{<+G}KrpH6a~qJmKXb^0lZmb4}bgk&ufia5IX(Jv3u4fWnS( zWB_G2KVut5dj-?i^P4(U@cMV(`?#l+#IwEmoNEXILJhm$fz*IvrX#HPIRCpAY^0U~)h-CH%><0)LMzEp4}jwxM>VD;xe%rdGv#Hh zpzj9`G3nS8em>ZBZMDuS5P0-+^~wb#MPVv8jsS^CxwvJggLHi-**u zLb$_#@ob@{KhTG8DpC{p2sqgR-ipI=x91^qk`hN>MuubCNQ2gknB53VMqonO6rEnn zihrQC=z;$qopz?5@YJmH%E7R;JE%yFt=Naxmq|AEQZTh2c40Iv0zqmNAHiG<2%*aX zNbFU!=PSgCnO~wh^q{?1SbrvF@p-Zv-#a@t;b;!3JDBk(Ail|zc~?hk&HzmD_QU2^ zjZY>H?dE3OEP{w*fu>Xr1mU)PO5wgh z*#wENLoI?KZl8O=0ZQsMz+nJGU&#H(DL7U~ zYCCK5^1r-gpeieQHR{?NG`$3f);lC>ONm2FKTDfA+T|OqZs$l-H`JcS)>GY2(WNo> zZ(6gnT7vTs3^`7o!N)Vc9A$G;R2*Vs`Lj0}3OKfSi#~xLkzo6*mCe_ESy%9)$5`ub^GUXQ?(F4yta-iFJAL9M>m}{KRjLV$?q_ptO+y0< zs+j>FVEP;JSrvowQpe8njQa9KCi0T9@gvnSqOVDFtxwPL+(eJit@`OnC% zkPy%E-%j;@X3tv&VCb2Noj^A`!&ve}L2Pd7>qVTRI1#PX z<_;T8-x*EBHtmAUPiErOoB{Zmz&8QL4N>GWnW%zlh$UhUCb{G0#0!+L=6R#5vs(h6 zr1DEgK*o=@sfA}m4&-{wwK6UFPN-*dZ+|`YzMmlu5jsf>4ZUl-dOYa)hcaq#TosR= zY$0V_@uo`h7v4={X0hC~?XoGu1~RMhB*)E-NDR7Yzuj-m%%%H0?`YWw2@<O=bsuy6+tS`3=hR)Mi9o8UdC+CS}K zvLG^z?NOKJq;}R4FkO#r#boG;RTX-jq;l&)nvldlXH-Oq-&Wb>`rPE&a9M*7B36J7 zK$8BbyefUQgU)E-PCo&uEV8O1u}4n*GXi3JS`?1kJ;Zj@wK(a@kB96HQHIAY$+oxW zFEAVe(}a-OdX0=1P9l=ge(HmzpiN5+n{(bMPhV*ZIAs1>PBgZ#gdPMV2+&SXx_(-t z!kkIyvvyZc=woUOd_(Ipp~Z;nBQP?Q#-49SzfA{6$88gcWv&Nw>OtVUalkqxX=gIH zlOM$Jr4%y1+|obZMODxyAOx0};l-Lvw%KY(8rUDboI>;ZWdpIe5P&HT;LjcM?TUdJ zk0BEmLt^{?{9!AsQTFa+otNzwHQ1`SF6O&(WB*jb=t~+A$r(V_H1IKWJ^bSVD;LQ9 z4m`Vf?Eipw;Pj}aUdW4(a#u@`+@y#`&%%z|SY?D$O9@01%+Ah9^T$l~=Zh8z1+@Tq z7*|$kB|8cx%$<<0EN5SNZ5~l>TJ<`3;)-;`_SS>q65e0LMKhe)2qIhF#+k2(&k1MJ z$L!E|JX5IHC3oPgA(8@#WgMp_4Q#$~VKfYKw&fqI8mOID3;guQO92`Tj8C@Gu@*li*WV1ltmEQJ z+TCgUcq9Z>$VU2@1jXv@<~UU&^uA^~#Ko0DEVo7?H!$!F01hgr)lCFb+Y)edh^uzE z=Y~R>vr^;b2*3wMMW};*UUNZ24!qrd-Y{_W?p`gU$N};@F{Otxfpn4azlk zVUvt$P;pXK9s0lNIb6Uy=mOwJhs_$v(qai!C;F66~OLEgq(O|0SEVxoZoQ3LIV;FROxpGI*N)*4sVT9H9#SfJ0g zcBiG(r6gzH3gyC~{ZY$ScUe_Rn9m}1cH}JQc^Q_hkR*I6aX0P72M?}xGXjEK275!7 zOf}+IU!XQ=?g2WF(~jeavxjI?dabpFKW<9IJ7!D~W#?BJi=ZlGZNAV;&jy)x>IM{l z+B@~2>HID0ilb5s&ku$pF%U|`hQCD zT+T{RWNuu2pK!A%`#X_Rq^=w-lv4U+y=@fV*qBBE>kCV}0+nLrE?MxQBCjy>%Ll~e z&3j*b)R&R!U$;nPtbzlNCXq01y7&gXlh>WD-kr;kzt43 zDTnbC#{RoRmQ>+O*i5Vsut@9sV10d;z!35t`t5oAE<;Zl<40H5fcW3eK>9Qvtu7bI zskcGx>7OZeQiYB;q?2-nZOb$Iz#KxsT8Dq$E{1u^!c;r z&D4&T6{WC}t>=s^zOfb#UPb-DbD4{?mQ1sH*muNi@4hGuBf6#ZTi24UEa6sqdgJ7bd1YIPu zKnwdxx?i>zLpW5!&$MBB(5wYIC?d|KRB*6>URHS{Jvy3@d2WvhkcP~6+PJcdzki0Z zzL7%A8i0_8bH%Gff5}oTS41z%)ftBAw$a&~C!)(2`W&)-SIl62`sC9*vYF9)9+x_x zq#oJ*w;wgKnOP{CBXZiWjjZKx&EpTcvXbxn6Hi&w`R?HxtnMSWo7RrSQ-AjKvUd2* z`>&)nCLpgezm)0hOz_!vB#Wv!9J2R-qgBKUPIyfF@NC5f&e@7EuZOgMG9!!7=Jg%b z8`vvhUq}3L39SYAeCMRc%cFdTR<-xSy}omke5GK3&<&8F&;eec&Al5w2$GUOO^apL z#@@BVs#A~Oom7Sf4%$n%N3y`_3;pd2bim@)gCZG%zpvmU=PwYD5=jYhnQ+YxDtmsM z_`qhgjZ=Sh1*{7=8hFb97D~vuzTWk2JUVM6^G2rfi)G2F4hj^{cLIy20L^bvY-hkR znpof5F(MJ{v5l)vu&lo|hghI{kYiOHZR{0pJ!keb!lSmFxb_f5t)9Lhc8f@DFu^_k z-{fMg$ZN9p9dN4-|Ir&|_dliu7FoA5UeR0FpQ^7-3fo^3Qz`~NNZxz>5Yps6ihnGv zf$cEVo5%8Q>UCef=03QtyI;N*hIId5?|20lem>fmqcZjRlxt==6%-i4zqzLsLEhGt>XdD(_B#h;_HnBmUa z>9=>PFVglM?XJYXfAxKSyte^_hvv&g!V40+)q^@XeD^=GPevu$-@Ib>k7a=WEXLU( zHqWg5TARDra!!4Abz#s*+szrMhj>7*YIwDvX@}Tmi!;L`CXL}2*nJ$&AMx``8Ce8d zM|wI?rG)7X$b%jZq^5#2yyQBzCd0g{qu3lzHywa1D|z$O8NkBbjs+J??|Kl;+W0>| z_nRhA)pA{TvVgb>TvcZa@IJf*CV+PteRTbe!jYL6uV^gp>Bv6k|2w3Ee;hz@?oUj{ zuT|KgtlWnlPSLw87+QD+MC1WTs1#o0 z!6JT6#<$eHbgAO~nG(>nhjiM0e+&Pz`T+^QBL2dW! zjS5YPNxZMK_x*yMin~o}%9SMh``htl{McgloD z)&Wh&R8I!_Km5~RPJ2}@rLbre~8gzVpSSOov&B#6E#IeeM~GtLzLaIa5CFTJ(QrM@4Ir9615nq_ELIjU{X84F zE{z2-O&A=eRJP^MutLnz)d#+C_6CLl4IXOl*G-(DMCz!(Z3HK{fcA+JzN-lD>225g zGr%fePBGZpdXXW5v4IJXNe25(sR*4gK=A85%zxV9Um9v?YwZQ)KQPoXJGh4c|!}ovclK*NGznQnK66!JS zy>mMPb8){SUaTRGhr<>m&(mZ;SXmw}#fB?@j`OcJ2(#|($5HGDwoPngl8Z(ROF~TK zR9o^{^qf52?i1ESBEW^2Ueb(1q}{EC_)T{-Sh5h8a7_4)X8qLp7u>PDgLugAtwdv3 z7?$%rdq>Of*eaJ^PYt(FP83mwO$4bLnRXj0SP${XLO=h^!*GVV%#$oYNx zItfM1G{QSJ1tDyy{i3F08y0?sql1f~k%LGF>x622Mhmv_aHb7P(i3DCNme!WgN9D24`t#l@I0-GVeY{^RQAZJQ4}if0uckX{&;>w|30}y@HQ_wCdf# z`gXPL=2`yHp5G5;y!Wf*qsK_>&DU=Uo*t1R90h@46PBV@tpe9s@@31f-i4H1 zU$aq_cv}D4o_lM@D>qws)AME46Vl~wt$M5Ws8Gp5g@jc1Pj}F9-SayIMFbXdDBoYC zKicGEkwnK&yC!$Njd;A1y-hwYA;2$sl5h|!PC(b-Q#0+KMQ;DoID@C@+a9W#{Bl-R z-QTVXVN?OuuBG1ZZV&q&Zbx>+D_42qOOH#~0uTE|Lwb7scNc&sy^9g$iqK%#SE1I6 zH@n;kqCe8W@HRke8@Iv3DPpq$Lo&{n6IsUD@gk2U{jP?l2lX0?>hL(j)1kz{TK|nm zn6&3%tRKaHSH>Pez`44W`SE~J2b(h2)gBjg>|!|aQC16Q6pA&0zcKEWtiI(rq^T=f ztdwIr*;5h%ee4ioX0AuQd}}6O?r9dV6peaE#Z#U|9`ac5EwZSD_f!BSt};x8F=ZRV z87MQG&Q_xFs9O@h$#HF=<1$-mqYhWTv=ZL?EudF8Rrk5j#wE-oRu=L21ifG%Klz$; z{P&Y~Om38EGU+^zXzIJm!zsAFnJuEO+~sqWshCoOcZ9uUk$?J)9_#r9(tMUCnDf1R z9i&J*IghPyC{%lYdq-L)(^Q&_wGnT!Y9air*A{fkY$N&heVi(#DHBtLn@8F#9TNRe@tEMWFl6+V zhdi=jiOJo9&Q=*?K}P!eYAMkL$(j_8tHiSyZ`s3Rrwre8@BMO9&n>5!dTWcEmVBg_ zJj(e--L?Hjp2M8Sxdj;>wVwHotu=uRBg6)M3pzCI_D(qD$IIo3IO49&?dN!R`EOO= ziinhK2%hWsw{=(jI~#bsE$A4jjBXyAqp1$gney2ljuaGwWY(Ktp0=LTS+>pWWvU&k!iRH| zi3q+vuBodUlT^>nQ|m_}j&O@wZ5z=A^$)ZZ4!_!iD0taceJ<% zer?KknC@tNUtC83kbC`Y+QAVo0c&+9S!5#>S=Vq1T#%E z{e97QL3+zsJnRv%qsl+ z@)k86qspB3a;W9or>`AtxMLi%?N6kKc;yvO@vJHl%jQB(oowq@XfsA_24bp0RQIt;f~io9HF?hL#q&+~>^_8i7U z-VE^`X+67zUy4<$-ug_9N$np`E7S*VQM?&9k9~LZ=HJ7(iHomFTMx9tj?Iggq>D^j z;4w0SElQn_hI?ArP^SDYCxpJrZ3EakMl6j{Oq4ci*ql{{nrNjq=6-^ZRg*n zD!%=6_!Bu55EZ+8;kwT?Ra?`^#m;cQM-)UsF%0&qAD(ZSMlt0}@hYE_$mP79LXFD8 zC#Lj_EnL#*NJktFbGS!ZxQC~dT-CMcjf&fIyT5AS?UeiZHFqa7`Os+{S4p;!hH`F} zf2NE7O3|``zZt zF&?AOVV$^rXkB;hSGk^79@PU{TjfmcdWXZ`$F>c~?`j(5mfN@oAG?s2JJ4k_-mhm& zp&`%bpryWc{<0q%TU8ea6IQ12@H_DOyT8395K{8pU}gqUE_pb@$6wqt{(k{x5G~bZV zdbxdxZr9X)eBfB8XB^b1q1JhKLnmRQyAu-&dY}JW6PmNX_MG`{i*&AdbI#6{#AY8P zv9R%-t%=pG9C!-e>o?u2bf4UugSPPX2AAZ0yr0bB3Zc;Xp?b@U+NZy)QK$eEE%DiY zK}|}xXSzCMmlNvE9>TZKZ~Q7&K}wnla!}toawVsXqtrZ|dNFdM`)5xO$+q7*-29>|U5vW}L*?e7Ios zsETv#R~c2JznM!g<|~R7uQ59Oy%-jJ7rksCTQAX%whe^Yjy-~QtV57=m|1Uht93&v z01Fv0ZxyaZns`}}p|b=iXOI-&JQg) zX?~Zf=}oibxw(Q>3&-Nn(EVVtb7XgZv9(Q*ZeAkfaSd}Sz>mG)g|^wq5Ad%n?z?EVOi z(G3EyG9vsP^3!g;6k`g-?d$FqeK)3Oo@IWC{05mf{*E267t$QwGgyX{>Bg9^NMz1p zv35vX=<|}KUj+o$Y%5=Tn_pM95P;aX$KVHg=>T4xMPtgQ= z1sihhyBhUVI^q^D9fNLhbFdfnQ3RhsoR&qLSQEmjnE|4FaOd^dTt~P=Z@)f^3d5pl z3M)5A(Mx8#U@Lo1&)~kvx>h{-;%`QKYqxKSEHsaUEJ?FOQjEwvqxh?GJv!n& zE?e+T<a6STHaiSU36s_=hif)6Nz_XRiUwpH zG?+wR_MOONMv5&d92y3h9hgo?`-zjKT=qnZU5XnviGC;2)E=8NJ3Hd7FI2C-^e;y;^~735n*&xd*IyFO2fdf8Jq_hXPj4es z%h)=D!&oc|Pti4!r&yF{pObIBHn6)noDXinwbz)YyIaM#NGdYA=Gu7RQU&{L!9`-k z{$@1%$;#%ZSJLR7>vz{hG&zk5=tvfVC4U%yQGcxT={D{4KRXfpGt5EYM@lLtXmgvE zW9ewCt55b2k5v3Hk~Qp%{^_vF79*yKy zd<~*LVv*G*Ir+<{$55>jnZfrcDZ3};mKjn1zEbZUAxbSH{p89O;v;;WC-H_`3A|>= z>$&%?RnBtN8WYxZoUc4*&Td?}uG5R@_2@1hcX%_jPw%j%Pa=Vk0oVE91Ct*s(S@0o z{>9+yk;<_k^8I@vyAz5i-kr}OwnOf3YUEdoEAPGprOvuVK-PE3<70Zy?Z%aJm!@4Z zW$|jqDyu~U8%GX|b1gjSI%1y>j9+d&+8jPYFxI%gMOt`$eJ2#a{^VRnbR*$<^rEfL!iQqJIZ4wE z3@G1>Pk;0K<=luWzD2~RR$^x?FH1f^5wN?yAJ;@iZ=mT3p`@oJ;Us-O7a83|1|h+i zGIHfhEEE)2<~3aMfblLl6UMnYHNQF5A{P=IRw%tTxZn=HJN(a&ICLj=_{4Q|qHdaa z_!_-cwtiviSprWcmH$djVv862S%sWL{{sVPTIPxcNatG=TV2uYVP#!1;a*nAv}4&) z=lR<%i?<7OhfcQzp(gu=RXvBp$wGo2UlPAummhj=vlZ-Y4`7C@wiZe8V$(VPLqjZI zrgu~Z4gFi>Wo(d$_}7+O8X&T~Z_!jg2tYtMETKYdcceQmb}JP&zaVA5p+#W;xErRo z6tVUW&!c_q9y&%I&QmJa%Fgw`Z*7N_QpHfBn!)@<2JWKNR`0x?8#-MT3^XO#n3!dJ z_C>h9mWy!3L1|svI4G!HGl^<@;>H_e)|a2spJucjZXZVn7raBfvieYt-Jj84?)7@o8JO&dW7xlYnHfK8N{B3&2WD=c~MS@~xZ z46i>Z@!c|1M>r%;?oG;*?!CUS+g&jqAVjg?muvV~i7B2im6#rv?pS>w}`X_Z?myE73}JBLNRa8Gb6^Vk6w&QZ%8~&i~f_g1U3$@`jL`6 zkzClxh4Y@lO}5=BS@t6C$iKK~5dn#83bV8hYZM6U z5g$qRmJrw`0V_nIzcwOlIi)+12-fY<$bwj^;(o-+V?No;HrfeGBNEYnZo z=s;*Od^OyNe9>DL!LPblRPLJwPfhaO@RXqaXQuGEPqOWoRv$VzTvv|5qxn?5CZB;j0 zxsa&!HOmUlyf_usUX=?=DVL2M@EW&o?zThHF?Ua%b{}Nl48ET@za4JBL3lbisKTA^ z6863&{m;hu`@$CcO{Tav!Sd;IN`rfu`0Maw7HbnhRt8I_VPQy!)m2u+m4)fowGCF*5@1iF`Xk`J$R(^8O1z( ztZ&vE+jgtIVyHf8`EvVkx#P3j&#I=G;8X_(_rHU~02I-><1~|QB){~aBPoXYi)9n1 zz!J1ai!+}s?U#dAuD$ZHg*?OymD6UUmo0t5VYUW4a`Ze_Z`pe9H>AouttO1iIKA^} z^+E5gLpmYElSua3{Re^nmW^kZLz{e+=4VryW2<1Qj_1CquB7KeyvoAF`GSm`69QDLv*uqZ(`juD;A+0hqkajD#snN5 zysAp%-lVG=d(A5n(tj~T+j-KJA)Bvk{BdZ74f05D7KVj=3-B|oV^_-Xf2-jB+>P9# z;pt2AXWwgfnvb&MWuHfs57iII-Te5`NgG8OPvoideh<19r z+6XOuRB}3AjG<~zk8PzkvMK*$N$hXx+~3BQgs>7dTxwWY>ScN^JzNJvPO%k85@)JF z(hTgftPO=T7vAOWXAMx57FlHtO9_l^TO1kQ8|dNh6D{lN$giU{GP3`Y2EjxhGL7bY zub5uGkat*z_eklK07IVjxM1I)clHZYa1|D|)#F*CRd-8?J>C2<6Diq@>V51>>F(pT zV`H~Nu_t#L2wdXKjk0I=CYr=LS+UmdX#5oviunZj0M& ztcdf}3w-`z44FARN->wJg42xgaI^g#hRXXMVVsfarPR~lgyoSuFBLXrtbw$J&@bgD z5B`KO@8p#WzO05?@kyo@R%uZt+Yau+@h0~KhoN28@Y3@GS(yP$jzJg68xIk`nW0=^ zNdyMVi-!0kSU$C(B(|Quy0t4N*8>{-6(^?qLl=GQ-8_M@zLC|It>zWp$#tV-tJnzKq`a$=(#i@oxHc>A_n4YNVqR~Tz9o1Tm}%Iq2u zZUjw^zq?%M+dx}!^3%lL%&(XLy*f7Pdt;(>FB>9w7^E(IsSV$lRH`aHXoi&t>x4^!wY zUpmmlIDKyW3%Me-Hed8z3J|0zEUZ8qo#Hq&y-qn*K7!c0OuuC;$I?RB6q!?_MSee+ zlw?AIlEbZ+{3fKYov!YnJNfx*AMsYhj9t54x3)G>GX8L~UyoJXiHWFo(Pn{O|Gy97U zRxx*^U(_{k+KXyxNWWMY(p<{3>9BbO`7vOc&9?OgWXu-Ra-$ z=?va55wCG`R-%slz>odMDwfKWl6ZOt+USazmn$8cV-8GHtyuMG$~rr(@ZDrjqeoG0 zCo`w}=N(R4bsYuWEh8om;*FUTN`P^!K~FM9+(rwdm@V z9%&egH1%99v^Zd$VJXe+h)bxd4N;RB_k+GBMfFWYXFpbN{L$Zhw_VsScY=?q%zxEA zHzoO}%S=;FL-4Epf)xG(m^ zEu!Q#>GdT#UJB~fe8N$Fl||!U^csJnN~G4Qw?IBSfG%!JRe^3N@qY5rUZ^*x}Y)=A(Vx{Nzv8M+VGZvyALTiZmygcu%#{ zJq=$2yB^eohKVf6jk0C8(eKsH>M`DH<=>n}Ef7Xb+U<3ncA{O+_NL$@_RO{igml^H z^hs}|7}nK}wsL&)6CpTZEQjvKA9jFA!%T^Gft839O)KY)qmG-X@^cOIZRJls>M|Wc zTvf_cQW#fkdO$|Ac0%k5A>oHrWJm>Fa$EfRk&>JK%9A_$mfWU)Bgx!it=K*Dmiddt zcjk+Hn=hSRaKODd8NX03tmwJIoRVr?S`#a#vzRF0CUJB`H14<7bh>rj+WU3%Prn+O zeICSSQH~eUvs&X26?vpFX}ss^qp0qw%8qY3cJNax++cqW{@a@PikWz_;wWl(%-+4q z$fyb`*0r|i1y^4peP=O(x*bFr)dU@}p8VxjBIjcfPt4MizsT-A3K_PQs~eaffKFm1 zM468LLi+S@G-Y9ZdZYPkqp=vvjS10CmD_9=Kxig|eqmkoLn3iV! zB{YcYqVcJlZ)J{}ju=}m>e;sp)|0zJ15=imUi=L)J;;a@{53f$l82x|>n6p(Oj@pC zp^(m&kxrv-fl{Rglm~l?6iZ``BR{W2iHQ0lcOwY5h%%0MxL}d3g2YC!okb`ibDCyn#tuYsD&cSh+*Sz>@2nus_L^28)62U{j5^yJWwN(jUs7TH3^-(zQ4Ata&HC2zq;x}20XEb4Ly1^*R_5n?cabu~30snN2P9qc8^)Y#M&ZxlJU>T`kWB_Rmv~Ra``zS;NEfHeiDlRNx!nHb zO(i9!J4?nm$$%XfaFRS#SB+5PuV_DzDbj{w)QqmYc;>6c@Z`?I@>ln+lh<^17LMP7 zJ&nR{6D!QMH`4mSlTrSZ!Zb7qHPsylmi|jPV)dhna4NHux%v{t*Wsnwzlnl)!X%uQ z`ftH~76i*1@Y1%a{0p_Kd{vm6UIm&{4$9n*s~2v|tk!|%WP z(0K>9$)^yQ@7dxrtWOpI(LZ73Y;nsj$HtK?1WGjhEe8QgZ?5EhdbP9Z0!4n2*qYk% zSN%?_z?tHwQo#+0=-K>TT&{c+CLR$Iy{jSmj$o3)Qmj-S-#?JT6o|33V?I|=AW1fC z++5MO8eS_UrwZ6tfXX6G5GduHB~DOCQxK-mf8Dvn62u7mm})co->C6*N&a9lU!FU6 zn9MNuW3=Sxrw^V<>uAfAlX(TGq~S$VNNc=(kQ%nbY57q6nbGadCIPI)_C0Za7q{%- zQ!}w82B+Ax<8hfo`osM>2YVqOaF*q;^8hsu_!i3}Obx>+`VwKv%`DeaKTF8Hmo6hN z2N>POo9v{~uk>I9=5`7OWlt5S6UCWkzv|}?tUnFU;GGJ!nBL*0nM`=GaAYzw1a>2X zyUp8t-yK5zu zS@em7e4C|HPSoA%Kb4MuQQK`M2w)-Vb*7422;mIgDfa9nAb^leWZtOhf7K}xqK%3Y z_`>8TRKbogUZmf8WR@u1bBO@LHz4VWuO)>*stW|fW%y8wsC^sTulKfxJKmx^6i_tO zk$j-=9@gmB;^bh8V^5?b{Rhii(wn6pSz?-srQ-<*ogQl%ige* zD&0^vc4>-$%-Brsi3wXf-N=fAck>8s3)G83COp%kS7hK`PHt0RpR>3 zkk25_wN2am54xCA7WM|YhIZ#DWN)oqm%jh`L*oPc_O&e5IEOFsYLx*3#|+R49^ z)ZSR7p4Q1fg2kced}uSGf_F-7ap;{ff0J~IcgqCbmVbmGb4EXk6snWs`vq7y7Gx|M z?mzWXFa9v*;Yf4+eu%$>>Z8x>$2WO1SS^iVsQuFo^NVWy%)fU0b5RAI{!KBLCI#i6 z$CDTOa`0o=BX1FrSg;x_Xd8ND*P=KL--jjO^*Oa}IF*OE;hgC3nTEI+A#TftMn(oe&WHoJ6nabUt}V zricbKxi2{ImPnMK>z~u?->(nVS^)4(9s80C=<$66CiUhG^#@Ob_E*}+D$AM%CM`B=DB16ooD!tZhbCJ;p;n@M+$g7F=qI3ZTYS9_9!mEvau6%1@mK+gRuJLt zi^{yazY{TiTtlLPf4bVzPf%`X^302j{!}A{{M)$NS2An7`!_!EfVZSK(%IN_&+_+* zKa;s)uuwn_a~Dqhbb*&2#Bh)I>1GMQoS~yyWZL>i)_DJ3=B@E6tK)V^DXyacyLbj{ zEiq_AB`aA@-b;WF1O(6z<2OYC5~{WezN^&XD2jy=)w|u+edzvdD5vznRR&MkM_DZr zM<9X$4C4nT+rq}hZ_BW$x%@>XY=NH&bKo{(gcw3NMVu6oy)~u_5#9Nuu80Z{D>3Sd zQHHnu`d;11H595b`a(0Ms=X8Ly2Q9X*Fqe9{kzj^(o*>0)&ma|3r*@6QzNIMUyGFjcD znz$S@L^#MD?eF*^rgCE^R%e(+&fB&P6RP?G^{+!b5^3rXq)+S@L3w_O%)m(CaZ zvIa$o9Ddc}EoDiv+Mmm4^CGVulM1z%Edfd?-wGB6>SxOzw4t7$dna+r@Z5b;+V zIFj3$I~=FiZpH%hw*#>ddPe9OeebqG?Bbw17D4m-=F-#@j*4V$jWw?P^-j4(h{b*v zUBT%D#@NF(;Ff^qMw0+@YMyX+sMfmU!J+>ClmP#9&2;9Z+(WQ4;e)YmIQiuH17%mY z>GCkAqa1_~fqhbeV!;)UKq&*H3FKf*X3gZm%x%_= zQ28dyJKB4M+N6hX5SUdh;e_upMxi9PQfShZ5G)&SQCWA{3dL3&Erse1%44-0L1cw%XuGT+aI%-{$2X3XQ5y`<#$=JEJ zk4cGZ#h0ry(X+HX`%yh#-}>>`^nn~>>NGr1P3y3%k#>&>uSKmDeJ6w^hJA{jjFLkdn8 zxt8cxnhe^1H^?2JzwhPvZ1U4gR5#2Ooj>6EemjnBAzuKJYq7d?<;Xz4?NwleOZkYS*d;{ONbEKrh_KoA8 zVoOvNZjgLv(E~i{>Il!#>$|Ww$K52bso`saOTi*3ZZjViX#PoY?$@8$5nYY-H?ph7 zDeLcT6yz7z>NFTA>Zsl>z{qTNUP_UWI|^RuFgBbiDhRC{z8uvi3n8t%|0qg=+CCq)yTH9~c`x5QNY%!1 zuGpM!<#ECd;(=T2X2ged-_GZ><4sNXgP_9;IV05 zH6hG5=eEfU1ieo9L3U-0BQEsKERGa}!+a}{g7_wiM#6)jwks1HuXoB|zxS{3SBrM` zt{T$We}8?_*=w5sHfV&zj=W^s#)N5GCXviGiL>Ke^Odez@1(?>`CQezqYkrxR;M@2 z(jfFfUxAgY15_W1gq0o^8AMM^HW z#rNswu=OJW1DS5Q8h$OP`PXC(V00%k;AC{r~v0FMD$nI+>CuUV71U`cLzp`>G|%r3q1xyF8S z2OQ05=je8rv(rWb5W^)@PTjbk--ruLNlC4yhA$t+?F}<0&;Hsi5QM#Yk1-u@+=KYd zZJp|}h#Pz)D$jx7-K&Yrm^mKTFbd98hoL$d8CrRU7|V!J~M=&am) zXy}7ua>vv6kxX|8J)J5k~58|XUu#=H`E^;Q)Zuv-VZKK|W;`&CX3+?N#ka`Dr>(!lZ9 zw_+?U+ZbGjqXi=H2T!Ajb)#Exvf^mJ(FM;E(p}Uqo=X}o1}ewygB;4&z5+3>IJkfV z`cjZKzZwykax@CB7%Dm)W(}*AdAMkPPbUmNS^AIVOmDiEiF8~UV}s4P9T`zE9JkS~ znYa(c@hmZV)lq`6t9lGxAVakCY(HGx*^~q|Bf2?niCWr}5n*~~T_xH~E-){jfX2Zms zuIG75jCj4zqs->0%b7N&n%cDoC+;Ej;6 zv{#}UIQb0ZSWxcKN)82*UIZ?oy{4k?g$l+hL{8LHZm-V8IH~KXZm2XK1r*&P;$2I+ zthXp;@a%SElZuoUOEOF0lE-|8o_pYKMN_7QmDq6d*D^hP?ZgXF7}&WJMoor_rv@~j z%=dPbOQLMah8pGgT2W$}ZiI_c%<&~%WMuG8Yx&jsWZn4LOy}vw6@9Jo7v|m09?DWS zE8J7a^q~Z6P(T6^LUI%D<++{CQ@zRDwXq4JdqsI%D<`$XiL66Y&Ah!m?ier&G2M$C{f|>9#dkvGVFh_W$Pc>f0a@8 z@&Q^(2>sYJyjZfWSCtQP4ltd)ELLu2$95$)>g^1E{j1&k8tt_fC#u*!v6P%(4*oiE4dWmHBf+5#c0RaDTT+SN zOiSiVU3BH3=@P%qdofyeZuCB=0ffE0liRUc!Y&mlKmCpk?Bc76n!qWDKRPn2o{=T2 zBajkXP)T$+$z2~vLOVD%`fh(?kB$IsV~77`(5Rr+VPcfaoR}l0g%?AHVxGwENH|?e zvpV|CGALi$2yC6S(lYgXKhM8qfmVHL>UTfKXaQsmBS2kej#^z^yL>gt{l|Ua9wYZd ze6Mt}4cK~ke@0ei#vs|`GRa!aWhZ|?Eii^KGNsm(+;hLh85U*8VYPzm-9!GW9TZHN z(t|>bQpB%C>Ybs;O;l}g-v9x~*iA#*@|&P`+PbXv^sCRvUl$YL-OdlA4gr_uiMVHz z_hZEKP7;QX=G9H2cWKSa$@7(>Acli?eqeO>6wChP*`<}>;5H+73!SCVwfuu1ZW3Hm z=YXtiM?d8tzNF~!a71FGgNUnEv|%q&gd(?WHH60=2Twt@Z<8h|tyn}&E{k+rXdZy% z5#LvI7o7nyhT1;wuEcPA&jiz3<9ktVAqDz0BRzuduOp_v%1xZi!j1Q*#FPO!V5INs z*Bu65S(O26nKMWRl;0dgBz-j0@pZNDPyvM$6v|65j+l3Vi%}HN001{x4LiohjRA#r zGe=kg&b3my<~{|%Ird10A08I;pDJno5U4ZeWO$AWuk zz*6TgEHeN?Cs31)qfJ(QUc5hJmw%_3UQLqBRas>Vh~L??YNwhdjr5znefrj&qC3#V&&4NZ@q+iso@MN0z{ZmBj&@ zLYJWT^N6_9b=V93iFtH_*9U0g);qske6a@NYqs4_Q7Zi~a9)Z#lCnzs< zS-GgPfX-(Jn5s%I8((c7ubcF=Ncbg-daB70OpwERHYAk~YNX0npdMG^PQIDgICg-u zT<*4LFYaEj(z$z^Ef0WuPga40UK;!om#g}5y3D`IZ0ixM2s1~b3@*l7_;D9ps~~#v z`*erD`v~nVb$Aun+8jvKTn9j@%dj|!T&TgCSgqLyS$liQ&tg1+c);yy-dAoy3aMXo z32f@0Zr#f2=A#HWUs)D$BFhNM!FVb&HJ(eO2)KD~n0ArYy7dbF-d8;pmvDH-R{@Sh zsjP=j?t^Kdnw;nc$?WHZHp^gaj{jR!<&hwJ*EDi*s$>=@-Gr&><&TV21PKDjceYSP z(YYN3PYi>JwpdM$p{2WXcM7-|ysXIm%Vc6gCDwk-%ZdrAGu$+HtWM0_cm9ljU&xnX zmzuPbFGGb1kT}76l{#Pl@~X+EklFw=612`0v2FnaeA50apOQP*&!@P_B2>Kqd>y_nS@Xu$c^n8?g{ip0$mp(YbdVpFDv`bGRvjHYSq=s7RGuiRQ zgc3ofiwZP~uuD($7R5m&3S7cnCt|?DG#7lHe`g8#;RUY0L8CvZR_++G!z<3HHe0;; zjrMwE-Wj#~K&+H@YG$;&a_6Vaggc%zrt zBxvY79!eDrL^WMe(II7GtSy5t72}dYH(uBTTbFy3>RUL|qRfEdh{x5^UFu>BLG~c7 zAWHD#U+>%qN`J>rOv!i;S!M#o^7Q_kjFtO%IR&K+UE$7J(FI(UAg62q7~&)^sKjCr z57{8?kA08R&K9mqm2Xap><`cl9AvYkoa)gP>`oO!k?a6=fWNxL^a^9u@VOJspU;lE zdQWgJn00OZGT0`tE{l)`TD2(lXJ4>|1HTljv)&c#SAO0>{^IoOaGCtYb*E{nMh&B$ z_CKPxCy+&u)(!w+M(?eH?imQi*E&GrXol9r?|h7tF#^W%RN`8k zKrU?WItcne{f&*@!^7CO-ub@)r4({+L;{$#((F>>352&Y=V~yLnBNWd-uOD1)*qeD z1f0^e(gVt_KJ@4;?QZsYkrt2CjlpyLc8Sm0gFUHPtl*>rKQaRfyu5n9mtN@kg|#G+ z^KJ9EkinX{i6_j}XMfSoN!;2-rUhY1&^xC$Fth4HJdq9iEW{4GuhUi*uChDnhTNTE z3F0HTToH?bVbFD=~VP(zBTXoI~pD^O%bqCH6qmBiu^7%FV zTK4&*)*k|Wg_9b2qFy-7{eT>(5hJ8;O{4GV7tih13qMC{Q4EFMKiWFW9fY{~w6E-E z&2Eo|_&V4!8XhN4ZmFop*=axECchpDJwuauGzXlC;`MGj^0GRK)fGO~euWfKAE|1> z{&o*sa|f;GmV8JA8}0mgzwZv! zM=6C>AOoD_^|in9=5CRmfAUF9(s1;#*s98Lb%&weC&LZ{`SCKNiJiUTt73JXpR%TZ zYBWlrj#Dciyy#2cUr;a5<5PyPsPxtKW2<6kh4a!Mla4Z(Bk9WVEVI8nt2^xmzFnX% z)1A~WZCdv?4g_`&6U&dRS{+qB!%U5(eCeotaD|N16 z(UZwDL;9GY^h-3-Cck`?+y);D@8C?CZF$*nweH?hVua>Km*M?4FPhll&D7fF%MI*v z9o6bI7wL0Rl+Y{KvQdKP(Bs<#Qz)ygU16E7;F9=p4c@~j&_g;*+a)jw z{qhIJYY$h5mf4cAxu9Vc z`mmH{*1o-TsCHj*0l~Mw?OCgA^jT1O{yKOdJ#+VLb+&7UAEZFDXCOu`2N?7JJaduL zjB`%0UR;Ed+hc-iB`d&@O)s;9f`KNi>Rp2>ugq{E0^aWj0!B#Ve)4p2ouvH$!Q6q* z#ZrN$jZStkChh+ksBCqUhIPD#zK=0{JZqmq#aOq`qV&+Hv+k)%U1!s^BBtlaG6RRc zE$YKHI{QfxP3caviauOar@)e~3-6!Sq16F9A#$-&gNs1^oX_j$TO-hp!-?bI2eYmZ5# zf8qBR(5bc4LdP}X&Db8*QYpPr;CYA2(3e+^ONi!|=;9YN2MLUfBFe(F`}W+N?@;|s znDaC*%-`Qqc9-Q0VvKnjCB`7wfBHS%{prM>Y}!O#CDROkPwIS;0f4sLf}ncpQEw1}zf!u6Cfd*rT~^FqY4T-l(d- zjGigoU9Ry}rL$%2@?aK>m{fQN`UJmFd{RLW&7Zg|H+blzCtmeHxhrcP%EO^?yxEcE zet486mYFxJBU=i^e1*x?#}+#E$-EmTs7|+lB-?t;y6A=^qVGtb!4@? z#nDDgFR8Q_ZPRcII`Q&Ba3Rdf7IbqKs~RK3%~5oW%x{g zcYRh_l2Miu{$r=E)=-vtp{V2-@-{f9@EdH5n!_*O!pHW8JNnmxPOhnS&Wj+_SgwU@ zBKIC$Y~NwRNIXcFmFx4a9N<|-yzd+J4wI7bK z1icq|a>k`Zu^&(F^}riJZA?^+F$hKlROE)^|F%`XKhu01ubh3;u@-5+;pLGY(7QL3 zd%)vjlN5z=O9==d06wfIcl2~4N+0n|ROfUHEglc>NtW9~hK-jOyc9PEdQO~j#8L?+ zU(4wkB@SGy3@A(XPUK9>%Tvm+$g+8sec-G(qVJHoL|^u^P%CSH2aT~Yfc9PY*%j8r z&$gpm9dttt7|ACEU-UyAn7AhICZFx{J&#^;YKdc~e}c!Z=*@EqU6doa*WPH!&oA~r z(D`qF-&nZ#c85Xikx}sX+pMrDWTQC|vBH4HPjHmGs7y=}BsL{`z)-I}py9M7@m!%W*7Eqz|d!B#T*^kCL$ZLj<4!Msej=s@TM4wrUqjSFrCYtr?H$F9Sy&k!2M@H(~ zvR=bN?6h=R4|uTIg@ns8VH0U&WOXtRi-hC!NSEbp{;S)9%jt{5LXhE=ZQ z9Ec^N$t3nURCP65HB&JR>TwT@xG07*wb^s@NLgb)HXxW@bJ^5ANf`u zRSQ_F^N9|3oP|lhezb9K8E`2_!AG%=OrB0i@xqf|TL{i9oF z<|X_E=0b%Lg1O$&lIk67*DPgsZ8pI$V7M)Oe7`V=@7nxJ$&qGmXxg`)^=)GW%wDHb z**=a*&7&*qk?BvJR^6*p(gngJm9AhjEe%5ZuDR|KV16>AvYo)+;;^ zlv9yK9lZ5h1$mL&e@6y4NVA{gvoD-0v@652&V{RD-c2C3AMV=rE<@=~ERpB9eEz$y3x z80=MgFo*wsF%zGHd7%v}_yvJL=?(oNkcS_t4e!aH-Up|6fi7tUt z8ZKJtu|}@GS3RNQteW0l`CVD3%s^ar~M3WmH98-G6@Y(C?~Hl zgI?^+4xT!fcyIy8hp>|i!i&^>WQr5ne3vf*GE7{{6HYGPH8$T7o(;?ls#dZAZw@>m zpfu)(a#WozvD%xNzL-YSfzoU=zv0?OL{pe?TIgAt6dzGA)_gpj+LEqzhDm@6i0FPI z-gB4zMxd+dpPrGk{25LeZF<$f>}z4IaaK-U%f<;f4dFJQ?w5~IrE4idv=_VF+w86> zOx*R(2)ASIDye;%R(kE{Kn#YqAow^um0go+I=vv|OwjJN{b*|0>&)5eMy~L3={H~R zKw|pS5BRG4bJwy!(il7;1SdJrPAvz*fg!3%TC4jpJz)xS+EC=J{FlX!|LyMpt;8$y zS7Qa49}hpe&8O^!y|Q(F;8Vb%d+zzf5(z?jHLK66_YwL4cavdnT$O8Eymr8f@x0v3br4xK7g9{v+B+C=l|&$ zKc~}rk|E}w{kA+h{LAg(8~c%l^Ql5_&fD>cm9pQ!tolFbs&P)tnEB0!O&tQpbvhef zW*9&0<6ys*o|2La_`*5j$9I}@`C?&3*`;*TH9wEu{(~psEQ>Ong22Tbl9Cc|I5@pt&#OWhV>L6B8Pa^OZ(;I_M_FOQt< z>Id!K5&iy@OndF8JGXL0LBs?qCnyqI;C0S#8fwOYnfBrx@MCu$fFZLNifCHO-X*IM zY&)?II1d~R9ha424F0d3h=oRR=!N9o4++w0^n*JpMA>nGZ3`Qm&c zvP6^F|DL6kWPR!LVL6%8+`Nz~&$Ud{)hCj`ZECa9@np5FPk8KML^JR0CpT0M+DBV=Ev?Ck>=0vYGGh0FdHW6kz-k=-#u0r{fr7Ped$D9U=m>*3vj$ zB|Lj$^4S|H$(Mq?At2}R792NR_FRqkaEg%SBKZBAIEdRyN9=gcZ$W!Z;7EX*8npN!(VI?t0|nK(n=G?^lnShOeW9IblbyM`-Q4^za!83 z;Qq`Gf88DiP}P>s-WQn>VtU+ei$Z#hXB}+d*$VbHVbLe4@PZ|{p3YqbzEvUW5K$1M z-k$F|`psG1#b;jK&}V%9rHmVi9We)xG_qWClh$+dzKlK+sRe()N$V_-Vo~z^DqNIE znTc-VIxh+=gP->J+*WKwRBHI{KOA&)0XIddh0sbaTW4VQbO=K=U$qdbr}GmMbcMzY z=d_PH{O}ECWb}HV>1|Dp2-}@y3&+{s;s&qSJqrcpw2noDGJ(m=R?BlN5oI)_!RKMm zaK!(*zm7huu_=Qcp6%nzeCx0(h&xQM&~sx@zw!WFO=?Cr+Y_7~Uq1sWxACH)ecSUG zEC>0YD!}sgCD-<>@1auuPd0$tXqX$hhIJK2OvJj)0P@H5tPS$)X%UbjH&6u9q!(mu zNHEEWJ&XZ5?hd>zZ$WD(<`O~Nt0$LV*3$)F>5UNL&K$gcmOs`5&&tv3?+8eY<-OuY z|K3Y330;QoUbBohc@HAM!xB^Guo zs*_AyBrs8-0R5DNXF$4quM~QlfWKO@5!{W$M1uf@Zc9@U;5ILO{xA~szws#cO)I5? z9nMe^3){IZHe}HN3)nphx~P_G7-@_bFhN5?EV_fvgErbnmVsF}!6J`DoPk+2&z-h$ z+D5c(Q*Q?WKP;F35)tS*Ezqyv=%y^_CMs z>M)3vdM>6UJqJ$zR@-+`e}HnfsFa_diD- zeg=aoE?Ixi$Tb<*n`;$l5Hl^AxT_#~{+plX`38d6or#G2o-FZ75!%vNLSh18*vBc$ z%(rJ7z~@hdqRQ&L@8DfrpTyHHfn8eWx$Eo{;fZ)e`4#`K(X2&)o1RuokL?9Nub>Y+ z6r8L8__Qo|YD+))LWQ&Uc||&=iC{RBojI0Dk%aj-XApy_)tMdBiTrGB2JKP=P(!AU z=!L8InfYfZF~2~|6ysWYdigzLSjs}9?^X*^iPYyWZke0*C~zSM*s%VoX>i3x$tZGv zn$H6RD7s&b_0PG08>kWRA54Om(kiX>(=uiX)8~CKiXLc?7N2S0mG?oYZx zzfqGx151!x@?qz3MU${oYT(%t(X86IC* zsvac~Rx6^qc#nQQG~QP>3Au;9lyv++itqz%v;yImHjWQ7m-yCB>RXzd)y z&JO4*qNI8!MoL6)6!PM08Y%CJ+Kv3APZ$hYNcPaR8Chd_(e7b!2i$gnrVxIPMd78& z3?lCQ!+G|+KTE6f&%{1C$f^gDNh;T509PJc?*C!yt;3pN-}m81QBWxbh0!7i1}O@o z1yn>zMd=<$=jap>5Q!;`Fc1|G>F(|t-OYdz8x5oR-P0#N-}iWTcp!g_#T{3k=XpgK z#>;Gxwxw(}x+{O8)QHzbr=Bik{Cf7M+QR%&4hvvDf~L0^?sKng#B=JAEi&J_=j`bx zzlQ1sCT+@vgj8S!(9xT#!a*VZTr{3NlId)<?6d+@ zCNG)^l$}SmTqO4mUGx&qMaW7WP~=r|D(Bt}P!_XmRGEDG+y?UZ_Tt4Qe@N*hv3<4p z`cR*I@{p@x3#c#vX2=GtQXx@mZbGuEu299o z=ln6=hu1-CMsX}qq|$_7bdZFU;pU_-Id@adK3J^$QGHnegyT{ z%0~I)zBLP|Y8DTyZi=D(Ga5DZmI zjKiuAklHEE&Hx^3=(#9r9~khl?59n=~H;mhbg4sWw`*Y&FKD(?1w#(r(-`3hL?!S0~ z*zOU3Ze*48o`2-%Jzl@}H(dYEE4KO&i5v!jn@;=zChN*p*GK`|dG>GNwfhssRm}IW z4AQ!DSuHFh{W;A6Au#apC)`3BNr18X_}Sm5^Use>*WXp5imku4 z$qK2Ji2o`XexVy=8>seA5c~USi424jaO=VuvOW`9u!rP`)XLPF;Tc^(7GSrdXD7Vr z-;aIm-?sAirGcQT_z8F_xjE28ZuE86@jM$k#8(b}CXpc#;ZzN>N@CMOjl3>ZaD$ktn6~}#BzkK{QDt6OYn+80oP6VnrwG> z%qI84+e;eqF^?pxcdK1L?k1ew_@y%Ncl7rAntJg33A`b3#J=+R3?L?>rF92IYVBEm zpR`GN-<$ulV~N6l7C~Y|Uw`hQ5NOf+AjH4Rx?Pk8rX^VVj~Dv068rIlz2NreI`XaO z4FOc`<{@St`Uu^68#O|FAy@E3xSc z^#AgLDz>KeO}&K>o{o$dF?4|YMK}$uDEX&9hVRe1TK`^G*!95P^|h9E7*JM2;6tUg zLUSO`Z{LLcn`i!c|G?h|A^%&=$%d0Z-r0AfWLQNv2z2b#Lq7lSi%R@<&I~`U`8a1~ zHo!iMku6LS7ptB~I}_G}JhAuBsaM6b?WIhRd#%7qhbm|?c{xBoe> zo27)!lCKEhBjY1RRSI^JOqD;GWu%rp+?zigKwm8%z15uickuM*tNk${kDK1*`tLJX z#Gj7f3Z%Ok!dj@`M-}w^{Puqi?%!*0W)euF)h1zNZ3AJm>bz1hg;!qR+I!C5qz?v_ z&Q*CgyRM@w2tXJedyQ*Q{eKr)1oYJ<71``rV=0i>*QzP2WY28*BUy$PMraRu12C&s>d zw}^(dADSiCZTsDf_XQRzvhc$*;lVAo-fj0z>II@v5z+|NyTI~wj2hB0e8Hy5nU(!> zXj|$5p}U3W-k^Sl!O8L^5YyB)Ca^oP=hpk1zuxa&f9rGosmw!Pg0+Ti?p?RLX;#wb zDY@0jV6C~!jkl=iq7W@cqlLV@%bUl{6P>`cnb1@Sgjd-m>PuovR*@&O<@H4tts4Ut@g?vdo? zCWI}(t;Y4Ej;np+r=N`9c_JyZq4o{Atdk$?CfCMa_Pg`>FaLNiQJ%d~Rn_6yZ*Lrz z#sgc9dyr#=Do|k>K_Q}d~TQ-OfCvk_A+(z{+>E0sEx{Ohv=z_Ol6GpK_;}3XO;F=#Mdu^`EWs$Bet?jNrx| zoQ#`S4(6DoUlV%pZo6~LVzQcP)X91z#39HC#lSbP+=jKw3or%Jt(!y$>YYyoX3_M{ zsq>IHg!5L7<)!K(rc~}VMHMdRY$^NziIujsdZ(q3Qk>8v^k`sy87f?T%u^WJ8HMSi zK+jPjprJPg8xIip#Bv4uMbpr2J)a&InLzmh0WhjTtd$DIYnA3HcxKrb2kr& z2u}9V-#hR>v}8_=vKq$#6<^l!YJPnpEqCoTPfc=+r%KDbmhZi4*Z5!UV<9SzWO2>E zjK_b$2IwyzGA&>AR5ciN=-@{8+mG)YPl^d9M7__xX*RLEr`eSXn(U62|JjY1-z6g# zAU4hK56@QIn$go~<_yh+d3vmP+r2YXOW6FPGB7Q3cx0T!G~kj+p8+K+DvBRXIkTX; z^a?hnl$Vp{6umH?5}p=l_N!#9V!T92{4KbBXMJ~wqxbyv7j?Jhtn@BwC?XV!l<`7J zIl>+lc<4YBvRVBC{EQUO(_$k4@_Q7Sq0FK6nj`NvnFX^}^^%t;w~eH#mXOl}@RvsIGDeNyMW2_4JZ5MY~j{Bpw3n z*9&1YVbZwtfg@F`TluRIQu?ih0n@B^8cTjm(&M-2ICBQ67P$LpX@SP@{s*|t1ORa- zi8qhh2TsmVT%w*>qD+JiSGP2<8!J!KM z*{1A)Oee4argZ5GTWK5d=HiLJ+O?3%A(&Sy`*ZO({&k(7c?mqg^2WD8RDXq5-D_K~ zWe#=*@&*7j7y0s=;5SNvL{-_>rxV&U1GYol-;vycBb&#WgBDi%i}@cL&1+ez=m+l) zIhRJc;(oEd-nmLDT|ZuU)9YYOBE`ER9LB3mwNM`TOitbrsH(=qjXtOM&CMy&Uf3-! z{=n8eJaY!{ZFz!inG1jo~!HRFZ$`~>LZyr>( zqd5ToWgK78!}wq9sCR?l_+Nzmh#m-_+`eaLd7YdTB!uEO0v}XQ*YmVTn%?>XYk&B2 zbT&8nOL}f3XH$Xo2Y=mYMdvgg84+InPoy>O-=2}lxoHgs<+~#C$oMY+g){B5b~lNM zUeGmB>};)^&cm;cZaHihUWp7lfEiP+GU?Z9s*HI@_t&>>U*&M|wq5Oy%`tH`ZPq?JhBm{)O1^Jup4zD3TZ6z(TZZI z!dJ(ywKCP{yz8b~-t(Auh^|#koD5Jr~`*nLou?1LR~|Nai+|;4uwyR=Ra5 zTeo$R3}O{yVJl`BtuLPhL#xfqDe`j6l;{L7ZP&7LjaI5k%{iPF>L`lWG1SkWnrS z=r8&iejpi)diIEczY!${u$A%hMClHkOfN2~(zX)>hzT;pQN!xo)bGuHzVR)X<-R}! z^wIBJv~U&zNH{-~7*hN^UljCX?LhO5J2$79N)11d6AeZ`17R-+k^!I+$fIu_5i_J4 z*GWIr=eCf)ISZ}j1nNdj^!EFop!OLko97yc+@xesm`V~yaFX*{z+yVbXy>>Fi2=Sl zgExAEV$^-}s_52U1GOy0`VyR)xTGOBS39MG`N|xTi2FytUa*V6k>>D~1B$TodLV4A z^~w`G9+WWU8fW5deok)<*UTC=W9J`Rd)$-NGV$?L4gtzO6mQc@G%dy!s=kkL3B{|B zQ-)6_m%^|#eaNEtoDry*)Bjxe-*uHn-_B%i+AbiWk;XD!1AI<>rN=P~Q>y!QSu=6f zf$92#ZR5xnldhU6hY6FhVgNmY+DQBpNg2orQOX z)Ih=Zsj>JhI#Ju?pboI{9xHh`@`g8)XnYx)u8TFZPACU+67ELi*W_80AS*fjV?~6e zWo=l~r4>yd%N6(C=X-K#p6T?W{g*SWI0aMq|!J7pfZ@CDgf$$OR z+a~bUP)Bpb`D(Nyr~S7`5}1s;(Dh`BPSgwbX6KXS@AAg|I-|8fU4gk+bsSxINp6Zt zM9?qnVB+6O!e%#6r^=HTGaHED_ZN+h-rtiI0%ezqg!RZ_*cQ#8P~=ie{Vw~egH~ot zo5^Ffs(Fbjvr-X^4lW970qeVTpNp$2Tfox^uqit2H;`Hx;}iO(Hk7ozPi>!fHP`2``$ABuLx;Zfb7_>zQa0zF{G z5m)PYBnGIxN1e3tlo5}rmlQs$f*2CD`#GoV?==tYwE^9keD9UZ2C@{i!Zap>>M^=( zcQ~iX0d`(Phf4+9@?!GC1(|lhBnII9$i(9f*EC@f7iVsy}z zk`i6z-gZ|ggRyIk#8IFozP_QHwG}xfj!O4FJtr4$yHq(=aYAAeQ(E!#^bxI&=VO{T zs>1jMMbuHJqwaBeGoUB2`x%CUm;m%2*a$4y`D4111#c0VE_}A_^awwNm~hA9=QD1^ zV|D-v-j~ZL(cRpB+R6_a{Xsy|pmckZOh!eV(aj*<6M^7!%ZWBrlgQi-*73}GIOUR% zEJ)IunG8nC62)OyEKh_cLaVF0U;G>EG1LF{oFcps2g>4HOs<#qEGQJ!X(ECgeU4|m zHe1?=%`R>WlH3iMnkWbvE$u$C!I4_<(*VNh!e}#`z;YQWp29nxJp37U8vdQp#VZ*2gx&!?_RzkX*3yjgZvYoc4Ravx z%-_KfHq7tob%p_=yI+pTJxzNtdus+MSz5DFjpqj;#2rABdE=tT!sKb?fn$l+Uqj0r zbygq7xUelWt}(;9Hl#qq(cR_@WxOknLvp{E+b2c2Ea&%lIw#zFL_eTvH>7U>}@pBxQ7?W1Y(0r_`(3x^rnZ zEYpkf;h;8lyI>w5QJ&u-7TaAu2WaWBVuBB~lmWQBq1@Zehvf*tvbiy(jjj>+9?V2{ z{Q|k%9AJ6#Z1sTwO4A8ERVScTxg5wU=09>bh(M&gTE014W4nbtD|s-K3WfnRv`={k zr+Ob>W}0vXmSzi;s5_l{x(d@htVAratQi3dXQ>|}B2hEhOdL~g_f~#Q3BG|e1B&yP z2#W+ncJ223E`oU~KiqSO5TK?F-ECv0kPvF>@B_pp&!Bd2NEcW<>e8yqI($r;p?la{ zumIvk?Cs0VRY{sTJI>EnT%8lepK76AuQ`kK{FmYw{H}pRhWA|vDJ+7G|o&?=z+pX@~`m6faK&V{=UtV>z-a)f6=zQ@>>7S|3Rl|eP45C0B zkD!$R2oONm8c-t~C><{^NPA!xnN4B(d88IZ6`aw(`003M$)n<1ctfyRjPSl$BHpn4hcCC1ZH-K+}9c3e8?cx7Q-ORa?Ek^uYYd{P4uJ-Y|AZQ|hRX^8tien?g;@I!F?uOFv z@A83BN(Ml8=?xDze?fLMAK8aH6fkn%a2+6Yv9PCxx5sT;WqCl`GvUtrGpB1;VI+ru z1X>ADvG1k%+3z&R)bP1_ybXjAiEYRqmL8mtsVR5a&)1J>yL$V3Du)tcQaaJ`fCt3U zpE{$5_uP~BD+E$XFJ10^J8UFnhhEDD$Xp27h;Vpe?!P6{&jE>qLSh8_UkN?+l~`B9 z%VMBuS3z?{R(Fe3Vy+@x)_Z{FBe89Nbg_2!%%NAnuM9r2VRat(Ziw0BX%JxFU4?EW zGGg|p#Ok^ydBR#=Xd<58P$PxgpKl+P4pf<{ZsP1i z4GnVgrc3l%u?Ob->?H>t_Lbj};1br1zU|fYyG{n=PZsG-VRlX-o94+h_nUG#1A8Np zzUw^A!cDsga(blBOVMbHM#I&M(%yIcHnAp;s8l;7ML{u9)D)(M>Z5{G; z2LGc-c5-hdX0`Jg;5`AK0h@d1o%uLbzSk1~$OLn^P#Jdk!8`iuv18Lf1x1EXCuHj& ziBP?h(P?uz5*GDl2;dvvivteS9y?R^b(OZn8|XN zQ54?5K#}O89pRq@3pjvC_BRjrND+*PD_)tG&l&EQRV&y;iHFI=72TL{NO%x^us&UbJ}0?O~COx5M?5k2+`R+=Fk zi6LEXWlyFyP1;G?&eDX_nC}C*-Ny!fA#smiNb|7R&)#+CYl5$YmwRjqnO&Q%;*^a6 zrW3fueZ$b7Vbinke};8G=tlKbyS)Wq1%l)X2GIq_wA}!@NCNgbi3u}Ko5J$10yoId z7@)IU>QgM6g_X7Cp4wmJ+0f6U%CoF&Fy0ywUgt4W2fyK&%r z>CXM}cFlZ1H+A}%m{ck5KgThbn4{4-`k2ADoH)QETui zpKwFL)EZPI-a0>*2J}Ol9-4_8?(fnwRW=sjIEdH8z?hP@`IuE7Cwt)_d2P2N=6HNb z9vc_rPIAnqTQEK$SrkliofhPHD!)ZP2=vi=q7R-C-PV@V1iyARL82Vzq@9)%LLQFJ+L&x_W## zRu0L*Z?IMb{OA>_HpUe{Z?D!WXqXVYGNXDvs}Q3R`#+oaciUoalNiQ@(T$tgMr5O@ zA>#e@YNs>&Wh9#sgKV$Ky=bb3e{C(?O!zr#i}JLd@v~@A9#@6ue0GGhx2t;8hYXzK z4}ZltSXXP(9P45E0q`{JR!xdaPByG~szf`dAJLK|FdMI->w_5=zjr6Fg;D`cf2EV& zGZbRtO#_tH@Dp5Iyyq4%%jq1b36Mbdwr>IXtlsL>I6jt7k9a1A%+p(z?FS7D1Sy%S zm{G57?3NPEpS;SvzkNT$LIKt#7c6832}r6eZV8_n={n(*<(E<&Ac4gBI|8k%UDS;x z-}KiN#sgn?##%>}Y`Xs9$N@Pd%jx=^?9)Sm?NFzUJ)soHt;jl+;9j;)`V21X`jdNG5QjGH8pX&%(Nzh|aDWV|^d@xw~9 zz9KoZ{2>qRbUdfph1=P(<3~mb>8UpGC8XJc4NqT>3UF?0jIIX3t!NoQGY=a^Qv=w2 zIw`}rn0ItK$Ry^E%~V&T784ie0CCf9vGn4TT|Cv?yNu3X?V}TuY^+o97DJ(Z58@k| zAn{vT#iE02T>o^5KJ$_jDm^X3_ivSWx&|Vuys4vI0MM>t6CbJ%$J<@eTjj4YLkYS& z#+DDMnXR<)16a%Ms+b(Mk0x|da$T@BA=dotf@gbve_5;fKGG)Ey*ti-9-H0CB(d>A zI)+kseVl-E;s+Ne$VM5ye@r*IhcMZnCQ%b!@8@gQ9cf=ol6co`DDJRL<9eiZ2;H8A z3ZXjeHjs2#$b@;>)8(s`Y)p(E*1<5|wIuI623TBsb%nAouLta2%{6Zz8Efd)!Ue#tPvOiJM&eg^z)VCR4wB&%M_l}I#KWB$1_?768gKiW+S`K5=H zFEB6{J821`B;xQ{ZXV95Y9(%NGz{tqN4s7LhlTZXqFWFmA&G=^wT;h3R|=cDMSJA{ zRBwrt6u=C@=%uC$b)VQR6w9h!5tCVoyB=_qeYkrOj1vRV_q~GbfHw2@LQ7m8f;lc? zkuTo|u?A9Edx$j?0G7Rn#Utujd?l%I7%v={1;Avo_mH=gt3okvx6Y#7ILq51Am3(u zx~bV2=z7dOl;o`T1XQ38P196}pzwpf;`y}6d(GEV1~2tv`A&^@FexWn;SZX2 zbg%t?>sjGM6+l&{Wv>Tdq#)yCfrU$tJ@c5M#~4Q8^e zb7P7bnoIPVhPXwbdgV3GhyW>y+ z-3$4p zRYuFT3E9#4Z_ey4!1If^`<~w!jUfB4!&eU`?X>Xl`xne!=$fGgN`&G5!T_5DCV2de zzyAu`;)}2maasui-#!x*=umA~;{50+DE{EStRB<+G{`)dmw}WjCr`84`I%$u>ayqL zUG&vULQ}=Lzq-p0grDnVoxl4g=;V8qL6#6k?gj}lpvk-J4u#roH;QYY=zl4h%^gfR zb7RN+X`)|HQ_Z>$^An0)fNGQj)Gt6<(X${~HUurEZ@qLT1NKWiH*>$|UAYn&uBp{J zn&hqww5)6%l{5@2>}_2HmnsJ{d_8&!xlk!tUK1h!2l{}nCpIke>p^HnFSD@U{ESVi zsY9Ddpf#?Z1GJ1wLLSx##}Gjyy)Yldptp1aV(2*-I_|AKVm2b;(v;l)xj9W z@yc8USv`iz)5n~^w4L)Yo>GAU^BzVh+l}aTEGTUkUM~7VC%R^b0tz#Bvli}4OiLis zliIX$oo%_I7Isit^16C7^BIX2hH_ggzIkA}&?)bYNukZf>soiA|K(XpU=oQD?d$Zj z&6M~&e4rGW*##Bd5V;$v`{%v0YIj^LAmc-w!1)C^Cuo__4y$L`ZlTWu<)GPdWfSOT z8zev%Vz8~x3o@)1!fAeTqSlkf-sZ1g-dq)r4x0)E#Y6Y2eGF2APY%fSa; z`3v-T!ygUkclT3CnUDb)n6y;cCFUg~ePzl?h<3ccxfBl}KYzdfHfRl%D@vXuBOg2*wDZ~-nWH&?UPB}Po50qE!KCNgqlK|#z9 za>rhvstM|lglj)v>gaJ6XhyoTuo!IaT?X}s2%#HpPed0Jv2`&8ekQM!)&nh|$qG1E zXN~J(71@X$86x#?RTtG~cHB@)vBa-C@#YeVU%GDVi3(LJ6K#$bRkYUO{Pmt@!VSwT zM-HRl|8?J(-!!d!Khb;Er-otK)j5*<>ohVUEsCWCD{^@74Crf~r3AY3m8oyZ`|j}W z@1IL*gp|Oo{PHD{3w2#@2mniq_G=l6GCw~1PB6L~#{-59n8Oq8q4n?;p?9wdrq9_f zAvL^CPd7Q7v$CFJJ2nUv5<=}MV(6PPf2!tIg=J^^SZb}=O3y+!|M4iSK4ajGD&3Gn zLar-q2rF_8Fzh-k2+Q1I%t~nS*JS8jHUOXMoPXOB1!M6W zYGfd>DcM#BV|eQdtW3-*rOh5RX@YSB#vnZ|yUlex!0pHcW|{{7DUy(W6Vt(dbv zBZoC-{YK6usGt?sG#|4Qd5_2Ls^}&daPp8oVHOZuG>lWy#3}K2t_lw7ThUJsXi*$; zqc~R&+sg;7#{z^Nd)My&9e<6W zu*3Z|AN-|^@M(qwTp&=Mf5#v1eN4}Cy2pWXeL}gtzAOoSW+MB!&8?!;JjYm~ypv&a z!Cf>H|Jc(e_4u@4rO<;nkV&urM9BvF%CrG`^z-8uecB#)L7^@#px82Vuv9)?TF@~v zWCA^C1GQi}1As5FLYkd7D12w09*}{m9~v*qbxr(bAkS^Ov2#7M3>(ty(#Myrg`?OZ zKREbR;K1nkqEaED>k}qW2+`98Z1uG2$po z>Kr%a^;45IB^bN#mT0wiB6Kq&<8bxRTF}PssdLxz}96l|^P`jwUSD@!2%9^0(z(Ty7d zZ25U#6wMk|IlNikVi!AtTRwO{qV+l1IQ0$=*dUXO_+jvh=eeSxE&I77S*Y$3R}k%E z{wAWSt*2q<;{2jfB4HUTz2~QCJ)dygUD_A@@SR>^e4V22TtGtT6j$q&n^o0=b}$4W_%CcoBP&mJVCO?0VrvCR-4(T$@=I;IwO zUDZ3U{9E{NT?AdT{i}3S`eOC7`;LG{Fnb; z?c4kJbZ+DwDrR)%)Cx9RY2q3o@L_1K87OnHTg zL0l2oACD$rqVguV@&pI|LoZo+X^tyPPunds8y&9RL1OZd-i(!YMiz(xVa5}4pU#;?+x3=xN zf)7Q#nmp^){z-)ZNhJ&vC6qtI-#U_o(8h`jzN>!`cPHP&D*WI{(1KIYvPmEiEF7*XlVQ{lo8r6w;+yteeKM?N(Xh5v*drQVzJ89j2!H8dpQa~4nFCB=w{Vbj z#i(1VGGx#7rVK0!14Ed+YGE#Uk8-JI-{M3Si`IUuoqt@v{>V?dk%TNRoqX9@bGU)( zs;56^`_(oHRPvhDl$imwY|@-c92a$zM?7e=5$_ao3`!@(uhL%i%*m-8pS;M4dt0w+bLXo>9C~)TdO(4Dkc8gFOR1V~K7-SbcIpTtC$-IA@h}+@FKHhk& zYGVx(s~4ztdM{gDgpj_ezkfg@c_hSQf4EFzaC>^hh8f)vjky&?6vdOZRX-)#yu4#o z_pD}XN~CRx7IUHfOc2WiQ0$fL8qE~(d)5LJ+WD2d?4oiO;b<&}=1Z<8 ziHzt5c>dn``p9A-mz^mceOR)bBm11m>5^Qigg^)jgs0LjPVHn-Ov_obze&Dgy-Ue< zG3|D+Ph9r+Ord0D%b;e%qCzZfwP)BdA{54_?QIj8cr(CZE zc_p-xu2VNtD+?3b%5v}2vr=l{>$U0KgM{)-IibCHw|8kC&iW?Be7ZfSq5X*os>jsbONxO$Qot3KS zp5ABHY8TaZ*%7oTUJmY3b6t+6oFxGR2Udz1;=PRncaoV>5dAI(YLqjF%*6EvnIagy z(#C^K;;mHK{a733TGHOjrdIs!Hf9019U8s8X4&<#lq>o>O*AZ(_CcAE9HL`ay1eez z?J+Y)MKWl`yYJKN6w=rk1y(tp>k=AlgZ}91CGIJ_l$SWMo zv%21{&@mw!IN82sSZ<){d|W*-VR3BGbsdLyCNXuUWZJ40YTDNI#pz}(nHj-H@GT)B zGhs9JZ%r)%Hd6vrrSLxRB{z3Dql;(jw?EUrxSRBxf{y-fa-tlgL95BZA|F&XiRvZO z-FIvZ*>rqxhjWtaw^gNoefM+ltR8;x)4zj}1^mUW!Ar0FWimiw@`C(7U- zKb|J5J{^(`VoKJm>DYL2hwc0?*v)4$tUPj}Nzdw8;mxviz>vrNdj9Lp8l9|hLCbg= zzdxrlWI`=j{bJu=b;)a;iHycBzdHJp=o??YZ9m()tnRZP4hvQgiWL@7P$#n;oZ%u< zj2Lz{k2nBVs>h)29U`9w^Hos8@T4EonMuvpKJ zv8<}=NlhId3AGEHpQtWF&H6bG+6d(pUgGvz%suUZCeNG=!VLY)ZZyleKt%n?r&8ni z_PDM^gXcK=i*N}}WY=0QI*UKa_sf`q;AZYbp^47g3Xw#(q?3vJbm6vR@y5lK{(Twn zGh&QcJ9U+0_tK1$a>sq=Y{gZ2_vMjNl2YHY3CCrRU7obK!x9m4vE9kSkq5?uWoNpm z#~rcQER#NmlMJs}hnN30e^&|o54@D9zS#im7woa_-tO%$V^URc-Ld0e2>P1<;Xe`AoG~h ze1V3~H*f7JFhg#P2G-V`^udm1y-!T(9cVl`76N*e#HXjx=zb0s&OmNI`m4pEFHRQw=+8~Gq#r{h?FK+;B=zbCYK{lkEcZ( zl`^xHaN@xXM`H7dX$d06(Sw<>4C_UpNF!5e=?k9EDwx(3~I!B;|^N*cn{WnD{Z zW&-6**JzUu8y`9rG^`s5GX=$n(!Nc~rDE%gv~(@lW*kLdu%Mp5-`#OGm>vAp=fCPz zu06r{=h+g4LFI@9^^MBv_Kq$WAm~O=?l6JZ9Qc8jN%m07;w_u3wmBb7)%xui+*bUs znz4v`my}3Rf8BD3qP0g!lb>32$>yMyU=+jsV#A|u*ugqqKtlXne-NC}&G2I@kxab1 z>y_wXRAn3Q{9xZTL465~xRLF#3P*ldEY`8_xMIoLSt*G(VCl3}(JoSUnQoQ>> zaq;n>r`uX-)pMI6_tw?SzBe>{+3-$Yy~t9L7Y#1U+ut z@q2+J?>oK0GG$oQEE{Zc;VdOO*4o9i%%XIpMAW*loU*`)iUyT^xtJ^bFyJ;NZSLTX z6JEm&$1)r^ntIsGk${DzwG$7eX3GcvE0BnjsJ*5lytxaZN};=jCK|}xcWwWtud~7 zpAt9u=FAD$>3=vjX@VZlN>E6O%O$Hea73{`TNNI*b!awPwXPk7ss7lHp$psJ!iyi( zT*ftUO^pAj8ZxYQ0fl=8<7PkhClJ`D*+oky>oqDIMW0pKa`-qc9 zTIdN@Eb~eH3WZfRYzTK1>&axRLGoqALT^RK!3MuWq1kV%c1H3|%7X3~(c0rIIQN(n zkvVSPKW8!D)+@65V916~Pz@b@8e~F;WcqeZ776Cg2qDb|G^YFZ@%n_u=I|mnzxbXCjBCRVYd4;xf!yWuu5u%J5B2C|5;Je z-z#dMAo8q$;PAdFxI*<$+0gMPy<*J?$Rv=!!sNq-6CTj51uBZ}#^aEkrV7rUvf)~! zd6*q+K5AYxt8B(Vl)VgS7B>#j?k&!*SWafaGV3{(_ImlYW1xH;OSBYri>-8Rg_q+B z5LUK>R1XY66u@rxR@STE$emoQZ>V)>3{q6ClHuJyH<49bIpMC-;_0m?ey}^1ujCo1 zRi;;!&QttVA7jzijiSp5Ox8erptp0Q)WLIcWtlKN47cc0xY3MK4Kn5Au$tVmA5NnB5aP|vxD*^9=mn2Pyg>LZ=4frjofd8n9p^N9*N z!s6!alY;ar++laxN0SfV-xvCEYlg&(8u`7OHg!j^5X*s|v~-dtUahdGp; z$Ez2Ii0kH;`g6sR8uSK+P)y;~%krAqyII8uer+Wy-Af_*i7r47XoskCzdokuDbN2Mx4`!x+dJRvd-e=N5d^nzA-E=NPI>i zG|umFlLOE28;qrx??$D=w;zs3^qTd<_Om5i*sY^&QOjPQ6gh#8ALYBo%E;iAjL2c! zu*39x7Oih#QNC(w?GF_trjZhraIb8e#rsoqdZt8%-37%)X>+5+tCz~ts zMTzITgdmdSy_TY4s6i{ssVRq$y7xbsKNnD0Vr`SL!prY7!I0OwTYkIqg~h_Lfm>LB6L$c+d9X5 zVs$CcESj}kHgMtW7)mpCH>(r*&-&lkd<&?|Hxh3r_;@0M^VdG}2QT?Qm$N+8Z7$>? z_psCph#7-b7F8%+2w!oquwj^jd6uHey&VJLym}_P!%$w2L;hXKdyg->sMp}XR!zyfHUmhfknek-lc80}@E5J+$l9XJ=jr7?`97vK(A(Gx$J1@gXKwBru$` ztJf$U9j;+`IA!ICj%aX}A-nty6Yg@4gC-TyYG`WO{c?n~80D9c_p0J`P+4_~i$P}w z%N!nMD3*_9I8N+P%GGyC-~L)UaU=A`rN+0?w`({;OCp_!oXT$GU(cwl`p)J_Y)j0$ ze&G`Hp!6$*Tv&{B>BA%}wd_T^_BUrN$`B@GUbV`yK_WqpJmk`%D$-1X?~YSbq3eqd z2N{h~KVuzGW2EAibHgJaZ678vQqhd9+@zn4G6t>|?3U;lcLsdVVa=~S!N9FdLlF}z zh~v+1GRUZn^(aFgPdd51>bsI$#6a~gU!cWT87S9yq^Pg-vVN(OleKGd!jIZ`n{bdn zIT)hE>P=-K+Or1+x99+I*kWyR77Jz%h-jgMs`nuQi7|~3S;kc4+dz_mz)J{^{R=DY zV)!!9dP=Udg_ z++tV9y(;f>493WhBQ66BEaPuxzF*^@46z4B(Q;P3s;CLqzQU!a1zSN;5JSHFI3Y9ZX0njTSW$_DRiTJ1@ev9EQ6II`WFGRaqj$37 z3hEUlb##+O|W`<^ckRJCb3GgzZ zV;^yUZ2a_Hxx;R!lkg-HE3>!}H1!g#@cP+A_M-UXnQODE9SiozuaG>))LN}6;jYiA zVBR!CYOKipkNh-U0vXyXo$t@WA)@qmg4SJ;D@$ zwZrkMvM0GzFEeOt1JMVE?G=ZW@?x8_QV9pi)MO#ic7eE#qiq=kZiiTMKc8|$eKe(z z8oe(;t5@DCI#pWpT~D%(y4p6l?J57t_KLS{8TttWgCeThEu1h5u1Pg$^wIe^XjT=R zw5ukKmSSUgh(d*dH`QSL>zmgy^b`w&_qRP08CbZsj!#z$+DeW5>7a31edy>bfDMX(4#@-{rS(;Z}8 zr%iNEOnwo9Q+rr=4&=v#JMnDGX080tUhAoID7Xxm(+yY$W88J?Mr}`wAaF#&x~E(4 ztL>}^?_<+4T~=ZY*Gh4bspb8V)5WXGM@Q6G@3I=){(4W-Xki#SG+Ex+3BSu&R#gk` zP4L>4=BQ+OXZ6aW#)hK{0r-6-w@Zntk39bc(gx6~FhmKe%+G_MXj2qbsNspRWt+QmJ-`H{>@h z=60$tK}iBZ-ggXCKi>uMftt`=3Crq(@7V0zW|fK0(&hMAPUd|hwcYhG0;M_KKfW_C#BqPwp)sgUeST3C&7qT;f7h9;i;aue#YZ;( zN*}1~6v)1krqWQDwp&OKaNVR0eaX!8&gXL)>rpqx#tYBQb27(4!V+iTQT2o|dCKPh zm37_WRKM>(BP%lv;~=A`%#3W&km#tCkiBI)_TGmwLXn;9>=lO`WUq6K96Pc(&Orx} z^?Q6jpM1Km-~E@%bwZ1=^SZ%N$k``+@N=Iy8Cw}bdEup)nZjnB5#4;) zkH}=6@cE4rw)we>blGf?0qBucigB#Wm*2S@4zoe$0Rja7dBj4k18TZv@S5*_y$KcZ z0J*wQa%&b6a`x1P0oKDkP>8sCvnl($?tr~=Qna6*a z4ifp+)-}TOV+f3$sy)BMdO!0g?s=Om%U{I^n^o*~Dp|sJ-48<%pjYaS3)kU}qe(s{ z6}QDO$zS%B*I;e|K5ijboLnh|Oml2cO)Oo5wvn z{cw@tCX>UxKT>nYf&$>OKhSSgv-DL-}o1bCfW(X@Z4F zt0=4c30kG}!TMvT&GjxcN~MGtOPKX^X-daC04V0gtbN!nS%kW?nwz$&#<$ z5sNCf=TRr@thWyfw>fTFY>P-3WJ*8zdd5fBI6U*c%xuJvo#mpj-2+}gv=kt?mqW0zxn(KA5V2L>;CC*A8wjVY^`H1?_|()xH$4RSd( zDO=o$Ix;>{P6S$}`$0Qe7?~ma#PsJhpT411T~#VO+O(+XMzh(ecj!$wvsP7%Jjj$Neu`Wl{Ht+b7yCe7o&!{pEr#Zdqz1LQ&`#i(Zc}47o z95|m5k@sGvQrL~Fuqna-x)}vd0S6utC2Q%Xkk#PC&!@tcS&}hZq;5VMcI5KOR_r)w zRSV(~e&Z^{;!vVaOg`DxBkZAE*cv^rp+VhEiNog~t9SGkgZ?>;*J8+I zB|4QdNNtGqry1f&Y-YkLF2l$fBJd+c7Y1YXW^3FDVZ22Rr{vfG|? zZmk^lh)qb;!{L4Dl8Fht;v^4+_6Fa#N>bB5$E$bx z*BVswHRqNF34k|NU?hkKKIxOG#{{T)4ueanLDTjD9{k z21HImKe74qf%G>m>+Gp5WfD3q#M)qz)_g;+-ojt6+Ejr_b$6otT$eseng{N-WZ;vq zNP%j>$&9joQ&aP>E=x-5iZ_%AA#${6b;edPNF}NE2P z3SzgP>iKt_={E9e?b>~bXx}Y9^!|!U;71U6rG)g4vP2(FFtnM&@0Yjq5>8RK{mP4q z&x?3F&^X{~oxr1AZBiVH(uvqelo9D%Epr4IBPfK>4Pdmcms>dCqJUrJ78RcvF^(|$ zv42hBFvu<6UQB9phZ@$-%SRj15;H%eZU?Yt6{}NK1027pCe)$S+!Bx;X&5;eRi`B0 zNEpOA3(}YmCg07i8+2dZ1KR^?e}dr(T~tn!fed7uy3PG<=8&nYdfU4&IDADfeieaokOFvJxnIV%a!B#l>S_oOtt%-%*A6+OqlWv2H|v0 zdj*am-C3Hf$Ys(OS=fE9#NOM|U};!EI$>KLC-|UbJo^N*a?#NNZiMUChk8s}75=+) zmQ%QqS3xeKD@V^?vEKsdrFU6|XLlFqdU(ZvDGvNLgR%%JM=@=~Xk&nd<8bHNIO{{G z->&fNp7Q+CeV&@Wn>)}v+TjwFXm$JTzEwkZZE@Gt_ndVLK{bDw_`~o7JtBrjQWNBoML@) zbEFRU*^ozd_D+PL@rl|msQvuq?W`vbR!mmJ=^v(NQ27#K6H-6tMrjaea)i`x@spIj2BEa>1$FciBJ;sNzKJYQ&{@ z{-9s;UX&F&s{3VyYXMN~BN(PFym1W-7UXvLoA{=@meFAg4+ubkJ30pA9?J=*Gt|GS zfjXbMm%{ns=_!}_;e}J*7be&A3}GJ0CTP5c>F3ajJ}vuFM0unEH4}?~2J=;8;ow&P zQYL?k0YNdaaGC*g`Xh)#cL8t>56lYh*nWA%;Vzj_wBcp}SCRsUiP;tbwXQIosW2!t z55@>6YsQEys6Q-o_J~|Cf8BO34&Xpj_wok?iKnb;-c^DsF862N=OqG+!Lk*0eNE75 zs~&8;!dZGglWU;R9C{3AtG_o$XKBN3w6Mg~MgYsBYqX(0aFKaiLE?74&ZW+__=Vxq zYO$n?hR&b9&NVSykgx3><l6hOuZ zt%$T}a77fZiVbx*P33l>nrZ504+yeTi>}<1*KMPd15uQ!S(aLC)+9XFK=S@KOUKz& z0f~4Ca3HOit;rR27Gq~$hNx`qOqc7JRq*4l|J=eL&Zx6R!8#75@lwibiDBw)K|Wr9 znp@N8>zn-Squ5hd*I*Z9s6H$Fh~?T1H>X!vi-el>xYMpHB8+>X`6am0vVjlCegF+Y zaomI#1fiGN*8AtXPfOU@6S_F+(H&}$m(+%D=o*a8bf9}+o6A1uuAQD4nSrxQdHeZhfq!KD=+W42N0QPeQ|)FDbeHQCsSjGG||a{M1@j! z$9JP~j6D$cR>Fs;*M&XYBhHk3pPuL*&a+>A^obPWZWAA*j+!weGCtfL-|}8CU=hAD zJfCJ&-F~d#{Ez)Zt^O1lSdI|1W^$IB^l#gO8bY$zAS_Ot#?T2hrsR^1iIQ|9{2b{` zP)>T`LF(4LbdB@GQqK=Z^JsO4oqQ=kp2xP#l%pi91(0hZE|zbXxlJIFqRlHaSBAgq znR*okEPAAPA70{ZaDTJhoC(NU>Dw+Jzao{*EhUWY473-w-^sYUKfU(~(Bnq53L>u; zvlZW27%p^>w%UhA05Cj>tc-X4!hBnc>b;b7(_B-(GpTt>v4y0MI2I+u7jOp>b8C#?cZFZ<@?4+mFGK z0&V21w_UPY4n;-5E~C;O)wV1-ntyv%b}y3H1lA0=t?>B*tYls2B6HwJ^tT_!)Ygxb z%XW8}(83`40Uoo|B{$$<`Nl_F6|E!BW9j%RX`O{eZc%XX-qg0-EDm#z=$)5-eNnUK zH>#+Rq;GaabWied!nf^Lbe~Pj4zeAop&`3{roHCy@GPt93$ZRDLT=oqqYHJRpI^iTf(uD4n;wdxol@on0~y~_rNBVA1+}}C z`PI%2<HyG><NVH8v9*iW zI2V1rBO7)Vz8k_2D3BR3wNsKl+w*+U%I4mrIOCs)!Be1@E$RJZ<~#B}D?s%RK~55X z@k=*+S><5DKPG}&GG3h4L^cA{CW|he4q7x*G#x84w~;CAc7bU(iUuoE(4Msbm0j5c zALk=b(jJ&Ass1HwBk%d|Ls+hp%tO~LY;St6N`y;AJZ$bPWulKK{#5MML_5q#Dn)M8 zPtG`fw$4kS7U{wiDMH%n-`B@HIm*G0SS5r!xs`Fw8Dk4TJxWPr)z!_M%?U&x!M=-I zm)4on@|>YfQp(1*ix8XbR1kv0eT&%<*3BTVORwE9OU*260H$mk%O+QM5A;1D#IKIa zD53bKmEM?(7RBHr3D$;}x}JWjRb1H_#5jGV*d;toINP)b`~1ror>YSIavLGDC{4uU z+}z=Yf&otuv6ZIjF?6p@=%m1!@h=T-T&r>kV#Xf&{9Rh{3ztfzXEYMK$< zN!&b#$Gy2AT!!^^bWKGV<;&r$9lz1UZWn5NwiS3YVrOHnrW53y3IX6Ct}sqyyjqX5 z8NbCIH)2%AM15hsbh1=T1`g$0kiHli$tJj0xUAw?p`!&?DaT3_4-$>ki{!u}F}2Xi zlx0@Mp(<$pgp!=pOzn#qj-ztjK9~HG>OL>KvTaLH zC#4z4xH$1aPLw7+!a$xL1L7jizs<~uLR;optm@rZSJ{OhrCDW~zbbIUxo8T^B>CdW7G83d~j2E z&0!Z$l1V&FbaJe+TF>67Zqfr`U5Yal#L@6XQh1^B{pt=9_0XxEs8;3(3ny__dYwU; z-=Fn(ljo!_MEa_o{cmK0N|!V~y<6YU%N+z|1!Wdyv%g!K^|1s^no#3~RarN5 zi{pyiHZwcr2VsW8;VaUqu;SbV{;4gDo={1>oTV)SX_Zc5uxyYX<$6;aKjK!RQG3vd zeQURfjVaOaA}wI9^w(dc`Ylwu_Io=|iI9cFHlAk z-bNaUAMlPm=N-H#6_lYR09KLw#@FOO4il87_}@^RF`)*Mx?e8<56AOz49{iL*m&Ra z(N~Q9t(|h2j^*+1*pY+w8*a=dE1o1dX#|dM*FFyeMQAIBd9rWj(bDs1Lfkj2lB7vo zt%76kuRO-|51L*Ws}ho}kc?kCxzPo^Q@h%ub55augAuf?3%Gw*O|&8z4={usoZ>&FB6Wep}OC2c(!` z5c@OETm$Bf1UZ|OM-VECSICzq5Bbyo_{24K*58uX9Au!09xYMa&b-U=Ld5rjNH~{Q zSvWVp7sSsze#7VX9hoxe;|dr582hc`zWs!>JXCe$n@cp1`5M>YO<^&qmvH7>e|oZW zq@u#6@SEb+;~FCW7#-v|9z0O1bxnG{e)TCy#1qAs=!Bx~#54MaOsiDH2I? zmFt{#`4_l;bvYmY5!`Wl{+pFFW)HAuOYqtby);v~o|Eq>xUk&haZ2Z7^49WuDL-N| z2B9ZHS(0U*%)hWX$wjeT)j9dc!aHv~DF!}Emy*17ss8gkckX2MHs*Y~Oe ze)SHXF4EoGGLif@M-W`yfuZ?`W&(5YZ&3=+wsFwpG% z%nf?-Hs@fuX@*BG#C{Z7YKrF>5bEDV_>QI_UrZbuNGuh#|7tm*w)Iez{OD|60fg&U zLZISqr8l~1?bH-_fD@CyhzU44y|Wf@_ucKeLlDU9R%%V7^?q{%9t|{>5MO?GGA-}S zRkSxfoAx6+Jnx`-p20(ykLj)YZo}#Qz8O3Jy~gG}35T9M!T;V@`uTB6yqUvMX48I1 zlcjfF2ML&6-Ye9)(CLOUl<&>PeVE10tEL_z9Y;{o=UT{-ALzuQ>S=W!Q;KM(gXCVTsDYUjSBfQ6E&i~Z;$_bVS9}M;wW)8a~dsS zhtAk9=Mf87`KI$z!3DPpAB4+}M8KfW{*_e!=R3O*gr~$OUk880ppWy0|F(3Jsa*vd#xOIgy{cuX5*2MfaTRvFA`gj6+=|Y6kR6G#V5Od_;m10g2YLG~9-1&j_V9l#a6$LY`o}At>CLkC z{^{FP?48b?lZcp1mVl()jB#5>LoAu3+@gOk$Au-oa0nOfc5kL0Rr}l`?Hl=_)%RFx z{YJ6W*bV%b;Z_H+YLhfkd7$3%sEZQZ^r(t)d_i{fS(~;+(?|c`)-Q#6&M_5Zuc0iW z-MHrRI(A5+r?H$ojfa^)+?D|F`q6&&g0@BhSS6oLlu?5Io^7ww(PL-P9E(UCdY@~~e9tm6W3u(zx`l`~T_2R!?Uu1C`MbiumdzjZS0g;3<^iCqh ze`6=U@ysZSN+{|+;VJ&?Gn(z%J3S(&t&c;QLd^y!E&E@Bw-gAX#cK&D=MTl zSjj4Xa+_F8c{tky5h1@np7G5sNoS~A@bWUut`%l~^|)!lg2eW{u*saLBIwb1Sx3Ij zhRiel8M&usQdJ?4_TSslVoUn-xs)oCH(H6^33&&|o|H(7;afd3?fksMlDGbQQe;MB!3R9vNzhQ*S|VO>U-cffx>E zO7D!?3v?sf9>>McwYO$5m11a$dHF;q4Lg>gr`NVsD5{+&5=5U+tmHJJR|$y4qG}zH zhHBs^eo1>QzbS904+Vc~M_^el=1ZL)N3g=948m63A{#o~%~#GmtHQ6k|I#(yn4Ecc zI0jdAn%C{xO|RDVkt7CWSMHGBEq~o(Z=_~6CK1AY8nNhjS-)j=LoI20HraKLiC<7G zv6D8AwDUHUhiyj;qio#eK}z^T`t}9EzZRUI*(NTO02Qk{%ymGhbYw4jKaMAKAf=s$ zB(W3*T9m{^JyP;L_wagHvr(s7klxJT(}<}YW8!t^Hzqo$Z2Nv68-yrJA+aQHw{KCm za;Xwi$&YMO{5G7{^?;Wlz9a7J$FxSompQ7P>&l6TdCmeUb??FPfetr;a3s!rI(1k( zIjRl$;OHZ<<8yl%uaoWP6>{?w&SGnbF4tjX{;*IgWggfUZ(q)d4mJ|%vrmImf`>ql z4hg-Gm2W$>^fU4#w|*0D!l9WF#JL|Cr2LfDx2IVI=4Vj#Pu{izF?lSwvh+y7awwwz zePk(*>YEqoX?aW5DnaE>7OoB8nAV;5kf-Z+FPFZW@nbUjjr6GxZP<`a_F;OhY0L!O zDy7bk<$(jK0_SMoIEY5`#-q$L^FWo)0y-ICM<98LPrNONrS2tWH>A<0Us=Hy)EAuN zxnMVE>?sW7;F}WHvP6dw7503c-4>ZBc{07DHD8~%vbT8ImmpNlqD=@#5 zczR^%fvX6~-CHr~u@AmgNI}CAet{XfnJmXTk{MmQ^PcQi^B47J*UyL?e_8b2$5Uw2 zl~MV97lY~pYK33B}Ol%qnCmq|bOUNdZqf4-WAU5B~qy zf86ZUJJ?vw@x;zH8oS31Z}*m!~^u#U3M58=VTOu3XEFdqNCBQ-^;A7g0ak$eL!_V`~a} znT#UlzCSDnX?>`J<3$UE>F7T}rH>>7N?VU)^S8#|rPu!WgdfA%(=W&sq~uM0Pvj3Z3Rc(hUbEG zLbxU}!9r+!=YfHo?=`<7yEPuECmUOGVVxI$pfw8Q^Y*uSBuS;?U}!W5s&{eu^ku2$ z%apwuuEZbn@`yYhL&JZ)bQA~FEnX>{gSZnrMfA|GJ5r5FbW?o!E8q66XqX;G;GviP zGn8~Dt%F&3L#(nxxJQO~%ID7d6LnlzFrLbL<`+}# zZiFSktveV+EM@(cXN!Ztvxvz1>^m4nft>o}Kcwn(L~%R_KwcyDaXW$=R7e`aYb^*{ zGSUjv|9Y70qw7Imb@XMPz$I%bgx`2%0m6Y>ibuwgT0Ym@%g6R-)4u2!C%~hKa?Ko; zD{c_;tP7jMiQ6_(AX0}ihI}?HYRueLpV!(kDm_Ow0&lhhp_$0YU#5Jm<+z9>(gR1fEO@1wN7UxYw#LTE)c4cx=9lu+W z=s+N{C1^>Nd}nWBgO!$(mV-dX^;R#B=71O+T0>`=(KUsx&47o<={XGq@gvhatzy`5O(vt-~^|L%C7{*iQd){kBlh-ZlS@n7eam2Sw3R= z3lpOwF~W@&mEreCZVS)ZyzN%ab^k6z(Is6AzFyP>;k56uL6}~cL!{tVaXHu7siAw7 zI_ThNNBYra0zN5sNUy@Y=^Xak^h?`$M*e*|?T@H|(`;vA+9TcNl%LTf&mc-N@$FH! z3c8_Qon_nAZ&X6g_i_#9@{M*qhhF^~koD&EFWB2_c752}jIpunckYGu3 z`+e!OUy*s*2?~Be?_hdOiDr$ODz&&l^PyC-m2t!t>*onqoH_-47LDkU&xp^9W4oH# zz=ZjBtb!X^AZ8*qTdN=e56qtv_IUi?YE7$4^p}rLgCwA(Qzm^W)vTaoU@w||`TM{vn@*G)v zut=kBmtm@xXixvx**GxXg4AL714=^pms3N8nkNj?pjp|CI_RI=Bc066a~ zwFV%C_l@TnMP>QWR$Fkq+cnVeB4|A&iPJV&F7`|n7%8|uoe%y-BkG4fc|IMb3Qp|a zjCB1YE^T-BN&ors{gHUVgj4hbIB3gZ{3U4+;`t!;yLVdaBK|A|vfucFQMhC*)c9-lxPih}Iz%gfg(;>N)Uqdzi z+Wy%7oGyB3L+=s<6K+$H>ck%8clT_l)p3RLB}!{Mlr3)wMl78l4Dlh})v$!3Kg;B{ zuyFxa4t=?eG|yY1z3Xoz)dgeyb=@Lg2qoK=;JC(19H-i(485Y z%f4RZz24B6`$|5`6@IeXCO_L8SJ23Zx{vYFu45NQvOy4yUkN87V}8I~jS^pS-2O}l zyK*q~>Yp!g_!01&#-MtKI8?WB?HBbIWB~DZtQbcqN2u3x^^A!d{Umn+qGWTtw-Jhe zrw^T6J2ATBZF8|{GUYf@51ro(5=k{#)@yc+1~dq>s5v?i0;ju$AybF1coRTB)1OT( z{XCq5F!P^3O48I#7!RhEqGElMf83Ek8t*$0`6-;)G{-Si6*@kHUHED9MXFhDy_)Sh z-iLsG)44C5<)wWm0%SJBWpyjhuhA=C(Rg*E%@|)vmj}y*7$CC0&>^u|F$ZVGPS;@{ z3)wct;VIyXoGZrJqT3Afq*{5OF!wNs?@P0YyxiXVD;AaVsP$&vodm*ji#co>U#RZS zls&|hPmQ16w ze>RfGgmmph`=LQaCOnsvM)}hgDy5fb^WylrlabVAHmLU_3Hs;x_Oz)X8`n%xbLK30 zhfP>$P6j1!Av=P^e9a-h=Ze!`$y6`Lt3@RLKk2a+7#6^6yAz9hL zmYu+Tw^9V67vHh?!1s6_dwj$%$o?-XhWSi0xZJgTsx#<5;mv|zv@3Yb45oeitpZnf zXwGmD9Vd)LsJdyBSw#FdGvFVL$YG+38+OI3LbAb7jn7dDo=d9K4Bp)&p5AlN+O6{X zdx9c#!NUU5q_&M=fo%`pU)KHg;>|0QY%~ALS@ZjoI{zN%|DXTg)}z{z_sgLX9v+Ids>gid>XlSmh=^xt>U+uGwkvB)&>3%CF(gMhBh0-yKcjM}!eLrVTp zjNvM`vq(yhpJc8ppx2KB;=VnA{~!B~%pB=T#;$A5!?)>)eC0s2<7erv6qid$l|~duIqDa z2I7xKZKBKhVw$Y=?Bq?7>Z~54u z(_5%%%uWV{kdB@f#!PE`6ZPzIFRyw{)=A8zd(BMdk2dA#fOFb7_KnYKh$ zNnrft1*K+Cc;dak`~j_WA0dPtrN9vfl516!J%pGlyfeQ$hrhEO?84k~dqgK&hz*!qjMdjHg1LlmGWt%|}V3GLSkNO220hn^}|o{(lnAQ}GIRF|9D%m4m)u zT-?-q_TFHFAb&wL!~bz^ew|o3n0$ohH`h}CovP8xrvE_)@UVclzMlhHbxF(QG(9yi zq@c^;Dg4_P>Hme@s2rEbMqTGKNX|WZvryyFh2O)inwI}>LQ50h5NLnL(s7%y?y9QK z`hfRUo660yj9uSj*Qicq!5-{Mvq!PG>(1s>R#a4QgL^5nY=v6`AiAv zLJ7p|I-=+7PbqSG2)S92`Lt{)w7sU;rXH#NNC-^zN6z6t+YZWS6{(R#z@o)r8|Jgi z2Vg$O?&Qug?P{we0x}zgT=-U6tdyNaFT8d-Jea2?L$cLMJ@WR;s4>+?egFGNG#pB` z;f~6(b{%(UP)ddmlP##XmlqX>YBb(JV)@QbPG~jQ`1F~_Ac&7xqT|kUUKavJZ?vNg zY>%E%AT|ptaQ^s+;GFSp%V@0_eEzLXb5&ppx^2Qm7wvr|79DM4I(K#O@Vf4+S)X%} zF-6F=E^28$Q(6Bcp6p3L zq-ne*^)qs1-w39M9(a>a8cVKg*7jfjAreRX3|gbOvOPl0YX3IJsX6USa@>RR;dR18 zaQ9{hp2X90+tw+!)Z|Hj2PS)9%5^seG)?&GKX!riPi3UKG8EnT+lW>N6F|M3xz)&p z`SgF{>c%A%_|}5+gjwK)+f*d&rc07X0!@==(($5WYPTlP%AWQ2>Y#U#znG=Rmo{Y7EX5WwZ0O zpU>GwXI#~T#HX(0JmZg%M_LkaH2in>G!t!^*XjHmB~|OL=$Fn&oksz$_;!Q7oUKp7 z9X0LfgMa&W1(Ld>S+C?C1V*cZzd|s?bzhqtwn>yaxjT)W4vgMWRu9f=@g5%-K~uy$ z$oO^xs9JB6_%!N2 z7I20>*2zgUINFTyio9&~YXDuZaWnD->#Of72U)Ts5j_);w(H3*nBGe~7nR_sS$4X8 zmR|TlN5_&XOX29+4#Y^0blk%d~;;rj0 zkmqY)J*CZY6wbdFn7pW@*3|bBIKFun0In^)bSmeV_nYUtYBPgoQk`U*T)p8Ve*S(` z+qlIy)?=RqWP=Y*UE|otyidx3(9y7dL#fB2wfs6)q1TNj4a07I?=S7z4#_lkSLBb8 zFn;bhHb3&*8$L5w{|q*!hVd;qW4bAQ{ko#EveTH7C7fBj^sCIt`4|a=@wM%MsUh&$ z_Olbb(jI1E@mOmTFxRTBul9D$TeVk!1(0m87`HU*|Gu|>Qt&ym)qlF~35DUV%Jn-{ z89yif>X4#XI1ZVK^`_AIrwXvpNHFw9BSMrJ&;0Z~I|3m*=H*2Ew4ITiMMwahq>}4f z9UBa7L8hMGn`;#{LB$ouwTdTixyl}~Cype`>(gE|VmQ+|Ec6p;cFAF2BBnRgv&~~3 z)0wRauL)UR<)}Jzr#iLaURH{NhiiaoLFjqBM*QIcq)_o0VQhV6@ab3x&W-b#{lm$b z!t6~JCHYTSUMOH2NqG3&-IE`M07L6j66kQc%l`dkb`>;9UyQuQw@L7@jEo*@1D_bM z-*w>aaRrT2d&;GVay~RVLq8|j_Oq(9WP-O8>8)&>y`7jdMb z0^Fz)!IGOaf{9kda4^3gr7Qki(Y){*Yi})QTr)}|8o|E?er$QY4&Z(+7B?^y zsw88HqvB4xx>~=Us%br+0-fmOY{oQa%P9y#TMn_XGUd(0KVbEEX*C#KUXx6YnsV>`*DNfARr%?@~I<8jR^>$qWF zI_4#=^hL9r<~Z3pqbm!3r)qnivnnu8-rDh1)gD3#q!6k^qf6&M#9}ILLny0reirz} zxS3TnB#KYi5mtwrhs=!L28}w;CnO>5!xesvH@mdn4<{+teiXPy4VF5twAjn{OFar< zauiLUaE^rwIqvbGxdp6k!U)G-HU4pYz=}$n_a06p)1)9)2>2^-_;4QrbMua~-R1JL>5o`J=J;}(D9!0p zdb8nooo592+uS9jQsUDL8J}Kw6;>b$oUegzw0jLH12gsXg)jJHhI9Nm<3TK-B*-Wo z`tpU-^LV0ZlZPug;GAb^Q0!8~jq?esL%r~%M*uI=gH(8$rB&hTh`-#hSIu9tAEi@1 z1TTfZ+-7zC_;Ia}K3CU$b+=5i;X6i$+@aAt96+O?ghiTi7k$oUVH81F{(bVT$;hm7>nElJhrLdY zhryB(c#AS)Kd0Mi_YAI;$&iG!sktyU~uXgK{z|J7#in^hD29|nXLg_?5=@>?v|jo?At=6YJZ$x z?Np@P)duau4M72Ez>Cqv>fSdmZYehzvY4t`ns33*JR!;`LnLTLCR(z2AZ_$Lc0wpD zwVQvBQ2MPuFh*}W6L4w^Z7BFu?r23;-dZ2-5zn{AXgjurz{NX~LT==?ck?)*i@#g1 zeqAXcp(}xWRsysD_i)Epf|tov)Z*Z=S-;|^?sb)Qr7y5il^p zIowRH@TuQBdzv`|QPDC9;+fqK2BB|{e%^&4C+zdzsr%hyeF(r=;_TXdv<8i_sgA2A zmE7!>Z%RVQHm|#`-J5X{@d7GqQr?8&VW#0Tjj|5Be}jmXtpUkJ;>o z96>d&)=*KhoT__reR=b1h-vm=yK9vy>%$fH1?MB>F;O(82z={!)R?321PfC8@0FIg zhnjCBNr*`s%x2eA$dme9abnJ2H6?Qe*N}^rgR_(O-u~!7fkQKlL4c7p`U(7bDRIpE zL;gjhFa6LeYsRLKCFoAf*jnVHvlt=%<}p=cI1emR;C}SS%dfu z`GVj4z|AP#6BnZYSQ3}?gAvF%@Im*b9P{{0jyHkipLDI`By4fCsR=72_4x06y;B0W zO9aVva?Oc`u(#6Py14y+T)WJF-`1niAjtXWvZQ0z^Rb8&(Y|hn6MxBi^7s|da+03`yd-h zmyyw1cfLvnMEK6R)?c*zcYft9PXvF~^aCpQzhcN|djos^uq7V&E^qu=ZR%<7^{m+x zWpLjw$-as;i56k@yPTmZH<;C|)kn?;o_$-a@VmyEYnYst_ucVAXhJ`g3!yB7hLPF< zm|Ot}>V#XpH@AoFDz-0Pwco$-TFYArY24sW&y5xOCp>^NPpM=Ux~_48RY9jR|B3fP zX?8zX&(dCBQ{Rh!)7t`K#&1ynU-S~rWYH;{mB@iTq5m1FZtZ!kZq*YDxD~F*pSIg@ zFQAe{_r}Apv4%pl|5RMR5}GvV%ce|T>Bt+Ne$qYKfKU1+9w-=gzUgxBs&Z*)mv!B7 zzwLW7={k*iP4!y@1CFh#C$+I6*XrJph1{?2V^yRwV#$>M0@vGb!0O1^4ZEdIEwn}A zk^1t;GN9#LMyzcVH%{NrRGwdczrU0QzIq?x1^X#bNsXv)fyR;^N>jOeR7923^~B+9 zAbEMURDFQy$A|gu-R3r^m2!a;tJOY z&tdzcc~6dHu)PauKAL)EYcu@a^f^S}xb5UY3cMmMaEdGZAd_qpMEH5?;+xN?K}gAO zXIdX~9P#hpEjasD+OxVJ{6j=T{eAbsLGDo?H==V^>V8L{S^?PF?zEr*k%bJMtx0kf zb$OhniAVL9t2j_fz#p6@N4pX2S50R>k=b!ZW2<^+o+ASm7!(ixXun85a!D~`+ z1b3nBwcq@6%tVz!qW7xLFeXM>F=rsl7c;q=;~ul3&UnoaJlUJy85i2_Uy=uq$<_!o z?X-C*Bf^x;itf$AwtPl2Z3EYDn!eF6l{s*2b*&lWJy6&R_*Bdn;T`qFlf;-Q-B}&epOzZc zKPRDI^soX2FQnC;z#Dg=2a1e(bi(*!vkrFk_4=Joq}n-Tc7{9WwX@BiJoY|dDx1SH zU_w#dA(4~f8GNpT)6=es3eNp(#gnHVdyA_M34o9Eq;IikT6TI7WDMhvg9LXepTXMV zKA&#deDB0e@`one9ve*NFuBfo$|STQ5|$NR&n2wyeAm#it*kd=(~QMaNDkVOs9V0T zUvKA!m*pWcB$jWT=y5vRW>Ta00iCV(&)sfXR=b{mZ9a#U`)9k%Zr5wM;niX|j`}J9n(#h}wd2lTTaO#YQmOhyfh@rfq<_>FcLNnPBjW}6K* zK%pExtvG#v4l1-~Sk{I~99kL%X>Ag|4D zs8mmtI>Js<)pbxCeG!@&6Y_@NnOiWwBy|@CYL4G%>7?T$q?X_VjT7y6+a&*qp0O#u znPvd70LIXIL+~$A3Z6~V-Vnj~d8!9TtSWV#rrp(C+b{o!mn>b}b!{uRKjMiUHetN@ zYFrSihr&l3K+0Jg`f$`y(9OT%mrIInG_c_mdbTHC$nhXrL^!Ul55?TUQW_L%Bp^ic zPyB)xzfSD#<0vjmpxxW8);eqGGK5$#hwbzy0H?A(YN-i5+quu)@XOLd#7PrrLZ9&E zV7=!!vrTWO{QHn{MSyp%Pyc!SdmLF!=sjZGk8XRM5G=SI6^wI8=Lv?ap!SM(C7(%! zKU{|C+(~h}9d%_z)X7DsUU+AD1t!)pi@SZZaIkD6k3UrtN3{YqjpzXZP?K}c`f~iC zO+{O9O6+r~QQcNj%X;h&^^hxRiB4y)D!*g#8_=F@=;jag)b7pwLh3te#j)bq+_2si^$l~wYA73| zk=7Z&0>w_SLW1-t5w}(>MTO#>YC1{hDItNqI+of(lYTgu%=0t~lhCT0oz-*&XXZQFu()V7E(x)5RzZBZVitXl0+8(?1` zf>=#f;5U0iSQ(9uq)rwS5v4z(YX}0x6Vm6hm#jkcEOh*)2JoIw5Ca)pn$>PxN^5tM zm%ut+1I7}8HyUr%l^&0YP}r;#C~n}M)y0d_xZ=&hflzv$AET%t4n+%!FUNiC^ z%$TA!o=TQ;3=A8MAO|6ThTWwQPg%{xgV^^XxV6aT-=Bag zNUjsy8)r-=s{CYo9({x)%U#F#xvr;+WsXXXZ-zf~tro!OOq=^HVmYx%4m5#Na-lU5 z`GUhXNd`cs))a=KLgNZ04h=Z*SC>cG;W}QwITRG|b_n{#I1p?{lD)$toej%9JS{@K zP_fQzN%xm9q#i=5L*(eo3rI(08Tk=yaPi}Lz$QeL{;lh|M@*%7%&fiOxt4^=Mp`Rt zWk9LiZaSA{fJTyWuDp0~0*Q@=%z6)hJg%pseGx?>jKL=hAj1MR z6CM+=as*~f#gv3D3iHhb-nM4cBa~%oe7J>c*26Ksjx88wjFaK~xOU0vK`Z@~)~b;0 z&1l_YmO4M0S9hfF(xx4ByUiYYm@_RQcYCIF4w+8^U3xDclb^XKwwz6eMNmxpE`GOX zdhGO`>@(!LY?@ndz76N$qrMf^Io+7G8Ycgf;(y=xLmty;Adhgy_(=?)BwN2Wt08u5 zzZ8G)d1>ZY`xEDdk)zJ!;gRsU&oN ze@uk?!{Ml2PIR0)APRNo8Gk~nv_i4wA&Xl{db~ou`N$DCNb7nphn677C@AfV-FJ7R z`GJcbwNTO}t~F6`>ti>)>WOG(8jv$RFc!VH4{6b3Gn>OI{DWZ9yHb;S#2dsQbgVDc zql)>}d$^GLp33+VJI?aq81$}vM2!zS5iB2E%_}Q>yo81Ao}~Dt{DSNU7tJlA*&<+e{$E{EeFs09w>8cC zQG{T0awals&mZ3sXAZP^5Et!K;*m{(zQ=Y%;ZAEbi_}au&3ubj8LF@w0nOjj9Wn~e)1~onEec5pwQt%9Bm#k z^+)#{gHe+?Co=5_t6kQg;|>UX9T#OhX0)XqWv9K?ye0i@*O+I5-keWAQP(-q@m>-w zH&m?qE(FLW3Z5h@1}Yk1afKW#8=FWoMAUi#T1mx`RG?gGmny))&~bzmV{g4hbuE6R zP0gbF!nYXd+^=SQHDVf!ZS{d9iD6Qs1Sz=jz`3&P4NY?IVqM~LcO-iX#J27fk4i9j zAv#@pNr$VPhH+@Q^_*9wP_^YHW(t%!FdRxzcZf&rPquMx6PnV$*p&D%vZi6kN6t&w z?YJg;822n4zS%1WQnWowlKfm5h`M9NJII+C4K+;FWD$`XEd`-7NwQgoI@a`jrW1RV zeQ={v|KJ&ldQH0Od-#h`5SzdY5ynN(H_VR$(?&|knXD1Yn2TrrbvV=2E8h5L>cb?n43X+x$O+VBw{wp9%ciZh~mXUEVp?*%#My#s6+vv z%i$^!y}}?k#&V;568jF+ib64!qi@sQ8C0K0tdHUJpYIhOr2KI*4283g zM%FZqC5Q>j=-UIS06_YJS05b!WaZ~vTwv@&iu z<77}V5sZem942LcW9CAWpXo$5JdU0$;B7l@$O-;Dk`p5H&ZhU0f=cR~R9&P^Jh%@d zaV2)NWa7baHd}Ob_+!UZA7bWH+D|(=xfG0ULl4x|%WhE1SLuKDYrF0j{IE@i3t^E9AJP+Q4JR7lYEFU!E|-X2xCl zcdGo@wHYGt!oP}0NPjx$m(O|<%9m?P*yASF0BDxQlBXyTy9K|tUo}-t7aG=3Z`AAt ze`V3*1~mYlG%ZKw3|lO3^!@bPyEriY^cmDTzCwnBmK>wJEW7>BVyS=YNf57ja&Oho zd|EH*RlDouC_}>%NrL)!$eBISOOhwq(s1wSb2$Ku$tZljc|z>c7CG&=TXL??-?{Y7 zVfscxC+c=aO#_x^;_1)MV@>u1;^<$jgQFmBT{AuS)tol4V7KxWBOy!iFdI}*b#^|+ z1G;}cQxaN!t%R0<8Pc@jYNMqO?LBeVe(#s;vE6oMz@OU&=t1L|UGI0R?&E2BpmDiN zLhHMk3KF+%0uEa|2`iF5%9MP&&&0B98JGi9TvUKo1@0o2y8GwpyW^b>TE8opx1Igc z=_7Vvp4I%|Q*V2vS~89U$gd3yGUue|fLXS!26H#}KmF?H!<^*S8hrgd-o&<`$r@XA zSoXpE`&nmFZ+{Nyh~s+edh>R=gtS?oXw2asv*P>2Kr=6wr|6Isk??6Sd}RRpx90J6 zt1i^wS*75J-a@6HU6n?WF$fXw?6&9>GaKsZMj-`gjz)C33oJ zn0}SgLHoGuD5xS1L6a3>Yyguj->?!Q&Joy_yoILu4{-X0EhqEM_Ph2>hahUC_NT4a);&Uf+iah}@NZVT$@xE%@{=yg&>9&2v01 z8oz}7CyftqfJo=UZsTi`_kA6jhP7xN1O%hyNR5sdrL5FFzmBOrNaTSM-^20tAC-Pb z99b8=Yg}@7x}R>?l~nYU{k712{;oW=o7IXu!LbG_OOxh=qh%PYb7|Z0kYI?dt)_Vh-BY=+U2=;cfT`(`=WKdPYzdhB-JgC-sMy**SbKV^{6)LrSTji z_chN)jwiG`p`e1MTZNC}XFcns8D^VKCQ43F6I3h_JbL|Dkn^Divp0RR6#F}9Y3AVA zJ%Z}iZ<=`Zfq#nDf+9LeqL&z95md1z%EJ@q-oc>J;E)#fb`_r)yD&Kr{M%s@@pz5~ ztqgAg2%1|_^OE}lg8%d(#u~lwlSg@=g-hn#)C0`^?2?@2l@GdAXbf^&^}{Fjz~bsD z1T;XpVs99_2y+?v4sU7m^!?(Xc|kfJpsCX3v+nI;Dwn10Mls$zKfUZOP-70fs0XNp z6wo7aomMf}jDwAW-gj(13gp2z7U63Ny7$CYKH^KAxmzpxBmJyoH>%W>nI3w&;bam$ z>n{j^j1u%40Fpu|$GbpBM$!H}HQ?ce>EyE109h#OD<8}(on^|yC<<5X(wk4A-Q6fG zBW)$gCDY8lCjwE~58M|RCk1ue8g&MAfXGQ9>)aO%b+n{<xqyNkj=~OwN^$HC@7=>RHhg(uV3k}tA zlSd>9J_^%qm1yX56PM)?*QYIiEFp8!_neDag(DKO{mmpFdXeeE&)MgQK6K<@ zEM>b_ok6cgdpVHc+Q1q*i_J{l^BdDLuhas>5;H<@NsajIs ziM*rRD%MyP1TDJK;^B8|&UppD0@DO%`FTN>SPW&w8dxxFaSp?KuedZC;+h^8R z&Od1j%8m}|PVy8WHCo{tA2MmP$R32@SQOtQ+eM&;n99~6^WqhNt@s=aR65E!B1}e- zja($0VEho!EeacQ+t@RKEQ6%eqVh#$o0QYJM}C3o?<3C-jWG2(Y(E(?CgEv$Ul`j1 zT^I^QwBi-rvNwUwG2D=de(1&~y{c5-$F4e7FqB|_(R-6P;A3%)v?UO>B=nb@_QsL? zPzUo4>=O)(!ElUWUiU`VY3s0Mp746kB$N9W-_oCCEeA9{wBg|V%GL_t(&tai3Ba*d zi3tSVI(y`$9c{`DaGEHPGcxnmGl7LT3BEF_z`>Uv;)02lbgUsU~vBf-2 zUXvZ(F{fyZ(V8pAipsjC_m_Q7Uz0;qmbX0Ur#8nUiZ1hjnasBQa^a7K&+&h;BZ57j?hp*kHhy<|2~ISOO%WNi~k zVWY_JLd8rONU}*1-MaiI76Pc?*FjGt#)rZeoTHc*yiC%j?5So+Szd(ES`w1By@RPb zBXj|42`&w7QfB*Q8LnI@cwEX4hEC%u`hpQ0bt!>+{+3kFNXEhg0X9tJQ7Y|Z?wvj# zcr%wVZq{wcqCqZ5Ctr&IumLJ~q5+gV@x1`wy3!DLEFqqBq1agCbf(X*elxigrPiF> zAksmInHkkPshV^py+;3drgp}gEwmpKYr-gc#PSc^0XbvgX)9$Jy!H&xlM?n-!sOk_ zod`=Myj8FXBE7!SD5FFV6;}>G{j#hv`W-Rat`%MXQcDTi5U-;aeSGDtAGOwwRc6K# zttB2@dtIM9QU)I5X>`gz8Ir)0*hhyvKV~boE2VdLmz>3_X&7HpKs)iHDPdH}HYRF5 zy=VZ==R7-m@Ue3#W2@LxkS;+tr^2x>2CVsMBgK(A$x0-<4_*#Gz1EI z0y%ro$jDk^_BG1#?@^L!`H9+!g7l&+#We!@!Q@xs=V11=~6P==3kI;9U5}x*itR(6EFe1~hDveD^pdO@*@HXkZI!fUF!v zaH*EWOkFl=25GI2%!fes72xc^Uk;hM=vYVY^L!Sq-Nsjn9bwX9oIc>0nq44*^}zxE_-6Snv~($ipZ4Vlnc^{A zomO`_>D$Nppq}yi;JhfxAR)MlAPm1mWc+<3fj50c36owo>8zE8`i}Tgp*Iu1!vT>y zNu8^fgcQtZjqZ69Gwwskt-}0zIY{n)b&2~hWY!>{AE{Bn(Ex~zDR1Agy!MCl->ddf zIaD`8(?99Qxc|7sfR!MaI9>sBYSTYBJ%PsVn)hn5OqXY&nA;v(%t0|$=bfw=!hRLM ztbt({pIoWo=eY0_@cJw=O>wS$S?P$ML8E4J1qhX_v>}>~Bfoq*1hDwWt zCX_tXF-SVAvq8*z`VGgTZ^f-D5NK#LI~Z@LqEGG?zW^W9|7=^AycjlyJKl0IiJx`0+|efj zgQYF^NDjuI=%7)9l8WSwGQPtfm%kpT@{iC14LrT~34MzVSr5t08P#Mj<#J-lxUeA& z!O%etA2@+*CUHMe&uMX#&;+>ocOpU%o3(d=vlzVzf;hFsoOf1g7Gd;2a}yKa9lG{U z&dDTZvoL(iKWnYi+*6(s_pK-M@j>A_-3a~Dr$3!>DSgo?ybLFj`rQFlHfzON)KUYQ z#C#NKS)b!#7>D#jl)FOKty$E3-mnlP=MJBZfKmJ;j;68Lz+8f$mep~d35fn^8gK|?JoPZvzA&>#ch|hSxdQmy#h>3ObNr2NTsllc0?q-c*5C#bS>ZKo&2bbN4RJ_9u^r z;n8JE91kjxC~Oa4gsgY*Hcs5{E^(80Ql;*VeAy(Rp`hpAp%0VIit|$XhwyNG{uFcO zf{LY>Yt(T`;v?pTX|rT+3F^Q)4xJT<2aRqx_}2SLMwkH`nIzgc7gL)hLQfYTvA#Yb zX)iqKC~{8SyYF?E3+mf+j9F19+46RX3>$kK(9oJL9>amOMrycxmr+W`mi+TmF;Oji zoF&04eD6zr^vgL-?^#b7ad&;(BR8X?_B6A@Vx!WadXh;p@Sp2c-7)l#wqh(uLDLyp zD*T3P3D68vAePX=9;o}egoBvt<#pFhKlx8j>YiSCMy_P>BCFv6(FRPTW!b9*B{WL$ zZy71{&qGGG<8q5;BM`1zj^)C8AhKc^sNihM2!7Kv&^M+q zs0l)pHp7~b(u?3Ti&2qjM9$Q1nUJ$<96~!PhQC7 zgfW%XQlZUrT7-Lh7wH;vUW-Jj34Yx>8^oXyv$Z4;P|f2VNZ*|Cu7t zmTX*Hn(WUbH%u>pEPblcC9Q`9Va-$W1vfbQ-05&(c0bA%q{4rb)n-xjSYY6(T%Pu& zu2V`FR!mo_pLQ+eOTEYdn%<5@l1JPdwF0>Y>MM>=cPfTMG#pfg2Ku69?Wr-(Vvi+b z;Ce8bz_a4UO8}GR2oT>QL9LHEoQ1xkbqMK-8@odc<4sw;r6BB0luQ#qcru<=!e0E) zjdDGjAMC{^ycEWBG!*A*bRowQZi2|GAIV`2y-Z145zv@r@>CI zEk4MP52)bwobZO6ouyPC;L!7K?WXd->Q)m-3V`Z>i#-`sJL1nan6=5w?2vA(U?I?f z(RKu&fB3jaAVqi=SxTCDquf9Gt4L5B9umD(K{+bK)3)`ntXHi)WP8yh@8qWh9_SuD zJpEbL@4hX=)3lf_4gcvd(3J~bt&Ye@9;FK-b{(1QC-0|@)m`pTg^&?#iA^o>c39Do zyiJYmF$(6ZEj}{0ugu z2g)msa^LLl@g#PzhRO+isEiG$FoDivEt%hKk!KlN@B^ZEu{4n-HJ!yg)77!xLL$^2 zaQ)9FB`0L;A*ap358zgIwJjW|yKExnDk>vOh5t9GTp&>Nyfh_ABP}d~bR4^Duu5D1 z9tXOA8AQFvfW>3x-zGvi?@!p~J4TDs1GIR4i-% z1a*ZewR&czc7uw_p}Ml3{yMGYdMcRHM5uJBsb0}UxED{t1I}23Zgjjv`oeZu6s0%o zWONX%$YEpZJXkZEq4Pi_MrKXJAMAQGmqVg6k&{90%^F!#aNA78GaVGRR0D4neg13y&%@7^KAhLw-bLhD21W_PF-*C`VJ#?h*A`?t%!C9dwL?HD=ze|65 z=LDrb=N)AcdDVaWb62VNw+cM3jNKzUflm8d z*X1|)k!lA=u6klB&3jS?6YcgLZcd1wa5_>;vqH7Gf{pscf_c30Q?Y)Pc@(4B^nc{) zR1uiE*c4G$y;uU ze;D#ye{UYAbM_cvv{NvM{ zE;nP5|HaZ-21MC?UmG8~yBR<_q`M^~6a)bQK}tkG1f;vWLApx;>24S)kxpqCx?#wn z;eY(S?-xJdpv-WebN1P5t!sm2Iqz6SbpsxBm55h#jDlBen%mx4YhAaXKF~-;;l@A8 zctK3VR_>GCGiS^wxrI|B09TSgz576A=ShtS;{!>^xYK0alQS;(=N91tTi&BB=I?Z^ ze5rR`&cB{m|1#0E@QL3UhnFI>WhoW`pRd8BV1YRN`m!G(lF-WZIic*skQ1Jz)M?Qq^jFW$$^C2=CL<4&| zzfp_dJLn;oE!NH%_~I?AF*RDhLO#z+)b(4Cwt|>x>6QZmslE1|BA*hf_s=QWCVNVD$%n{_?@d@O@p-gxJ~Y36a+t_gnf_vH z^-=ckLE+G~aMVW>nFOWaTtpy@UUEyd%WMSazvS3uW&7O(Kw|i0{H% z6aVc1(}H#eMGCpV7%W>5=}Q`+DS72-()Q*oYN6$c;SdO>hR^YSC&DN{|8Oi>r$e!``pxskrOc>(yhD*4 zBvAW!3Qr~%_%!Wmr1-d;*kAdK7$%B*kq-`}re`E`C+_=Tp3}A~%uTbHd00dB7Lujo zbtp77FaxR!a8Zg#$6r(iqC(G7b=2LfN7;8bhxG|-HdD1Dd6{xFRei_)b<4=@4a$O0XjrAfPBEYPITE^q)FSq`*BXq2mh3*72hqC)H+;?|>F$Y|b`sl0e=>X; zQx6L4&Uz(!=f5efY-|3nOEe5TbMsNO8Y|8^B|6%uD;n>SJ`eN9LDnL?U6Z8@D zJ*G1Q)SB3?Zx-z3Zpo(+7MRhZ;pvffI2CCj5cQ)pSbWBXMU*xUs1imqVrp04)r>wy zUIA-`^d>Q|(Zu~}0&TxL?^DO@c}{c3jG6zaK=$OS8OJB@8!>-7ZlgV_PG$Fahy2Zv zZ{C+NJO$Qs2KVL0KkaUP5){MhfpcO`5@#Dc{gO90ipK;gv-V3CM(4HBZd}wr7Rm0} zof&_~fv=}Pq9~?}Zjdvh&+LUqfbk5nlP2GH2xu1&UPmax0*4-mlns+dssgMZJ7Kv`=^PW%0ZoV zcsG$)q!Fv+lOJgxP_M5qSAJyh<%g~XDcJE?{_Ikrl77IRhu^ap6_S>YDknm)HRISw zRj-^Df7CtfM>ZLNhSDQ#K5;gy`zKybVXDR7f3KQZ7|e>|J>a^Q&FdDa)%-q~L>7k1 z2j8u~W{7CKcQfWS+cL14R70+`_v9VdfsIdjpX*ThilbUM#u-m4Kkt5QrEY~;W?t~D z*V~}tFepJ|K`w6mCU$h)c5tF&jW)k;h}nML0^kZn7p9`bCe#$S@)i# z60A2@n6l5Z=H0m_sN+6BFBejsk$(jCv{K#?05iTs`6W^+ubuBS%rauFRQ-*f1iB3T zo8*I+oVQXw5iVGLEUg=S0|v$gpiGbNW_|0iySs$WT`F5AWh0*w?pAk%^OES?>6z_2 zMXUW!a=6~gv}X?{-)M>mo_$nevwQc_cDz88E1G0xr1waGMqnA+{9U3jPp8$KYSYZ> zPD6R!NDC>?4AD?m`4d>*C^~Uni5}O<$s`7yCm)GGQ?2d(vV9&EvNjtvR;kgi>@$3# zA|E1sk#EKbK_iw}Lt~}l8PiS|cjFQ~fxa*JAJ z^@IEIv$x;b4M^yiP9yrlSoj!)nt}y;aj{QMt%jCE*KPIX791O0(O6yQwjW+Yh*~=; zbG3VTK0cQ(9>pN)GyG3J#y|S3zwLZ<;E#8(X~?l_S$@@xdz)%ZixnNK!>s+^cy>fw zc&F>8!R4da*7KiGqNYV9DAb^9Zz<<0oUV7S1*gcK`6y-+)XeD{bv(eM>w5Qvao}6e z9{S~QQ#7FZtPjHr5H&djQY;v$dhtwPmHpxxzu7Kj=k~~*&^hQMlfMNL5It^^ww1;96N$LfW?}k3|tg-r_fF532k*}K7#USYNfc_aO zXsP!LNWXIH(Y||s*0C^p;^83RE036y$*))cxbgGfzM=!~4ov8$#xs`At(23cOzn3Y z+jrh|Oq`ZfcmInGxFZ z&l`Q|q{UiK)~~xi8Vj=i17V6C?{0w|&1B$XW*chFIGBX~IEsLcAJ3tyWM2{uRE>2+ z{-(#}5(2&n_#e1&0$N`Ph zeOUxERvL1c^u{IV_|MPp7I&Fl`RIZC#t#Nm(w7ANmmNX;5(AP%rI%j^sJGs{uk#!G z!yXipqk1z=%|6shXEDfml}7Z5KjdF<>7T@S67pv_}j_C!sZXa+fI?XNyY z0wMf|jE_HfB(bN#K)2E4*ZFa9fsYat)E*1 zaV$K`33u8Lb4QL^-#SW&gT)G=pbi@1Q1w%CFef)-c{X-9FI${ zk0$C!y#hYlc}7>I+bEfY9B+aDpLuI+&mMAod@8nyEOk>fI_w<<(nY*lxEm>wO1Dxo z?LS8^njch#wB<+VMQ-7MM@;D!+tp+QN(W=tT&^ke>`*&&E{v`IWn))pv&EH^cWxsZZGHSQ{p#0AP^fB< z995Tn*}RV)CN)ocU~=Chx%mqf+G|>dg2K4WE9sXRWSYy>fxppx2{w>l6eP;p-*X1t zM9~YMl0+#7?EFbkmhnZmUC>FVd*A~#%|b))DFPS#K!&FVM^o#Xa6zZGb)ivzOPbOK znNKJ$C3MEmbL{fE_!hTtMb-9sIp*HiZJRLd@pWPH<~I4z+U{?CHkt7}sbu=C#^`W` znZ$q47au6q{_t|e0k#}=O_{QhM%TF~5(314K=2T?ayN_lvN|s}f|C82@+o&aH~t>A zgCsc(o1LE80t{G-&bWz5ufWG^y|qFvVZ?6M!$F*RF!}s{aI?9luyZq!H+nZ1P24`1 z2eP5@;3mH1Sy2X7%)hSVr#d3O|q(e!%6yi_VKnT+5O=-ZD%0>-{4? zz-2IZXWbfFCz5u3#sC=!5;7@S_p?{vb`&*JgPDX8;!a)Nk~@>H*{OlX8T5~hw6uGJ zqW9ukrztFc0T1vefI1N}6)Zz9>A-;$+>0MLyTNY#X_(+Sk{CNsVG- zsPx>6pP_$6HgebE{fmXz$6`SU!}433(T*VcAZFHBE)9up?^=D?Ld zY$m%~HHg=GeTgS1QLeWeBorX24`u__M$c0O6(s{AQbQFhX}cAI^Eb9YSaq^-<%>5i z_^6L$PRK@t&=MU$H}^@s?xLo5^Wlj4nouP=YHu(88wy9XamG2MTb5aL9h>q-{|-a32hUay2PkelscpkmErye&8U%9(7%>5g z!Cj&mWYz1xe+s^L$Idflb>e(wKd1GP_J;OHQZ2_d9R%wP&M3JzWjG%O62MHiJJG4( zxr>LF_eeaoS?QOLL6-MpBYQ?eV|NRYY?av%6a$HYvi2kMqb9h3>X0^!K6ZNq4sTnK zx7TJfq68@>Sk-6vaJ~IFL5p@p_F1&0&Diw(Q{eTVhu^YX%sfQ@X|l@deYR=Ye2De3 zQaU(7#b@w-bldq`!cmqT8z~!i3%X3BKS&=1p~p(IU4FDZG9w{VhmZTe0vSSpvmv0o zU_z?K)CyD6d%h3|&F7WD;Fx)TXZ?Y=P+KO!_>=}Dq~_%>hdabw>Zf28T`CS|M|o9S z%!|UsX--%!_rF$X|F~9vz9E44Fr=lx3z}Rgdz~G_W5q}f2i7*RQo{wa1m4|R7Wt*1 zGER`4Pw93(OxqIjASD7`{pludHn=uYcq+DAH$HR@G_jg$L>^J#U1;|A^-7v0>?9e8)AP-HOYzq_+#;g0E3uqPurEQr<~+T1vka zOZLLGjql+DttA7ioO^;FYQsB3J+TzBUk-LZl1qiBfDH*%`~G=;XpY}xUGiPcwPn%Z z4|$XUiD`}fVI;c6n1c4>Np3g$Q(oTA03Hx?y1oe zotnd>j@dlCkDlDgajHREkSfik2Jp{s{2`uUnTTk%@vMFT1(}Ljc)Cp1wRtd z`Vjf>IUdvM=}Qh)$&7o+?1MNlX$^#;$u{Ottq$=Tt-6-;34_3p}EvnFQd z?GK^>B+_uW7(t;nuc>0c>>SzvR$dn-Ac(GzPc|(i7Z{Q=8bvPo(f}6OT!*A`dU=3K z(NIX99Lo@RC?a3P2CTRJ5E?oZ zWf(4xe8n0#KsRuzfDCctdrH#PUYhD%1lm*2tTcSV^U&c4&KWelpbS{Db4n4epahmF z7bu_Gp}~p12r9WoQe^*e7<-mYz;qKAHAn(0%mE9|qIX*4yMcWpypV&C{2hlUhgTG) z)MaD)@XHU}shmt+$GDi6*zPx8tFm(PF>{-p{xx!zFvfq^&e40_xLiq+rBdfHn|`gw zJi7$1(HTH0f=X1+DIf>y9{o5;jy0PGbOTNOKr3P@FTnx4f+c=H*hJq|;;`|5GYK^? z1Q5YmcT6AvlSb0}Y%UkE^XVS;f2C;s#s=OUY2IZZ;So|yOL<^7o4}HbS|)X@X^{gRLH$Un|FK@;xBa^_7bUS z(5~8E_J?=$L5gtq=w>*rP_$7_Gda{|@acud^A!F>_$^iwvvyhbpN-h|!#6ZOkBl&< zF%A&?L&_(v{DBAj^9T@ z6pZOu{~0F5Yx?j7E;OJXdg_5&?TN=CqTDSQCj`=YBvdEBYF2^T=R(a6HEYuLn%tWN^5ucNkZ?w1o(j^Z$QgjW&Z2i5xfW+A5 ze>!S1QRzNzKzjGSx!f@FOq=?CsUfk+F|eScW1-MU9r9u7Jg~w(OoOD-oY?jju_rcX zOF<+lIwh^J=B7sdb#g%h?qB!2qV!AUHp*a{up8dyA?J9~J`v{}cC8E22!hnIDC(^U z{SN7zy{%9HY`|&`r6V-$%dZm1tj(#c9G_DKX_1v-+~~w5ICS#l2p6Y^*}A*-B>pQh zCq5iqR&(KAf%wAntv2EYV!LtN5ah!x+nDEQ}i-pLa6@A zDbj)c&+!=byE=8iHON2guv@FQ#j*`b@`ts=-wi&}Uu4@6WSu`f9la+!bmyPiHqmaz ztU-gQe7*|rVKIiFe9)+qIktH@Xpt|aHjD~mu-_stp(}ly&8l0p=h}Qb`ZnPjUQTVm zs1wQEF!`|J+TU@k>y%gjjYL%8G;=gT^qM0|Pime$*E^+gN3^i zZf_2Zpb*AR6m3ghwM7W$S79!t;HZ}?>i$?BlB6lpZ`EXTyIhV9bx`V*ta`DR=zOS? z=(7p&@MId5t^P)?1QKGR)*`zukq!1Nb*Q~V4kMF(kBaB_Iw*_Cy8|(!Q@7&oM zT=PSbFHlNUA3fl)`<{I77=%WTPd3TGV@U7WkGYLuLjcz*$>1K zoS*Wtye=gJ)()kLzebW6XS^-9Rur5N%kQppEyu>v{&RrPkPj}9jXl)OIeI`^Mq#8W zKWD+&YvVR&=guJ2_OI}F9qh4Q0F*&*i~C(mP9#RkzNL=;EG8qeVz4#hEw|m3*m=3y zws4ykrs3MQr9^dQi4s)kqj^nEpDu3IxaKAs09=ZXZWMXg@A-@^FKxj63FC&XR^e{#nt}}sMXTa zd_gwlXpjGdn5XMV$}Q!>8D*x;3A|jowk4*A684+tV+kxl9Im+5huYrMiqJWy+O7tP zVl#wva{3umaquwZ?MyuQ`^<9Al0lY{E8%KJ^@5A#9AK<@<88BT6b>*YDx+6IM(dJM zR|LSEP7AOcuB|)(!8&gf*JOQ6QEaHv{of}f>$FpKR<*=6KAEQ1NCK_H7^xU_7fH3AC-JSDqr z%>1CYA_S!~RV(keNH`fs#0OSQ6|6CsZ&8XQi%8CU4uo(9>jM1VHfyk#cBx+UmeCR2 zHEN;oD9?ZC`HUI6L-!1xn48%b_Lrbymps#PP?mP^c+5;{NO}4T-0Dhhc{LcIwgH%~Fb+(ie!X@IKBH0E@g)#4X--?1JGG>xr z4OTK|ohuZbYm?Xd)=U`Zhe!N6$*)orlQXNK^bWuwb-95I$Wlr){N)NXC8F|j+TN35 z#hAW;EH%g8ajR5I(f#9bI(_)zwfRzgtYUL8zsnw^dnVoU){^_AkrPXs^?$XBys=by?S@2r>#A7nDiE8iH2 zl^Uoct7a^oHLe#mCbX=yQiONhR#R8a!oBciW&+ao)c+Zm@p4pmj){MQU1`=^5ioe8 z#E4~Ja%Xhh1=q=ue46**+V<64ajShQf&z=tNZtMHL;54)9lwBYBzIlDVbyKy_lHv$ zO6{QH{@9QA$0U0;c-wfNYJ-o%w2E6dikJ$0qUgm-*vq|QrhR?FfltRw!J4Cc>+-iS znt*O8xZuy$7DG?*r!sHNqud}@(njn0HNZwWd8qs5{SAd8+jN14_~mS_#WNjDwzm$G z6gtQHOgdJR;%87ci3q~j!-+sK3J2Qmu)cs%olDQ-p1Clc<^3!2XjGAnzwd}~qm+;5 zOm?;^YPnr*kFtm|T-$W-$uW}!K2(1mtEsJ0w0Ot)*ivNUMr=-2X`udARMvh@RUdxy z3>eSQ+UcKB9<{j6yO$amE{Nd{b2~pJD?RXRUuc0kw(stAj@dL@rmRB;JqNH3wS8Sm zQu4B&fviGRzW9UP~LJNvc6o;ed(`bgmFw<2hZk_)OC zLRv=^q2swn3GAJ-T?4Q{)c|xrVy5~WQ`5q??M5H*lMWzUta>EW_h5g~3Cx2) zoezVJeJuLm`wwUMe%AEu_>I2XzDXt@`G_~HoCaID*ONKn76DL+fTUoYLo=^wvV*&T#UCII&Qa}zS6zoo4NL2hqY%KHkP)0 zG0%vYTe;WdzIxcJF^nNqBS1OO^L+~Wvd?V}?qFQo;!7!<F_D%8W+H?J_HqrN(gH>KFkDMz)Q_^>F5(Y57uuumn|P}J2w(vKY=R8 z6~3A@=T8sR<5N4YGOHqjeRtpD+L$SO?yS%v7<7A4 zFKQ0k)T=qgms}a0JIWfB zt>M{b`I(C9HHu;l{s5jw{H~^X@pps5Iu~xlDl0sR)_(x!)PFPQnydWrfo#4%*E>3` z_@99H&(EzW7z|GqZ{30SCM38-P^_W=n??7YRQmb4OhMDB`&XcqT;q=<|48*#LQzk? zTgt5BP!AZokp-ZZv5GTs<85t+nsdC6-3+pUn0V1$v)Oi~xEx1vAHL|6<<~x|_rRpW z#CKhw5G$%q_4z5n%D{59!It&*YLvb0hRKJWcw?({s?}TP)`|BSq;x`l*flUu)CI+y z!g8j3gX<#Dv{?t`2g$r+K%`Z``%Kx2zL&Imjq4X*y^opVnt+Fbp$7A76 zV4ant@e*0SEpD_{iv1n4k}c(=FI4rHFlcf8P>FfxuMo!e7eiDD??UUUT5I~Ux>X_2 zNz-^wqOda5B5Rn8t(lahGlaD4)1d~v8evt5ijuI2h5y50jiT=I>cd+KZ$0g54t!S2 zw=dy;?C0vY_Y9=VUb?#l{xa8vJXzgH#CM|Rpv$?F1!$}zmm!jr;iJrJZ{v%pW%sRp z`KpHqkxnkaXPQ#GM-gJ(;48p9etCcuh4&|2zvB>;OcjE>2zJ}jb1*!G-oSjSe zG(A!pdv^G)&$pU-sx$~o9io!KK!rSnJQPK++_!_O(WZ3cOq_&*#V0RprY;2ZC&0(Q zBEE zmqo&&WT++a4OQ~nD!b4jwWA^U8495L3Px1W^-KGr4+yi{8AZ)^;6zE`M9y?RI$;yF zyBm)Kk{*Lx8-ePvFtfrSKPfDNA@Xm%d}CxpxM4q-r;MKF_m zhT`IiSTh1cQQGP67fhp9&w%8{#+{*p_zBY1E%ASv5>&DuD9ZqbU+<20?w#*1YnbeL z@#VMFQ$9ho>vzzC<9Xth+n$(vq!Sf7IcqhfcPwaedrJ<920D^*U0s)n_iA zCA?b5n(?e;J)Wm7^@ZDZWqOx`gZOP|I{fU+Kn=dsK}#!1ReM?O7Jc?d+EW6w5~}xZ zT(9#k-+1uDWH$CI-5jC*{3JRyPhvbmk^07jrS)w@r*pVt7ntr!Ou8oddsL4 zPR4U`8B{<5=sY#DU&fcZ15QLGjVc5C&&ZxfP=S`?+wVaS(x^fwlvlM^kwQo89~1w_jw* zCz65?a$$j671TLLwakY^Q8(-alF}^2+POqnGq0FzFLlB-@tKjgtA2%o#yPPzPt@9?0 zU-kQA-yFMF=@uyy=oyATjz>WC?ty2WzihOu>66^6x`D>PkELA z#FP}PIZtesvYHKKaDxb61I|FG24&v*7w@DEF%b}c8%p;{y^!BI8x~t>1p;^fNDC@7 zb2|$Wa2}Zs_>+ZjYJI$SNZPZjK$Y5XB*6zU zvjK7pst*O;IGhRx#rP)p8Shot+Hd_B=fQZOu#`DM6uL`_?-(FT=$~T!!WlcJ*hFy& z0*>LdkrgoHsT**=V-{N8WdFjd<{1gpH=903mLOu{hK-W<4bbn58)iM%LQRlNLus#+ zV6lC}p*Mo#5uPvfsg0H~v$*XDtl>x?*FtC_Q-XgYs&y$6F_LoS=x4MS{0L!)pXpx;I{$t6NnUC$SBV$-J! zeACBP_zV%-=Z2rCVL5l2{uAjbu%ut+A2+H$ay+qQ)SvX0%kvh~Zd-rvfiZ3T6ffc| zJxbb33Gd*S`8c!B0INo_+QXd8N||pOh%>9*ZCLlKJ`%QMrWmE5OUU~hv)rEB{TaP= z6(T5lS*6HZAk-6C0{_@6fVB+hVYYVEVZAu5p$3mZPW2Om~H}~j) znJyD1*wwD1fv@9x60J|Nh=4guLkxbHqt&{glZ&_;O-OZ-8em^*v||?BQTFg& z%@#md+B;fLK>6U@iWw{ScB%UxrfC_;p0J?pJFhvteuVdzbAFA&$pQ0+6n8B zgtyCHbK56tgEFUb2+a_AGm{2Ijz&9rewprbIuMP(?P6^EhSk-b$G!^{&@TgX7M=qZ zo}Tl)D>aUF&WXi8DwX{;4Sj07IRELaVKOIIYsTHT$uPB4kQpOJQeZVQz_n#oZ_k{F zpae#yU$2bu{A%s-6umI|wE`cHQp;(cZ%c$)>~qUb#;Dk~peeOJEX7-EZBw5BKwqQ< zq0CX{5;wFJu>Y{(SKN#=%=W(<`=u`ea~n;~bKG`6MQ{R^-BG5k`6c#YXLEl0&%qnl zob?GCyOIjC?alMo%@Sv?vKem=4gpBG{S{^FQBj5b^}Qx-LWoGaT^mAiR-Rx1LrEp` z=H0}kUGZzpsl%%!-HSE9etUKZX^<%WJ~&W+p>fx1_0W2tjEBRE+KxyU8`PSjIaM-G zRn}MyuV+*k-*EeoaaxGVG}=a6Tj-mTnF9Y@?QMCQ!-9PFGB?9b=f-s2rLezw zMD0k1@0PIxz&HRlbF@m&ibZ-%d*0=h_F)g3vaI?+Yc+w#*H)8XkX#nMSXN~dcAalR zpZqB|e7WEVg*SKsXksGS68W=)rT5-aMB`teC#rXv0^oH&)7;3WlT%!;JC1Yvt9H#B zmK`BTC)MO}R8ocd!pJ+$zu(r4`UXHma^Bsm4)@enWu(Xn2ugo-+-Ck{i_F#Noj$(~ zd$lhGE9uAvaL=7`>_6=Ylg66RwohH&Xz^6SICf|8iLTG`5ABTeeFl0(d6r(>ROh%D z7zwq%^cXRAaW8Klv<6LCzqiY>UbAkW(Gb5SA2{Z>?}G0RGT1vDSo;e`SjBGi^dw3R z=CUpXlpk*wmIm}veL0^lF!SB$eZzf|xoYu7?;d5>vqScNijz&!dC=B30VobG?coqn z8neS^4%R8(4o}nmp$DZA|GgX(hc*K2Acfl|&y(e;4luz(d@4qrkWSdAu}@!cEe=W8D@$gAM<+)6WK2?EizjLYn*sYgqU;%|IgyAc_TK>0ino^+Gky{4>JT?@`i1 zed(LI@ks}E_^nhov&Gw`MBO=%%~RcMGC0rriw%>PI9We8q7=RW&jjcbF`w;3Cr*#N zxHWfheDH5|rtEjL1G8vQ>fmj|3hh|`=0<^YFMDzD@p(#(C9E$@Brer~>x8%x{i z+h?CrY?PzYl|M}NNO4=w2)5Za-xwWVFOgZTD7kQ1A68o&H5}+XlZDsHOdoE3g+FOE z?Bh0H>b8b#dbS@f7|va4EBf8^Z+CB;wH{_jJ+OFQWg*Tbj!xT?;9i`!pVa&EO&5Cl zGOHg0oX{0`HD0Y~h9NgRAiU5&u4s~xK#gMYdT*5#sB;qPu z_nRj|-A%1@Q&)P28X2OhP^-nOc}SD7NGA~P&aH3VB_Gq>vF7?6xIOL$eU&7bfgxw@ z?r;(m#xy7E+_?XFW)Ef@dH)PxasXvK@YRN&hBRNjCj5Z|@F+jU;28jjK#W6tad{fu z&ad(Ejot~)znXceh6MUvfl?N)1wj`_CaO> zZ;iX(nxj2W?K5wsYTr8~cqm(^0kwP>d&hHCx4-h;%P+G*_tZ^OE!#PR%wO66AFzMl z?{1YV5)edk^Xq}R1*_5qn}cN0X1zYVfCc&>XX{^4%3vIMO zmGQWVwHM}Qa-Sxz_JEL`%Xt(ewDFJI#!s9Ufi}8v8)A6HolOEz26n$MJ0gFoaUG+- z@pNYq`@x&fJ`aDyn$Uw=_%4Y&_j>@kBew zCExGd_`SYOLX^Dfx{N{SDyD}a$L!hr;~VY`W$bLtSAXbV(p4|26=_acX7SGm)V4bN z?@kl@^*-L>7i^tp9XX!wKZ7A1G;uTA-_{-ML|6VxX?f2eiNFC)+c$b{GDn5MOP2IcS87XH)PmxKV7&6XU1>`h+*Zj%@DW+~JSpRC!c!C^jnerV@cx@3TX=>o z4omW!F?zssQf4e#H6Ub3nMm%2K8CLCk&n$YLXV$-D*><~H-_QJV3xl%-?@4nt-m>o za2)=aeJvG?dYLcr?K`VyLh23shdx8Hjp8Y)*;{h#fvRJN^2ElDh@4^5o&o@o=uvMA z0GX4%uxYf-qdWo3&qaPqzLK~(H{>nvbFX9Rx|XVeiQ2`W;$Qe1KtuIyZ!tFOc@DQ- zxMBes?PBH*^?$*tyjS%3*RFKAb$378m#MW=KwuHL!X8_}ggmSO`i@Yk9pxxDibHWW zYjytzdK)B{#GBa1z~kbdfB92pMhgxrbAHV=NM5y>7BGy{=QfKtv_*(mQb;9|vhcf5 zeX7j+NZTAg@%wtEnMhRnxWXmSBk;wNIh4U;5xw+c2!PWTAaq4dH_TBQq7?1~uh57q zk{rLOtI#xwxJl6;k0SNnz%Jnvl)W1KWs4MB=NLG?8{^4xGdhY z(I?#{TjN?G;Xv#>-#;7I4p5pnTUlvudP_j*%ECcXa56)#p?~_U9ePLa)BOAvTG7Yz zap$c59T@S|$J0=NxGbBVS88QG=qUKvx<&@*XCePczmb%SkW#DreGBF6hj$+mxaD71 zce=Ky@{$b29epv71&6QZ^6|^Dg>f8U4V54EwEacvrOo?hRJu(W6yk(2#1LQMD``L` zC6rioDAR`0Z!`Oh+C?S3Nvob+Tp!xvAOWl5)<$v55Ia{R9)*LZa)S%^wS%JIi*5@# z`unlV{*gOU(cbpyLMwDIx{sLBRd_QR+v>X8+^sxA!v$ca%nzDfYq&{4OrhW*UFOjj zF(R=TlYh6Klg3q)voPuTABr4y`z0Pj7y~{1e=pxu2O9diym&#PQO)@xZu#js?SD_1 zo?`B97A|{u%q^wC=sX<~GJ?n^xYI_@jx9&#S}j~%mgmyoZKxJIMwXS@gDPxcQPOc! zm@o#%Z4rzb&hP^#f@t!)guVQkotE9&9nI;e!3^&M%=Y6UOh48Jx{_L6|Tk9mwCY0>!Yh)t#*do8-eU6^S;+(^&KQ=b(55=~8t~gojz)iw~OV=g){OK3} zzk=WPCakVFm$Aq<>tEK+a}qn1=bz6%h8>-}DRUz>%5xm#nW@Lao^2wWUnGDdyLn9rUs0gBe9O2&2E z`eOC^>q@9TQ^yQzSnQ)7Tk%UyoPPMLgap?G)aeqkPd{hq>~zRAiGoO@XGoXo@UXed zvwU7xIA%^;ZicQk$4Pa4kF%Cs2_k-Bt~2IyuT;#PhV@e8@g(P)M*Fv!3*o8#Mc8~_rRT^mxQaaCL&u^A!{zO}7naeg4RO+l z(phBJrFa^h1-M3Bs zOp6q5q;;p`9dde|H!g*NuC%2(v7Y)f2dWnv8l=f;u{-xhhhLD*#`QxQM#N@7)UU%; zRcY3T#pSozpov?n7{`}&&zRpnxFH}lxghObSJG50<>voZCN-Ipw(AH=oV(j`UrLhw z$Qd7xKIXOx?Uy{3kKnm4(y{D1PsZOi$$ffED3>pFEI~#@>5SABU4VQnPDZGHsiZ(; z;2K^*qMs5Dzb0IK+WO6VgFMkfI+!eCA|rN%E9>>m2Ap7Sl|Z{Xvdd9K)9bK;7n+x- zha0Fu6)Qz}tb`m(BAZsGSJtzxUWu z%v*O>U}Y6M(3(n^dcG5OSwgDQReX!3w~H23H~yDF_S3b#w^qSD$9yRRBX?RWG+4lr zCf=TP1!oS|ck@dSb$7(yf`}}WX1#G^ zPioFNqKG^n)VBvEo73lU{fcFlEi;oiHJqK7a1PmldFKn?Zb4tLh+d`mI0syI9>QkYV$`-@QKb35^}G~3PnRlnAbY!0 za9#)oAM&G~pW4E*P_w=y%^G^$}_gRjUFE5p5<1g&^ zj^!3`y__^&uw+y-^e?-l8vd2=4q5Gn{u1a4?W}sz%G>LXgJuR@;Bm?Ee)!9Olp1Jt zb5M>Up*Yq~!YP$Y_8+>@{{9sNJM74d=7&mS=ykTL#r4;xO!Je)L;N4RHL7f?ei`ru z_H>f3#mwTrWg}iV{P;a%=VWTW1)^Kf&acz0K{e8ne5d96{dl0f*o#{BQnSVGmj5Jh zq|ZQ7?7Znr>MLUta$mgoDs_`Qq8KyOz)Ul@k!R-FkE-+#E#Hv~g+AKJGyB!u{oR)J z5}^bEW5T8VkLlbkl+##)LsA|>bFDs6cpN*QNnK|v1dR!?rZ#u+ze#U~{!w83!R|VF zeR*cxOs9K!IKLGYXBwaJ7aQ?Qi8JSFIp_NWv2KF*F>6!z<Ndj zOtB9XxZ8JxZ-`0W{>-TG^$D3M#Sdz+WygN*G(&t$291C^aAQDO1hJ}~rSr5BTWmZ* zQg9KEc!1?lHHZ}eE~)8Y>zu?)@!BFZ!#_LWL;zIRmomyaZeoAkvWgzyS>*9-_j zEQi=f{^mQ}L?kx9Wk*Q-;hgU-MyKo}_C-!x@)gM5I9F6WdL?%`KFVVJo$NR&Mz(5O z$!VXr6#6?iI(9OnPPmb52EO;CE5lytXy(k@e5BUtVIBNBPdf+^M$`hCrk>+pN1QjZ zucUtbybNvjAS@ZoXnPE#1s2O38H8f5u)t2N>NGmpEmKUb0Od4B z%Dq~H?sV)^7ki=WEIlU*HC6;a>$$k^Nm54t;)R-a1#bC&A8W#I1S&fr-UMl$Q1!hX zo>iPV2-HUUP$V+~>V(EHuDbW#E2upP`mxi#3JZ6W*YQt0d_;D%2nbMKn@w6)UJ z?%_18?(y2}s=PLCmxXGiJ${z92;l`UPkpfs8|gI`#tpI&?{=yE-*Y~;z%5Kb`0-%I zgcs2Y8FvkSh5rrRI7qc&46)C6lB`J3pVD?1(=Qlm2UqcRFyL8!o zjvVI*-hMQqUYFykn>}Jp5Z{aZqaa`I7i)SZlY>N9S@b{*eagQ_e}_Od{gZ!4v;f!A zHYn0`yHTvNAwthl>MnYW;kLl!=R}H&r}()J^;Z>~xNaPrR*>CV2tROm27aq!Mwn3V zrULr*gPrJT1=Nz67Z*=-`Qm8N}B)ICLMb_p1HfwIIIcIZrSVR27; zsEaw@b(<27Ho@vkS7}50cW#oc!%N_3M_!rct8{f%Og?y9y$1ZjxntpDSkJJbj(jy% zOkj6B&mL%$Um@IBkVOTH$+F{)_TY&Gu@g5QoGv=5P=)r4G}Cn5s&%U;yG5%c@u~O? z{od#msbw^*gTQb&5YlN&B{!(cVj_goXJ-%=_g}e?PD${M<6{(u%NwuF*GOx(UWp-R z4-sG2QL++%M@wY?DNfnx*sV>p zX!omd%Js$%qTjJ){`0K+k_wN{4=xISTXkTzHr7-!kbN!)^XY z3em@le$muz*>(*3bB+{H!E7n>oQ1lJuTsAUt{+gL6L;d|Hu46Y$cYDcvJ}IAN%C7V zkIVpgW2}}r77?#(@Kcq(@P7HltpJ-f7DQO{o*UjS{oXAQ<3|3-5F)XMG@wP-W0ym% zleqjmwrUT}pOjDirn{vg5^G?Rjz##vOtia?(Lyp{Mm%B25cd73E{B0Q8YL^Tf6<;< zw!uOT4)UCnHj$p<0ux zi4i|n9F98g<4aVsVs>f$)O+A^JV|mObSKRIyZW_sNn+kv<@Ou5BcHgH7z)KRQhcI? zeVqJ+N2QZqrEUT1;IW9)Hu9a0>od1Oat1SD6lq`)U*)dfG`WOfLfC@1tnSWX)#wMR z*U`7fttlZq(7!Y6Ts4=Eev4YZNHBS2|0G)Fy+q)%?O!}`uE95=TUOVKD2%iN@KZga z&>XeZG+(eUMyk->phS}|$=Rp*s}nDDQ0_{UXee4)ySiv2MvO{FYFr$((V zjftRKemjPx#`iCmcA-6#4XneulB#3PVHFwNKTfB$2;7_&-N=scLdU&!AB(x&f@7fB z(cGH^4bfrK36fjZtM|ihQ3#n#l8{g61WOls>DviSLB1xz(HQ!x<>^Y7 zTq#=a`$8YP4G@Z|FFW(Zy8i@k)%oc z!r};b?Uy=zr9BRc|Lx+(jrv4bQ|!^B58+#Okaw>Hl~8=fF*U!d7xAWl6xP4P`AU}j zo9OumhuDYDfu>apM-qZVu~afEk_S)BK*{NQ#kn1nx6YEY(jYVw-FvKWG3GsJ{$0jJ zDE`gur<4n!Z$tm&0%-)P`xFUu0)(U;TGH0fC*}KdNVSVCoY4^ z+P0+EeLnKH#uYe+&+wg#ypwMn?Rp@NylcI_1Wt+JQPKpZ_M+EC6|85_NU^R7rsnT;q0$@T2|KB*ez4s3Q^ot+#{ac*e}=obSo|0AV{Y)0@5X^ba$5^-O?x_-60_$-O}CN z-|{`@d_Ps>+OeLQxoZ|){`OC|!qT2mlEJWd>*uV^#Sz`0>Hivdnn%wMs-o_9Pv1@7 z(!Mx*kU%fFw5glabDm>1nZ(S099jlT9uVc!DB9(?RNYS991sswnXQZ@2U#EWN@)Fm z(EbyS(FuGCz=a}*PGIfE%xDVzGqR*^rZi)=Itxs z%pTs6SBtWO4!=0~_tf7fp;oJ&%sCK5GdHSAVp!zdoLyadFV~I~-DTS6aWGq%==1$r z&$>gsF@M4%*m5w*_B7S^0h0iB4SV+K)VQQ8Ife9%Rzzaqf;@Nt9Ax%oR=)aB+Dt`e z{1*R_V_tYEcwcw3E$6pxobrd=BO%)w8JtO#bazY+Y%$4INcl-}bH_jy>Fd)f&e!C3 z=;<9zzdd`pOb?%^g8C|voqXrmYIns}_;$3q?&Eg|-mNKh8FHr_>IzdBM39NWKTG;J z@^@03@VU2w=3!Dj&4|EY#nCkC{KfmlzrY=iY&H@rkb4a$?US{xD&1Rbk~YHZu^Wy? z(%?CrivVm_c;l4nFVfi$Oq2DQ(uAIYa2uAGSfoDqu4l56G=7N$pav^%kQVS#bP~17 ze2%6$W*l*kobfhaixz|#Bh*K$@z0hsop{FOb!%@*@rY2c6O-NY?W<%_v=Z| zpUoUQPJ6q$*$P9y-Y2XO)gIc|m9s9zpobz5j#1*gd?my*p0!O>>HrU>X3d97^|ISW zZdXl)kRvA1DRjw3hf$ph#}PK3>oU@QDnRcP|MAlKtH(S_AJ0F1 z<3QqEVMP_t&-V<+dKY_#d>z?{ptn5EE6#>$x<`m7|Vw9#(_13=0B7CF>W>)y@jvPPSfWMjdK&vrs4^ASn;Tdlo1>*FY%&8Jv?9Ba7TQ!`ZbR#`RRZ#r5G8FM3sRB;&~q(WKoHxx>~PTu-9fNxiODz*F1fJ zIw+>C$T}qW=9XoF1{&W<&J_*3!;d@?#h!QWMpSW*DfgUDqP--c6dzu)8hYXQ9_qHq z?$q9?Oh&(06f5s+o{Y`DzFl0;YRqWlY*oBXq)@(!qfpJb6HH1~I;|6-D;=VTS?Kp`D*eP?Y`_$Y(AxEuf!wCdACGy(Wv_{FoLS(h zLZd~{50aE8nZBB|1uk-g-$%-fO~OKTLPB|=3B%`ibDSi06~c!(#Vt6Ri!fkNLU4T| z`zdlos9w$drU_~rI9lj1!ov~#HVT>Pdse}52Hfi`2Voa;efiUVc4hq+ard0OEf12~ zftE1-bsvrAP|K$y!v?wxPZ1kug33tx8x=S05;2-I7>maJU+7EXRqGco>?>9zX6g|n z_bBUOspaegB5W-~j;z|O(o9O%Le`pV+CR+F;WUA=dTG7gbUEL*o!40)$t>ph+sCr` zm@Zz%P;BSI18_QvT(E8vegI^B>HjRzzwnWEHvn&QjQ{+d+-1=rZW}E?U@+>NEwXnM ziqcv_#O#g8R4jAeZlqw4m87xzG)3TPyeo$cvNCq$_~DB7)Z{m%n}P2}c}U+EwtUb& znXUY6-n7GyJjWjNaVhe5IqbYJ>F-$}YVSim3r4%m-%6rc1sOR6!ji3E_p@f(Pt&2QEgV_o%(xeuegH;CzY4wLd!kRvSYzL1DAia1D)2$+OL=DorNvfJ~DZMQXZM3Y#}N zk{3!HmS!>Av}&NleRUN}C$=$2gTWsb9Pxze7gFzRWqUsrs*TfR_GVi{2Ulj$DU-VH zXf{9kfghZ<*7rJNJXycj1;&!zF}&G>(f_$t?#^76*!<~U8AYFUl{I5(OG2ww>zO4$ zGN^n3y>VXG=I+d!=jznF38m${t~naoKdfC6L(ELB>iZS1d4I(&f-=utwu#-(AcT#W zlkqjvCBgyPFNr(HPL&^IaQD$l98-7R%idL!4VTOfMj>S}Dw3w_u~NgrJnp&cQ%2{o zB%_$P*^+!Wr+gU2wdE?3cjK0zm=-hOctSpM9?06RHH5c$_NMg^G}bxlb?fphN|JlZ z5>9nS8y!8W_|Gb(Zq7_)Mr~v>Bh+X~(xfR29KsJas%yG-ito;M)}q6l@m{I z@dZ=IxB$s$5(9AVw|AGfMQyWT6F2|YUT;&s2Bbv4^ zY*SCK74hp>eZM!yNyd=M7+`m{DXvI#3Vb&IB+xu&ZA0Jk4j__a?BUl z`i$!%p?9Mrppmnj3%aZcwTxV=+5B`9!Dw#gr*TTXXWupt_B1*Z6Ac*4 zc*qrUy)ZS@`?Znvcj>nEA_ZG_Blu(V1~F$fH0a+OMY*7u0!+p#awdYRKglQH!vFuS(O$YMH|Zs5ns=O@-*`;*Xr z{>0m{U|t>5ij%sFX)snZJmvMmf-G<>(7LPOy@P=BMbZ>mQ!cr!3X2rNaqH{)xo{^0P7m@!n-^JJwMP;eWa&;B~{mZ50hLuv)x}1Dfu=pVW#gTn$7ucch+r@OyL zJn7@eFsQ(wd97dWj%p~yhrux`K2GZf6ARYSY=1xul(MOeQS;ff-?<+#N7ft`LlQoW z)t87WO6DB1&X9Kb#RW3=Emj z#=Eb@L#qBmDC(_Ipft*oyV0U=Erv3=23(Gbi8?Qw&|vVz?5_UA%X~mxT~wVY;cgH& zYX&qF66G3?g~I7|snwMxgno`7)LlrdB5GekM8bvr;OE{p#uC2L8<`}h;%~Y4ycvuu?y;l#pmr21m%cYU=tzx6*H+s*dq|S5Gg<3#Su!b3>V%5oNPp_tDf`|2 zU@U*xCNFx&-5Oo74&G-T-;K`?6O6*g{XL+WsWepa#R!?YsrGp$WjkRv6jkV!UQY|m zzWv-ODXA*yHcvt1Mmd_Vc&+KaxM5>qj$@jO4GffC_r(7APF4mxl;aOoNSmEdF*!9b zbB-+vi=P#^{k~Xc2EQ9SISLS1?qdpg2Dg}?g$B0cZQUrZYDv6YtUCD9J2qIjI^v1f zV#8!LC)EES@_kdtYKBe{>%SUJcjpRLQ^6>A}+{brS)ztrdyW- z;UI;#!ifO^gHPg0Jc$EAV$ znNpSmG?F%55&>@-A(kKHY-0M|1Mk<`y6lJ~Rbf`N?AJlUiT5t@R5)MirknS-*62MkKZSt9 zfMQcJaq4zaS=O`+gQ#@*_{y5XN(Rdgx=^;`l1I>}L&>{R|D)>?oZ{D#ZUSGYsghoe zVAl*kllNB@k}B5!~3EI8ln>h8@Fv$<09 zs2>}cbzXj8y{~I9eqOBAt$U1eX<$BjKCAnzU&xhv7M!QcF+&r~nV{{%qS4dIrPqt4 z5eC#x+w3RvIua}2HlvuJVLEp6+_oW!>YHz9EDS|gtK?-#>o(sOi<_5Ia0T0{`w!?U z#qmFuTpVIj-fgop3f>^8w`SZs`SbvGt$IU`Q7dJmR1aYLICuN)Crp- zLxb_#S`gS*z^M&(szA!V9w>KSc15@;s_Y}GVGavm&)tcCx~QAp_}(vafpkA*nWK;F z7fNFtRJL%jU)E^BWU!|WfFw1~V@+-E*cHk!(<-T%c zN^y-X_MRvx#lDx!iy;hdq-f{&(nq#{3R-vh!q29ch+PCE9xTe_9q~W6lfI8CMjEY1 zuE(}u1-OO0tDhBp@jUW@7)>`(m|3qxE)|f_qxV5~Ux&Q>ezj#Hq;3c`#H;ohO5OW9 z?KJP;$W<=reL1#^bVr6KFBuJDbDsL8ED(cbk;UCh@p-Y3wWVF!ugc~=={qt%!MjPn z&{j1z(eHnjgqy-8CD)u6t`Y9>IYSSe-d9#eus?-#I{8TOVQ6C%`wm3P?A#vV(@Ybz zGra;lPWZt2R_xA;r+1cf0mEPj`~-z5TPxrVk>zID`6Fy0UPi+Tk~KBdz% z@0bC8skd^a{QiAk(Mbxsc;UMotX-}Cr7O598`Cm!vg^b`5wuQme140zl{~I=C%8-B zYU?@v@97ouZEr?F>yrcb7tK{Fr{0l@+2J!SkCmdE@k=|NCSavY+}31WMGlJ1>!Bpr zQ9F(z7#qj8%M|X4v;S5_wBN9CenqjlK2Dr!1NFMskfoQte5A+?&!~C2#M>3QL0wQm zDr;!{kbEf6Dpqx0?ndNvo7)ojO2_37HiZwO;#0LL`8D}eOc*>Tqd#7{j5 zXYagyMUAfJbEdCS!T-D&eyxpOU4`Y*<|n1e1r0_k7SI&#k_S~9c=+vpKzw@8a+`ci z%eCsDfDJ7E<;578`7#0oa#71LsEd<0k>4x$&LIX{Whos`t?|LRO6w~A_-Xy`NiMOz z`dKas`ZAaf}5ZuvW-QY)(daN84dWo&l4AvZ}= zg-D!!bdlhm;kF!kq7o1fp8+}&wx-wq3+`iJs+N6@Mn;gPMtH&z&ByBv$zF1)$D8?V zRc#TdUZ8=S5b_iH{Fd)DyVzkENx!hO#L*!(0+GJ8ieBjt-86URpdx$yA`0yAWbR7N zQZ}(zdy~mYik->YKy(hGAouOD=gw?74~^eN1CpGv$G9`CJHv86l!6n~e0-Nk61-{G z|6M_LK<%*bdUY`r(m!(>@e%vA@2Ta}Sx}WLn;mLdU_@ldG<&WJAi#6@PU4RBzQQv^ zMbZLdQ~&Aq-H%t_FNJ9JOrdzT50^nThHk$;aeJE%98O9@Q0+GW=5*3=FM~;iL_|U8 z5&5&vj#4gfS!w$7aSaltAoSsEu45Nj>^WYsuTimeOQRBd?OrRVK5;Pnc$!vvBx5ru zWcn7T`m9zt$!47E1HRzx#rQ)p8*+>adA^chSfTu5h`_tH(Y#t!Q96B~oYKwdn!kCi z6KZiU!Cx3SS)fsYZr-j3-!O`kTo;!xCnp*+{0uW$mw7;GR*81q9F9{!m-gH+X9f-S(l^VOp)9z>pQ8K9Mb0M1_A3}Hu zP*RRO7U{5(^99#l1M;uv6SL`bp6iuBFtXHYDjaFS-(q0rwft93J= z_1CxpC#J?BOYB z2d579pC zHiV^z`iCAD-1FFFjr9$hRB>P3+B5?t>6UY%620f^-s&gFF%DwJ#n+ zogZQ?w-yh|T+1$8`#L?g`-~mQQ{9mS#*Jy;mU_c2n$>1(On>{{PTx2}@7Tv8!H2Eh zAnw@~L!D=NnqUVkJN~w9BPX*)FKmLJQLvEII@4MG8V{B1O1r5e6Wf}DYzjq?a*#uj z)$}@nero-~=H;zj^kBP;2d#QFiT*%2J{yr@l}mv?n;B4(PT836-N<2cRRHC@bKNJ! z<-KXo<#Y0wd6dT1MhH{s!UXCh(D&{Sf?&G}We~Ojk=2ZtN)991_0h*`zDw(2m9iwl zUfxq61RsfmYa& z8=K~u!)c5mYP5vuwJw!kwZh!uu9SQ{7BrdtLNPhyJx;Mqu3!djnOy3uY6AE@{054U)Z z7JMaSGo#{Mo$$-Yn@oS;5886m^wrYpG(c=V5NnqXC};2$+7F$aMqNjwBkA!CH@~TE zaiqo>+g{DCTi4B`oz{yYU?~{Wk3P8Y8Wqk0dY)ubNq>GdXMph@NjZWJc8#L+u+Pi$ zso%c1=xY9Djc7=Is^36l2{RdwH?=)QcF0B)Z^ zZ@Q6zzlpAT$DTHEqP2pylr$u?EJoNg!=Sa@jxxBGFHZAv zY&;+PZ8Y;5O`rZ8wrvI9MRkiefgar|9aAKpQe@|u3mWa~mCBcVF+?hK=tX5_X zqq&iPPWO`ClKHga7^L89Ol-qeQ+{--|Lylm!=ulg5l@s)Gxp-cAE*g5=PIFjuYv21 z#BJhP|9X!v%zTgGCEesrf+%1AIZ&}%;s9&;49rktH}y_`YfB=;O{{LgifRas@U{O& z_Ta}F!^hZ7mkDF4ge&|^djeU+0Am;90=MS^k)Pkau!(o8dD9ceXkw1o#S>vBp-iQH zEZAs^(HTZX61+-!OjJyQqe^taXSrf2mtIKb01?BGDOgqw`kkc z4!3WX8vja&MdZXVdBd(^o1t(T>txBd6$82-hqpQN2YHRIGL5Ak*RO0}q6g|%&}N8; z6!Judniy5HQ4pMO^m{LA)b>!{=hSErR3Qd*7`*_8+17^KHZOUE^7A7lcpJHvWz~HW z-w+mC0w)zormDO~f$>u0!a)5!k=2q@|D!+v8M4z3(O+{CV%Pi5!!zDd5wVZGoOp&_ zg(*Bxy{g}1nA?`c&-@%DR>llZ2sU`LWD3{1FK_u=vhIZ@X|qJ>bitFTU$3WV*NJ!Q zQy(xQ>ZEMHj~Q)Sdp$>( zV@}mG31*GK_p^F-F$M4Z3N<-`+lX{(#soQ8NoF_=#v5VGhvo9H$RtV_t@fH*{Yuq8 zh@Begz>oVPmqinZ*;2>FlAMWUbo zK;@Xl)E_pX`}9xUaWc9xGeK`emFy!671(XB7x`7G?0LcCTzlLarJ~JKqD`}{hlhc- zAvj@mux*8Xpf%QtQtG}jr(AHT!!M66hClJ%;Efe}azNzdO8p4!*(f`sVly)fn@S4h zHWQ^yJrDDvvf|a)2Gb5FTi@b|1Mo()8#ctwEEVNyh?-rFXM3(9c?Ay)^{LEmK-47P z4d&wUsr)YT#B{sv`W)*RV2m5(?H3~8EU5XAeZb!>qjAay*ZbRHa|9qj1frKDYQe4M zgB+SNKr|igu^XohW({$sY=V7?60mME#`tjU-EZt6_7YAJK8`#zG#?PCIv*hd;k8}Z z#Z$b>gG-{UU&7Pw&_0aBT&eT$JpbQdq@a+6&*oAaE?{F$Jo3bR*{;8IGILrJg3NSt zb#%c1Z*i;JM9 z&XBeaB$42IIbbg&W!GuXpyYv^`XNV)_6+mnSD5M_Urrl)bvxROr`FE{Uzmx`OR=wm z*!Z75QHc>Ca-oT7gg+m%*`th=>?4(PzEXQ3@DZ`A@HJZKV!4)9hzU$*yACc=q8kL%u5s1OY3m;sjRw|@mBX%F(9gf>4R2SRXh zs9fw@Y0u^F%0Y@uPMK1TjzBy}TOH)hkz2G$H-chehnxskh7%c;wMg_na$8d1T5Ed{ZrEz+Fa3=cgZ4EIty1etI;WbhN{gZFKC$gqjbMmUS z$J-x_fwZwF(#;xYSjhp4usV!o>ZqvEE}t9mjAunsInx{PqmjT z2)tlt%xbUYCKTlcp8nd@R-^5;huP5NVAfYr7?heJ+?x(y+*rE6GhH-tu0|aVH5J(x z5+T1Fw8GZk#hB)rgiiItQ8q;y9ey|V!=xwIWdHYE42v$~u_cL1lkImjtpShkbQ^o8 zp$e44)1C>{uwbvyo{~m;I8RyZB4C(GKZSB!8ZeGPcN8zY3rgzM8lrdXzsXm6z=i=9 zfH$k{O1O(R&tU*bnzrlD*dIDfr@L2&*k z{7q;%V)D;a{V`BqhgpzaW@d>-^TDJN!_=XA6XCuE6B@8!@F02d_7ynCRr5C&*h5V$ z%X(3CZnQ7ps_!l&Hs%=>8oqR|q=XpH8#t~-s#u#c`BfzUTzIf{7A;0c{KM)IHFF)a z;>H5yT^UKFdq~;-u{O$-eLR$cm^$mD-hFn7xtkC z%yNoy>QZZNY`tV3VW9Ca$Vmw7z`|2Hk>SXF^6)-Z@SgKel1f2YwfjF^4s>zuFaj1v zprnn+bcO*YkLt5Gg}d4MAE7GOSJ?h(TAH+&bphN)gf)hUmCarrPbB|)s)yy4@!2%+ z^@k=F(rD+@;K?E!`$+vO)=%c~K}BSqg}p>-Rww|%NU3A_NPafQm4=*sb9hzPz{bXo zl3MyX7mOxZPIfU*R6GN?=@F-h>mlw%)J`oj+%J0X zV<~s$Hkq3!8HVO#Hyk8G$X&3^d%HUvu`Os|P1Ga_+P`0##qr=?C2$e0&p`?oL)gr# zYdYsHsEyrA=?(Bg;zv;L(!q5BO^U;zThC-vV`; zBz_}=W3b&-^Xmn(O0nC?J{~BYTO2)mF0s*8-~E>9;7nH@?Hvn?Dv}^+Ew9`=QpMGFRECjH{;OwKSR#LD z0RN`!zGCk_NDwEyGYGufNwZ4SdcxP)Mzf)^{-C|}3x6a_YN&*oV8>4BXw?bjjukMS zJSfsP4mutku|F_1^i@*zv&hH}YPbGx+ytL*RmVmOn$wm`eQ*Q@W5>7QrM7=C9Fxsm zX90%j4Nc4qF;K1Yj!)Z0H7J;8-`r9^g%J4vi8Bl~2-Ts6I+pd*-P#tk!+Nx{!K_m} z;HNfGbXi3jW6p%#<4&ul&x9vA01vB%Y1tzjCM3tLnC7b61*ihNOC?hMl92}jl%5x7 zkkM8p&!@A{D3J%Rr;m=mZQ=DJJdoS}eY`-qD8C3Lq1S#H@aJN_gPAJ$AfV-L$5`WC z0`tFk#F*!+10y_yQOtUxa3Cie))cQyUBthl=ek_&L=)r*Vt`sBb_aW3_raFe7;c)T z!z$FKS)0~R7Uw`qd4ok06$>7W6r4up`^lP2oLQ6~_q7~l$V5*rkaI#Cu?KXwYNb&BcGDv2CW*&h>DyT4#1M@_zfH)R z_21LBgfSTOj<6%W2y7=w{t_s3z^xGmPS0Q1i2Chkpgfg$3tIy7+FZQ*LXc>lu!XR+ zCGNV=ebQehnF8&s zRsc;IO=5PFzewKAMee?OO_{(7@mQ03nQD>W_($V|lA(;{E*zz;WOrzC3(0FJlx?=j z$G?Ig?8t{4KwycaMr6$)8mFfycjk6GSfcs%=b5hHsfwKW@4Jw&ufdRzTYOIQ1)EiX z66GLNGVf%9;~#!MN&%{eLIp{D_fgA_*7hT*{O|PWm-(;!a2-bts!mknu=yQMKLJ(l>wRwl%5zkA`J&bOVQQC7 z-fARLS<@jl$Y77|jphh<+tpn{zq=3!sKtBi#<)imQR)#I&lbX5-bMvEkTIbaVJ$r3 z57;lng!2A&ILv|phDV~M)715>AHly#60l%R18`9WgrY2oC;uxn+L(i4DID;Fg%Y$e zwOd5mE&){WFm2&))Bma5<$h$Jn7rG+Zy(bnS&5przUi*(PZDfIHACd4+gbiB3d1zR zS76vpdarS|eLK)vvE;= zpv#hPOjG1Gx|63iwY~;=aID~}4a}*MzKrGXhyH7ii^d6KVR_30k5wH|_tD#&h&XT% zjBWWAW?^(pCh5Tl2X@V3!X78Lg(Z=SpKi+onun)aNT~p56#zN`&VcFh6joEnSjzRk z{@YRYIM5fCo2=C5v0D!j@NXFm)4n4M7+^!H4E)((|G#OX4zbReRh|1<^g$agIj|!N zS7Quw*ML$~$^1kS zRCI`z!N{Aqrt15~*3--pJ4V&kD{8|EGRLLbk8w%m3H!%NqV;>=Wtr858VI|7RvSIvnW#OoMeym)1_2 z-{$)X;#H6yo-z9|mpj`2Z1074K~B+Fq$Q}|V$kpm$Ip@~{oss0fMy}fQS&OS3VvWY z^w^PVEJ<9uxfioDBXD@7pctS382BK9ub*v&NI8LM!i z5yzI418E>WilubTy>HAQoIavk-^+ZAHd5@;E-P|m-^cG=myyhcQ1KcX{eT6!hck9^z~umVFhZvT z4t%wwk{UZIp$pHUnuMCr(qxqaGzJQgsT|{yMFk-46{;K+6j_oBpGTE8rewW~E}X7I z!T$itG01Cwgb#b5p^QMGAAGCi8Pxv+*Wvakbdn3!cc^7Kuh9tFIH3@$zeJ7m|FdLp z?KB3;0t3e+&f|P#HuFuCVuRT~qSF`H`MPzb0<2}R&<}K4g{vX>?R%?i*aBspi%HCD zj8QPVYixD2DmvqFthmK5+RVJ5{)srtTF&d?3-{dftavR=J06!JS ztZDfZj|iW_ml;-4^oPK)-D+NysMb#FnjA6vEv5^_6L*G>2w_{fuXep+BfPbVlO77H zu{;X<1FG9O6^Lmt-xqvmP)PNEQ{nR?ayqcn?T0rjJa9K@+c7lT_J%NzV*`j6#I*IA z+(GzPsMm4w8#KWKRJ{@0u9z9i*D zusLH5c{~dg&A&Cdm z{1;`oOy&v1vbC!?=s%7|wZzW>wi|#fD zReGYY*bS_rFt~oTXE=hj{vZOo$-V$o0(j#}_Wq4ba4*WB8|7MDJz+mr&K30+5iUJG zkfK2u;G~b8IpYc>kx4lNR!~W^Uh$e=u>gKT=z~E-DD#eV62Z2=n5K1k79t=Xt1op^ zZhky}2KFwE`eAl<9_f)1(3HT>Jh<(Cq+2R!NL==;OLqHa$q5Nc%lWY%+wgZiG6=-AnheejyJ{>RvhtVVu^1v(Z*}ohMXPt!PViKU zG#jKXn{~JysXCIU(q7m+)6XEodndr*KC|@0i2|{F>8TEip-9B|#3sHs z=g9vCx2h1`**!h?3c(tk2}0pjxz^p5LrbTWXLBDZ+-mwjTYxF^UZCZh_oE)WD8!CCA`Ac zBeDh?l?gJ4Xch0HfW-7~=ash6NfeGuX*yz+APkV4>%Cd9wOHm-jNeJ-D49qpNn$58HQ6EOxSuJRhG7t(WOxcC@hu(z>a-$9KK+TXj$gGWgV z5M^`H+46(MwDe4z+XWXMYz>O2T=#pl=hLm7B_x5Irh+A2krymbJa>yqSYTtlGvUTS^hM=NMR)O2@+`C%$vSientwa7F%-6}>bL84#{SwPUe`3wxmI46uf7pWA z_=vwb?A93#pTSlaR&4uK(G*U)jr?W5b&E*7ri|wmuotHksIeHf_A3>5n1P|_{9&9@Vfc_}_@ zh@f-r+?_QemK|Q~#A?~{iA{-m;fdO`G7u(zpUYq+x7;v!g^jM^Y3Sp6SK>G7>>ngB z&=kYyvzDDTh%!?!J$@37NxBZ@69u%xMd77xA)A7QNgVl zk&&I&Zu$QQY02}g-v%Z1PlvmG~3a= z*d&XoT;I#H=%mtWRp7uA2lW!fiz&Pg=AjRhBF(2^naSh%&CGs0sx$69n*j{me!=_H zZTVdPGXUlRb@K0q0QL8R1e^BvFw!K>grNtn5U}ZmTH9JYYVdm|rBfd-xb6Z<;B$2z z=GSRSB(cBNN3F(+N54pb!9@4e?a>tvuP={0N7!;Cf^X-17S{dWC?t`UX)ZI`kaQhk zCHSWk^^{^Zv`lQ*p=Q9|UKZSo96LazXYnW^o*e!!f5?_-) zyxkSK#5FB3tgK9UaD(z6!Z+GKKns3iQYBQoJ&+xw#O)C5M&I#+{Lcq~QS^tVPC1E} z8csxK*k%q9=W6G0QP@}n@B(VZ?kj)mY;<$Bf=YEQ}&Zg4%xv+@52i*8a#Ouioo0uc;mhrawv z_n0UAxJITrhLh5*lbk(^Q#I0!7ehx5<|+#1GsY&q;Gx<&BEhFLQGu>S=W*PfuMs+RLu@_`foA!@vBbtR8Ub(@oZq=<6SUbdkt{x z;c?4x@=)-$M=5><93~5rTX*Y3mY2{hk`G7&L>NyxCPb{Z2tg|Y7rFdzo$M(24+Aqt z%yN^qcm!5aNrSYiaK>jfm(`#`5bl9-}3oC;(^92 zO=rOru{;WKyvm0j6qV`s4r<}16JLXZLSC`)GKy2C!%t3aDNjN<;`KyA3Suc)XJ!T# zbpqgL`Ct#Uiigr+pe!ixzHt1yz=Pt56QUnH$;VMPoVVPkR00#&ZbvHpK-89dykN-C z{K4t@rQST%7>N%O#V7UGxXa*9`o0X&>ERUM5_op&b!HieyZK!`2rcPt4DRfPyJ<}{ z<@9^v;s5_y2-_lMG23Ua)M{%JgDRe{bp6vE^m!~*dxA{^otugL+LNK@np0n>{=9{N z9<{CGzsQG1^g3r?_E@0Y8o!3MEO-UXihs0(kB@?0zk<`AeyfD#9ldnDDxwo`8F#`T zFXK(#^n?L+;vyzlqax@~>)Jivpr-Z*d^u2%as(e#{145x+m9|-YP32_DB$f#aeV=z z{)cvL?rQAQAuBH&UI1Q_zdhfD$8x9)hE)EYZf=p>&E`wluuJ?6q8N~PmCW_X43C_A zMr_;!p;uhZ9>JPDQ3jzUDGgMc#F1RAY*CkbXgUMfMnOec23z5;(<&)uIwa;xxov>6 zYerJaSpu^n8Ft{xfu42Edg)8nm9P`V{_cE*BK;YCblWPcdNu0Gz!K~?jJt@RN5=pE z0^wZYGpxJ5oQmA@9@1#vB6cc#c76E|zmud;v1!plgfLjkE{H?>G~uFNC?felq{aD1 z#@_hvQijv3=hxp6CcN&ai^T~+xL-&9P1DOxvl+q3o&=Rye862n$An^}_aIQs5KWbL zcbRgh#q2A<3vYjtn1;EB6#KjumJtL*UU#LoQ8y00H2%?4p<%(hYgW0H=M}Z97drU@ zFVzOou>7P^Ls&<4fAeL|)ow4!|C3W)AzoItP1_4{{y(33vOGyX{j|n<`QLQec&^XO z#W>n3)0g#&=4zXL%m7ZA5So;9JeT3g zivXYHU+so$#>XxPT!x>JbP(3FTKxt(d6#viPTVA{M~!&Viw-9!;sp2OUzq2iXzL>^ z@p<8*3=)IDYByOmdsu*QRGB?;+lP1kvfYItyp(zeW*8rZR}u8)8k_wcC?OzpCD*-Q;lZgBWGE86Q>_au)4uO_mb z$TS~DGb;nc1s3Z)Gk>r5RmI0CY~v7ZP9%=ee3fADwIl+!#AoH4lC89)j+(=m3d%hO z`K(0Gq)fatr1e^L6V>4ZA^(pvTcQZX?+9;-o`8#=nq`_R?Y|09b-3GA3H|+0-J6B4 zNoz-rkktJD6=El$6YMGGlW;A%IraD{bRvMF^aMbZ6@K@#^0<>vX>1K}`3ij$N)q@@ zJkXIGL>kR+M5_L~xv$G^H#%B+UKe1;@m*%GY=0nVsW#rR4^gEg1HnHqphpfpi1h06 zmuoWga|mfe0ueHvnj?4Pr(b8C+XmuNvpli=jgJ3KZiC$z+M0aXx^+K4TK@NumPHwg z(dat#`ZSv}=9fy1v;9l>{N4(bCv&$@%Jag^C)@NsXXcK2sqKX)){1UF%az-d0qg3# z<~>+Sxpwilu4+Dr&Q-iZ)MupJ*C}8tR}MnCF!v6ac)gr=mPM%SerwpTuD~~M%AgEF zfihjQ)A3&%&z12NzXaHH|$I=#Hy25n3)vAFLjhv7==&L z4Z38aUv+#Up7bGI~ zQ^9doGMu9GAl{1?=L++@m)85!RbH)4^)I~Se@qZFFH+=3Epn0O2fe8S3jkhn^=C>& zAW~J|9W@s!58g>3SSSUNC-Spg=eFR?X^DOurq#%4G*ac`nZQKvLm1v1dk;$?u$a{t z<4FMq|C_C+U?y{{-?MCn1ar*By!)bqDHM5s_hf+!Mp!dKq6R7;S!71j=(#(;n;e6W z5JWc*?bX~LrJV~b48G~&w1sEs8zWkS6CLSG36MP7kYBU@$T)(#nKP|vw6j zV%5}MR390eO3qKhidpCSzv;cMY@f=G_p`iLn({xX`4!e*+uKO1A^zq5mZl z#6uyon^L8dh+p_VL~G`L80#7$Aa@!n?}&K#X48-2@8S(9a8=p!!pfs3uT=fl_puS6 z=UR@K&))gS+I3c{^uR_@v=N(M8vtU#w-C&QIRivs;}kPm5AW*6CLum-%<7(7oX74b zf4wi3PQd-pjBCcF;91EjOLp^7vW#uPYqV+UMy z&)(Tcu0f9LR&ys@vp;uaeIo4Grx&#}381L^c**?46?JUKWBIm!<<2Vwm1zN0)ZnH;6|}0i9o|j@cM;7T;k=p z{54=_DE?^tN$D55(^~cLA*G*U!wf%Dk2$g^z&HXf=338La`KysIXJz zdzLu*0zQzTw#)y9!xcv#i92eLDAQoSQXWU56W8G;OspWLRYBehhI2a`nywwch?)&~ zL||!W$9>a+q(AIeMOmCCZ2Y2mk&lYi|1EB;#AT-)c@$6Q#$E0aBt;yW=h%4EjN^4S z?HC+Wu&luz4+5U+6nA6{MsRca4kkw;M@fmr;`B?WL=a=+Nle&5x^3;yDdK9spW2%p zS*ocID4P7OJ!qmHwCQ33cu{v@tND4yc#H!4LNEp(8IZh09EDy) z^!XSC0{+nryusA7A7yBbv5MTC(DnvKG*oQR@)*v+6qH@ zET97dM8OT3>Z~G`w3z%bRL7jmUH$~YtPkC9aDi!Vn5T7H714Sq=Lfwf#W!Y!gy+JZ z`L`==4%Cx`k2O(qM!c8NGHaw)3MK(SI&}6aiFrVKifXDqy7Br$9sdxTez`ZgHfQwW zoS43uzOuvPf^M9E0;Y-Gpr$Gh-uCS6#a`YrH+=&ZCA9i#WrtS0dZaQ~N^TLpqvYeZ zDlbQ}C;~#6GqJ~?ADL~yS0s+#*s(+`@CKGlT~vn#;}%VG+<^o09s~|_EikL}glhy0 z#dG0~QxvGZk9*WHntca`wj8A+yTFE&$uQm^1HMkMUZ_}=K#;<%|1f8IzZcJz1H8$D zw5scjD(al+CM{&%pt_(aWGYHXwjNAE=+d!qzG`uh@t~~}hT55L;X9krDxukYipz(C z#WCf*(ZeVQ%NJ!Lip4r8_-ZR&dDVBDX4X|Ufn|S%LOY^|x|Kh3m8+~-Crd~wWWF_k zTnvxo1%8l(3f(rG%?1}z$$URBB+$7GTzNdwJk3=8TsTv6=8kcwQ+*W1&n|uS&LpN6 zO!0?fhAVFMIAl%?iNg7IKgE4x@eEr~-G+=OvL5aX43YHZ!wx^;e5(-o36?e0)0~e+ z?YqN!_lYN9ft^#&m$q^x`LJQ`qouM1%O-qZ)SvRu<}wVS{641Q?i3!a=bks|FEjS2 zdo8g{oQH-oq96Xew zBYu06cLFIwHGWkrC;E`86~}+b1cvl$W&-HAWqh9(SvrG0uMavETvb{5d)$)r4!h@X z){34mev79#6^r+IG+woazUgLYy?pT}f&Y;y@Cyt+*bpf9mmY(JT@G9iF6E!B>Uun~ zU2Rt?C&AKr&KkL6Li{dEx5EirJrF`eaS3!d{*R-xjB2atqA>0f+=^3NTA;YQyA=u) zEiLZu?heJRxEFVdOL5l}cL{ER@4nyvtgLmDJ2PkYIs4gy;cKeA5p-fKV?cxXejc;T zH0){aHU4mNI6um8O-dAzJgUrhw8-eBjP1wc)rvCP_y-8ZLfJ%+;6z9anLHM~*) zZzrVGropywMUZ*FC#ceUio!ROxuj05q}?#;U&0Y_)t*)|EY(EZ46h|NHDL9eOI<}$ z6mv#~aT0@9(QL$dU4|`@ciTF@z>N9rHDN%UXqzo7khyV*{;^9iWUQr!V@ja<59tTO z4h#IygV&&?c2FgC7;{R*X)8y4muMuj>)h?dRD$>6$93|#o9Cgq0c^g!*~&Md)re?L z(@n4@lMheXbw_h0$*f=F_f^L?=qhHINhNohD~||Hiz!%eUrnJFEWg!8_WfZ#uP#$& zo6SGDPw@?_%c0mp2DV@4gC-7PH1ji+xJ;3W@j9Wj81-~2pfL84bP4vk&FJs6sJv&i z1f|s%oE7v$$>AC@0d9^wbILbzaglg-G1nuPLZCCyjJV}wyJc=RKwd2=7(>_hhS~Yy zw3@GuM5k_ClRxLD==pEqDWd^GZ zyE15Iw1Dah7;RB?n4dNW1gk-Wz+`36qSn4putOPvYasA$nefKu19c~3*DLY4Rdha! zBBa<~!+pPLIru){h~ul0zyqEaT!{G?nJ=|A{;TF2d3_- zmn?iKEA6Nz**ijm`hFiBDs1`Q%b)2=LgtW2Hk8Qd1F=_W9G4Hu1ffL2l0Rr&>a!Io($X0I$sSzmLIgfa_;a?CQ zn{)3;Bmnw?O2TJEt15Fmx9bRfYLVNTo~XZQZ9!hu_KErUvtz z-()gQ0yMYsK?*&M#OMGvGYu=7?FtCjiJLci!g zj03h|9V(j0PZAwu=xbUmj0Zf`KbhEEiUXDeFttZacrgd;NY$;0pgd;DpRhC>J-5FerOTMJs1DCB=}Ei$m%x{Ve~NAF_ps%^pwh0!VqN{yMP zPqzH`!DjDXw?^V7!0bEUn?1;*>Saa51HF`H`$E;H@fdjvW0fG)e%Ro3-!g+0DHN@~ zEAGAPdMa?B)!w=SkQ}Uv2oHR6#v%hhIU>rwNMJT=;l1XF$c=N9X5MG6IJ-)8ye_Y; zMx1B^mLO&etDf8F6e2e~O2MFg=bFKDQNkBoJ@%Dv_H@sG{Xw|;BF?lrh2N_wH(MW( zn8lWHsv1Kb%uoc;x^?mVVR+-%UFTfi;zv}yFptE{t+*x*UP-9PFxmY zD%OAi1oD5i9_T%`IDN7IuqeVEb|_EVLqe>Q*2i0tJa52!(CtQ_r;AqFJJdNrsU+ZE zliCvmajp|5jM8Vr3Wg`oD9_Tv0fn_;WX~0UBjvvvvd9H)q0X>-Cv3NvzYV;=#Hn94 zHT2N^^*_{GK+6NBRyU>%k^7|`$~Y$GkK`)8WQ5B7S;qry{8HA!t)jeqh?!`3zJ|Bu z$rm#^`SaqeQ4u#Tw;lvGq8D=ahs}b6y=Hnj;sU#zyAK81NPt_$By$VCN9Ji)TQTxZ zA%%WJ#s=H~ET5mV*4RZ+p||uU52qci8@MMsH-r&immI#M?vrB-`{o6Mi#lf3g7j&uPKOovW){p14n%Z0x2y|Ssy zUjt*_Z~9&7S9Vt^iqOE({Mf0@RD7I}MOh^(R3NDXmp+w#N}LIw_JB+P`moAyo=D&w zOO{B?7;>qFta%~8^zkpe=14E7q?)5LgXpUmcS)}qrlTLCMGSQ8uHeIIGX}ts#0OYp zAr5(;8qnY(Q!^?12K?<89X8;^W+6AGRkE2Yl&^D~T46E02PXnetU~6u;&vD6(4`A% z-+{ddE4Usr>f(%e+IMmk4p@mMJ4?991IRxv9C%%-z4gxcqmURBJXfy~&Z=ACZ9>kr z-J5r+Gh?}I;xogFz`nDcPi;p{lUgh$B`s_;;FY!bS(HEb4}Qk#TE1 z3Kk~crn<#k%(-H}eNi@l$jv$=N0Hi2G4jlgGw_p83mnp%Dta{&4b6X|aH?dUhULs0 zszB%EPQZnWpM3Tc^St9We~0wNk3r>)T+FucpbQ>_3$(cmdr(N^7l)29QT@q&e6!ve zzMI$p$I{dz+Je6x7B!m;MPe&a-nQZgJ8OS&V{zA zBIs3z>P?84wYcl+c-ddH|AuTHtH1L}A}0%M8RQcb>%N7LrPh&d=L<<80GBLyka=2o zW+0?_-DxM_fEEv04xs)3g1{r--*}t@1`<@n^%8CMG4Sl*sM!GjagPBkV!w{33<8CC zb5x9^OH0voD%^s!Cg>z8UIH*xR|xi=r}vS&6Z<{G1vNivZF;4>a7~4o$%!K4#D)$N z`usxgb5$Sw5g)AFimHhRPLbGCM98o>G@!w6Hl*N zJyfIi1c%4^3a++$U!r&^%y;TjrNhS^3@|#N*ZhY;IAr}=oTG1Xve{Ft4WM<4aMF}L zpNbBB5Hq;p_B-4ldgQAdnjTvmfP}-woF}{Z{z)y%HvqNJn8tU&0$`#S{l0XK(mZGA zUX$mey)XWcN^D9t1o~+)<%im+L zT9b99VM9W}(qj9R{*r`EQTc~rX?~(tL+*Nd4ENhld^7qeC&%1yG@ZJ&ot8UlOIM*X zc-9h&O<@`(?%iUggx&2=;6O@>hP2)aC`_pZa;C_&yBrVR-#ocBfA)fQb9SS(FD?am zTT*>IOYLqOqfM)_Rj9FsEsRMzTdp!mOBF8fq2LiN(V; z-$5ksa0j1&lmB+dxuV64b;>tUNzciK0XKe%6j_TIbLQ*K0rEw$r^_jt6C?@#22`H= z#qO5Xw^ba4hP;yNIQv2tkx}0}8Tu@76y|FqnzySS2jm!WDPHLsJy=HIy+hm*q!ff( zK(p@a-n_V;$%p&T3tzW=d$?c(&N}7);T8VtsA)*F%OtQ#SJ1w4;dtUpp?#b>QvYHd zIxViPe_t`0`x#(w76x>6^2(yEm!9skt?`}?+IH_z@64)*2*qihbfCCX0+_ifJuDYz zkL>?PQ@puX0r`Ywg|g=B1q0ZfFsatV20WOoMPKY@O!Bn~&XbL)+Sf(_Z)gO#E#^=q zywDXmRa_gffX*jc>dI8UQ)PhdrxNXOYJL@b|3@XQax(8;l@TlQRTh#&i!2;g-ykK# zjDQD`;hnhU@EciwiN}dytLH&T#FL)Y+owOAhZqh>3wXkpasZ=*!SV3DIpxd8jkiaU z$-38pJ7J8}i~M#g+;)w@3Q9Sj3rUDRxYs}=dHG={u}Mu!ds033?(0u_+9ayxr7eIG zjb=mC0gj`?7N$JYy-b@Lu+NIFNfTo-_0EflS-4#fYjGh>ZJVn*#skeye!8=2)EzPq zB5^-}CPvBxO%8gne8Us{nx3m1I1(40EI^Gco_3tXRAxg~Q5AXa#^|;){i&-BsFZGD zUDVL7Esq@3e=!r7dQ%XwAL^V47*=Z?2!%%sEPlBbIr-vzqQ!h&Vpd#K<`g;rdypvf zG`^eLnRaD;ulf1mT}4qqmBBc?Ci0Jyh=B;Xz5boY-Q`&(M}HxI=KF=KT|GPh;u zm%=h|uB2Ks0NmYCVP{&nx+GK=V_Y^-xw1@MnUZImwMQ$!&kYe+V^Zo)4hfhwP%Vl= z)IiP&o#UptkwWtUhVrBc1RRlK27eGsd0rV>5zI#oV-5h86-GA=fRhP;-E~MiYADY~ zpo<;=zmGd|VW}2h%G9G;^Kx}lLW=t1tC?21QUUij&OOhmoeSv4Q)=&kioLsJ!hu;W zOVQ}DroaRg-Y`R6tLjegriv+zkf3lhM&<4XhPOOJUJ!}BUa9?vL$Ku^ma-p_ha=Fw zkKZ@(tIXfI|C<~!#~V1A$=K7f1di&l0>*NmLP7E{IqU!lUB2*W-u!D@U~eTg9G_rd z4L^(v4>PU45a*Vjt_Rt##MBAHlGHMA?*Ged)yLyOILwba*AFYh$8if8nHFZ8$^z^Y z1>>JX=5Sx_swlKl#|)-G=DO524DU2^h-cK1#eSor<=nK6zc-))%Xr>394d&|NERnV zA^|)jxJn&FqpF?Jmi9M(^-jd(%MShi*p$R)>YZD%o;vI&Ih6f06e4Xn66HjZr)ZaT zAH*@1ME_g=0XGrC)DtREh-C;Fp+eM|lMf@eA`AX4&LzPkLzeqr?aETh}=ldZ~w7C52) z?|vA!q${1xMP^CKji?iYC4qy{Aj{D?ON=22PQZDY>lgxdH4#}6_-nrHBy1D_#ak}v*ySg7z0!*h_y*U#ZUpa&v85eI|~K;W59@Xh;><< zvJO|rF`V$_A{-K(b| z>l-<*ZcOuba|`Hl;m4h&kTrBYSHiwXs?z|#UPA@spa3`c0|x=~3n&GEaVh(o6H%j6 zH%oSjv2i}65nE>{MHdO|qATJ4(vDZOT@nyP-#_6JRjE4~_BS3%{IaI;@oL$xj1@w$ zeb(-3hWupOW2U@!v>#u&Lw3TpTPtRv^R6l1RA{=_3R;7QW*mp}`Xn51B4UV@piJOF zWB#lf2e*`1PKWtZT4WcT`)ez>?~ z4&;{7o_>PDuSpXK9Qho615`i_|2~401J%Oo!1RdNz}LL)w2{|?e;hd~=a7?85qD&9 zUaEdL&)Z?2nE9D>Glonm+&>pzq+SR86FjdhgK92kMj0EkpACVjRD>-l0OPB&pFuX- z^I{&)eu5Q{ruvpTa@pl2Y-aK~LJN4A^SAaBijELM5 zja@5l3IC`gqjp_h0fwjX1sC4!&qOb7v3ch7Rk|m5pIdhF^mVDiCjP;hl{FN1%8Rc} ztuf6R+fP$;-HdkGycSltPRChu#6QnBOn|gwPm5X?PVm?!c%g^hgasw8afTfp1~Ya) zqAV280p|uDiL!d`wSbOq)I)A*SUE>0ZpE^)#bPqdfEyoO_C=4IJuzDW98Ld_*_j85 z*9rzOOgewXZ%rfVHbhZ3NBXBTy}uZ#CyKeT2tGEZxWDl89zZ9FyzrIruwf$Gk4oi{ z(gdmpe4PU1#>HhmJ&3uNoExjdk$5(iHbhMKD&?E7 z_IOTPTIny)@@;URX-OKU-8(>U2ad05>F)21SB}W%F~X*lBQ>YwxHW&Gc=La=0F*{p za;@n=dVwGIRcRj!Mmi@UT_NLIqA!cQfR$ol=azMy7_h`(N~_iO5nkKP!VdM<-TU;} zppapZ5i{uYbYQM!Igqd?blA0{opoh_0K@BUm+r}eiH4U=`1bf4?c45K-!p}W{e)IU!szUH%z^9+QQq#t(@L3AdE?MRi(OKHnR50ET;}c;w~|-iF60&%(!A zg3Md(x;>?4Ak4ScPSp;L*PY$@EhHVXoj7pNxH+#aBz1BaQsid zJU#<5S_$VHL5M}*^nYKtk+fL%8c@^B}R zK(o%*=g6e&AF^JgtC`D1P|3ciX`+8$|BUM1EZTeSrY2ruAO}QAWPBkL@6H+P8O;|s%GN)5<1(sj* zL89lC7qI-K=P|z=cv(}Yq#+h#ELd=%w0}B>eWp1<##I+_+i~dB<|=FK7PlFe#7U&n zBTPlCorUz&;+dn<-EHEPekT?$i2jSmYx15=ihHIAQs{G43s%0D>=~|!$06wv)#=PV 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 S!2b_tTb#E&SNXT=-TwkXOB!eZ literal 0 HcmV?d00001 From be23b9773aede51585cdcb4e78105915c4b5819a Mon Sep 17 00:00:00 2001 From: yuxiangSg Date: Wed, 28 Mar 2018 06:37:55 +0800 Subject: [PATCH 18/18] travis checkstyle ammendment --- .../invalidAppointmentAddressBook.fxml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/data/XmlAddressBookStorageTest/invalidAppointmentAddressBook.fxml b/src/test/data/XmlAddressBookStorageTest/invalidAppointmentAddressBook.fxml index 688bb3255a4d..5ac44d677625 100644 --- a/src/test/data/XmlAddressBookStorageTest/invalidAppointmentAddressBook.fxml +++ b/src/test/data/XmlAddressBookStorageTest/invalidAppointmentAddressBook.fxml @@ -5,4 +5,4 @@ 2018-03-29T13:00 2018-03-29T14:00 - \ No newline at end of file +