From d0fadb93f2eff4dc516a744632952d5c8b0a99fb Mon Sep 17 00:00:00 2001 From: Noel De Martin Date: Wed, 10 Apr 2024 11:12:53 +0200 Subject: [PATCH] MOBILE-4446 behat: Assert event logs --- .github/workflows/acceptance.yml | 4 + .../tests/behat/behat_app.php | 34 ++++++ .../tests/behat/behat_app_helper.php | 101 ++++++++++++++++++ src/addons/blog/tests/behat/entries.feature | 3 + .../tests/behat/create_events.feature | 3 + .../competency/tests/behat/navigation.feature | 7 ++ .../messages/tests/behat/basic_usage.feature | 7 ++ .../assign/tests/behat/basic_usage.feature | 13 +++ .../tests/behat/basic_usage.feature | 4 + .../mod/book/tests/behat/basic_usage.feature | 9 +- .../mod/chat/tests/behat/basic_usage.feature | 8 ++ .../choice/tests/behat/basic_usage.feature | 4 + .../mod/data/tests/behat/entries.feature | 4 + .../feedback/tests/behat/navigation.feature | 3 + .../folder/tests/behat/basic_usage.feature | 24 +++++ .../mod/forum/tests/behat/basic_usage.feature | 6 ++ .../glossary/tests/behat/basic_usage.feature | 4 + .../mod/imscp/tests/behat/basic_usage.feature | 24 +++++ .../behat/numerical_decimal_separator.feature | 8 ++ .../mod/page/tests/behat/basic_usage.feature | 24 +++++ .../mod/quiz/tests/behat/basic_usage.feature | 10 ++ .../survey/tests/behat/basic_usage.feature | 4 + .../mod/url/tests/behat/basic_usage.feature | 28 +++++ .../workshop/tests/behat/basic_usage.feature | 14 +++ .../tests/behat/notifications.feature | 10 ++ .../course/tests/behat/basic_usage.feature | 39 ++++++- ...-course-in-app-view-course-contents_49.png | Bin 35479 -> 0 bytes ...-course-in-app-view-course-contents_53.png | Bin 41117 -> 35479 bytes ...-course-in-app-view-course-contents_57.png | Bin 0 -> 41117 bytes .../courses/tests/behat/basic_usage.feature | 4 + .../grades/tests/behat/navigation.feature | 16 +++ .../search/tests/behat/global-search.feature | 5 + src/core/tests/behat/open_files.feature | 5 + 33 files changed, 426 insertions(+), 3 deletions(-) create mode 100644 src/addons/mod/folder/tests/behat/basic_usage.feature create mode 100644 src/addons/mod/imscp/tests/behat/basic_usage.feature create mode 100644 src/addons/mod/page/tests/behat/basic_usage.feature create mode 100644 src/addons/mod/url/tests/behat/basic_usage.feature delete mode 100644 src/core/features/course/tests/behat/snapshots/test-basic-usage-of-one-course-in-app-view-course-contents_49.png create mode 100644 src/core/features/course/tests/behat/snapshots/test-basic-usage-of-one-course-in-app-view-course-contents_57.png diff --git a/.github/workflows/acceptance.yml b/.github/workflows/acceptance.yml index 7573219ff..ad6cb4845 100644 --- a/.github/workflows/acceptance.yml +++ b/.github/workflows/acceptance.yml @@ -78,12 +78,16 @@ jobs: "@addon_mod_choice" "@addon_mod_data" "@addon_mod_feedback" + "@addon_mod_folder" "@addon_mod_forum" "@addon_mod_glossary" + "@addon_mod_imscp" "@addon_mod_lesson" + "@addon_mod_page" "@addon_mod_quiz" "@addon_mod_scorm" "@addon_mod_survey" + "@addon_mod_url" "@addon_mod_workshop" "@addon_notifications" "@addon_blog" diff --git a/local_moodleappbehat/tests/behat/behat_app.php b/local_moodleappbehat/tests/behat/behat_app.php index 631f938cf..47ff474bd 100644 --- a/local_moodleappbehat/tests/behat/behat_app.php +++ b/local_moodleappbehat/tests/behat/behat_app.php @@ -968,6 +968,40 @@ class behat_app extends behat_app_helper { }); } + /** + * Check that an event has been logged. + * + * @Then /^the following events should( not)? have been logged for (".+"|the system) in the app:$/ + */ + public function the_event_should_have_been_logged(bool $not, string $username, TableNode $data) { + $userid = $this->get_event_userid($username); + + foreach ($data->getColumnsHash() as $event) { + $eventname = $event['name']; + $logs = $this->get_event_logs($userid, $event); + + if (!$not && empty($logs)) { + throw new ExpectationException("Logs for event '$eventname' not found", $this->getSession()->getDriver()); + } + + if ($not && !empty($logs) && empty($event['other'])) { + throw new ExpectationException("Logs for event '$eventname' found, but shouldn't have", $this->getSession()->getDriver()); + } + + if (!empty($event['other'])) { + $log = $this->find_event_log_with_other($logs, json_decode($event['other'], true)); + + if (!$not && is_null($log)) { + throw new ExpectationException("Other data for event '$eventname' does not match", $this->getSession()->getDriver()); + } + + if ($not && !is_null($log)) { + throw new ExpectationException("Logs for event '$eventname' found, but shouldn't have", $this->getSession()->getDriver()); + } + } + } + } + /** * Switches to a newly-opened browser tab. * diff --git a/local_moodleappbehat/tests/behat/behat_app_helper.php b/local_moodleappbehat/tests/behat/behat_app_helper.php index 14932534a..7270abc27 100644 --- a/local_moodleappbehat/tests/behat/behat_app_helper.php +++ b/local_moodleappbehat/tests/behat/behat_app_helper.php @@ -19,6 +19,7 @@ require_once(__DIR__ . '/../../../../lib/behat/behat_base.php'); use Behat\Mink\Exception\DriverException; +use Behat\Mink\Exception\ExpectationException; use Moodle\BehatExtension\Exception\SkippedException; /** @@ -480,6 +481,106 @@ class behat_app_helper extends behat_base { return !empty($mobilesettings->forcedurlscheme) ? $mobilesettings->forcedurlscheme : 'moodlemobile'; } + /** + * Get user id corresponding to the given username in event logs. + * + * @param string $username User name, or "the system" to refer to a non-user actor such as the system, the cli, or a cron job. + * @return int Event user id. + */ + protected function get_event_userid(string $username): int { + global $DB; + + if ($username === 'the system') { + return \core\event\base::USER_OTHER; + } + + if (str_starts_with($username, '"')) { + $username = substr($username, 1, -1); + } + + $user = $DB->get_record('user', compact('username')); + + if (is_null($user)) { + throw new ExpectationException("'$username' user not found", $this->getSession()->getDriver()); + } + + return $user->id; + } + + /** + * Given event logs matching the given restrictions. + * + * @param array $event Event restrictions. + * @return array Event logs. + */ + protected function get_event_logs(int $userid, array $event): array { + global $DB; + + $filters = [ + 'origin' => 'ws', + 'eventname' => $event['name'], + 'userid' => $userid, + 'courseid' => empty($event['course']) ? 0 : $this->get_course_id($event['course']), + ]; + + if (!empty($event['relateduser'])) { + $relateduser = $DB->get_record('user', ['username' => $event['relateduser']]); + + $filters['relateduserid'] = $relateduser->id; + } + + if (!empty($event['activity'])) { + $cm = $this->get_cm_by_activity_name_and_course($event['activity'], $event['activityname'], $event['course']); + + $filters['contextinstanceid'] = $cm->id; + } + + if (!empty($event['object'])) { + $namecolumns = [ + 'book_chapters' => 'title', + 'glossary_entries' => 'concept', + 'lesson_pages' => 'title', + 'notifications' => 'subject', + ]; + + $field = $namecolumns[$event['object']] ?? 'shortname'; + $object = $DB->get_record_select( + $event['object'], + $DB->sql_compare_text($field) . ' = ' . $DB->sql_compare_text('?'), + [$event['objectname']] + ); + + $filters['objectid'] = $object->id; + } + + return $DB->get_records('logstore_standard_log', $filters); + } + + /** + * Find a log matching the given other data. + * + * @param array $logs Event logs. + * @param array $other Other data. + * @return object Log matching the given other data, or null otherwise. + */ + protected function find_event_log_with_other(array $logs, array $other): ?object { + foreach ($logs as $log) { + $logother = json_decode($log->other, true); + + if (empty($logother)) { + continue; + } + + if (!empty(array_diff_assoc($other, array_intersect_assoc($other, $logother)))) { + continue; + } + + return $log; + } + + return null; + } + /** * Get a coursemodule from an activity name or idnumber with course. * diff --git a/src/addons/blog/tests/behat/entries.feature b/src/addons/blog/tests/behat/entries.feature index a1a153384..b26f50809 100644 --- a/src/addons/blog/tests/behat/entries.feature +++ b/src/addons/blog/tests/behat/entries.feature @@ -18,6 +18,9 @@ Feature: Blog entries And I press "Blog entries" in the app Then I should find "Blog post one" in the app And I should find "Blog post two" in the app + And the following events should have been logged for "testuser" in the app: + | name | + | \core\event\blog_entries_viewed | Scenario: Delete blog entry Given I entered the app as "testuser" diff --git a/src/addons/calendar/tests/behat/create_events.feature b/src/addons/calendar/tests/behat/create_events.feature index 7f05af69b..9b301653c 100755 --- a/src/addons/calendar/tests/behat/create_events.feature +++ b/src/addons/calendar/tests/behat/create_events.feature @@ -66,5 +66,8 @@ Feature: Test creation of calendar events in app And I press "Barcelona" in the app And I press "OK" in the app Then the app should have opened a browser tab with url "google.com" + And the following events should have been logged for "student1" in the app: + | name | other | + | \core\event\calendar_event_created | {"name":"User Event 01"} | # @todo Add more Scenarios to test teacher, different values, and creating events from other views (e.g. day view). diff --git a/src/addons/competency/tests/behat/navigation.feature b/src/addons/competency/tests/behat/navigation.feature index aa9438a33..344812f1e 100644 --- a/src/addons/competency/tests/behat/navigation.feature +++ b/src/addons/competency/tests/behat/navigation.feature @@ -175,6 +175,13 @@ Feature: Test competency navigation Then I should find "Desserts are important" in the app But I should not find "Cakes" in the app + # Event logs + And the following events should have been logged for "student1" in the app: + | name | object | objectname | course | + | \core\event\competency_user_competency_viewed_in_plan | | | | + | \core\event\competency_viewed | competency | Desserts | | + | \core\event\competency_user_competency_viewed_in_course | | | Course 1 | + Scenario: Mobile navigation (teacher) Given I entered the course "Course 1" as "teacher1" in the app diff --git a/src/addons/messages/tests/behat/basic_usage.feature b/src/addons/messages/tests/behat/basic_usage.feature index c6694fa76..c1fabfc4e 100755 --- a/src/addons/messages/tests/behat/basic_usage.feature +++ b/src/addons/messages/tests/behat/basic_usage.feature @@ -61,6 +61,13 @@ Feature: Test basic usage of messages in app And I press "Teacher teacher" in the app Then the header should be "Teacher teacher" in the app And I should find "heeey student" in the app + And the following events should have been logged for "teacher1" in the app: + | name | relateduser | + | \core\event\message_contact_added | student1 | + | \core\event\message_sent | student1 | + And the following events should have been logged for "student1" in the app: + | name | relateduser | + | \core\event\message_viewed | teacher1 | Scenario: Search users Given I entered the app as "student1" diff --git a/src/addons/mod/assign/tests/behat/basic_usage.feature b/src/addons/mod/assign/tests/behat/basic_usage.feature index 445c50f43..4eef6ab7d 100755 --- a/src/addons/mod/assign/tests/behat/basic_usage.feature +++ b/src/addons/mod/assign/tests/behat/basic_usage.feature @@ -57,6 +57,19 @@ Feature: Test basic usage of assignment activity in app When I press "Student student" near "assignment1" in the app Then I should find "Online text submissions" in the app And I should find "Submission test edited" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \assignsubmission_onlinetext\event\assessable_uploaded | assign | assignment1 | Course 1 | + | \assignsubmission_onlinetext\event\submission_created | assign | assignment1 | Course 1 | + | \assignsubmission_onlinetext\event\submission_updated | assign | assignment1 | Course 1 | + | \mod_assign\event\assessable_submitted | assign | assignment1 | Course 1 | + | \mod_assign\event\course_module_viewed | assign | assignment1 | Course 1 | + | \mod_assign\event\statement_accepted | assign | assignment1 | Course 1 | + | \mod_assign\event\submission_status_viewed | assign | assignment1 | Course 1 | + And the following events should have been logged for "teacher1" in the app: + | name | activity | activityname | course | + | \mod_assign\event\grading_table_viewed | assign | assignment1 | Course 1 | + | \mod_assign\event\course_module_viewed | assign | assignment1 | Course 1 | Scenario: Edit/Add submission (online text) & Add new attempt from previous submission & Submit for grading # Submit first attempt as a student diff --git a/src/addons/mod/bigbluebuttonbn/tests/behat/basic_usage.feature b/src/addons/mod/bigbluebuttonbn/tests/behat/basic_usage.feature index b729cad8d..8cb59924e 100755 --- a/src/addons/mod/bigbluebuttonbn/tests/behat/basic_usage.feature +++ b/src/addons/mod/bigbluebuttonbn/tests/behat/basic_usage.feature @@ -54,6 +54,10 @@ Feature: Test basic usage of BBB activity in app Then I should find "The session is in progress." in the app And I should find "1" near "Viewer" in the app And I should find "0" near "Moderator" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_bigbluebuttonbn\event\course_module_viewed | bigbluebuttonbn | Test BBB | Course 1 | + | \mod_bigbluebuttonbn\event\meeting_joined | bigbluebuttonbn | Test BBB | Course 1 | Scenario: Join meeting (moderator) Given the following "activities" exist: diff --git a/src/addons/mod/book/tests/behat/basic_usage.feature b/src/addons/mod/book/tests/behat/basic_usage.feature index 5c0ad35a6..84829a7c8 100755 --- a/src/addons/mod/book/tests/behat/basic_usage.feature +++ b/src/addons/mod/book/tests/behat/basic_usage.feature @@ -153,8 +153,15 @@ Feature: Test basic usage of book activity in app Then I should find "Chapt 2" in the app And I should find "This is the second chapter" in the app And I should find "3 / 4" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | object | objectname | course | + | \mod_book\event\course_module_viewed | book | Basic book | | | Course 1 | + | \mod_book\event\chapter_viewed | book | Basic book | book_chapters | Chapt 1 | Course 1 | + | \mod_book\event\chapter_viewed | book | Basic book | book_chapters | Chapt 1.1 | Course 1 | + | \mod_book\event\chapter_viewed | book | Basic book | book_chapters | Chapt 2 | Course 1 | + | \mod_book\event\chapter_viewed | book | Basic book | book_chapters | Chapt 3 | Course 1 | -Scenario: View and navigate book contents (teacher) + Scenario: View and navigate book contents (teacher) Given I entered the course "Course 1" as "teacher1" in the app And I press "Basic book" in the app And I press "Start" in the app diff --git a/src/addons/mod/chat/tests/behat/basic_usage.feature b/src/addons/mod/chat/tests/behat/basic_usage.feature index a324d0bc2..432913c61 100755 --- a/src/addons/mod/chat/tests/behat/basic_usage.feature +++ b/src/addons/mod/chat/tests/behat/basic_usage.feature @@ -54,6 +54,14 @@ Feature: Test basic usage of chat in app When I set the field "New message" to "Hi David, I am Pau." in the app And I press "Send" in the app Then I should find "Hi David, I am Pau." in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_chat\event\course_module_viewed | chat | Test chat name | Course 1 | + | \mod_chat\event\message_sent | chat | Test chat name | Course 1 | + And the following events should have been logged for "student2" in the app: + | name | activity | activityname | course | + | \mod_chat\event\course_module_viewed | chat | Test chat name | Course 1 | + | \mod_chat\event\message_sent | chat | Test chat name | Course 1 | Scenario: Past sessions shown # Send messages as student1 diff --git a/src/addons/mod/choice/tests/behat/basic_usage.feature b/src/addons/mod/choice/tests/behat/basic_usage.feature index 3ce75d8d9..3f220aafc 100755 --- a/src/addons/mod/choice/tests/behat/basic_usage.feature +++ b/src/addons/mod/choice/tests/behat/basic_usage.feature @@ -38,6 +38,10 @@ Feature: Test basic usage of choice activity in app Then I should find "Option 1: 0" in the app And I should find "Option 2: 1" in the app And I should find "Option 3: 0" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_choice\event\course_module_viewed | choice | Test single choice name | Course 1 | + | \mod_choice\event\answer_created | choice | Test single choice name | Course 1 | Scenario: Answer a choice (multi or single, update answer) & View results & Delete choice Given the following "activities" exist: diff --git a/src/addons/mod/data/tests/behat/entries.feature b/src/addons/mod/data/tests/behat/entries.feature index e1f6f993f..dd8093e59 100644 --- a/src/addons/mod/data/tests/behat/entries.feature +++ b/src/addons/mod/data/tests/behat/entries.feature @@ -91,6 +91,10 @@ Feature: Users can manage entries in database activities And I entered the data activity "Data with comments" on course "Course 1" as "student1" in the app When I press "Show more" near "Moodle community site" in the app Then I should not find "Comments" in the app + But the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_data\event\course_module_viewed | data | Data with comments | Course 1 | + | \mod_data\event\record_created | data | Data with comments | Course 1 | Scenario: Students can not edit or delete other user's entries from list and single view in the app Given I entered the data activity "Web links" on course "Course 1" as "student1" in the app diff --git a/src/addons/mod/feedback/tests/behat/navigation.feature b/src/addons/mod/feedback/tests/behat/navigation.feature index 9d59eede1..c808c5f47 100644 --- a/src/addons/mod/feedback/tests/behat/navigation.feature +++ b/src/addons/mod/feedback/tests/behat/navigation.feature @@ -377,6 +377,9 @@ Feature: Test feedback navigation But I should not find "Student 21" in the app And I should not find "Anonymous entries" in the app And I should not find "Response number: 22" in the app + And the following events should have been logged for "teacher1" in the app: + | name | activity | activityname | course | + | \mod_feedback\event\course_module_viewed | feedback | Feedback | Course 1 | Scenario: Tablet navigation Given I entered the course "Course 1" as "teacher1" in the app diff --git a/src/addons/mod/folder/tests/behat/basic_usage.feature b/src/addons/mod/folder/tests/behat/basic_usage.feature new file mode 100644 index 000000000..deede321a --- /dev/null +++ b/src/addons/mod/folder/tests/behat/basic_usage.feature @@ -0,0 +1,24 @@ +@addon_mod_folder @app @javascript +Feature: Test basic usage of folder activity in app + + Background: + Given the following "users" exist: + | username | firstname | lastname | email | + | student1 | Student | student | student1@example.com | + And the following "courses" exist: + | fullname | shortname | category | + | Course 1 | C1 | 0 | + And the following "course enrolments" exist: + | user | course | role | + | student1 | C1 | student | + And the following "activities" exist: + | activity | name | intro | course | idnumber | + | folder | Test folder title | Test folder description | C1 | folder | + + Scenario: View contents + Given I entered the course "Course 1" as "student1" in the app + When I press "Test folder title" in the app + Then I should find "Test folder description" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_folder\event\course_module_viewed | folder | Test folder title | Course 1 | diff --git a/src/addons/mod/forum/tests/behat/basic_usage.feature b/src/addons/mod/forum/tests/behat/basic_usage.feature index 4a3b38d3c..8f9026d80 100755 --- a/src/addons/mod/forum/tests/behat/basic_usage.feature +++ b/src/addons/mod/forum/tests/behat/basic_usage.feature @@ -66,6 +66,12 @@ Feature: Test basic usage of forum activity in app And I press "Post to forum" in the app Then I should find "Initial discussion message" in the app And I should find "ReplyMessage" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_forum\event\course_module_viewed | forum | Test forum name | Course 1 | + | \mod_forum\event\assessable_uploaded | forum | Test forum name | Course 1 | + | \mod_forum\event\post_created | forum | Test forum name | Course 1 | + | \mod_forum\event\discussion_subscription_created | forum | Test forum name | Course 1 | Scenario: Star and pin discussions (student) Given I entered the forum activity "Test forum name" on course "Course 1" as "student1" in the app diff --git a/src/addons/mod/glossary/tests/behat/basic_usage.feature b/src/addons/mod/glossary/tests/behat/basic_usage.feature index 8d212bc90..330d626ff 100644 --- a/src/addons/mod/glossary/tests/behat/basic_usage.feature +++ b/src/addons/mod/glossary/tests/behat/basic_usage.feature @@ -45,6 +45,10 @@ Feature: Test basic usage of glossary in app When I press "Potato" in the app Then I should find "Potato" in the app And I should find "To make chips" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | object | objectname | course | + | \mod_glossary\event\course_module_viewed | glossary | Test glossary | | | Course 1 | + | \mod_glossary\event\entry_viewed | glossary | Test glossary | glossary_entries | Potato | Course 1 | Scenario: Navigate to glossary terms by link (auto-linking) Given the "glossary" filter is "on" diff --git a/src/addons/mod/imscp/tests/behat/basic_usage.feature b/src/addons/mod/imscp/tests/behat/basic_usage.feature new file mode 100644 index 000000000..48939a209 --- /dev/null +++ b/src/addons/mod/imscp/tests/behat/basic_usage.feature @@ -0,0 +1,24 @@ +@addon_mod_imscp @app @javascript +Feature: Test basic usage of imscp activity in app + + Background: + Given the following "users" exist: + | username | firstname | lastname | email | + | student1 | Student | student | student1@example.com | + And the following "courses" exist: + | fullname | shortname | category | + | Course 1 | C1 | 0 | + And the following "course enrolments" exist: + | user | course | role | + | student1 | C1 | student | + And the following "activities" exist: + | activity | name | intro | course | idnumber | + | imscp | Test imscp title | Test imscp description | C1 | imscp | + + Scenario: View contents + Given I entered the course "Course 1" as "student1" in the app + When I press "Test imscp title" in the app + Then I should find "Test imscp description" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_imscp\event\course_module_viewed | imscp | Test imscp title | Course 1 | diff --git a/src/addons/mod/lesson/tests/behat/numerical_decimal_separator.feature b/src/addons/mod/lesson/tests/behat/numerical_decimal_separator.feature index e1ad443b3..c86db6e71 100755 --- a/src/addons/mod/lesson/tests/behat/numerical_decimal_separator.feature +++ b/src/addons/mod/lesson/tests/behat/numerical_decimal_separator.feature @@ -117,6 +117,14 @@ Feature: Test decimal separators in lesson When I press "Review lesson" in the app Then the field "Your answer" matches value "2,87" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | object | objectname | course | + | \mod_lesson\event\course_module_viewed | lesson | Basic lesson | | | Course 1 | + | \mod_lesson\event\lesson_started | lesson | Basic lesson | | | Course 1 | + | \mod_lesson\event\lesson_ended | lesson | Basic lesson | | | Course 1 | + | \mod_lesson\event\question_viewed | lesson | Basic lesson | lesson_pages | Hardest question ever | Course 1 | + | \mod_lesson\event\question_answered | lesson | Basic lesson | lesson_pages | Hardest question ever | Course 1 | + | \core\event\user_graded | | | | | Course 1 | Scenario: Attempt an offline lesson successfully as a student (standard separator) Given I entered the course "Course 1" as "student1" in the app diff --git a/src/addons/mod/page/tests/behat/basic_usage.feature b/src/addons/mod/page/tests/behat/basic_usage.feature new file mode 100644 index 000000000..7b7f99516 --- /dev/null +++ b/src/addons/mod/page/tests/behat/basic_usage.feature @@ -0,0 +1,24 @@ +@addon_mod_page @app @javascript +Feature: Test basic usage of page activity in app + + Background: + Given the following "users" exist: + | username | firstname | lastname | email | + | student1 | Student | student | student1@example.com | + And the following "courses" exist: + | fullname | shortname | category | + | Course 1 | C1 | 0 | + And the following "course enrolments" exist: + | user | course | role | + | student1 | C1 | student | + And the following "activities" exist: + | activity | name | content | course | idnumber | + | page | Test page title | Test page content | C1 | page | + + Scenario: View contents + Given I entered the course "Course 1" as "student1" in the app + When I press "Test page title" in the app + Then I should find "Test page content" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_page\event\course_module_viewed | page | Test page title | Course 1 | diff --git a/src/addons/mod/quiz/tests/behat/basic_usage.feature b/src/addons/mod/quiz/tests/behat/basic_usage.feature index 8cf359115..68c96ccfb 100755 --- a/src/addons/mod/quiz/tests/behat/basic_usage.feature +++ b/src/addons/mod/quiz/tests/behat/basic_usage.feature @@ -133,6 +133,16 @@ Feature: Attempt a quiz in app And I should find "Grade" in the app And I should find "Question 1" in the app And I should find "Question 2" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | other | + | \mod_quiz\event\course_module_viewed | quiz | Quiz 1 | Course 1 | | + | \mod_quiz\event\attempt_started | quiz | Quiz 1 | Course 1 | | + | \mod_quiz\event\attempt_viewed | quiz | Quiz 1 | Course 1 | {"page":"0"} | + | \mod_quiz\event\attempt_viewed | quiz | Quiz 1 | Course 1 | {"page":"1"} | + | \mod_quiz\event\attempt_updated | quiz | Quiz 1 | Course 1 | {"page":"0"} | + | \mod_quiz\event\attempt_updated | quiz | Quiz 1 | Course 1 | {"page":"1"} | + | \mod_quiz\event\attempt_reviewed | quiz | Quiz 1 | Course 1 | | + | \mod_quiz\event\attempt_summary_viewed | quiz | Quiz 1 | Course 1 | | Scenario: Attempt a quiz (all question types) Given I entered the quiz activity "Quiz 2" on course "Course 1" as "student1" in the app diff --git a/src/addons/mod/survey/tests/behat/basic_usage.feature b/src/addons/mod/survey/tests/behat/basic_usage.feature index a89f8a239..bb570d8f1 100755 --- a/src/addons/mod/survey/tests/behat/basic_usage.feature +++ b/src/addons/mod/survey/tests/behat/basic_usage.feature @@ -52,6 +52,10 @@ Feature: Test basic usage of survey activity in app And I log in as "student1" Then I should see "You've completed this survey. The graph below shows a summary of your results compared to the class averages." And I should see "1 people have completed this survey so far" + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_survey\event\course_module_viewed | survey | Test survey name | Course 1 | + | \mod_survey\event\response_submitted | survey | Test survey name | Course 1 | Scenario: Answer a survey & View results (Critical incidents) Given the following "activities" exist: diff --git a/src/addons/mod/url/tests/behat/basic_usage.feature b/src/addons/mod/url/tests/behat/basic_usage.feature new file mode 100644 index 000000000..24cd94c6a --- /dev/null +++ b/src/addons/mod/url/tests/behat/basic_usage.feature @@ -0,0 +1,28 @@ +@addon_mod_url @app @javascript +Feature: Test basic usage of url activity in app + + Background: + Given the following "users" exist: + | username | firstname | lastname | email | + | student1 | Student | student | student1@example.com | + And the following "courses" exist: + | fullname | shortname | category | + | Course 1 | C1 | 0 | + And the following "course enrolments" exist: + | user | course | role | + | student1 | C1 | student | + And the following "activities" exist: + | activity | name | course | idnumber | externalurl | + | url | Test url title | C1 | url | https://moodle.org | + + Scenario: View contents + Given I entered the course "Course 1" as "student1" in the app + When I press "Test url title" in the app + Then I should find "https://moodle.org" in the app + + When I press "Access the URL" in the app + And I press "OK" near "You are about to leave the app" in the app + Then the app should have opened a browser tab with url "moodle.org" + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_url\event\course_module_viewed | url | Test url title | Course 1 | diff --git a/src/addons/mod/workshop/tests/behat/basic_usage.feature b/src/addons/mod/workshop/tests/behat/basic_usage.feature index 080395142..c9c7e07b5 100644 --- a/src/addons/mod/workshop/tests/behat/basic_usage.feature +++ b/src/addons/mod/workshop/tests/behat/basic_usage.feature @@ -114,6 +114,20 @@ Feature: Test basic usage of workshop activity in app And I pull to refresh in the app Then I should find "Closed" in the app And I should find "Conclusion 1" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_workshop\event\course_module_viewed | workshop | Test workshop | Course 1 | + | \mod_workshop\event\submission_created | workshop | Test workshop | Course 1 | + | \mod_workshop\event\submission_updated | workshop | Test workshop | Course 1 | + | \mod_workshop\event\assessable_uploaded | workshop | Test workshop | Course 1 | + And the following events should have been logged for "student2" in the app: + | name | activity | activityname | relateduser | course | + | \mod_workshop\event\course_module_viewed | workshop | Test workshop | | Course 1 | + | \mod_workshop\event\submission_viewed | workshop | Test workshop | student1 | Course 1 | + | \mod_workshop\event\submission_assessed | workshop | Test workshop | student1 | Course 1 | + And the following events should have been logged for "teacher1" in the app: + | name | activity | activityname | course | + | \mod_workshop\event\course_module_viewed | workshop | Test workshop | Course 1 | Scenario: Prefetch a workshop Given I entered the workshop activity "workshop" on course "Course 1" as "teacher1" in the app diff --git a/src/addons/notifications/tests/behat/notifications.feature b/src/addons/notifications/tests/behat/notifications.feature index 96991ecd2..01fa69272 100644 --- a/src/addons/notifications/tests/behat/notifications.feature +++ b/src/addons/notifications/tests/behat/notifications.feature @@ -78,6 +78,16 @@ Feature: Notifications Then I should find "Test 10 description" in the app But I should not find "Test 09 description" in the app + + # Check event logs + And the following events should not have been logged for "student1" in the app: + | name | object | objectname | + | \core\event\notification_viewed | notifications | Test 10 | + | \core\event\notification_viewed | notifications | Test 11 | + But the following events should have been logged for "student1" in the app: + | name | object | objectname | + | \core\event\notification_viewed | notifications | Test 30 | + Scenario: Tablet navigation Given I entered the app as "student1" And I change viewport size to "1200x640" in the app diff --git a/src/core/features/course/tests/behat/basic_usage.feature b/src/core/features/course/tests/behat/basic_usage.feature index af0ebaf86..e758d96b9 100755 --- a/src/core/features/course/tests/behat/basic_usage.feature +++ b/src/core/features/course/tests/behat/basic_usage.feature @@ -41,6 +41,9 @@ Feature: Test basic usage of one course in app And the following "activities" exist: | activity | name | intro | course | idnumber | groupmode | section | | feedback | Test feedback name | Test feedback | C1 | feedback | 0 | 3 | + And the following "mod_feedback > questions" exist: + | activity | + | feedback | And the following "activities" exist: | activity | name | intro | course | idnumber | section | | glossary | Test glossary | glossary description | C1 | gloss1 | 5 | @@ -67,12 +70,20 @@ Feature: Test basic usage of one course in app And the following "activities" exist: | activity | name | intro | course | idnumber | groupmode | section | | lesson | Test lesson name | Test lesson | C1 | lesson | 0 | 3 | + And the following "mod_lesson > pages" exist: + | lesson | qtype | title | + | Test lesson name | content | First page title | + And the following "mod_lesson > answers" exist: + | page | + | First page title | And the following "activities" exist: | activity | name | intro | course | idnumber | groupmode | section | | scorm | Test scorm name | Test scorm | C1 | scorm | 0 | 2 | And the following "activities" exist: | activity | name | intro | course | idnumber | groupmode | section | | workshop | Test workshop name | Test workshop | C1 | workshop | 0 | 3 | + And the following config values are set as admin: + | disabledfeatures | CoreCourseModuleDelegate_AddonModLti:launchViaSite | tool_mobile | # TODO remove once MDL-77951 is resolved. And I log in as "admin" @@ -134,11 +145,12 @@ Feature: Test basic usage of one course in app When I press the back button in the app And I press "Test external name" in the app + And I press "Launch the activity" in the app + And I wait loading to finish in the app Then the header should be "Test external name" in the app When I press the back button in the app And I press "Test feedback name" in the app - And I press "OK" in the app Then the header should be "Test feedback name" in the app When I press the back button in the app @@ -168,6 +180,23 @@ Feature: Test basic usage of one course in app When I press the back button in the app And I press "Test workshop name" in the app Then the header should be "Test workshop name" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_survey\event\course_module_viewed | survey | Test survey name | Course 1 | + | \mod_wiki\event\course_module_viewed | wiki | Test wiki name | Course 1 | + | \mod_lesson\event\course_module_viewed | lesson | Test lesson name | Course 1 | + | \mod_scorm\event\course_module_viewed | scorm | Test scorm name | Course 1 | + | \mod_workshop\event\course_module_viewed | workshop | Test workshop name | Course 1 | + | \mod_choice\event\course_module_viewed | choice | Choice course 1 | Course 1 | + | \mod_assign\event\course_module_viewed | assign | assignment | Course 1 | + | \mod_assign\event\submission_status_viewed | assign | assignment | Course 1 | + | \mod_forum\event\course_module_viewed | forum | Test forum name | Course 1 | + | \mod_chat\event\course_module_viewed | chat | Test chat name | Course 1 | + | \mod_data\event\course_module_viewed | data | Web links | Course 1 | + | \mod_lti\event\course_module_viewed | lti | Test external name | Course 1 | + | \mod_feedback\event\course_module_viewed | feedback | Test feedback name | Course 1 | + | \mod_glossary\event\course_module_viewed | glossary | Test glossary | Course 1 | + | \mod_quiz\event\course_module_viewed | quiz | Quiz 1 | Course 1 | @lms_from4.4 Scenario: View section contents @@ -293,7 +322,6 @@ Feature: Test basic usage of one course in app And I should not find "Test scorm name" in the app When I press "Test feedback name" in the app - And I press "OK" in the app Then the header should be "Test feedback name" in the app When I press the back button in the app @@ -423,6 +451,13 @@ Feature: Test basic usage of one course in app But I should not find "General" in the app And I should not find "Section 1" in the app And I should not find "Section 2" in the app + But the following events should have been logged for "student1" in the app: + | name | course | other | + | \core\event\course_viewed | Course 1 | {"coursesectionnumber":1} | + | \core\event\course_viewed | Course 1 | {"coursesectionnumber":2} | + | \core\event\course_viewed | Course 1 | {"coursesectionnumber":3} | + | \core\event\course_viewed | Course 1 | {"coursesectionnumber":4} | + | \core\event\course_viewed | Course 1 | {"coursesectionnumber":5} | @lms_from4.0 Scenario: Self enrol diff --git a/src/core/features/course/tests/behat/snapshots/test-basic-usage-of-one-course-in-app-view-course-contents_49.png b/src/core/features/course/tests/behat/snapshots/test-basic-usage-of-one-course-in-app-view-course-contents_49.png deleted file mode 100644 index d1cd672aa18712d181e1d231b1fa7c12e6e5b75c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35479 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 diff --git a/src/core/features/course/tests/behat/snapshots/test-basic-usage-of-one-course-in-app-view-course-contents_57.png b/src/core/features/course/tests/behat/snapshots/test-basic-usage-of-one-course-in-app-view-course-contents_57.png new file mode 100644 index 0000000000000000000000000000000000000000..a58892cffef0284a9c73036504eb3b2d225b4197 GIT binary patch literal 41117 zcmdSBbySw^*Dd-W-Hm`qDk2~)A<_tlsE9~6C`fmAcc_#oDcwqUi=qO8fHVlw-F?>W z@7w#Yea=4L8E2d^&O3(Vg@^mOk3nTBu|J(i-$s?2=6P%s-RGp(BWSn z4i@r>ox>3P56wYEUK&;MgKi0hVnp4Sl~Q$mw>sgXN-;czwP~uUQIHG^h;aJRgY>ZAf$JS3mK9+JY zc4pW1F3?4iqckzh1t zW@eVpJn$!zIchBANV;|uDQR4sF*PGIGoL*HI($hk`v3e(N)h!aIEVXsM;LjH+YYO= zw6yKXz72}`o{I^twTdqd37wz%qS=Cug42*R3QoUL%G!zaI zkz5SD*k%uRGj&BUGcLNHpI?%ghv3hFfvt9835t7(SWJN}{aNz7cC)gs9vEF^K>3O>K8ReUB zOWSB5=V8$A_pR5iUpHJH%!fy~#L3CoSER|WTB1XPi;G)h_Xi7}Ub#d^#PeXn#q8&Y z`*w-ibC2HN395Bikj__SzJ47uOD?LdNb^&8Jts3Ws^w?)gK`*1%Z2Z6Z{x$C*tg&6 z?QPD;>@N1BD`tO`?9tZJnw@S9z!G_`oM)I`0fR&>>dg5gRV>1JZPc(o^IlnX_3-xr z^GX~XoR-Xc5eCM_0qr5gS)NDRomw_e@bK{b)6y8+cNhI88$FESwD9g#jp)QZsrg@g zbG1r=PydWoS|~hx*on>H>1+3=i&E1o8HZ`7|aT+XFN6O*t6irqPayMe z6QRszs)-YOp@D~=9~~7K6lAzD*|<1X&CUL-0HdLz@d_-Ntv{dJfBqzM*_iBHpQyK+ z|4O+!)y%-k+RIJ+`{Q%`1a5tz$B!R>gE^y;PjQ(`r={Ro;lDv1uOTH1o2#sZNzOO5 zM@~u^4;M8N^;#dV?K7{`XmGVlaPv4=zx9)6vyKskf(NSWAA096nKL~-{pvE7q6bOK z1JQi9oxev~k8u3Bn+`AWB@;-TA7-r^5TdxaxHQTP(5kE_!j}ee7wU7qDcjF>;95>L z&}=jwq*_nTw1+UoE0#O0sA*_vE$7tN)*4=%pSd1xGU@2(kX*eQWz&2{wKi7$dHGkN z6ZV<+*>MKUQ{*)!^PBeNJWTN%mX}o}vz%%Y`|RelJov>fRWY0WL-@zUvAlxZ+#8u$ zS#fXQzRh)tqUN2ATIMyQ9{FTS{I@r))B~PSq^7R!ufmOx8R?@maou#DShwjCo!XCjBrOr?>HTJ#FsWPG z+ht07Q^h=%^)9wPGbk7ST7*TCAj&ja@eQBdQ?kvFqb12MXQ+;MZ=GUyx34umcGn;_^xhl8Sqx}w5v<>>Q4?f z&{5*Yi&=ET3^X)Ha(kqtlp!$tVX~f{o=$IUlzLcMTSsTegcz+16}zwb`}>nnPz36G zA7%HU`>7Rvx0^iLS+IjwS5se~B^`uUo2tdty|w%dixBDpJL2&HGw`!(Xf` zG7Z~U*C8R*E;x}sxy3kxULnb~hf zUlmPQb2K$I{g%Xw4lzBXwpIjX0O`hTsE8(-PUO`ZgQUf9N$19eP_H6cTn`r9M47n^{;0fy6Laq)9$BG}IE&@(Y%q=Yf>0s*0G`vB20;TwENrg!f&z zaITOS1O<`kK&nn%m6DQ@!<}9U!m1LXXKardS10O)5;!$4HBhg!ty`eBIrvdUy7g)Y z!;a1n+k+r7udHuv&7VsVtKNO_it`rD>dcw1iXh;M{1Ejzu9$SdfS6Q#Me6$_ zDS7K18Lq?y;ZmsptdS-!QLPFyw1%355?GlcRYDy%qoh6PwtD=gx95AZ*+~Rm{>0F& zckYDb3XwD-gqUIZyL#a-Wc|)|Mm))o#&q16yoyq;w$@cG)w`Pe=zSZ!{oRD$^)B2M zTDR^vEq_Q+gQFNzHe=l^jP*X`hJfI zewc`t^gU%{Ro~rlUOgN=GX3$cUyO0>^k}ElN}HnkarMgqtY3xdz0Rq{#kX{Hb)7!r zz$8*F(%>Ddf_SyLzwiCWJ$%=$1J;Mvnia$K`&wGGFMhlWBfs%Tl0Ckyy&WA6Q+V{K zYs%*$s=Hf3HD3iYMbOGWA|k@NHa(p&@`?~qJo~dYNWxDbv5z--U8#53klS1SMM^@F zF8ZE?jxG{j(4PsHsm^c7{IHz;kSP!00tXk@ufD#1Jwv9yzu#=E>Q3b z9C1U4u1bG;@x9D#=Y>M{&tdBnn8iz637*HhH;L$kQ9?pO6S_ptzrJZr;x#5{kPi*j zD+Op(19{|1aTcU8NadV;I|kbv0s^WV(WU;vw$m*ZHp$-#nU8S(B%(`2P~C!a|7~0U zX@H;>2nH;|!qi(^Td`kE@^tG3-4E8I#J!GN+S-_V_=ZdMKLf}^2B4xs0EV3Os;F}Z zfFJ`?)7)V}9v+euA)79kqX;J1UmN?A6(inuve6s^t7Z9-R09`*S)~@l`m4=n`&VE9 z(pB=O=jJfDxw#LIj-I<&@5QmmmmxX4(c?0EJYGD9x?GyL7Y_glI&N>zWQep7*zDhJ zKvd#4{V`WZ&&({N_~1c%I3Nv!u5>in9#)2i(dN$z4HjFxH+Ri;O$4GyhcH#;JR)n(^y*@BAm4F=pX5Lc^kh zD&r~5Yg9uXZ_sa=4W`%hcyMHYVB6f8JQMcW;xqa)tK8LvwK3$-8S5u*o3B<`)6>)6 z9x5Li(yaIc|JQJp2a^*m;MjH~0d80Xsci~7#&v~$SshFRI1^r5urTj_NBoF`XAXWAt zk27~St)U-P1gn-)H{wyw2p|f`9a`|*bDUZdm ziEH&H`#Rqg`%OH|obRdlm0D3x+Oe|SD+@v&D|Fa|#26i~)@n4(?ObZ!z#Gf|B&D4H zh5#MQNT=EAV>uK}*REZg?v7(A`}7GNHJJYtTTf3fNyvsCU}r8qx_XID>&NFko71i6 z!otGo#-F2;1g&U4sN5vFdM7aZLE+8|n&8K9~ z3RG|A6hAvGDlVE6q(m%q#%%v;!FmV~M?BUGkG}~iKl2@-@Kl%Ne z##oL}2L0d|xqC~X(Udl{07;g?+2gN=rXuh>uQqih$u?J!QsaDtdAt+cBH)y($HL%p{tRs^lu z-+N^AnF*NvZlLKpi3&u}Q-jmV?1I=yEX@D!7R^CX-*>F^8nvDYIF`mdo3fET^dWXK zoc_D!Q}+Dik*w@px!)h1&1Qa4ut-o7KpxVmvnN~;y72Y(a-Z$qdhJR}9>8^VG{Y_n zYjdjd%Hz~7$@527zom*}=H#ecW4&&?8G2#Z^#=EFZSzS-M^|fqD;h)ZyGx((D1CMI zJ7Xl)T2sCJVilBZ*H5pXme~=a7&oUkgm+JP;o!{7ES9cl`V0@7ruD|erLUDMBY!W* znX@vLD-|hEZ3fHkUd$*jshmxx+YgumNtTwDq`49!pel@jB2=A?0?%$^QVeDsm-STB ztwAWCiHN8kz7-&aR7oj~!|QYI$?LeNyfycQJT5hrORYrbCg2Y?0osQdmJzdmg$xTu z>MtY{mR?I7Yn*QW>6OM|BDyNVg%x#}=DI7aVq(H}ucb-<-UYE|kV-b0G>+Z;sM8F; z$p?)}=PZaqlyHYieBQ-@4!yrvzkNeH8~h%+90%M&`rx3moA9IKwq#s^U;h6Euyfb`bC|om*i-MW>1m1+Wc7u}TXqC*togFVa z_lu+RTGyk3#oso0p^@QK%)}dwd5bqPhkc1Vz6|(;Qv^xV2|LQ}UKNnOc8!(BHX>0+ z&I>I=t?-_SiAib+K0qXt`A|_98ah_Xw{HaYwRGa*;!p@^G#x`(bHjWv4-LTChYuel znd8zee}9Zs%r@&wM?<&|07ufAoh0kY#ncv0zE@n6fh)u~8h=uO8GnQs%4;VS1S(LgmN38%VrTHTWEUg>H1<<;Y?envqq zqF)7SKX&*M5~voByf44;;>}DPt0Jy*rEyvrZ1YH^hrD$!m&j^nRrP*#lh68i=bt>Y z!)R(e2M33d-wCaKQfGF@t0H-W%hlHUW|fy78yoF7>bB(b`(!G{e_b5S7yG94@X0{- zojXou0qOXOj#jGXx9eQiFi^H$xm>80`sWS`*(w^^ni=lD3PL@X-ZG*Vf98vEa(-iq zQ|K#xiap+N)t@4WdDtuNJ4Q!V-h8B`)SOhw{pe7kX=)&o&m?ySVo=RI+~-w-2foi2jPb z3`==>FEw}Fsn-5^f0a`Y-Iys5elVlhEKDOzduMla^xaPE-B(_JG3i!j|Frf1UYVAF z2eCJKPRrVa`=;ej>Z_x!E5VLaRCNcl9B4)A7sToP=NBgfK0WSlI8J~YP|eTO8ym0k zvRvg?bu3D+R-!aDow&%#%z_NrXF9#fx!2h#=CQKh8Sy=<+RK4#Z|-G6x>}|E^HaO+ z3*rj3gap7^C{(w}3zY9i=c>A+oEJInKu6fRFEyH6%zABciZcy+ZEbrfs~hiG zI&b{Cc>j)uDz3+aoBbH~9sBZyQl-tG_iOvES7^Mbfmx#kb}9hKmKVvTD)|O4UhI!L z<>?*GcqfxE_XrFma^byJ%+{!~r0I&f5(3QaOp71-NSPt}rAwC_7ue9z(YJnx-g80I zwp$taBznii48Nf!rKRcJd5X(k-NVpm@9_Bt;sG*8+Yo6pFO>Bg1yx?2`xJc|Qx|#C zOh&IyFV+3PD;c|~frpp3_1nwWJY_x%NbPmnoI|?@ z(N0YdPo$aSTJlxyonE0TxiaIPtX2HQ$>d?S_tJsBpu|wA^#-R`!>-;}Plo&3HQajF zUw`3o-o@Enp1l28u+(GYKBJ!?Lo@cIpq$rR6zY!4dL;0dEbNLthl)6Uz`_~>ltTGJ zaWxCnfxA^(TbrZLQc6mS%+XhU7oa3c*R&xTF)^V5k&2MQFn-EVjnheZ(?M|r^hX<< zZ!f{^RQP0Ot~$ty=8CZBGyhLdvpJpy z0iz-NB=h;sf$iZUgZmV}-s!pa`5LX|c`JkK7X8tN#My$q>|Jky1;zMHR%U&7ZZS7n z^e|cf?fw1Q^@vq?An6ew;=LTPsIVZllxpsp10iO3poa?u1J~y#d!7% zpNn%SmSxS%Ak{U55=)$tBy#Dt`J$owUS2r9IN6W@_U1A$%hfhhT`+a~avw9GB!Lu& zi;YdkCy3x zm*qaH8;{aD_nK{(d3kZioKFJ*D9j79JMNVljMus_z+`M*y&weY$ZT=n+Hb`}w^;r{ zI4nk7&lko%;}@RnUH8DlLk!ig?XBe%G<~H)?83qZ+mRwjN}?Bw?g%KeJ@sD2`0HIo z?PUHdu+r&=%yzBS2`fFJozSj0mrk93#jYdW=^1ru=f#D0{?kI%<-wA$y_9OEn<6yf zgQ}j*cK8XL7gVUpuU@<@3rB)!+x<6$?Up&uJ*fSfZN}R!>zB4nRa<9SqT~X!FUDItUVgF_y>{(!Wrf86Squw{-E(T zWS2R65kad_j4M}Cm`Cqi?_DHim`>RkYBTL-8!UKobwHdhhEGsXqhVFsvv&HmWul$4 zy>u3qbrP>By*RZ1YNF1uFJ)t*4Zk`A~qp4`gl)gYwO!hk)gg?W6{-9H)89_ zbL{79t2`TjVjOdw@KmN&%-4o0bs!%F?9rj~}m z(W_pPG9ePA)EY>l?l$35E!4sko7(W_;^xxpxoq`b25p-Uc)Hj0O;DS7kLciec?-6nd~KNI6+fVeN?P`**|G z6wUZQe(`YNyT?Qm%6H#NYi7l!DPW`K%Sf#i`du+v!@)8pjZfbEv*ct?`pYkMMbYC{ zyX-hyq(i#U5ZEw=`O8sdITdF9jNSPB2EWrV9e~2=1LGTgB@a0!6n^bZr=Wa)TpdN@ zeq?$E3q_oIkU>o?!KT70{H^TVg2~OexD;V4!8%7v^@5FCH`uLj;@wLy^-|vAJ08FQ z4YupQG}tWxG(?{L)BWF4Y5#kij;WT;RSpRbeI4D`XkVy0C|z)6Wp{&x`TnWI*Dk~( zDLQpAfPtc9iF*vcecNEJt@GFxD$jg2f4B0?YEr|_wzcMNrEY)0#~P32YN4V>p+MS) zi#YsU)Vp!x22zi0{fUuSt_0?k94JEo;y~(kF!-Ei2s_}pV|(UjLHJ^3V^ip!w{H~8$jE5>{25Ws9>2TmrUIYYtqk32 zblP1RejIsKR1Jqo*44EJzJ+|FG^)C~TBFuJds3iQhYNuQrCFJofjV55LF@Tmb^dN> z?av<;@w45hP^SPNM*%#C`wmc;+;jG|Bb643P$>EOqL>nUf)ulVR%$l7R|0oDq`f}y zSb`EAi-3eV<|H&U?*n^xxgalZd5iwthsr2HK|y#H)KHNoqPhNo>axc3h|kl@%Wq49 z{(pD@cujxMp(IsRDWDvU1g)2elal~+H;ra*F~F&PWri{+U*N9Kj}{mL0|OZ$K|hcH zzN9@6m)v%BgcoKB05sv?;k8v-4D&#>3iTGq$Fyd@ z3MkEg6$Al^I|KAN5?UZiA>$TFC-SkoTHBdcz|8mX&~_`Mhld9u zl|uHx)UwgrhiM?DZh4s`!5P#vKe#(k96@oRMo1t~01y%g1^gv>#AWU-5P3F%{FY*m zM<_duM)%tw_MuSi!G!HlAR$%sKQa9G$80?Yz|TP-u!8EnwY&6mWMm}$NtPUf<$xCb zr}i9f_i*#NZJQ*$ecJ}-?@8ni$zR&htp~!JQ}ZK6Q&UrScemvGJ5FUUzS9a=3>9@( zYdVisS>fyJ>vL*X5j;rXlmg9b>zBH|A&3Yg6)(wwtpZ&DzhZs--(%e%m7ZI9>sJ=a zHkh|;(#O1>dP*2V75&-wm&cRr))itE?1dO~l;efxnZ=mc@d@)K@zs#^v{LyA!3jbw zZc@@GhR77Sc{9J|EIu^O@9TPM-e{f(a+Ep!t^PI}s&|uC@4Sq^tPE2+op57VozoJR zVrIAx4CT$9>tzfo!J?~TBQcwe$$(Fik$1=SbETulIk0wJ{wL{ z*!>~d&AA^_!qsj!&+9$09_`T@PrvobTb-;}Y{F$`&QvLo)s@uvo`s23d`9WjG#Nb@ zsIf}7BYw#=MshVEmM+oFeS>Phm)`Ha@ua*~8~?6m9eThpg8>O67&{C*LP<;C>odz? z={;*N6f<|NlwVA4hdU8*j$95MEv`%Nym+xR+98f3)t4~uYP-%xXa2Q+C*on=+C-(s z3M&{rUh)MX>SP&65SC+aLh*4N$n7l|`~|u1sqC_J7xkb}Z^BJRMAYT+o0DT*7Ii=D zfjNbeRYq4bX(Ck8*)Lr+&`+tF=sXZ#q9_nd1A19GeL7{$%UW(2aZseaj<(TqGw`eCThzQ1Z7TTXrM};V^}tYNTxN z7;y2+h;PUtr|{(AUNV$?@d7JKPFwibKif={n)V$zEQ*&egPsy1(fBFb&j;t-zWMnS z_rHX<9b>u&M;r?oHbGwMlAfU+EBk zFc%aEix-RHgp>5Sl~s7d)TOEJMFX491DMFiuVOz)VtUjYE!DRewy3gWUL(s>HE&mg zKbe@kVZW_(&9@@7l(KtQE=KqxhjG-%p{$u(9ViNUk^)+{QmsDz0%dCk&)0E& zV3kN7G$-U!WoL_LH(^V=DD2;MAPfy%T)T0b*H7sMmP2y#`c#|eM}sgz#F?ZjpxANy z-w${GUvo75_j2X`YJUCS^-le7uS9c?I!WB?4g@7qa`LC+*)aLyg>!6x?1xRgueagEVQ~E*=xe{4!-o)igF6uk!y|1W< z2g;ToXqZ>QK;<76h6{iZDLkOMXdYRHHSh|DDUeAG^mhR|5qk`f_7}%%`RVBBfF6z< ztF~cbW5fCT_wPuJ9Si7FMxpEW6(CX~IRVs8u0ii@mRq+7S>z&HK(GYY5k9aXEWEs= zpaIKCOJ4#(6<1$>YL@GDXsBX2kYSg&En<0WmwsM{v_qDfnhMk`htk76Y&t|%#3g5y zg_49k`3VCJg@~(7=f@V`-ieTF6{`v9W~&&2V+brlzyVG4f4EOh zK*NUt;_26_G+>8~rd#~X#%p*R8XJ*ZqYDMdgg>~&5SQDZE<&)87!Bqb1qmM$w@XUHoj7d<$}VdLnR>A+{&r@;VWp23$wLd=SUm+Z%_NxYy|f zkwgLUe2!(3+079Z6>b0ioe(jVWW9$6*<~fL|L*(xH92Y;#B6F|TZ1Y;#Fye;8bp$G z*NqP`MCmoU8-isEssMzA1jh%Cd0 zMXgjX>g7OA1{AU&1Y>^(03r z`L2}(Otb)UtaRYyL8?X27aU3j*o7GcXCNo(5=A@@%MhR!!r)`NT zfHC#18}p>sfi5qoXpK&jHFh$9`jB@tApr1_*PsQ}==3N>@F9GP00@9`#0=sT;HyA@ zVxB5{V->jCNbGBMPLCGS0Dxxx2LeJ}PJXa4HEbbjF~kWFud`UYdb_a^G_D&tkKVHb z0z8D{cPj6alJ*yZ5`};IJazyBCgn)EG4_9z@195ViO7U{D`XRW|26AOqQ1A3me$)z zK5(FkqS8Un3JnYE_v!?54C0K;R|Q1@3q>d9PC*-m1(Y%Hi*-&l;E3u;xaH1*&b%6-k1VI4vSR4Q*L92lwcM^2UuM{@!=372 zYm1uPtO`ri)YL@dUcc~p_5ufv5LD1F{WCWg2nGYAR)0)khra|^#Pm9gUSy=CjmuG` zG(bOS)Yvk0#W0k*j7=Bv5g#UFk9}i0{>K@7&SbLcbvMSuSUR3lga8gNltXTV(i=+2w9x1!Hyb;T~}b6 z!G#uO({#i-hCT`F4$-uL^ZsX)>dSs`8Px(f9ta{wtJ}1Mh_wv7K}-HJU{PU=S41o* zLY@~O&mv|gVeiu#J+b6mO8cLnlmVr00MSNsnGgpDg>nSPs;~An4sC61goT1h&mk{Tw1Cv#~fz>Zd^pK_C8q?;?%0Z zVP$1?U3l+O24+Q0hDm;KS|N^KiL+huri*hAcw30%4VDvk7aGKqx%2mXJ4{LCQoTmY zcGN#2Cr_)A-FbaHthDJEPZ|fZ3woO8Hf}J{RrApAnNKUtpCR=a6fW)HOR?Qseg^eV zCOBZJMeIMco`9_yro5LjfICvkG@}d4OAuz+8~?XJ>G`Ub5$Jc=Ve%o{v}LG^Hi3!{)FBEv zA%Kn9{&Izo4DY;}r6~JYA*-pKGRt*8Miz&OppvgrD_{h8&N6QN{0fsC1}Fe#KlGcE zk|(0DJw%geH#L&qyiuKgPDq7C_WG%TxjCN2gXl{D%;s6|#bHIM;n(vGVQEhNgC3I9 zdjdoWR8$0);F@kG##Xow@M$tryC_|5+R$Uc4;h&oTdDwA2vk>U~ z>EqYlGGK~(eSHWA&iC_cN#t!Kqcq9~QpIrWD&{}nLh+xySsV&ACDol&t7 zT+9AIyE~}>6UE(I%FtfXJnjGrpmY_$<)a^M3y_k-rF4W!1Ajy0c#ewL67mz=Qq4*q^7_8}dSf|41$l347y~IH$3;Xb2 z=Y*f;VhGGCM%(fs%!T?I2@h?Hw82RIU$q-3&JP60Dsu9btf8a2X&poEYc9+pGazq} z-N}>oN3}@7tKl>?jo31JRL3TaA{)qg;sW9nHi9@OVM;31`#Bt}T zu-c29@vjv#;IIvZ*WZOfQ^{8iM2jN}=_nmzJR8)~*gLvZ^^{o3=n2-(0zw0R%Uf{q zLE_TOF3HF=QVAnQe;e9N+FZso7-Q3BJ@it;=|a_}>Hg7j?^veI4h z>Gk8cevv)(aSetfO1f`boK+Z=zCQDQxS}r3EfpUf$$`dWBYt=4EE(N|e1R%&JuO5b`s`v!>-OM5fIRso}|4{ zm;?AD9U^GmFaX6o<%~;!ds0jH=2*FXmTs`JBIFF9Dt@ymxJGjLnSj*nPiN)T6nq6G z16G@?6S92V*xQS7xs00yfu&kfTAhUR;?2n$jIrvVnE-7g1>?}4E`{#6^b-@}=xeF;4#KT@pvBEBHnlC1hI8;0;h*U!d`t{9pFiddgnC+wfhGI zprH_BBy@rF)z}#${T&DmVR7-9n6;+pI$tyn#z^SY6W*6LZty| zhBP9;iTl1cJFQRwdp83gBZwckd10UPhRHidMn*iwT?7#2Gc`ZGNV?<14#3P|yb7%P zz9Av<(S|R<7mj=kF2@isfg!F^fP8f@o$c)GkPa3oHJna9Pfh9Dh~3hvXo2GpiwWZD z2AqyKrDkVmc?{by8V)8skZNXsV=ArG>Vd54a;WF=fuV`_L8$LA0F8$DcfQy{^GK}8aJFM=uztfJw7e(<3>;eGy<;y;!hWVDUO zYwTvze9lRM4xWwRZX$`Iy-fy&T0r-z?D5dTQN1`^ng-1{{x$aV;hS4qq+;&7;6#x_ zcw>Y!hHMIFlaHn&-CG&H45;{vosZ{kzkDV%g&3Wm9!X~?hk}2V7l3Aev9^$I3iOSH zBg{6Cj}ZWi%K@z*4K8-4hjzMGz*vMx|8~oRHxc6r^a^l7`2g)3r8VAXb>K^z1>{Rf zNGm`B4MA>`RkE@+1&p6ZJ32Zp`A}L=ch^)s?l_bVjU43MAsgPm9A{IVTsZGUT^=Fh2!1Ku6rb}Wd8O35nzHxqEd}{a zPa7bMxZK5N$oBAKjQFvFtE($Am=hHMwcr#^V}f_@>OhECyfs{HqhAhPUlSHEgb2Eu zSectMfn)ZnTwwAcH6i%+-6qeG5zA|r+)8EbGf%zX`1Fl$W!?g%_%=3{1S-4=vwmqC zcj(00f-Wh*q-~v@m{3k6i8!zdT91bUlOY4HZir4$P&7|9zzeB?c9g2KOD*q3UA71R z0y;&ZpnYw^6NoDzp=wSq!IwW}H=JPL!1DtD3k@J4TnB-D6Ln59&=S;F>tH(FSxMw- zryHomI#7?*4sjelm(Es%F=QlfO*e6a6q3Jj+xWhfRn2LKyyS6GFGDrOlq`))dIU&c9a zwmPo0>gzf?xcH>>yv*`~=^E8@0+mGRt<$9tpkw+{xB^jn?^pn8-a+ssRC&e#`auY} z4pIRRtRyh06iS}ud=#0I^iVw1JxUOQn@_r74*-w1Bks z_7X$2i$GhjOyRDEKQ%kX!cM!LaU2)!V&bupim%AAg~&Ss0~6D^velCfWrpiqpN97y?vV!Wng6$h45r> zqa12QeOKSHu(0fnj*X4UWGGAGY>nCuXUP*oWHtl>#B3mk@Q&kRY|l{lZ=gwRVGSIf zoUBAyLQo_?e5#x7J0Jh^!U)lSD)th8cxfuwR`B_5K=H737jHl@hbS1vfJg|9h#0t{ z;=R901DX%x>o1#&{Va&D{h!hcjWAch*(z&bz$h&v1Bk~#fQcLNFs;{bAc~m#S%E4$ ztmBp7uMQTkMFi-{$owH~E&bJR^3)VEk6ro|f;Q3MMh@3O>I^Hgh!uw0N+D@x9M+Oy-KgY@jMm81UG*r$CR!3%D> z_uQiVqM`_~2&jE;TMSKuu#MEXT>4D}09=swh9aS)4Epl=hVfXH6__MsTwR5SO7)4s zUNa%pKQu&jak@hcOx&*Zu*X&S3Sv(If(oQQVfd5>2pr(@WL=J#s|A6?gnY$>tb1tG z0P)NKih1a&>-jkaEh^>K6L%o;FaohDadFBIei;IMe0%}3J`{+P2(brQ9dTVienH>g z->-34AcFPxf2yvnyf5wDg%sL0I!X%@{C<=F&mQ1dP55Y_BM6Ax0JsGtXh3?G)X<=Y ze2!P4H)r>sF*|>UmJ*lp#QFTTM&kvqz*bE9LvK9t`f!q)yvp+9lBaFKeOC!U2-o*y0tDUJGbga}x8ou0|S%NTD|k!lMy{TaAwB<0L%$qVEkU1&rZd zCezRVK0KDVz-W^fGWC$AV zN-8*>7`AkjQz;dCF#cHvyZqJA$Q5ix-ncgFWkU_8w1~j~ea5YnA0*+f6MV~M3o!?` zZ|Xl3`u?#;zU)24;i+*Hzbkzr=pRmss?;qJ{eF>fB8xtB!F^R`n^p;VK?k3qYeH2GM> z;P3zzbTCsO+qSV)Q@d~Nx1yFb{>SiHE&u;i^HM?*;Da~%w8d49kpyf%f8yoR!iiaO zl|Lk&#-TlZdh^w*qw*FwCWwjm9@^9V3WXESzWMOymPHvuW(4|(^hf&CLZGa&oPFCH zp91Ua=qTg9CNuXn7z@7i5z{a>3yY^vV;{=N0e6tf1%xDDY~VFa_L0lI#)tTHSW4L{ zlFWXJ*@Bk$;3{&Day_m8hZjIDU!`64l0w9xmY({KN zG?`_O#$|0no6`oF8=tpb$#w|9D$7F&(1ZpzTQMrB21B*LK)=XIA<(bnl9G~I3v`l3 zRZ?CflPQWrG`0AoB3}%ikx)s9W`2pcM{Y2U#FqzWXNxeWbub2GVZc58Rw+<*rMrrM zg(Jd9?Di&KKomg(C(}*L`(N;qz9>DZiX=p67lmuFw%stlB12K>zsxhfDKjyNK;I!2 zj1=Ddeyb1-4ci-@*!#spj568KHZ2{zebh{QOJW$lGU=^CP7WSXp2Xy(^IP9;;3teA zyAjCV%aYaMM}EjA|L<)`@W0}^a)N5@UBpwp;oy{ypc=(yg}I{71=;iV3vUGiK1ZvYny)3(*aR z?uKa2OFvo`$J18cM*Owxb;&9DA=bO|&Y@_&yT-1t>VexXPpsV^s%6n(Kb;ppYeQkM zAJf$;1t0%#G8ZGct3uuV99|daJ847osGJuI zM5-bLAb*eCw0ihYdk^~bbR<)uxTIgOkPa(+(7gLYgFj5GZi)|NysGT{#OUntv~r&B zz%)fFmcD3*gU%e+Er5_Uflk!RM-L`*psHX70-7)b0 zqwvoBn^&CgevgYOJc|t>9~=5JTOL5N?h%+3{~o;|)r01ij9!uL1;2;TOk0M&p?))| z=P{9tZgs+K<=ep0{pq!I$9m;686BX1D_G5G*x;ym*I{I55`$v=2d6{xsrE1_e>sEq zxht)GiEdZ&$i~+9JZptB2Yte45cPIl`BPH;dTtQ6|4G(cJm?=)SxIny8Of3Rr+@bM zWyRu?t*mOM>Swdx#Y_#X^iMVB4;Q&fPR=iQ*q1L4zWmuBhe$x~I>`^INgVHla=89& z{l4?%__bG9ThUle(&i1li}Uo>x|W%Xb_od^`DJ|xCfh~X*Fz8C$~F8cJexc|K8*y2 z?wZLf6izFNS})+~>`U~D)U-iFYXP;1ef)3Z!DKtgmjzCzUls4)mja3f@%pq*O-+5U zff+>BRTw|84ZEy?Rj;c-=G)Ej=Y5!Mz1-M>e3d?A$V#(=V1K|$Nw zXm4*v7=Xaw;N`^H`g--1k%Nfn=q}g*pbUC=GSA~R;ttWt0=}# z<+mz-bhYA&dxaQp_}^bV-w!cc9V2z&(q&t}hnns`Ix_$D6Le{$KD?L&j0Qy^C~zf1 zTVG$ld1Es82j;@Fkl%r5z4Y8Oj+O*4&^mvQx9d*RQnqksng1Gp7R}o0dGmviXLIL! znRA};M|aR$5Os89L<5o2KxCvAa~A;0zF>+KOw>?^e+CjHV_>PT;28&OG=K>d74>a% zirGJZ&``)$4?yw&leE|8Y;0^y3YZrlehc7RAoE(^+Bs03EK7(o$|QI-$q@DkQTupk6`|uU}djQ00LD0-3;l0BEtbwKeIs z1rr5Ns$i!nt%Bw0`Lp%-PQx&dhEFV3nTr{KZKV8&D9gb&#n&d9Hi*xW@G~ z-S*~|P1f-4xI-^47~-&csJL|44v&xVM4eYjV9S>vFr2jl2{rQZc?2Vle{5PBHxys^ z8%-xAv2Wk9gUbMCXQB5p5OzUDMVw4GZpb6XLZlCV28P~WF6-v6b&yjqV5bZ))k%?H zNF4(F#DrgGKJ|)|BUb>*1P3bFB81&L69-|P6y7g8Y!9G#2<1{Blzey~6;pwvTB=w) zRqK#Dy|i=_c5jgbnTb4_UW|QreL@?#YWlzuh7?I4^n&8|-rb2rDmT2Nqa$fU!;DS% zGCp_1rgZHTV#&i~U|=vjJ=~I(lM9A#0ZERN0Zk)_j}JKmNSL_bmuQ31JP@7^ADZaN zpw_#Ncs_jIA?F7kg9_|;TtHIHfIq_@e2)lvpMmb>%L24fwwu#Zt zf!f!0#ioJjotTH3Fl+(9W7L6@0bT>?Cr|oWP7|eMO=y3K48JfnRX=&|Y?yu*yXjE! za5Y)3Ev$IOqG1iYUDDdR1f*&fNG8;l2rY$t+n*6f+T6ULHB1MFwpa}xKszPuH-lUh zyb|$vGzT6$1O)VVHU6nsf|MVx49*7Jwnp-g&CSiq8X9?1IoD+0cvfLsO*Z_VrfzF|U6GrcOLF;g?uA}2 zkdDwEb|wgYEWKGCqcCUM#PKu4YKAKf)my@x}6Cu7L`{-a01 zTE%kkP6!f^oeH1~x+f)tHa1SI71=xs)o0}MAyFGUwc5$MD;`ewD!W-;Yg!}6C>;CG} znGRKE<_9|?foS9S81_L|&o%a#P=i{G-Mzios7QLTQG;4W3VpJ;~- z4(NO@gKcLJ`wZx^i&M=$@na1h2VAiA0|4;N&dd65w9=9_Jwv*H(cl<7=3m)Y(Xxb96|A&tB4QPc)nINh1x z2YZXt@@1Jkyls-x<6YX)j5(89*Da$8OU+{%92g7~3Ovn-p9r)bS#xuCaFUQf^aXkv zC_MH2hZYtVp!*{3CWyf1`Fq!!-#+J~ft4Brj#gxygL|I=1Y>)UmuD)6^$Kmzz#_y* z6|vWx_ux%K^`}pTD&L<~!oDPT&vpmk(LZ|s1~&o6crG8f{ee>00-i2WOP$OSU{bPX zuwQ+xW{tzrrRBQHz;QKAbFY>@+}LiDL$6K`<*8eeJJa-7E1gETw3QyCCVOt~?$WHU zkw9)Xd3s^v;t6|q0n7sy7nvxqbdk-F&``iEBuV&)BfKFnzFyR>Biu`5M&;C#lamOS zE|mgW4d^rhFzf6c97r!;4go`w6zl6&=(h$I;tp^ev9Dfj_wB(RK@hWq?b^Poa4OBHA_R;t z_$O!L)%DyKk6#HQ_Kdtdw!1)KAx<2~XQ9A@pN*qEeK}lm6>+J+)*uLD9TyjOY>Na2 z@QdYXeZIYFOXXekZWMeqShFR^HA=l!%I`(hN?}JAtTkq`-F>*>0)ivGbfcd zRdCDwyI%C2s0rJx5vkLrSzWX6^~|v`hJ?}2<#u4=8u=b#IMuRwj?w?;czR0TXrxEa~|3yvpaX9qX;Rw#yP4 zR=ZlDH!J1eSr~oA@u{F4V13E;w7>}Y6_uWqYW7sL^XF6S(drSA&u9Slzy5C7=9_6P zHeTzPF=+qHn+ugb6{6qz^+&70#5}prN}3E(P-*m|4d}zP7 zLy&Dye(q!Lo3A=^Ny~9JMYu`Z{zp*zjx$^_LeJmwR`FXwmz7> z#1ZN9)i1H_%)I;!4gV)|JIb9@Y-6U@6XfEQg0f%zUU#8GXyK+#^#;}>Bz5lmGOVgclA7}f{x8m+&0?n{SKk#Xu^JI8*i23Z zweM?#4aAT5MFYDW z7b#r!b55xohM2tP^<}T08VztVYu%;46Bo;orA?Pqu|n*|rfWpx`Tgztcfm|@CJ`!N zGIFLAT5fWpdBzJ~(KHYvX}u90tbPnU&*^4`%t>kI)7Y1_eXv!gPSw7Bqps_?>-gFA zLPNK%*Ph_Ks==96ixyZWgrf4KLDle)mXV|ImX#X@Z{@Bn@EX;>$grQALC1EB3D46e zy{Cv4JPp2kG&|F5W4cQ?ot4ee0L?VP}g> zd@j3Gg_~w(<(?#thZOOo3I@f`XOFk#8@49xya*=Ng>@osKt*= zG`Z_HjV&AP*ATIbyPB1wxhnqc54rfywpLFvHyv17@wy3_ep-jKT^Un^7!0Ho@WdZ4 znGq_!u0Nyy$f(&i7B8Hpox<@$=Bn6tjsS6HF7Ovuw?-_e;-MZ+t5hFxtoe zg{?~4Z7r^ZJolS*uqC!P%_dd|} zAEEvnQTfyHpk8yGVSa@BWhL=!|J7$-1Wg9>h#J#>d1L?VB%VWc%-2Ag_KZH?G@h0a zx?f_;X-wCP-=vEEz7Uw4blByfuc(UlOXlvu4ZpbM<7Z`=UyekI3J)Li3ZwF^_Wt-V zcQ*@`icR@kMcKl+cok}UmAH0CAJdzh#AUvf zFHB{ABsi;nfA^|Saa2+7l5KQ`62d)_yz25jr)wrT0(PESDek&M`Oq?;DZbIs#(^2A z{ugev$gP8V0p7Co$pzEgGky>Vp=;A0z|XvE<)%!fP)r40&6}#Vm7Yjaj2>Ebrm?pg zzIVutk1p=oxl;&rGhE5Z-Z6!RvupB}L+6MJ)e?H62rndxCicsJkkhM0j+-B3oWD9D z_pC&{fhJwcVcq(t-%`c#yzTtIE?Z8ae0m-~`+Ms-dtFMjt4PVb&)532UF_}sJ!P-& z-A#sqf&pi{24vnJk<&+_4qz8!XhmF*CA>pmd@h%k?nX3O5U>kMS+f2^64f<`XF8?NLIzR;y z6h&x4bgvK;(h}yDkbbJ16bf1b(r27KD-U-h6|mHy2M$=ISQ%RAd%R9SKSXp4PD0`x1y+Xo64VUltu z>-ZtPK48%b#fr<=H%%g@Menx`H9gmg6%5C=9UP6+Nt(Ia>E5%9l<$OQM7=$R>Yqv> z@@vu_pnnF^#EQ~iUr)~$!k>U1U~*PyG^Zz9om`-)0pfy2o*6g?X<~>j2&r%k`uh45 zN}O&mz`NC(HgO?BuL3I?Xi0!lhdULH%BJaz(2!)eJI4I^hD`60+c`OYUmhHEuhESN zOy0LVIe1vcb9PY7R%3B-jheOoJT|Dl%Ag zL7K?F#rC?Yld6~3PUIRfWgQ7aL$?wQK_&A02$+Gsr7mshPzTT}wEWA38Gpw)QoHHkd^+xpON7A0OM>RQhJLHbW zL4QI5WE&H+HsY-ZBFE{RoG%qbh6dBmWoQsYQiiRW$ zA{im39=HIA4)A(hTsSZa7?R#u`t07ldwzFwnkgRz5GzMptVs9J(6X5Qk2|Y?R^#Vw zPENy}g^1}>>C~uXiN&k=V>2gCH>E_Cd%_p+{W}kb!1{k6DCi0BawrqQ)aBsdB?xNS zB-TgF!UHtwcpJMR`O1{}FYpOz0dx!u{moZjTLS~TwQ_Pb`jK7*KRxe}=B$^4vfZCr zJ8R`HNW1(^;EKA}g@7H0%%VrqyEboL4nR!v+_^0>C7*qvPWmungmsd^oa-_=laHCyVfSGEH9Of?iosk{5Aa!lJmId$!LQ(GI5oxNH3k)9-*U3N~6 z!V!zJb&<F` zI;TZ`w=~y{0{K)q(f)c)TWiMir5moxve0bVZu@xNq-`H(m&wK1t}2zyjL8;X8Tt~_ zeJQq&7g+SKZs(*|kUttHv996uRlewz1B?{o=5Ho(5P-S%?k5*dlv<&oYS7R?^C@-y zSSfOCiC7sPq&eWmNN{DO09)_DImt;!gB&yx^$k7TYJyjp{DW6{+IpgZ*`<4b=M{uy zii(P=?A}j7vc!3H*ymu+^97hr>JY@a$^x03sPDP`V$sq;VgiX62NxF>ES-Jk0X0V1 zJ%KXiOgVh@;ZOk$M7I}v=CxEyBgYM5z2u)LEfjy4(^8YDxY%)qY!88=uAOWu3~6#3}`K|Q3Z za8a;q4qNR2EJlc%7pEKaO1&@Po*v$P+KK#ND`wPK0Bi;E^`CtbF92#Qx_YcsnxE9|XnxY~;3=*XYjwmll8#TD^>OrW{iEkAlqeQy+xmxjTI{iJ3i0hd#~7 zezemM3krUHy`dg%uBI)2Sf~_@U9xydnT~!Ee0`JlU=jP4jmjlyoh3Q0W5+8WDT(eA zX8igzi!q)U@*% zRFeXKwK;^S-=%$fR(S8d!*s{mG?~z+h~K0fy|DUs8pn~?$%lc#!Q}WLs`8U3*WQbZ zBSPW%t>+-vBN!hbzh_6XXt942@t20iW$$n8s2dSWHA2$Ak7QZXLw#nJ5=VA_Y`ciG zj`0?YEiP8ZJBUE@P!w+_r4DdRg6RmssYH^T5Xh+xly(#FF{w+rIO0g4Jc@S}unz=a zBU&?{iJv3pFCayzZqwB7ofD0RNvZ@grTwA#h7L9n-h8Ah1eDV$1Gpwydj!#y0h7b} zM#srCFLb$|RMjNn2&W`c5kc4RBN_P>E@G2Y$Ikg5R}3X?XfNr!NWG0E1HOYq>f&&+ zMpSoGdUQzg<13e?CT~7I_Esf(ZBq3}xa!o9fbGK6^6RPcW>)KhkGC{jFFNJ^yz#v< zW$3rN=%QaOQ#lE4xpio^6)q zHAt$AA=7y7{j zQ&-x%%(L-vQ;gRS)2$w3cqBNZw)2y-jM>h&jNkNk)oaH2uidhu#Yp#hopk#==zERV zc9-s`Xctq@x8_{m&wly1elts6Q_;loa~3?EHxA0rpVrkO%(g}8bbr>(YKDyJ`Dz@u)padKj$_R^>MEsPLgYe+lBOQ zxyD!>ZJioRo*N3svzF0I`yc=uL`;2!(h}@r$G4=w`A;|}9r}!lpD&hkam5%McwnE} zcGt}Ojr|-!C*IPjCXcx~L{<7mnFUFihXdWxFtj`|Y^5T5Q#JL+0TP?MUp2KsSy-9+ zH!$#Dh~mf3P6Z$hPYwLd+n zUf9G!y*8=SRuuQ{%4K|v);WNDLPJps9gaC0kDqfp+vU6zmvj8b_sZ9A5+FlygO^g= zR~rS9O&h?c5ScJI%8t-!+qtK!T-o#T^^JfyTBVWW>ebz}xT$s@`_JXaMNvI>Xr?ud z)=cd#z3OYDD?aL?NM`_G$W=%J6#SVe=eDmh(6l@LqgVAIR5GXSBWoE& zV006=iodM&Q1gb#vM8N!F~c#7v}+#}M1fg7(2xl-lMRS6d%S4>b_eTS2ZGuHM_A!X zGBbXSy&|fs{~px&572L~{nES_`TKbH4KA9ZBJ@=z0Sy1EfB*kkTJxVs(tmvD|NdV( z#bsrQigxt(Z#8J29ir9nW!)ZCZ6}2sr~!Xe(V_|phCbiYj5CBW8i6>TLI2w*7^lB_ zr2zqfC6WMUPJp|rdGp54OjgNbHfjR(P|rK1P7TZz7)68F?6wU*wOj+7an;s(2rn?c zV;5l}VEx#Mqu@qt>{U#G5ZdX^X=G%Cc>@|MD!!ZUN;i9s6bIw5X~K6ZmFbWWbmMf9%*KFciE;uz{WXmq?3pkxS!T1jPtj zTYDZBaTLurbH|b~*(MZiAK{O3_YpVW`+I(kjRur5T(X4}6GcT^n`zhI@5{+Jh3#>= zrDkbHYe3iF$7=#Hfp6Fsoy}@R#oRi#$-%Dyuthw??-9fVxq;&j575~D1LRaaJ^X}- zqMOY*r!dZ)N+Js(q0LfJI;972h8GnTjlxU61_~J@ziX+eP;lSn z5SNO8BICY7o&EbY(9y$K&5?BIXwoI@Ec?qPt;*o2K)7-JYTGS$<@5TQGeiKQtX{#V zw4R9;*F$(zR9*}sUZXT9o@vvJuA)xB_xWVG2tMBuXb16Fpn4s9E1f~AI#eiHU~TVT z>|c*%OoINwW0Ly4~H5=^|aC|f3EJft|<3qD}#bfU32QlCG=oKJfQC_EaCBi95P62FKTrB3O>4AF>Szz7Y6pmkty zoiAKqq~I&+l*(+|CIEVuWBz{0OuzKK-9Eyoie$1G1F^#^@+X~AS$h-fVi|1M{3r}Z zKkgApfU_M!swz{b;y_?(37MJomJbl>#YL%yPXbJ0zr}^&HdQP)+#NXoX(+@O4bC49 z0836;FE6i52=OsRAzfzz7BCTiQOh!4nk3z~2-Tuca9adqrpCrTGWv0&c%o2%;|wJ@ zJVr1$yei}}fZ3%QAb07;dV!&zPvI}eLQy}5}pKb9f}P%?kyxOXX3Pc&1#ENvObCBJ)1s5AXo7Jdt@ z4>|{Rw2GrZe2fdsaTFYuzi5$z04#V9IJvoLDK+okSAn(6f>r=NC;{Ruzz!6ER}r1X zGxOq?Z8il31vHf5j$&4dR^dSv)Jv4Is;bA0+aVbUaM0PQled6HY%CB?VaW|L2fCBDG>olTSlBI+_-uohE22C+cORrc? zHAUYW-KU!?aco@T5AAStT%1GwLXs!GD26FtVQHiQ6#aW>K*faiW4^Pe9cEY;h<8c-gtOj5>KlydRA95`j?zrRo5S(8Wz zShA9Gp|uc0r$h(G0E%J?1(pGN3TYG&#qDj1_Zz!TBIGqQUG)HW0b*gu(AW4`eEuJz zHuL`bgD>EsP7v?g1~>_E=MlV|WKawfAp-@sE&Fa~$ZF`U5YCcPXG|h=zJ2qD-LE_D zLdPZ@PwWVWCvI6`>emWO*dUJNIj*v{u^Ai8{yiB7hx{7{XwL0?17}RZ)iS z1fzg_NY?|SZ2%;3kVum81$iA8_jSf~BFGJ?bSnUNl*9BgR>8Va6hH^QLm)sb#Ehh5 zB*9Lhy>~B3)bAP`3_}FL?UX#cZg=FYXh}{vG?9tOAIF|S#>9{uAc7%7yj3-AM~14v ze3?^s9v$r-bY%qt*gNg~^(%ZKULX<_kEC8@1A_#z86ySbn)vd@ZtcE8Ms)9uOKxX7Xc}Hf+AhU#6JFwZYrOOkG9Tsjd zx}6sQrRwA;6daLi_#X*dARwNYz>mi$ z0X4>_mxf;aPbA|1em(FXqTc^sE02Fa>Cxkz`6dsM7^p>Rvy|ziroR1O#j#l(y&m!! zv~6Z&t!OmwBEYYlV@5GxXorvgOdNIO8jNE3a-=pPGe=Q#Gww$OJ-FtIio%+LC=OFW zLD1Uvh2m7LWmNEtC|k>4zu`JBG#KV#ix;Z;Hfp{@R;(bIL7Xg+m+dwm3g!y%OWK75kU#8m_A!%U&~I7)iMv7i-b_gHpvp6;N_4uWDJzBFN5& zQ^ycLjw)!sP2RCBW$2KwG8;J3K*+^Kqhrp=LL&Zg`5xJu2_>#^CLDATJPglW|LEmi zqrS2>Pe2b~unNe?`}0C}=WF6yPPv3@v8qx$=}>$M-x%yDFnHMXS!cG1ovP$`DyBV& zi+opU#vSzXP95n{xv9KM_rv_yo*rY;8I<>L-zFx#E~Bb7&4|C|jkH|s5;1z82kLp`KsLY^Q=dv1nRqwb~Wk6cON!vT|Bfhvq#YKUA3o1NFE zO^^6CrwC(E+1|~TW&D*k!an+4cMK+TMYL!gH@w~bc{1aw18NcSGmN)^dMOmSL zFpyXC%IPh0ns^;|uDn?{ulkrmIXx+6|w%d`c2? zh8U0u&1Wr1;-&P0rbwCIrDS~pzNm8pTu#pkxCb| zM;Sz$BrLmVabXtq7N~H3On-!u5CaJHhDK1N)Wsg1WNRy6es+h$toX=+VswM=j}h8! zM;||hW|*IFjL);LirjL>W5k>&$Pob|vNNc5qcWZ`_rtG=Fr9UUj0(_P5}SoW<{=JQ zf`h3F5{3(>GqLcKxqV0%!cll3$6gj!23yL_ zQNp~r4;TC-7hg15!CF@Q#uF;!>q$ZZR0RQ4 zGmKoibO}7{HM{0EAfZQ07Z=apk|^zUJ$n|5lu7~3L?&P&#wY@{&9A)kuC4)~nNHT- z@msAPMB=e*+h69C|0K}CO=wDW*kk#eQZHHhajoV2)B&6rLn%-DuXS z_8QVk5UMLUIJkU{)Ox>u*^*Evg8!2usJ}lHKbGWdG^L}Ose5oVh{l!JLGcyICIOw4 zYOLbxDK$427e9Ovu+J#Cm;g_FX=$OI(jCQ=r8#XkNx`6g6RBpg9*Us<9V{yks zN+MqLn*4eS6-lml9HREf+&9qs1W-m1gpfX5*q*47(*Q{#II{0;wv{1gwiwb5 zW9r$=`BmG`m7y9XTF-!eENGtpf#+4Te%T=D13(!(W_L-RQlSqe=9xFek@a?N}|$X zBFtGq^$G$OP{l)<&Wfv$J3@9k01cUq^YoCildhb68??Ka(}ed;#@zew3D|8vcJY(k z`N`q-t5E-otzFB2Mkymp_HVTLMP{UQy~0Yr9u-BD_~2q!W2)fk)2Fo$9wcKqaaAz+ zny!JnNqR>z>MJf6H^W&2rw%>rg>TuYz-@t4Z~mngtt~#? zpPG@0#t1(&AwHghg0u=G=BAVT$6RkW*(p#g(M^-EU+71dVX=_OdZ4gV`gYY*JA4)| z5eggT4q2l6z}rBk9m1gRi}8lol}LAtxQ3Ofr0Tt|%_;1)U+?uN*%R?cmm5D^;Udl+ z;$AvldF9h#-wKxD&7+M}<^DBlp&|y2-Cv(~;=NR6PjO9u_vQ@^1sP(ApJuUj(DZ)V z9RFhDg6EIYMW4qMy|IU(BIhKEr!!WKgkyU(kbpog{$sH@{Iz8{wT7MKz#ba-=HvLO zEk6e*vT|Qt;;FKa%>29zXO8H534ZI(G^FjRTr7V;?0i@b{`4iahL>pJWA zWdV0P3Uw?SOuA;8Qbv3xtjFf4&g}TzkLodoA5^ZqobcOp)9;RUSA9m)j-c>FcXpbL zB?03dyiJr}V~55DzIll5&a<06Oa7Mrj~EAj$+50*ROcZz`E_UCL-@qiB=nCh&iIF% zDA#5Zq8oGQUjSHk^8pE5ENmTib5MKASxQ7FgmP?$8#YlYQ+`TLH2O_^Q~&;de0vT3 z=OXreQ1P}(I88F9o;&~jd*NN_DF85{>y$eGsoL@fi@dZYB3C+On>6qa-D0tQVe)VN zhh*Eqs9XZ`R`@quc&EyQIWD z88F9dLqt+>KYx=+P~G5>-xoBc%INhkYoKE)OT&~ z-})8DC4RPZ|316w<>%C^12K6Chf>22<8Ist)O)H>Qxp}*Agh~W60Gm&J!q04%YqU* z)|lc(kX>anH^*JW9UD?6L@74Aa_axzkl#mI%6ByUwU(J(kGdH=pyc=;@Go?Eb-j2R zb$9=7+D_ZXvVz=wn=KpV^eR4@Gw<<~faVhwJ`m)G+DVu*7GzZYb0sGv$p^(&V3cRM zjx20l0sD?suPn{BJP{+#_KQO{3b$Xy%EsaCNqopJF7yfHkt^T-$NczzqEGri_enBh zZ2RN3^P={wsjGW7bco#6YmG-3KlPoPh7pK})SwFJKUf5KDFCW<(4pOZeW#!GzKudF zkNT8NXscdn9k^udYzU=U>r^U3c2~$6-X81Bve^TNT$3#gc2c0`I zc)HQmx3!tU5&&d%1%NndR0hCWEuXEeeSuFVTswo6CA^R*dhYFQO~b*;PANlb3Yz?+ z&q@w0FIJFtLh9r#IcM;xM8|}~n2>sp4pmkzpqh3EJU9ke&I;8{mF;u0CkGz{?O(h3 zw4h-WntlrE3r2h;`$8f77^+sxW;o?oDCFAqfm(uIuAJBn;Z%Z%xGy@j$qw3+L?C>` zIf2l8BCE#~_1j-DVBC{npakYU_VS$Skt26Xh9ER7!>I;63z^tQkX}f!Xn5-c$mm!G zcA*f^=no-AaR+oThMSGlk-ogW2M-2A@kdZhQpy6!L`CC^J5O>k$H&Kmy?09}Q!z#< zYEFyn?brT6G$>u*cM-#R!m$BSpmdCk>N2v9hdAlTyzIZfe~@4nV#Xl8OB5kU{M>W= z_@nX#g1!K*umt;z;FKO1Gl;|q;htdt#|c4-_27#^izp^=gWwD?a(qXOQ-FNQ-&ue7 zG0|xtMc?r0yv{{|Ya+X^!SrZ}YCZ%eRUk`TA|er}z*f@Tdwy%24Z0#K1){|(Kv8#| z+l?*pt|fq_Q};axdOkgr*C_|AoQ+?O0xIHiVc`x9G5wfX@>pG5_PTvB|1T|o3u=*S zJiCcnMqDatHOn7wm&ki)W}quuhUG>Cf{5@9U${eLDDkQR*oFMSK_Fpv+*e!Nzqt5P z;POe5&I%`C1t!ZP$2X@$$p#Du03|Y=k_7t##8MZ#fgn9@ZjybHUsy<`AWJUE;x@uC zot#F_wn{To!CEL0egOg^S_-a!WcZ_t`8XJ)h$G|d|2LR8U+LQYn3$(N?TC_w4HG4* z_Wu2JlsT~ZKmv((QZ=8bw%{8{*|`m|&huysfDKD3JR=PeMa9hQUin#od6zgPp)O&i zl;QhHoyibq!_#0S_kyfwsN$e;r6H+Ih@gsE%En#$@Yn$ecnFV80*}$9lw(cYxPE;} zse%uhMwvzwXINd-sdt-`fAP%$eWjs5vq#bEKhCD&QAakIa9~LWC(^NwCAc9u?W>5auEd>n=MN;9M->jOiT7sO8DF@fFcZI@Wv(H@95XW>3h4XebbTZpazJtR!E= z8W}%537&*f25rW^H0h(C0ozNh$`-@;Bfz{4F#|e5`-Vk!;r^uTjSyl$zALGZ^YgdL z9DB)Ql9t=3$hXn_74}zRNJ805Q9;BNg+fRVleEuH*ts^r=zDJ9^8pc|mu^EdK11!E z?mQC-N~0rn9nTA#nXhn*(f^PV)#v2RIh3QfnyJ5bAizvajpK)H+AqIbEQ+sLJ2*W! zUrBLgiSeFhrMqU!ab&{KQ`dvi`J`;UZQoN{U$dGMBiWl>7i!*b-4WA1=(ytf>dp^; z2D1w{7rHXf%$3X*R-DWx3S0fs_)@SbbKm$%%S0BZtCI&l-sQC}nD}hEI+Vm&w;MGV z!plt|z3-v9t1oiF2a)bCIVB~uWdU4c7dDEZhCVVo`IFl&>>`Lajp@3w?!L;=qXJUW z(j*g@RLfWhqkp}KAd?I-(T==~+{a&~zD|WhiX__ytjwm~_i$KKwPTZPzR7wkrpU9CLT z7J!BOtCNe41`qr-^wRogb=*d&E$lU_N_u-TmwNMuom4|Zm%gOvZ#YiL=>At#gy1u@!u1{5#yvn0(lSd>J-XL&Kbh8~t&fwCou;?t>HJ za;Yo+7){?@ST;jKwr?aAb)xK&cPjbnl53{_+fpI)a>-ruzw%rAYSlT<;B7mJ!DPmahg?B}H|$xt~vZ0L{{$ z5OUxh?n{x76Io}Jka0;iF2R?Kr>;>eQrq>pWRihuL(^&Gpt4=s?WLddvPgqv%3$|RIJ;%kRf-&X z+c?N~IKS-;gWr)4W9FvCN+bJnDj%$%d#0uW zB$r%UW0E*GT_iJ&(JVzp|JLR7Jv^nRDqm8%6fa1M>3Q}Q$Ie%m;38R7FxOl3A&I(O01+jK#;nR6CNBEs!hncyWD%roN#H{c+9Dd4FkFf6<`P4PGT1yo!C# zzOiTY0Y?J!4dr|jx(;sPB;Wrd{l>4NoEv#w%zbkD`&xu;?Iu9{F5pUfZb zim^<24eZekH2OTNnbZti)t)`3rj}5z{PXEA<0V$owWRRM1^Hg*3EIf1vyUlLtd?cx z0_R+UT$?PT8GE65h@d(RTe+ywR&DX6Pt=d*N-YcHrG#=)!4#%Wv$@&n;})RsspvFUO0o=CSjrVP?<425%RUdzaBVoWVCm zEpVn?o1&>|bX)LRO~&tQJWPQJl2T{ebn%nQtZftBM6R3@YRr9bQ_eXzOJG5Tv;C}V z*ZZ?#>vjy7-3vl!?qiK$R+A*6190)=Tr}lr=rg(c4^+6{FJuTZ8R6lJ@KSt+k*O zIP%?N-+}#uN7GL-G_6|j(nT)13G;f4+rYdRX-yLa`X z@%n~k0~{4APOp`lbO~ubSSBSDl9u}@erErwwxdUDT(Y;}CEIQ!_Kqqy!7I1x_|c$s zm3JAe^$p5;I8<)`FuEjSy-cZ*e=27Oo56#pm9OcQyU#gW(sFT~C^@1)O-WIUd~`b@ zAZ|6Y#^n>dB`Qpj;yJ@?0zKaET6h^&#w!16%JxiU<|Mm~T4D~ZTp&eLUu>RE{BlK{ zQ=_TmGnH#?0Znu|Cwu4DM}OdlI!G4=3mi_v;L8&PNs7aiX5q(0Uq&~-bnG2!bv{_7v%cL$Rw_J0lDU(ckFmXyS z)+bTd8dHa>$|e^9}Nt66w9o(n%Se^>rjC%cG(v?C#zIl`E8H-)n8O7)tLMFV0X2M zcj+>U^Uq@q&O_&I4(~GBjzyOLyp3u4()ANZEgH3L6f|8vS&2&SHM1uVNg|aw$fTD? zTbXTVW|xJYg#`y?I)bC4dO_WXp5lcd_&f4_duB?GD^J%~x=(kmcrxDJRx~_%@$SUy zFza_allQ)i5#@>G9wxIr8gE!f8Jnc3>}$Q)U%lIV@Q8sGlpPU0)z@e!9j(REKSU`M zr;@BqKSn0&J~WT$@3qY7x>cc4bPl{j<45ZWuBD~&Ow#xI%qx!o1`aK6?~;XG5D?+l z43sv-)AAR`f5rUHs_kuy{(T|4?W^;N6Md_g!sD3JX7rfsB6t5e=yfc7-|UJcFFza~ zeJkv9Rb54BiXW(K4YQPE^3kJxHF@Cv6lA_arJfh0&$tN=BLk1mCcQv$*@Z^$1YZs@ zo~?1ZUxqeF3x*~#kv+(NfwFY8#91U-siZ1$1gbGH1TbmKUv>-f+s}L3U+MvXT4m0sChwl@xhjJn6CQUA}*6rKf~C*+5^49_78*TSDzS+i#!% za$L7{?2~G&ec2ad(c7%qj)+C6@z46Ja{GkJnZ+|NIpzkuit;@9D3;cJ$Df%lrj(2* z#VS7DnP~ZY=#!+O{yk{mfs*^6&&%JHD_SyqhQYMG-Rh&Em{u?F|Gf`qK-?wfchnjTrNj&~f zh{2!crq2lp-Dh;FOD?@_yp_R9;n~Las=%k`o~i)ec(Hd<#%Ar@I3q(oZMbosEi%h- zJ~cUgVFi03l|C>~e|EUo$+0lvft14!HF4($_$!HKH4l~Xau#hij!8{nF}z_F@UXpF zR;vGIko5kIN7+p~vZLx)sCHq^T#UP@72MA6@^4Q?N&EHR+>kNLL3>hpwEa|T!@A=T z|H4*g-1Y&P!j>@YJ$)d4fHcP_HM`RCIx5h+?wC0n5+Z*$%MNicl6=mw&l4rnhMV`d z-acv-zs%{`HFoOV#RXbh$B>TC_kB9i7W6+ z<_9ds&?M%~9zg+gfRnD)qM|Bhs&UJ?Pqi;3!W5p1(>$IHPinaAr|!ehZ*O8gvPhRd zGh0@qSr%MqQc*Tv`{_bDLLjWbJI%~Oe~&PSZ;0YK*twSil4EOH^%}AMP;1_qD_#fL zgIg{w>^H06r_g$fJb!M+d?~k~PG$N@yUNHulOREF{-@;`88jUi1@4SxsFXJTJfXdJ zt56jXGX_goBkPi+pZu3#4-$_E4~VTC)K8yYj|}ZA1L=kA0KwH99MVck zU%p(4D5+P=l-hhFBe`$gzHN;jgn1c-KP{1xfCx=7pqo|2)=K{vnQ60?-Cmd{VKjOV1I zefa!2_wK)M4raRk)Fq*&2Y1hJ$#t-QD)sxX*O5$18j=s&xiFbW=4!|x?7i;6Zjtct za8kuXJhC)lhse3QY9gbx$}KrLc8*ezK|&<;@rjAF=<_QGAr<<0@f^~k%1E6Lj>Z}+ zvpXt!f}O!XsB-WRkK2BdUAStQ1ifR5XIvQ^aP|rkVectP)6{_tn2ba54k z%Zr>8UkE0lx)i?sAX=Q+XSTId4#KzOA(EY);R&rmK3u?KcpDO*K4n&FKes#`aXxsZ ze?4%r_d(9d#L5tWi))0~D}Vl34L@ank+HdevP~l~0-2j%d--xZu|^YNs_e^OVqvRd z1>zh+epT2sJy4P6$q5!?Opw&6C{28qUhH_L>fB0=<2-&mEEPj;d)l8Itw(Xjkh2< zIhh!?yUrHihB07#F}_vr05O6<&6f$RfoxWo#ZU&@=-~yC>mia{SwW4b-_a#XR*X1k z>6%Zm7nGc{-)YKs-f1j|$4*|F?N!XFuIxq1fQ-c zAANl;&eJ=jHg4SG;jxWq-AF1h{50i6F6%Wts`#PjY=O!7e5!Ai)&TFl7d*el+!J%{ zNB;c&?W^tS4H)F@+qZhArdNTZk`!|!QB?z2;k)32-|}9Z?X&?#0e?}b_ccthQyi)8 zcD6)*H(`PGOiV(_A|7Jet8q)xHQTp9vFwXMd=o7{)o*uKz>Xb!iD~nx{BDn&x3V2{ zUGv;5J=ybGlSX`jvv*`%^)4zD1%Z{_D#wnkk}VvRpT~0I`2O=}W#74P@HPSI%UFoR zHvY}HbcR<${}teq(!#;5Ljrh=>UdHMe?R#2w-SYF_Nla=1#Vk~$UtXy*lcpOny{rTZSY{MYprT&}Hld!6M#w>g(?V>m=qU;(ylB z(W!^wQL$8A;}%O=eFKY1kEcG5RbDH02uu7k?`xNXWA&i|fyAtm6^aeTF|&+!7FX2d z-}U3a#6anq5y{;tuj=S1J6tmBNQikt4wDlCuRq3p@e*N*xyKJ)17qW!Q@dvc$Ydyy zxh_T^v{*)*n)*)rMljNe=+^OyC1PC}PAn1wF;*5PLfnduewdIzLtM8k2V5-#-@#B! z?9sq;#vY2yGXaoRAY?C2Ns=irda>9YF8(pd$BFK`rna_{&%(bu? zf_3iKGc%PVQ{@|eln>i3j=x&9nxE}OBg^p4FkOdE^GBNy!5am~|s+SkCzTf;V+kNx-I zd*USrsN55C>VEmE3vGTlP>8#WjQlW@9k?P67^{0~b_^G41JZ$fXOvT+udkY}O@}8z z^~4DY2s8tqKbOC(w%Y9M8wvN(a>j|He61~ujfW3f!S_n)hR~~52@*!q$Qap$%CI-# z*nOYxQ-~$h106-$_U+tUIl+d9{XAklH2jQgw+mgnEj9T#``5>TMD~)KjrY=&sfF$A z!Id9VKKQ!O1+Go$)i`jrXOIa!-l-rM5~D`w$@_d`NNID zA+mBt(%g0*LKD#jC;!xwylg2Kq9RHu?To-bFE}cF|L&GvaIon9+Q$3oLA5{BkW_F_ zcb%E6ajK=|JxXH@25f`i_ZH`Y-d+$MoGn81^ewYks-;fpX?aIRx#(~o`2H7tf}AS zVCO5@()Hd^`L6VGdM|VL*p*$*TXEz*yvt;H$4{=KCJjaNjh3qtL3^X`U(Byee_RR3 zJ`pt!f*xsc1kuF43nJ!5JUGWvzy0H2!@eOCvdWi+n&~}%(G2R^RhRZ^oTCYCHn8*x zvSLsxY)@}q0i*%{-SWBl#eTM*Z~MD;gl^+A5Qc z)@a?fKiMvG#k*d~9m;%ZCi`Vb@!sD_aeo>g#`e8uXi7Owr5vm{xqPC8rs@V)FQ@NT zAJ*e0?^GU)RjlC;Szh$g8X6`@vf!Z_7`~3_zxnHi zMM%-`=j_t^PVWvZvrV=?z0!Gm+(jQoL&Jx686%$x)FjI}yKEZW_@k_}l)BTjqr`?c zbMM`dEj9k_%k5q~rfO&j^XDlwHUs`nG`6bdl}$-WoUB_<=OujUg>OS&qey6? z#(CkeoV7GEb_eC{Y#}bte|hJsQjebcP;==dfB_$r8hVnCICk6;XGYzbpog%?#8Vk+ z2n332_8jxL>yn$!kdmUYOmGW>zolIAl%E_UZR$}*g&3t5*MU$Sux?`F-@|)n2Tw{0 z3l81>KP_u`Si0+;I$2(LS)V#;o!|a7?b-uf?^2HQ3QxG$=_e{ISZS+FXbRh}S<2mU zrpR>&%BRHuk&ukDR^a3RDWJ!rxv1$daml7TrTDfubLYYzy63KEKdvd|93C7G@_+nz zt^3M>?kNw`CWPl0>IeKaW z^yGZ|Z!S_q%i?YZ48oGudp?_O#aK~O@sP+9-hp=(m(;Xnfa zTHZS*XC7ScKCt{Bi11yTnWX~rje@6THAgaA&M0a}^6)ZMbj#ttbLJd74}@=>2=|w{ zpg4FrA~B&V~T?aR0QrvRwjx?)XF>$=&`XouxQYRk^*Qt`bP`Rlg}dp8Sg3bQ<-R`&Db z4(XKw)F4qN=fd`xtX1rcXXjR5irqwKOYIeZdP_z?? z?&|D06|MZV-@WK3B}2vT-n}am z%QRd(Wj=rDS>Mo2cB;7rMfM5R>#=$(EAWGx>n!+zC*Dvs%b?`yuPSCvqDPX~op+d4XajBlT+_r zcl?nM1Fj>ZIbyi|3lSIbF{FxpoRjVpVtS_L@1dX}-P=DOw07gmA1^1^1B^C{Ru~9c zHa0fi`pq$Z>y+q=)-%YZimY(ny7dP3l=I%bC#kQdqa4oYX0p&2<Z6S#_+ym4nz|b4YL@>01Jgx<+W-In literal 0 HcmV?d00001 diff --git a/src/core/features/courses/tests/behat/basic_usage.feature b/src/core/features/courses/tests/behat/basic_usage.feature index f70a28ca8..039cc2081 100755 --- a/src/core/features/courses/tests/behat/basic_usage.feature +++ b/src/core/features/courses/tests/behat/basic_usage.feature @@ -93,6 +93,10 @@ Feature: Test basic usage of courses in app And I press "Course 3" in the app Then I should find "Choice course 3" in the app And the header should be "Course 3" in the app + And the following events should have been logged for "student1" in the app: + | name | + | \core\event\dashboard_viewed | + | \core\event\mycourses_viewed | Scenario: Search for a course Given I entered the app as "student1" diff --git a/src/core/features/grades/tests/behat/navigation.feature b/src/core/features/grades/tests/behat/navigation.feature index eaac54d1a..03b05c2b7 100644 --- a/src/core/features/grades/tests/behat/navigation.feature +++ b/src/core/features/grades/tests/behat/navigation.feature @@ -150,6 +150,22 @@ Feature: Grades navigation When I press the back button in the app Then I should find "Course 1" in the app And I should find "Course 2" in the app + And the following events should have been logged for "student1" in the app: + | name | course | other | + | \gradereport_overview\event\grade_report_viewed | Acceptance test site | | + | \gradereport_user\event\grade_report_viewed | Course 1 | | + | \gradereport_user\event\grade_report_viewed | Course 2 | | + | \core\event\user_list_viewed | Course 2 | | + | \core\event\grade_item_updated | Course 1 | {"itemname":"GI C1"} | + | \core\event\grade_item_updated | Course 2 | {"itemname":"GI C2.1.1"} | + | \core\event\grade_item_updated | Course 2 | {"itemname":"GI C2.1.2"} | + | \core\event\grade_item_updated | Course 2 | {"itemname":"GI C2.2.1"} | + And the following events should have been logged for the system in the app: + | name | relateduser | course | other | + | \core\event\user_graded | student1 | Course 1 | {"finalgrade":30} | + | \core\event\user_graded | student1 | Course 2 | {"finalgrade":40} | + | \core\event\user_graded | student1 | Course 2 | {"finalgrade":90} | + | \core\event\user_graded | student1 | Course 2 | {"finalgrade":130} | @lms_from4.2 Scenario: Mobile navigation (teacher) diff --git a/src/core/features/search/tests/behat/global-search.feature b/src/core/features/search/tests/behat/global-search.feature index 126bbbc92..4f0892926 100644 --- a/src/core/features/search/tests/behat/global-search.feature +++ b/src/core/features/search/tests/behat/global-search.feature @@ -97,6 +97,11 @@ Feature: Test Global Search And I set the field "Search" to "noresults" in the app And I press "Search" "button" in the app Then I should find "No results for" in the app + And the following events should have been logged for "student1" in the app: + | name | other | + | \core\event\search_results_viewed | {"q":"page"} | + | \core\event\search_results_viewed | {"q":"forum"} | + | \core\event\search_results_viewed | {"q":"noresults"} | # TODO test other results like course, user, and messages (global search generator not supported) diff --git a/src/core/tests/behat/open_files.feature b/src/core/tests/behat/open_files.feature index fcd8c19dc..4f3024903 100644 --- a/src/core/tests/behat/open_files.feature +++ b/src/core/tests/behat/open_files.feature @@ -52,6 +52,11 @@ Feature: It opens files properly. And I press "Test DOC" in the app And I press "Open" in the app Then I should find "This file may not work as expected on this device" in the app + And the following events should have been logged for "student1" in the app: + | name | activity | activityname | course | + | \mod_resource\event\course_module_viewed | resource | Test TXT | Course 1 | + | \mod_resource\event\course_module_viewed | resource | Test RTF | Course 1 | + | \mod_resource\event\course_module_viewed | resource | Test DOC | Course 1 | @lms_from4.3 Scenario: Open a PDF embedded using an iframe