From 96cc38951d1db4dc7d3b4111551a8f7b8a1ea46e Mon Sep 17 00:00:00 2001 From: Peter Fogg Date: Thu, 21 Jan 2016 10:29:25 -0500 Subject: [PATCH] Disable audit certificates for new audit enrollments. Two new certificate statuses are introduced, 'audit_passing' and 'audit_notpassing'. These signal that the GeneratedCertificate is not to be displayed as a cert to the user, and that they either passed or did not. This allows us to retain existing grading logic, as well as maintaining correctness in analytics and reporting. Ineligible certificates are hidden by using the `eligible_certificates` manager on GeneratedCertificate. Some places in the coe (largely reporting, analytics, and management commands) use the default `objects` manager, since they need access to all certificates. ECOM-3040 ECOM-3515 --- common/djangoapps/course_modes/models.py | 12 + .../course_modes/tests/test_models.py | 13 + .../student/management/commands/get_grades.py | 4 +- common/djangoapps/student/views.py | 2 + common/test/db_cache/bok_choy_data.json | 2 +- .../db_cache/bok_choy_migrations_data.sql | 4 +- common/test/db_cache/bok_choy_schema.sql | 18 +- common/test/db_cache/lettuce.db | Bin 1314816 -> 0 bytes lms/djangoapps/certificates/api.py | 19 +- .../management/commands/create_fake_cert.py | 2 +- .../management/commands/fix_ungraded_certs.py | 5 +- .../management/commands/gen_cert_report.py | 19 +- .../commands/resubmit_error_certificates.py | 2 +- lms/djangoapps/certificates/models.py | 37 +- lms/djangoapps/certificates/queue.py | 333 ++++++++++-------- lms/djangoapps/certificates/tests/test_api.py | 6 +- .../tests/test_cert_management.py | 19 +- .../tests/test_create_fake_cert.py | 4 +- .../certificates/tests/test_models.py | 51 ++- .../certificates/tests/test_queue.py | 130 ++++++- .../certificates/tests/test_support_views.py | 12 +- .../certificates/tests/test_views.py | 2 +- .../certificates/tests/test_webview_views.py | 40 ++- lms/djangoapps/certificates/views/webview.py | 4 +- lms/djangoapps/certificates/views/xqueue.py | 2 +- .../instructor/tests/test_certificates.py | 4 +- lms/djangoapps/instructor/views/api.py | 7 +- lms/djangoapps/instructor_analytics/basic.py | 2 +- .../instructor_task/tasks_helper.py | 2 +- .../tests/test_tasks_helper.py | 4 +- 30 files changed, 533 insertions(+), 228 deletions(-) delete mode 100644 common/test/db_cache/lettuce.db diff --git a/common/djangoapps/course_modes/models.py b/common/djangoapps/course_modes/models.py index c8c07eae0a..066173bf8c 100644 --- a/common/djangoapps/course_modes/models.py +++ b/common/djangoapps/course_modes/models.py @@ -592,6 +592,18 @@ class CourseMode(models.Model): modes = cls.modes_for_course(course_id) return min(mode.min_price for mode in modes if mode.currency.lower() == currency.lower()) + @classmethod + def is_eligible_for_certificate(cls, mode_slug): + """ + Returns whether or not the given mode_slug is eligible for a + certificate. Currently all modes other than 'audit' grant a + certificate. Note that audit enrollments which existed prior + to December 2015 *were* given certificates, so there will be + GeneratedCertificate records with mode='audit' which are + eligible. + """ + return mode_slug != cls.AUDIT + def to_tuple(self): """ Takes a mode model and turns it into a model named tuple. diff --git a/common/djangoapps/course_modes/tests/test_models.py b/common/djangoapps/course_modes/tests/test_models.py index c6406e75ed..0d525128dc 100644 --- a/common/djangoapps/course_modes/tests/test_models.py +++ b/common/djangoapps/course_modes/tests/test_models.py @@ -430,3 +430,16 @@ class CourseModeModelTest(TestCase): verified_mode.expiration_datetime = None self.assertFalse(verified_mode.expiration_datetime_is_explicit) self.assertIsNone(verified_mode.expiration_datetime) + + @ddt.data( + (CourseMode.AUDIT, False), + (CourseMode.HONOR, True), + (CourseMode.VERIFIED, True), + (CourseMode.CREDIT_MODE, True), + (CourseMode.PROFESSIONAL, True), + (CourseMode.NO_ID_PROFESSIONAL_MODE, True), + ) + @ddt.unpack + def test_eligible_for_cert(self, mode_slug, expected_eligibility): + """Verify that non-audit modes are eligible for a cert.""" + self.assertEqual(CourseMode.is_eligible_for_certificate(mode_slug), expected_eligibility) diff --git a/common/djangoapps/student/management/commands/get_grades.py b/common/djangoapps/student/management/commands/get_grades.py index 2d9dc859b5..25aff6a322 100644 --- a/common/djangoapps/student/management/commands/get_grades.py +++ b/common/djangoapps/student/management/commands/get_grades.py @@ -97,7 +97,9 @@ class Command(BaseCommand): cert_grades = { cert.user.username: cert.grade for cert in list( - GeneratedCertificate.objects.filter(course_id=course_key).prefetch_related('user') + GeneratedCertificate.objects.filter( # pylint: disable=no-member + course_id=course_key + ).prefetch_related('user') ) } print "Grading students" diff --git a/common/djangoapps/student/views.py b/common/djangoapps/student/views.py index ad248bd901..4abf192f22 100644 --- a/common/djangoapps/student/views.py +++ b/common/djangoapps/student/views.py @@ -314,6 +314,8 @@ def _cert_info(user, course_overview, cert_status, course_mode): # pylint: disa CertificateStatuses.notpassing: 'notpassing', CertificateStatuses.restricted: 'restricted', CertificateStatuses.auditing: 'auditing', + CertificateStatuses.audit_passing: 'auditing', + CertificateStatuses.audit_notpassing: 'auditing', } default_status = 'processing' diff --git a/common/test/db_cache/bok_choy_data.json b/common/test/db_cache/bok_choy_data.json index 78dc234c40..0663d2134f 100644 --- a/common/test/db_cache/bok_choy_data.json +++ b/common/test/db_cache/bok_choy_data.json @@ -1 +1 @@ -[{"fields": {"model": "permission", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 1}, {"fields": {"model": "group", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 2}, {"fields": {"model": "user", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 3}, {"fields": {"model": "contenttype", "app_label": "contenttypes"}, "model": "contenttypes.contenttype", "pk": 4}, {"fields": {"model": "session", "app_label": "sessions"}, "model": "contenttypes.contenttype", "pk": 5}, {"fields": {"model": "site", "app_label": "sites"}, "model": "contenttypes.contenttype", "pk": 6}, {"fields": {"model": "taskmeta", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 7}, {"fields": {"model": "tasksetmeta", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 8}, {"fields": {"model": "intervalschedule", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 9}, {"fields": {"model": "crontabschedule", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 10}, {"fields": {"model": "periodictasks", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 11}, {"fields": {"model": "periodictask", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 12}, {"fields": {"model": "workerstate", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 13}, {"fields": {"model": "taskstate", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 14}, {"fields": {"model": "globalstatusmessage", "app_label": "status"}, "model": "contenttypes.contenttype", "pk": 15}, {"fields": {"model": "coursemessage", "app_label": "status"}, "model": "contenttypes.contenttype", "pk": 16}, {"fields": {"model": "assetbaseurlconfig", "app_label": "static_replace"}, "model": "contenttypes.contenttype", "pk": 17}, {"fields": {"model": "studentmodule", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 18}, {"fields": {"model": "studentmodulehistory", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 19}, {"fields": {"model": "xmoduleuserstatesummaryfield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 20}, {"fields": {"model": "xmodulestudentprefsfield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 21}, {"fields": {"model": "xmodulestudentinfofield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 22}, {"fields": {"model": "offlinecomputedgrade", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 23}, {"fields": {"model": "offlinecomputedgradelog", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 24}, {"fields": {"model": "studentfieldoverride", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 25}, {"fields": {"model": "anonymoususerid", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 26}, {"fields": {"model": "userstanding", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 27}, {"fields": {"model": "userprofile", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 28}, {"fields": {"model": "usersignupsource", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 29}, {"fields": {"model": "usertestgroup", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 30}, {"fields": {"model": "registration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 31}, {"fields": {"model": "pendingnamechange", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 32}, {"fields": {"model": "pendingemailchange", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 33}, {"fields": {"model": "passwordhistory", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 34}, {"fields": {"model": "loginfailures", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 35}, {"fields": {"model": "historicalcourseenrollment", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 36}, {"fields": {"model": "courseenrollment", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 37}, {"fields": {"model": "manualenrollmentaudit", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 38}, {"fields": {"model": "courseenrollmentallowed", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 39}, {"fields": {"model": "courseaccessrole", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 40}, {"fields": {"model": "dashboardconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 41}, {"fields": {"model": "linkedinaddtoprofileconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 42}, {"fields": {"model": "entranceexamconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 43}, {"fields": {"model": "languageproficiency", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 44}, {"fields": {"model": "courseenrollmentattribute", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 45}, {"fields": {"model": "enrollmentrefundconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 46}, {"fields": {"model": "trackinglog", "app_label": "track"}, "model": "contenttypes.contenttype", "pk": 47}, {"fields": {"model": "ratelimitconfiguration", "app_label": "util"}, "model": "contenttypes.contenttype", "pk": 48}, {"fields": {"model": "certificatewhitelist", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 49}, {"fields": {"model": "generatedcertificate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 50}, {"fields": {"model": "certificategenerationhistory", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 51}, {"fields": {"model": "certificateinvalidation", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 52}, {"fields": {"model": "examplecertificateset", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 53}, {"fields": {"model": "examplecertificate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 54}, {"fields": {"model": "certificategenerationcoursesetting", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 55}, {"fields": {"model": "certificategenerationconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 56}, {"fields": {"model": "certificatehtmlviewconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 57}, {"fields": {"model": "badgeassertion", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 58}, {"fields": {"model": "badgeimageconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 59}, {"fields": {"model": "certificatetemplate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 60}, {"fields": {"model": "certificatetemplateasset", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 61}, {"fields": {"model": "instructortask", "app_label": "instructor_task"}, "model": "contenttypes.contenttype", "pk": 62}, {"fields": {"model": "courseusergroup", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 63}, {"fields": {"model": "cohortmembership", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 64}, {"fields": {"model": "courseusergrouppartitiongroup", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 65}, {"fields": {"model": "coursecohortssettings", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 66}, {"fields": {"model": "coursecohort", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 67}, {"fields": {"model": "courseemail", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 68}, {"fields": {"model": "optout", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 69}, {"fields": {"model": "courseemailtemplate", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 70}, {"fields": {"model": "courseauthorization", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 71}, {"fields": {"model": "brandinginfoconfig", "app_label": "branding"}, "model": "contenttypes.contenttype", "pk": 72}, {"fields": {"model": "brandingapiconfig", "app_label": "branding"}, "model": "contenttypes.contenttype", "pk": 73}, {"fields": {"model": "externalauthmap", "app_label": "external_auth"}, "model": "contenttypes.contenttype", "pk": 74}, {"fields": {"model": "nonce", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 75}, {"fields": {"model": "association", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 76}, {"fields": {"model": "useropenid", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 77}, {"fields": {"model": "client", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 78}, {"fields": {"model": "grant", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 79}, {"fields": {"model": "accesstoken", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 80}, {"fields": {"model": "refreshtoken", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 81}, {"fields": {"model": "trustedclient", "app_label": "oauth2_provider"}, "model": "contenttypes.contenttype", "pk": 82}, {"fields": {"model": "oauth2providerconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 83}, {"fields": {"model": "samlproviderconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 84}, {"fields": {"model": "samlconfiguration", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 85}, {"fields": {"model": "samlproviderdata", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 86}, {"fields": {"model": "ltiproviderconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 87}, {"fields": {"model": "providerapipermissions", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 88}, {"fields": {"model": "nonce", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 89}, {"fields": {"model": "scope", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 90}, {"fields": {"model": "consumer", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 91}, {"fields": {"model": "token", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 92}, {"fields": {"model": "resource", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 93}, {"fields": {"model": "article", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 94}, {"fields": {"model": "articleforobject", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 95}, {"fields": {"model": "articlerevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 96}, {"fields": {"model": "urlpath", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 97}, {"fields": {"model": "articleplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 98}, {"fields": {"model": "reusableplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 99}, {"fields": {"model": "simpleplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 100}, {"fields": {"model": "revisionplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 101}, {"fields": {"model": "revisionpluginrevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 102}, {"fields": {"model": "image", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 103}, {"fields": {"model": "imagerevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 104}, {"fields": {"model": "attachment", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 105}, {"fields": {"model": "attachmentrevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 106}, {"fields": {"model": "notificationtype", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 107}, {"fields": {"model": "settings", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 108}, {"fields": {"model": "subscription", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 109}, {"fields": {"model": "notification", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 110}, {"fields": {"model": "logentry", "app_label": "admin"}, "model": "contenttypes.contenttype", "pk": 111}, {"fields": {"model": "role", "app_label": "django_comment_common"}, "model": "contenttypes.contenttype", "pk": 112}, {"fields": {"model": "permission", "app_label": "django_comment_common"}, "model": "contenttypes.contenttype", "pk": 113}, {"fields": {"model": "note", "app_label": "notes"}, "model": "contenttypes.contenttype", "pk": 114}, {"fields": {"model": "splashconfig", "app_label": "splash"}, "model": "contenttypes.contenttype", "pk": 115}, {"fields": {"model": "userpreference", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 116}, {"fields": {"model": "usercoursetag", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 117}, {"fields": {"model": "userorgtag", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 118}, {"fields": {"model": "order", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 119}, {"fields": {"model": "orderitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 120}, {"fields": {"model": "invoice", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 121}, {"fields": {"model": "invoicetransaction", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 122}, {"fields": {"model": "invoiceitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 123}, {"fields": {"model": "courseregistrationcodeinvoiceitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 124}, {"fields": {"model": "invoicehistory", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 125}, {"fields": {"model": "courseregistrationcode", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 126}, {"fields": {"model": "registrationcoderedemption", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 127}, {"fields": {"model": "coupon", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 128}, {"fields": {"model": "couponredemption", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 129}, {"fields": {"model": "paidcourseregistration", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 130}, {"fields": {"model": "courseregcodeitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 131}, {"fields": {"model": "courseregcodeitemannotation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 132}, {"fields": {"model": "paidcourseregistrationannotation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 133}, {"fields": {"model": "certificateitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 134}, {"fields": {"model": "donationconfiguration", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 135}, {"fields": {"model": "donation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 136}, {"fields": {"model": "coursemode", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 137}, {"fields": {"model": "coursemodesarchive", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 138}, {"fields": {"model": "coursemodeexpirationconfig", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 139}, {"fields": {"model": "softwaresecurephotoverification", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 140}, {"fields": {"model": "historicalverificationdeadline", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 141}, {"fields": {"model": "verificationdeadline", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 142}, {"fields": {"model": "verificationcheckpoint", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 143}, {"fields": {"model": "verificationstatus", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 144}, {"fields": {"model": "incoursereverificationconfiguration", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 145}, {"fields": {"model": "icrvstatusemailsconfiguration", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 146}, {"fields": {"model": "skippedreverification", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 147}, {"fields": {"model": "darklangconfig", "app_label": "dark_lang"}, "model": "contenttypes.contenttype", "pk": 148}, {"fields": {"model": "microsite", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 149}, {"fields": {"model": "micrositehistory", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 150}, {"fields": {"model": "historicalmicrositeorganizationmapping", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 151}, {"fields": {"model": "micrositeorganizationmapping", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 152}, {"fields": {"model": "historicalmicrositetemplate", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 153}, {"fields": {"model": "micrositetemplate", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 154}, {"fields": {"model": "embargoedcourse", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 155}, {"fields": {"model": "embargoedstate", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 156}, {"fields": {"model": "restrictedcourse", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 157}, {"fields": {"model": "country", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 158}, {"fields": {"model": "countryaccessrule", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 159}, {"fields": {"model": "courseaccessrulehistory", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 160}, {"fields": {"model": "ipfilter", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 161}, {"fields": {"model": "coursererunstate", "app_label": "course_action_state"}, "model": "contenttypes.contenttype", "pk": 162}, {"fields": {"model": "mobileapiconfig", "app_label": "mobile_api"}, "model": "contenttypes.contenttype", "pk": 163}, {"fields": {"model": "usersocialauth", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 164}, {"fields": {"model": "nonce", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 165}, {"fields": {"model": "association", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 166}, {"fields": {"model": "code", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 167}, {"fields": {"model": "surveyform", "app_label": "survey"}, "model": "contenttypes.contenttype", "pk": 168}, {"fields": {"model": "surveyanswer", "app_label": "survey"}, "model": "contenttypes.contenttype", "pk": 169}, {"fields": {"model": "xblockasidesconfig", "app_label": "lms_xblock"}, "model": "contenttypes.contenttype", "pk": 170}, {"fields": {"model": "courseoverview", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 171}, {"fields": {"model": "courseoverviewtab", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 172}, {"fields": {"model": "courseoverviewimageset", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 173}, {"fields": {"model": "courseoverviewimageconfig", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 174}, {"fields": {"model": "coursestructure", "app_label": "course_structures"}, "model": "contenttypes.contenttype", "pk": 175}, {"fields": {"model": "corsmodel", "app_label": "corsheaders"}, "model": "contenttypes.contenttype", "pk": 176}, {"fields": {"model": "xdomainproxyconfiguration", "app_label": "cors_csrf"}, "model": "contenttypes.contenttype", "pk": 177}, {"fields": {"model": "creditprovider", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 178}, {"fields": {"model": "creditcourse", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 179}, {"fields": {"model": "creditrequirement", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 180}, {"fields": {"model": "historicalcreditrequirementstatus", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 181}, {"fields": {"model": "creditrequirementstatus", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 182}, {"fields": {"model": "crediteligibility", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 183}, {"fields": {"model": "historicalcreditrequest", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 184}, {"fields": {"model": "creditrequest", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 185}, {"fields": {"model": "courseteam", "app_label": "teams"}, "model": "contenttypes.contenttype", "pk": 186}, {"fields": {"model": "courseteammembership", "app_label": "teams"}, "model": "contenttypes.contenttype", "pk": 187}, {"fields": {"model": "xblockdisableconfig", "app_label": "xblock_django"}, "model": "contenttypes.contenttype", "pk": 188}, {"fields": {"model": "bookmark", "app_label": "bookmarks"}, "model": "contenttypes.contenttype", "pk": 189}, {"fields": {"model": "xblockcache", "app_label": "bookmarks"}, "model": "contenttypes.contenttype", "pk": 190}, {"fields": {"model": "programsapiconfig", "app_label": "programs"}, "model": "contenttypes.contenttype", "pk": 191}, {"fields": {"model": "selfpacedconfiguration", "app_label": "self_paced"}, "model": "contenttypes.contenttype", "pk": 192}, {"fields": {"model": "kvstore", "app_label": "thumbnail"}, "model": "contenttypes.contenttype", "pk": 193}, {"fields": {"model": "studentitem", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 194}, {"fields": {"model": "submission", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 195}, {"fields": {"model": "score", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 196}, {"fields": {"model": "scoresummary", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 197}, {"fields": {"model": "scoreannotation", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 198}, {"fields": {"model": "rubric", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 199}, {"fields": {"model": "criterion", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 200}, {"fields": {"model": "criterionoption", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 201}, {"fields": {"model": "assessment", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 202}, {"fields": {"model": "assessmentpart", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 203}, {"fields": {"model": "assessmentfeedbackoption", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 204}, {"fields": {"model": "assessmentfeedback", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 205}, {"fields": {"model": "peerworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 206}, {"fields": {"model": "peerworkflowitem", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 207}, {"fields": {"model": "trainingexample", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 208}, {"fields": {"model": "studenttrainingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 209}, {"fields": {"model": "studenttrainingworkflowitem", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 210}, {"fields": {"model": "aiclassifierset", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 211}, {"fields": {"model": "aiclassifier", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 212}, {"fields": {"model": "aitrainingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 213}, {"fields": {"model": "aigradingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 214}, {"fields": {"model": "staffworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 215}, {"fields": {"model": "assessmentworkflow", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 216}, {"fields": {"model": "assessmentworkflowstep", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 217}, {"fields": {"model": "assessmentworkflowcancellation", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 218}, {"fields": {"model": "profile", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 219}, {"fields": {"model": "video", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 220}, {"fields": {"model": "coursevideo", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 221}, {"fields": {"model": "encodedvideo", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 222}, {"fields": {"model": "subtitle", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 223}, {"fields": {"model": "milestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 224}, {"fields": {"model": "milestonerelationshiptype", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 225}, {"fields": {"model": "coursemilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 226}, {"fields": {"model": "coursecontentmilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 227}, {"fields": {"model": "usermilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 228}, {"fields": {"model": "proctoredexam", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 229}, {"fields": {"model": "proctoredexamreviewpolicy", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 230}, {"fields": {"model": "proctoredexamreviewpolicyhistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 231}, {"fields": {"model": "proctoredexamstudentattempt", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 232}, {"fields": {"model": "proctoredexamstudentattempthistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 233}, {"fields": {"model": "proctoredexamstudentallowance", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 234}, {"fields": {"model": "proctoredexamstudentallowancehistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 235}, {"fields": {"model": "proctoredexamsoftwaresecurereview", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 236}, {"fields": {"model": "proctoredexamsoftwaresecurereviewhistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 237}, {"fields": {"model": "proctoredexamsoftwaresecurecomment", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 238}, {"fields": {"model": "organization", "app_label": "organizations"}, "model": "contenttypes.contenttype", "pk": 239}, {"fields": {"model": "organizationcourse", "app_label": "organizations"}, "model": "contenttypes.contenttype", "pk": 240}, {"fields": {"model": "videouploadconfig", "app_label": "contentstore"}, "model": "contenttypes.contenttype", "pk": 241}, {"fields": {"model": "pushnotificationconfig", "app_label": "contentstore"}, "model": "contenttypes.contenttype", "pk": 242}, {"fields": {"model": "coursecreator", "app_label": "course_creators"}, "model": "contenttypes.contenttype", "pk": 243}, {"fields": {"model": "studioconfig", "app_label": "xblock_config"}, "model": "contenttypes.contenttype", "pk": 244}, {"fields": {"domain": "example.com", "name": "example.com"}, "model": "sites.site", "pk": 1}, {"fields": {"default": false, "mode": "honor", "icon": "badges/honor.png"}, "model": "certificates.badgeimageconfiguration", "pk": 1}, {"fields": {"default": false, "mode": "verified", "icon": "badges/verified.png"}, "model": "certificates.badgeimageconfiguration", "pk": 2}, {"fields": {"default": false, "mode": "professional", "icon": "badges/professional.png"}, "model": "certificates.badgeimageconfiguration", "pk": 3}, {"fields": {"plain_template": "{course_title}\n\n{{message_body}}\r\n----\r\nCopyright 2013 edX, All rights reserved.\r\n----\r\nConnect with edX:\r\nFacebook (http://facebook.com/edxonline)\r\nTwitter (http://twitter.com/edxonline)\r\nGoogle+ (https://plus.google.com/108235383044095082735)\r\nMeetup (http://www.meetup.com/edX-Communities/)\r\n----\r\nThis email was automatically sent from {platform_name}.\r\nYou are receiving this email at address {email} because you are enrolled in {course_title}\r\n(URL: {course_url} ).\r\nTo stop receiving email like this, update your course email settings at {email_settings_url}.\r\n", "html_template": " Update from {course_title}

edX
Connect with edX:        

{course_title}


{{message_body}}
       
Copyright \u00a9 2013 edX, All rights reserved.


Our mailing address is:
edX
11 Cambridge Center, Suite 101
Cambridge, MA, USA 02142


This email was automatically sent from {platform_name}.
You are receiving this email at address {email} because you are enrolled in {course_title}.
To stop receiving email like this, update your course email settings here.
", "name": null}, "model": "bulk_email.courseemailtemplate", "pk": 1}, {"fields": {"plain_template": "THIS IS A BRANDED TEXT TEMPLATE. {course_title}\n\n{{message_body}}\r\n----\r\nCopyright 2013 edX, All rights reserved.\r\n----\r\nConnect with edX:\r\nFacebook (http://facebook.com/edxonline)\r\nTwitter (http://twitter.com/edxonline)\r\nGoogle+ (https://plus.google.com/108235383044095082735)\r\nMeetup (http://www.meetup.com/edX-Communities/)\r\n----\r\nThis email was automatically sent from {platform_name}.\r\nYou are receiving this email at address {email} because you are enrolled in {course_title}\r\n(URL: {course_url} ).\r\nTo stop receiving email like this, update your course email settings at {email_settings_url}.\r\n", "html_template": " THIS IS A BRANDED HTML TEMPLATE Update from {course_title}

edX
Connect with edX:        

{course_title}


{{message_body}}
       
Copyright \u00a9 2013 edX, All rights reserved.


Our mailing address is:
edX
11 Cambridge Center, Suite 101
Cambridge, MA, USA 02142


This email was automatically sent from {platform_name}.
You are receiving this email at address {email} because you are enrolled in {course_title}.
To stop receiving email like this, update your course email settings here.
", "name": "branded.template"}, "model": "bulk_email.courseemailtemplate", "pk": 2}, {"fields": {"country": "AF"}, "model": "embargo.country", "pk": 1}, {"fields": {"country": "AX"}, "model": "embargo.country", "pk": 2}, {"fields": {"country": "AL"}, "model": "embargo.country", "pk": 3}, {"fields": {"country": "DZ"}, "model": "embargo.country", "pk": 4}, {"fields": {"country": "AS"}, "model": "embargo.country", "pk": 5}, {"fields": {"country": "AD"}, "model": "embargo.country", "pk": 6}, {"fields": {"country": "AO"}, "model": "embargo.country", "pk": 7}, {"fields": {"country": "AI"}, "model": "embargo.country", "pk": 8}, {"fields": {"country": "AQ"}, "model": "embargo.country", "pk": 9}, {"fields": {"country": "AG"}, "model": "embargo.country", "pk": 10}, {"fields": {"country": "AR"}, "model": "embargo.country", "pk": 11}, {"fields": {"country": "AM"}, "model": "embargo.country", "pk": 12}, {"fields": {"country": "AW"}, "model": "embargo.country", "pk": 13}, {"fields": {"country": "AU"}, "model": "embargo.country", "pk": 14}, {"fields": {"country": "AT"}, "model": "embargo.country", "pk": 15}, {"fields": {"country": "AZ"}, "model": "embargo.country", "pk": 16}, {"fields": {"country": "BS"}, "model": "embargo.country", "pk": 17}, {"fields": {"country": "BH"}, "model": "embargo.country", "pk": 18}, {"fields": {"country": "BD"}, "model": "embargo.country", "pk": 19}, {"fields": {"country": "BB"}, "model": "embargo.country", "pk": 20}, {"fields": {"country": "BY"}, "model": "embargo.country", "pk": 21}, {"fields": {"country": "BE"}, "model": "embargo.country", "pk": 22}, {"fields": {"country": "BZ"}, "model": "embargo.country", "pk": 23}, {"fields": {"country": "BJ"}, "model": "embargo.country", "pk": 24}, {"fields": {"country": "BM"}, "model": "embargo.country", "pk": 25}, {"fields": {"country": "BT"}, "model": "embargo.country", "pk": 26}, {"fields": {"country": "BO"}, "model": "embargo.country", "pk": 27}, {"fields": {"country": "BQ"}, "model": "embargo.country", "pk": 28}, {"fields": {"country": "BA"}, "model": "embargo.country", "pk": 29}, {"fields": {"country": "BW"}, "model": "embargo.country", "pk": 30}, {"fields": {"country": "BV"}, "model": "embargo.country", "pk": 31}, {"fields": {"country": "BR"}, "model": "embargo.country", "pk": 32}, {"fields": {"country": "IO"}, "model": "embargo.country", "pk": 33}, {"fields": {"country": "BN"}, "model": "embargo.country", "pk": 34}, {"fields": {"country": "BG"}, "model": "embargo.country", "pk": 35}, {"fields": {"country": "BF"}, "model": "embargo.country", "pk": 36}, {"fields": {"country": "BI"}, "model": "embargo.country", "pk": 37}, {"fields": {"country": "CV"}, "model": "embargo.country", "pk": 38}, {"fields": {"country": "KH"}, "model": "embargo.country", "pk": 39}, {"fields": {"country": "CM"}, "model": "embargo.country", "pk": 40}, {"fields": {"country": "CA"}, "model": "embargo.country", "pk": 41}, {"fields": {"country": "KY"}, "model": "embargo.country", "pk": 42}, {"fields": {"country": "CF"}, "model": "embargo.country", "pk": 43}, {"fields": {"country": "TD"}, "model": "embargo.country", "pk": 44}, {"fields": {"country": "CL"}, "model": "embargo.country", "pk": 45}, {"fields": {"country": "CN"}, "model": "embargo.country", "pk": 46}, {"fields": {"country": "CX"}, "model": "embargo.country", "pk": 47}, {"fields": {"country": "CC"}, "model": "embargo.country", "pk": 48}, {"fields": {"country": "CO"}, "model": "embargo.country", "pk": 49}, {"fields": {"country": "KM"}, "model": "embargo.country", "pk": 50}, {"fields": {"country": "CG"}, "model": "embargo.country", "pk": 51}, {"fields": {"country": "CD"}, "model": "embargo.country", "pk": 52}, {"fields": {"country": "CK"}, "model": "embargo.country", "pk": 53}, {"fields": {"country": "CR"}, "model": "embargo.country", "pk": 54}, {"fields": {"country": "CI"}, "model": "embargo.country", "pk": 55}, {"fields": {"country": "HR"}, "model": "embargo.country", "pk": 56}, {"fields": {"country": "CU"}, "model": "embargo.country", "pk": 57}, {"fields": {"country": "CW"}, "model": "embargo.country", "pk": 58}, {"fields": {"country": "CY"}, "model": "embargo.country", "pk": 59}, {"fields": {"country": "CZ"}, "model": "embargo.country", "pk": 60}, {"fields": {"country": "DK"}, "model": "embargo.country", "pk": 61}, {"fields": {"country": "DJ"}, "model": "embargo.country", "pk": 62}, {"fields": {"country": "DM"}, "model": "embargo.country", "pk": 63}, {"fields": {"country": "DO"}, "model": "embargo.country", "pk": 64}, {"fields": {"country": "EC"}, "model": "embargo.country", "pk": 65}, {"fields": {"country": "EG"}, "model": "embargo.country", "pk": 66}, {"fields": {"country": "SV"}, "model": "embargo.country", "pk": 67}, {"fields": {"country": "GQ"}, "model": "embargo.country", "pk": 68}, {"fields": {"country": "ER"}, "model": "embargo.country", "pk": 69}, {"fields": {"country": "EE"}, "model": "embargo.country", "pk": 70}, {"fields": {"country": "ET"}, "model": "embargo.country", "pk": 71}, {"fields": {"country": "FK"}, "model": "embargo.country", "pk": 72}, {"fields": {"country": "FO"}, "model": "embargo.country", "pk": 73}, {"fields": {"country": "FJ"}, "model": "embargo.country", "pk": 74}, {"fields": {"country": "FI"}, "model": "embargo.country", "pk": 75}, {"fields": {"country": "FR"}, "model": "embargo.country", "pk": 76}, {"fields": {"country": "GF"}, "model": "embargo.country", "pk": 77}, {"fields": {"country": "PF"}, "model": "embargo.country", "pk": 78}, {"fields": {"country": "TF"}, "model": "embargo.country", "pk": 79}, {"fields": {"country": "GA"}, "model": "embargo.country", "pk": 80}, {"fields": {"country": "GM"}, "model": "embargo.country", "pk": 81}, {"fields": {"country": "GE"}, "model": "embargo.country", "pk": 82}, {"fields": {"country": "DE"}, "model": "embargo.country", "pk": 83}, {"fields": {"country": "GH"}, "model": "embargo.country", "pk": 84}, {"fields": {"country": "GI"}, "model": "embargo.country", "pk": 85}, {"fields": {"country": "GR"}, "model": "embargo.country", "pk": 86}, {"fields": {"country": "GL"}, "model": "embargo.country", "pk": 87}, {"fields": {"country": "GD"}, "model": "embargo.country", "pk": 88}, {"fields": {"country": "GP"}, "model": "embargo.country", "pk": 89}, {"fields": {"country": "GU"}, "model": "embargo.country", "pk": 90}, {"fields": {"country": "GT"}, "model": "embargo.country", "pk": 91}, {"fields": {"country": "GG"}, "model": "embargo.country", "pk": 92}, {"fields": {"country": "GN"}, "model": "embargo.country", "pk": 93}, {"fields": {"country": "GW"}, "model": "embargo.country", "pk": 94}, {"fields": {"country": "GY"}, "model": "embargo.country", "pk": 95}, {"fields": {"country": "HT"}, "model": "embargo.country", "pk": 96}, {"fields": {"country": "HM"}, "model": "embargo.country", "pk": 97}, {"fields": {"country": "VA"}, "model": "embargo.country", "pk": 98}, {"fields": {"country": "HN"}, "model": "embargo.country", "pk": 99}, {"fields": {"country": "HK"}, "model": "embargo.country", "pk": 100}, {"fields": {"country": "HU"}, "model": "embargo.country", "pk": 101}, {"fields": {"country": "IS"}, "model": "embargo.country", "pk": 102}, {"fields": {"country": "IN"}, "model": "embargo.country", "pk": 103}, {"fields": {"country": "ID"}, "model": "embargo.country", "pk": 104}, {"fields": {"country": "IR"}, "model": "embargo.country", "pk": 105}, {"fields": {"country": "IQ"}, "model": "embargo.country", "pk": 106}, {"fields": {"country": "IE"}, "model": "embargo.country", "pk": 107}, {"fields": {"country": "IM"}, "model": "embargo.country", "pk": 108}, {"fields": {"country": "IL"}, "model": "embargo.country", "pk": 109}, {"fields": {"country": "IT"}, "model": "embargo.country", "pk": 110}, {"fields": {"country": "JM"}, "model": "embargo.country", "pk": 111}, {"fields": {"country": "JP"}, "model": "embargo.country", "pk": 112}, {"fields": {"country": "JE"}, "model": "embargo.country", "pk": 113}, {"fields": {"country": "JO"}, "model": "embargo.country", "pk": 114}, {"fields": {"country": "KZ"}, "model": "embargo.country", "pk": 115}, {"fields": {"country": "KE"}, "model": "embargo.country", "pk": 116}, {"fields": {"country": "KI"}, "model": "embargo.country", "pk": 117}, {"fields": {"country": "KW"}, "model": "embargo.country", "pk": 118}, {"fields": {"country": "KG"}, "model": "embargo.country", "pk": 119}, {"fields": {"country": "LA"}, "model": "embargo.country", "pk": 120}, {"fields": {"country": "LV"}, "model": "embargo.country", "pk": 121}, {"fields": {"country": "LB"}, "model": "embargo.country", "pk": 122}, {"fields": {"country": "LS"}, "model": "embargo.country", "pk": 123}, {"fields": {"country": "LR"}, "model": "embargo.country", "pk": 124}, {"fields": {"country": "LY"}, "model": "embargo.country", "pk": 125}, {"fields": {"country": "LI"}, "model": "embargo.country", "pk": 126}, {"fields": {"country": "LT"}, "model": "embargo.country", "pk": 127}, {"fields": {"country": "LU"}, "model": "embargo.country", "pk": 128}, {"fields": {"country": "MO"}, "model": "embargo.country", "pk": 129}, {"fields": {"country": "MK"}, "model": "embargo.country", "pk": 130}, {"fields": {"country": "MG"}, "model": "embargo.country", "pk": 131}, {"fields": {"country": "MW"}, "model": "embargo.country", "pk": 132}, {"fields": {"country": "MY"}, "model": "embargo.country", "pk": 133}, {"fields": {"country": "MV"}, "model": "embargo.country", "pk": 134}, {"fields": {"country": "ML"}, "model": "embargo.country", "pk": 135}, {"fields": {"country": "MT"}, "model": "embargo.country", "pk": 136}, {"fields": {"country": "MH"}, "model": "embargo.country", "pk": 137}, {"fields": {"country": "MQ"}, "model": "embargo.country", "pk": 138}, {"fields": {"country": "MR"}, "model": "embargo.country", "pk": 139}, {"fields": {"country": "MU"}, "model": "embargo.country", "pk": 140}, {"fields": {"country": "YT"}, "model": "embargo.country", "pk": 141}, {"fields": {"country": "MX"}, "model": "embargo.country", "pk": 142}, {"fields": {"country": "FM"}, "model": "embargo.country", "pk": 143}, {"fields": {"country": "MD"}, "model": "embargo.country", "pk": 144}, {"fields": {"country": "MC"}, "model": "embargo.country", "pk": 145}, {"fields": {"country": "MN"}, "model": "embargo.country", "pk": 146}, {"fields": {"country": "ME"}, "model": "embargo.country", "pk": 147}, {"fields": {"country": "MS"}, "model": "embargo.country", "pk": 148}, {"fields": {"country": "MA"}, "model": "embargo.country", "pk": 149}, {"fields": {"country": "MZ"}, "model": "embargo.country", "pk": 150}, {"fields": {"country": "MM"}, "model": "embargo.country", "pk": 151}, {"fields": {"country": "NA"}, "model": "embargo.country", "pk": 152}, {"fields": {"country": "NR"}, "model": "embargo.country", "pk": 153}, {"fields": {"country": "NP"}, "model": "embargo.country", "pk": 154}, {"fields": {"country": "NL"}, "model": "embargo.country", "pk": 155}, {"fields": {"country": "NC"}, "model": "embargo.country", "pk": 156}, {"fields": {"country": "NZ"}, "model": "embargo.country", "pk": 157}, {"fields": {"country": "NI"}, "model": "embargo.country", "pk": 158}, {"fields": {"country": "NE"}, "model": "embargo.country", "pk": 159}, {"fields": {"country": "NG"}, "model": "embargo.country", "pk": 160}, {"fields": {"country": "NU"}, "model": "embargo.country", "pk": 161}, {"fields": {"country": "NF"}, "model": "embargo.country", "pk": 162}, {"fields": {"country": "KP"}, "model": "embargo.country", "pk": 163}, {"fields": {"country": "MP"}, "model": "embargo.country", "pk": 164}, {"fields": {"country": "NO"}, "model": "embargo.country", "pk": 165}, {"fields": {"country": "OM"}, "model": "embargo.country", "pk": 166}, {"fields": {"country": "PK"}, "model": "embargo.country", "pk": 167}, {"fields": {"country": "PW"}, "model": "embargo.country", "pk": 168}, {"fields": {"country": "PS"}, "model": "embargo.country", "pk": 169}, {"fields": {"country": "PA"}, "model": "embargo.country", "pk": 170}, {"fields": {"country": "PG"}, "model": "embargo.country", "pk": 171}, {"fields": {"country": "PY"}, "model": "embargo.country", "pk": 172}, {"fields": {"country": "PE"}, "model": "embargo.country", "pk": 173}, {"fields": {"country": "PH"}, "model": "embargo.country", "pk": 174}, {"fields": {"country": "PN"}, "model": "embargo.country", "pk": 175}, {"fields": {"country": "PL"}, "model": "embargo.country", "pk": 176}, {"fields": {"country": "PT"}, "model": "embargo.country", "pk": 177}, {"fields": {"country": "PR"}, "model": "embargo.country", "pk": 178}, {"fields": {"country": "QA"}, "model": "embargo.country", "pk": 179}, {"fields": {"country": "RE"}, "model": "embargo.country", "pk": 180}, {"fields": {"country": "RO"}, "model": "embargo.country", "pk": 181}, {"fields": {"country": "RU"}, "model": "embargo.country", "pk": 182}, {"fields": {"country": "RW"}, "model": "embargo.country", "pk": 183}, {"fields": {"country": "BL"}, "model": "embargo.country", "pk": 184}, {"fields": {"country": "SH"}, "model": "embargo.country", "pk": 185}, {"fields": {"country": "KN"}, "model": "embargo.country", "pk": 186}, {"fields": {"country": "LC"}, "model": "embargo.country", "pk": 187}, {"fields": {"country": "MF"}, "model": "embargo.country", "pk": 188}, {"fields": {"country": "PM"}, "model": "embargo.country", "pk": 189}, {"fields": {"country": "VC"}, "model": "embargo.country", "pk": 190}, {"fields": {"country": "WS"}, "model": "embargo.country", "pk": 191}, {"fields": {"country": "SM"}, "model": "embargo.country", "pk": 192}, {"fields": {"country": "ST"}, "model": "embargo.country", "pk": 193}, {"fields": {"country": "SA"}, "model": "embargo.country", "pk": 194}, {"fields": {"country": "SN"}, "model": "embargo.country", "pk": 195}, {"fields": {"country": "RS"}, "model": "embargo.country", "pk": 196}, {"fields": {"country": "SC"}, "model": "embargo.country", "pk": 197}, {"fields": {"country": "SL"}, "model": "embargo.country", "pk": 198}, {"fields": {"country": "SG"}, "model": "embargo.country", "pk": 199}, {"fields": {"country": "SX"}, "model": "embargo.country", "pk": 200}, {"fields": {"country": "SK"}, "model": "embargo.country", "pk": 201}, {"fields": {"country": "SI"}, "model": "embargo.country", "pk": 202}, {"fields": {"country": "SB"}, "model": "embargo.country", "pk": 203}, {"fields": {"country": "SO"}, "model": "embargo.country", "pk": 204}, {"fields": {"country": "ZA"}, "model": "embargo.country", "pk": 205}, {"fields": {"country": "GS"}, "model": "embargo.country", "pk": 206}, {"fields": {"country": "KR"}, "model": "embargo.country", "pk": 207}, {"fields": {"country": "SS"}, "model": "embargo.country", "pk": 208}, {"fields": {"country": "ES"}, "model": "embargo.country", "pk": 209}, {"fields": {"country": "LK"}, "model": "embargo.country", "pk": 210}, {"fields": {"country": "SD"}, "model": "embargo.country", "pk": 211}, {"fields": {"country": "SR"}, "model": "embargo.country", "pk": 212}, {"fields": {"country": "SJ"}, "model": "embargo.country", "pk": 213}, {"fields": {"country": "SZ"}, "model": "embargo.country", "pk": 214}, {"fields": {"country": "SE"}, "model": "embargo.country", "pk": 215}, {"fields": {"country": "CH"}, "model": "embargo.country", "pk": 216}, {"fields": {"country": "SY"}, "model": "embargo.country", "pk": 217}, {"fields": {"country": "TW"}, "model": "embargo.country", "pk": 218}, {"fields": {"country": "TJ"}, "model": "embargo.country", "pk": 219}, {"fields": {"country": "TZ"}, "model": "embargo.country", "pk": 220}, {"fields": {"country": "TH"}, "model": "embargo.country", "pk": 221}, {"fields": {"country": "TL"}, "model": "embargo.country", "pk": 222}, {"fields": {"country": "TG"}, "model": "embargo.country", "pk": 223}, {"fields": {"country": "TK"}, "model": "embargo.country", "pk": 224}, {"fields": {"country": "TO"}, "model": "embargo.country", "pk": 225}, {"fields": {"country": "TT"}, "model": "embargo.country", "pk": 226}, {"fields": {"country": "TN"}, "model": "embargo.country", "pk": 227}, {"fields": {"country": "TR"}, "model": "embargo.country", "pk": 228}, {"fields": {"country": "TM"}, "model": "embargo.country", "pk": 229}, {"fields": {"country": "TC"}, "model": "embargo.country", "pk": 230}, {"fields": {"country": "TV"}, "model": "embargo.country", "pk": 231}, {"fields": {"country": "UG"}, "model": "embargo.country", "pk": 232}, {"fields": {"country": "UA"}, "model": "embargo.country", "pk": 233}, {"fields": {"country": "AE"}, "model": "embargo.country", "pk": 234}, {"fields": {"country": "GB"}, "model": "embargo.country", "pk": 235}, {"fields": {"country": "UM"}, "model": "embargo.country", "pk": 236}, {"fields": {"country": "US"}, "model": "embargo.country", "pk": 237}, {"fields": {"country": "UY"}, "model": "embargo.country", "pk": 238}, {"fields": {"country": "UZ"}, "model": "embargo.country", "pk": 239}, {"fields": {"country": "VU"}, "model": "embargo.country", "pk": 240}, {"fields": {"country": "VE"}, "model": "embargo.country", "pk": 241}, {"fields": {"country": "VN"}, "model": "embargo.country", "pk": 242}, {"fields": {"country": "VG"}, "model": "embargo.country", "pk": 243}, {"fields": {"country": "VI"}, "model": "embargo.country", "pk": 244}, {"fields": {"country": "WF"}, "model": "embargo.country", "pk": 245}, {"fields": {"country": "EH"}, "model": "embargo.country", "pk": 246}, {"fields": {"country": "YE"}, "model": "embargo.country", "pk": 247}, {"fields": {"country": "ZM"}, "model": "embargo.country", "pk": 248}, {"fields": {"country": "ZW"}, "model": "embargo.country", "pk": 249}, {"fields": {"profile_name": "desktop_mp4"}, "model": "edxval.profile", "pk": 1}, {"fields": {"profile_name": "desktop_webm"}, "model": "edxval.profile", "pk": 2}, {"fields": {"profile_name": "mobile_high"}, "model": "edxval.profile", "pk": 3}, {"fields": {"profile_name": "mobile_low"}, "model": "edxval.profile", "pk": 4}, {"fields": {"profile_name": "youtube"}, "model": "edxval.profile", "pk": 5}, {"fields": {"active": true, "description": "Autogenerated milestone relationship type \"fulfills\"", "modified": "2016-01-20T14:41:30.051Z", "name": "fulfills", "created": "2016-01-20T14:41:30.051Z"}, "model": "milestones.milestonerelationshiptype", "pk": 1}, {"fields": {"active": true, "description": "Autogenerated milestone relationship type \"requires\"", "modified": "2016-01-20T14:41:30.053Z", "name": "requires", "created": "2016-01-20T14:41:30.053Z"}, "model": "milestones.milestonerelationshiptype", "pk": 2}, {"fields": {"codename": "add_permission", "name": "Can add permission", "content_type": 1}, "model": "auth.permission", "pk": 1}, {"fields": {"codename": "change_permission", "name": "Can change permission", "content_type": 1}, "model": "auth.permission", "pk": 2}, {"fields": {"codename": "delete_permission", "name": "Can delete permission", "content_type": 1}, "model": "auth.permission", "pk": 3}, {"fields": {"codename": "add_group", "name": "Can add group", "content_type": 2}, "model": "auth.permission", "pk": 4}, {"fields": {"codename": "change_group", "name": "Can change group", "content_type": 2}, "model": "auth.permission", "pk": 5}, {"fields": {"codename": "delete_group", "name": "Can delete group", "content_type": 2}, "model": "auth.permission", "pk": 6}, {"fields": {"codename": "add_user", "name": "Can add user", "content_type": 3}, "model": "auth.permission", "pk": 7}, {"fields": {"codename": "change_user", "name": "Can change user", "content_type": 3}, "model": "auth.permission", "pk": 8}, {"fields": {"codename": "delete_user", "name": "Can delete user", "content_type": 3}, "model": "auth.permission", "pk": 9}, {"fields": {"codename": "add_contenttype", "name": "Can add content type", "content_type": 4}, "model": "auth.permission", "pk": 10}, {"fields": {"codename": "change_contenttype", "name": "Can change content type", "content_type": 4}, "model": "auth.permission", "pk": 11}, {"fields": {"codename": "delete_contenttype", "name": "Can delete content type", "content_type": 4}, "model": "auth.permission", "pk": 12}, {"fields": {"codename": "add_session", "name": "Can add session", "content_type": 5}, "model": "auth.permission", "pk": 13}, {"fields": {"codename": "change_session", "name": "Can change session", "content_type": 5}, "model": "auth.permission", "pk": 14}, {"fields": {"codename": "delete_session", "name": "Can delete session", "content_type": 5}, "model": "auth.permission", "pk": 15}, {"fields": {"codename": "add_site", "name": "Can add site", "content_type": 6}, "model": "auth.permission", "pk": 16}, {"fields": {"codename": "change_site", "name": "Can change site", "content_type": 6}, "model": "auth.permission", "pk": 17}, {"fields": {"codename": "delete_site", "name": "Can delete site", "content_type": 6}, "model": "auth.permission", "pk": 18}, {"fields": {"codename": "add_taskmeta", "name": "Can add task state", "content_type": 7}, "model": "auth.permission", "pk": 19}, {"fields": {"codename": "change_taskmeta", "name": "Can change task state", "content_type": 7}, "model": "auth.permission", "pk": 20}, {"fields": {"codename": "delete_taskmeta", "name": "Can delete task state", "content_type": 7}, "model": "auth.permission", "pk": 21}, {"fields": {"codename": "add_tasksetmeta", "name": "Can add saved group result", "content_type": 8}, "model": "auth.permission", "pk": 22}, {"fields": {"codename": "change_tasksetmeta", "name": "Can change saved group result", "content_type": 8}, "model": "auth.permission", "pk": 23}, {"fields": {"codename": "delete_tasksetmeta", "name": "Can delete saved group result", "content_type": 8}, "model": "auth.permission", "pk": 24}, {"fields": {"codename": "add_intervalschedule", "name": "Can add interval", "content_type": 9}, "model": "auth.permission", "pk": 25}, {"fields": {"codename": "change_intervalschedule", "name": "Can change interval", "content_type": 9}, "model": "auth.permission", "pk": 26}, {"fields": {"codename": "delete_intervalschedule", "name": "Can delete interval", "content_type": 9}, "model": "auth.permission", "pk": 27}, {"fields": {"codename": "add_crontabschedule", "name": "Can add crontab", "content_type": 10}, "model": "auth.permission", "pk": 28}, {"fields": {"codename": "change_crontabschedule", "name": "Can change crontab", "content_type": 10}, "model": "auth.permission", "pk": 29}, {"fields": {"codename": "delete_crontabschedule", "name": "Can delete crontab", "content_type": 10}, "model": "auth.permission", "pk": 30}, {"fields": {"codename": "add_periodictasks", "name": "Can add periodic tasks", "content_type": 11}, "model": "auth.permission", "pk": 31}, {"fields": {"codename": "change_periodictasks", "name": "Can change periodic tasks", "content_type": 11}, "model": "auth.permission", "pk": 32}, {"fields": {"codename": "delete_periodictasks", "name": "Can delete periodic tasks", "content_type": 11}, "model": "auth.permission", "pk": 33}, {"fields": {"codename": "add_periodictask", "name": "Can add periodic task", "content_type": 12}, "model": "auth.permission", "pk": 34}, {"fields": {"codename": "change_periodictask", "name": "Can change periodic task", "content_type": 12}, "model": "auth.permission", "pk": 35}, {"fields": {"codename": "delete_periodictask", "name": "Can delete periodic task", "content_type": 12}, "model": "auth.permission", "pk": 36}, {"fields": {"codename": "add_workerstate", "name": "Can add worker", "content_type": 13}, "model": "auth.permission", "pk": 37}, {"fields": {"codename": "change_workerstate", "name": "Can change worker", "content_type": 13}, "model": "auth.permission", "pk": 38}, {"fields": {"codename": "delete_workerstate", "name": "Can delete worker", "content_type": 13}, "model": "auth.permission", "pk": 39}, {"fields": {"codename": "add_taskstate", "name": "Can add task", "content_type": 14}, "model": "auth.permission", "pk": 40}, {"fields": {"codename": "change_taskstate", "name": "Can change task", "content_type": 14}, "model": "auth.permission", "pk": 41}, {"fields": {"codename": "delete_taskstate", "name": "Can delete task", "content_type": 14}, "model": "auth.permission", "pk": 42}, {"fields": {"codename": "add_globalstatusmessage", "name": "Can add global status message", "content_type": 15}, "model": "auth.permission", "pk": 43}, {"fields": {"codename": "change_globalstatusmessage", "name": "Can change global status message", "content_type": 15}, "model": "auth.permission", "pk": 44}, {"fields": {"codename": "delete_globalstatusmessage", "name": "Can delete global status message", "content_type": 15}, "model": "auth.permission", "pk": 45}, {"fields": {"codename": "add_coursemessage", "name": "Can add course message", "content_type": 16}, "model": "auth.permission", "pk": 46}, {"fields": {"codename": "change_coursemessage", "name": "Can change course message", "content_type": 16}, "model": "auth.permission", "pk": 47}, {"fields": {"codename": "delete_coursemessage", "name": "Can delete course message", "content_type": 16}, "model": "auth.permission", "pk": 48}, {"fields": {"codename": "add_assetbaseurlconfig", "name": "Can add asset base url config", "content_type": 17}, "model": "auth.permission", "pk": 49}, {"fields": {"codename": "change_assetbaseurlconfig", "name": "Can change asset base url config", "content_type": 17}, "model": "auth.permission", "pk": 50}, {"fields": {"codename": "delete_assetbaseurlconfig", "name": "Can delete asset base url config", "content_type": 17}, "model": "auth.permission", "pk": 51}, {"fields": {"codename": "add_studentmodule", "name": "Can add student module", "content_type": 18}, "model": "auth.permission", "pk": 52}, {"fields": {"codename": "change_studentmodule", "name": "Can change student module", "content_type": 18}, "model": "auth.permission", "pk": 53}, {"fields": {"codename": "delete_studentmodule", "name": "Can delete student module", "content_type": 18}, "model": "auth.permission", "pk": 54}, {"fields": {"codename": "add_studentmodulehistory", "name": "Can add student module history", "content_type": 19}, "model": "auth.permission", "pk": 55}, {"fields": {"codename": "change_studentmodulehistory", "name": "Can change student module history", "content_type": 19}, "model": "auth.permission", "pk": 56}, {"fields": {"codename": "delete_studentmodulehistory", "name": "Can delete student module history", "content_type": 19}, "model": "auth.permission", "pk": 57}, {"fields": {"codename": "add_xmoduleuserstatesummaryfield", "name": "Can add x module user state summary field", "content_type": 20}, "model": "auth.permission", "pk": 58}, {"fields": {"codename": "change_xmoduleuserstatesummaryfield", "name": "Can change x module user state summary field", "content_type": 20}, "model": "auth.permission", "pk": 59}, {"fields": {"codename": "delete_xmoduleuserstatesummaryfield", "name": "Can delete x module user state summary field", "content_type": 20}, "model": "auth.permission", "pk": 60}, {"fields": {"codename": "add_xmodulestudentprefsfield", "name": "Can add x module student prefs field", "content_type": 21}, "model": "auth.permission", "pk": 61}, {"fields": {"codename": "change_xmodulestudentprefsfield", "name": "Can change x module student prefs field", "content_type": 21}, "model": "auth.permission", "pk": 62}, {"fields": {"codename": "delete_xmodulestudentprefsfield", "name": "Can delete x module student prefs field", "content_type": 21}, "model": "auth.permission", "pk": 63}, {"fields": {"codename": "add_xmodulestudentinfofield", "name": "Can add x module student info field", "content_type": 22}, "model": "auth.permission", "pk": 64}, {"fields": {"codename": "change_xmodulestudentinfofield", "name": "Can change x module student info field", "content_type": 22}, "model": "auth.permission", "pk": 65}, {"fields": {"codename": "delete_xmodulestudentinfofield", "name": "Can delete x module student info field", "content_type": 22}, "model": "auth.permission", "pk": 66}, {"fields": {"codename": "add_offlinecomputedgrade", "name": "Can add offline computed grade", "content_type": 23}, "model": "auth.permission", "pk": 67}, {"fields": {"codename": "change_offlinecomputedgrade", "name": "Can change offline computed grade", "content_type": 23}, "model": "auth.permission", "pk": 68}, {"fields": {"codename": "delete_offlinecomputedgrade", "name": "Can delete offline computed grade", "content_type": 23}, "model": "auth.permission", "pk": 69}, {"fields": {"codename": "add_offlinecomputedgradelog", "name": "Can add offline computed grade log", "content_type": 24}, "model": "auth.permission", "pk": 70}, {"fields": {"codename": "change_offlinecomputedgradelog", "name": "Can change offline computed grade log", "content_type": 24}, "model": "auth.permission", "pk": 71}, {"fields": {"codename": "delete_offlinecomputedgradelog", "name": "Can delete offline computed grade log", "content_type": 24}, "model": "auth.permission", "pk": 72}, {"fields": {"codename": "add_studentfieldoverride", "name": "Can add student field override", "content_type": 25}, "model": "auth.permission", "pk": 73}, {"fields": {"codename": "change_studentfieldoverride", "name": "Can change student field override", "content_type": 25}, "model": "auth.permission", "pk": 74}, {"fields": {"codename": "delete_studentfieldoverride", "name": "Can delete student field override", "content_type": 25}, "model": "auth.permission", "pk": 75}, {"fields": {"codename": "add_anonymoususerid", "name": "Can add anonymous user id", "content_type": 26}, "model": "auth.permission", "pk": 76}, {"fields": {"codename": "change_anonymoususerid", "name": "Can change anonymous user id", "content_type": 26}, "model": "auth.permission", "pk": 77}, {"fields": {"codename": "delete_anonymoususerid", "name": "Can delete anonymous user id", "content_type": 26}, "model": "auth.permission", "pk": 78}, {"fields": {"codename": "add_userstanding", "name": "Can add user standing", "content_type": 27}, "model": "auth.permission", "pk": 79}, {"fields": {"codename": "change_userstanding", "name": "Can change user standing", "content_type": 27}, "model": "auth.permission", "pk": 80}, {"fields": {"codename": "delete_userstanding", "name": "Can delete user standing", "content_type": 27}, "model": "auth.permission", "pk": 81}, {"fields": {"codename": "add_userprofile", "name": "Can add user profile", "content_type": 28}, "model": "auth.permission", "pk": 82}, {"fields": {"codename": "change_userprofile", "name": "Can change user profile", "content_type": 28}, "model": "auth.permission", "pk": 83}, {"fields": {"codename": "delete_userprofile", "name": "Can delete user profile", "content_type": 28}, "model": "auth.permission", "pk": 84}, {"fields": {"codename": "add_usersignupsource", "name": "Can add user signup source", "content_type": 29}, "model": "auth.permission", "pk": 85}, {"fields": {"codename": "change_usersignupsource", "name": "Can change user signup source", "content_type": 29}, "model": "auth.permission", "pk": 86}, {"fields": {"codename": "delete_usersignupsource", "name": "Can delete user signup source", "content_type": 29}, "model": "auth.permission", "pk": 87}, {"fields": {"codename": "add_usertestgroup", "name": "Can add user test group", "content_type": 30}, "model": "auth.permission", "pk": 88}, {"fields": {"codename": "change_usertestgroup", "name": "Can change user test group", "content_type": 30}, "model": "auth.permission", "pk": 89}, {"fields": {"codename": "delete_usertestgroup", "name": "Can delete user test group", "content_type": 30}, "model": "auth.permission", "pk": 90}, {"fields": {"codename": "add_registration", "name": "Can add registration", "content_type": 31}, "model": "auth.permission", "pk": 91}, {"fields": {"codename": "change_registration", "name": "Can change registration", "content_type": 31}, "model": "auth.permission", "pk": 92}, {"fields": {"codename": "delete_registration", "name": "Can delete registration", "content_type": 31}, "model": "auth.permission", "pk": 93}, {"fields": {"codename": "add_pendingnamechange", "name": "Can add pending name change", "content_type": 32}, "model": "auth.permission", "pk": 94}, {"fields": {"codename": "change_pendingnamechange", "name": "Can change pending name change", "content_type": 32}, "model": "auth.permission", "pk": 95}, {"fields": {"codename": "delete_pendingnamechange", "name": "Can delete pending name change", "content_type": 32}, "model": "auth.permission", "pk": 96}, {"fields": {"codename": "add_pendingemailchange", "name": "Can add pending email change", "content_type": 33}, "model": "auth.permission", "pk": 97}, {"fields": {"codename": "change_pendingemailchange", "name": "Can change pending email change", "content_type": 33}, "model": "auth.permission", "pk": 98}, {"fields": {"codename": "delete_pendingemailchange", "name": "Can delete pending email change", "content_type": 33}, "model": "auth.permission", "pk": 99}, {"fields": {"codename": "add_passwordhistory", "name": "Can add password history", "content_type": 34}, "model": "auth.permission", "pk": 100}, {"fields": {"codename": "change_passwordhistory", "name": "Can change password history", "content_type": 34}, "model": "auth.permission", "pk": 101}, {"fields": {"codename": "delete_passwordhistory", "name": "Can delete password history", "content_type": 34}, "model": "auth.permission", "pk": 102}, {"fields": {"codename": "add_loginfailures", "name": "Can add login failures", "content_type": 35}, "model": "auth.permission", "pk": 103}, {"fields": {"codename": "change_loginfailures", "name": "Can change login failures", "content_type": 35}, "model": "auth.permission", "pk": 104}, {"fields": {"codename": "delete_loginfailures", "name": "Can delete login failures", "content_type": 35}, "model": "auth.permission", "pk": 105}, {"fields": {"codename": "add_historicalcourseenrollment", "name": "Can add historical course enrollment", "content_type": 36}, "model": "auth.permission", "pk": 106}, {"fields": {"codename": "change_historicalcourseenrollment", "name": "Can change historical course enrollment", "content_type": 36}, "model": "auth.permission", "pk": 107}, {"fields": {"codename": "delete_historicalcourseenrollment", "name": "Can delete historical course enrollment", "content_type": 36}, "model": "auth.permission", "pk": 108}, {"fields": {"codename": "add_courseenrollment", "name": "Can add course enrollment", "content_type": 37}, "model": "auth.permission", "pk": 109}, {"fields": {"codename": "change_courseenrollment", "name": "Can change course enrollment", "content_type": 37}, "model": "auth.permission", "pk": 110}, {"fields": {"codename": "delete_courseenrollment", "name": "Can delete course enrollment", "content_type": 37}, "model": "auth.permission", "pk": 111}, {"fields": {"codename": "add_manualenrollmentaudit", "name": "Can add manual enrollment audit", "content_type": 38}, "model": "auth.permission", "pk": 112}, {"fields": {"codename": "change_manualenrollmentaudit", "name": "Can change manual enrollment audit", "content_type": 38}, "model": "auth.permission", "pk": 113}, {"fields": {"codename": "delete_manualenrollmentaudit", "name": "Can delete manual enrollment audit", "content_type": 38}, "model": "auth.permission", "pk": 114}, {"fields": {"codename": "add_courseenrollmentallowed", "name": "Can add course enrollment allowed", "content_type": 39}, "model": "auth.permission", "pk": 115}, {"fields": {"codename": "change_courseenrollmentallowed", "name": "Can change course enrollment allowed", "content_type": 39}, "model": "auth.permission", "pk": 116}, {"fields": {"codename": "delete_courseenrollmentallowed", "name": "Can delete course enrollment allowed", "content_type": 39}, "model": "auth.permission", "pk": 117}, {"fields": {"codename": "add_courseaccessrole", "name": "Can add course access role", "content_type": 40}, "model": "auth.permission", "pk": 118}, {"fields": {"codename": "change_courseaccessrole", "name": "Can change course access role", "content_type": 40}, "model": "auth.permission", "pk": 119}, {"fields": {"codename": "delete_courseaccessrole", "name": "Can delete course access role", "content_type": 40}, "model": "auth.permission", "pk": 120}, {"fields": {"codename": "add_dashboardconfiguration", "name": "Can add dashboard configuration", "content_type": 41}, "model": "auth.permission", "pk": 121}, {"fields": {"codename": "change_dashboardconfiguration", "name": "Can change dashboard configuration", "content_type": 41}, "model": "auth.permission", "pk": 122}, {"fields": {"codename": "delete_dashboardconfiguration", "name": "Can delete dashboard configuration", "content_type": 41}, "model": "auth.permission", "pk": 123}, {"fields": {"codename": "add_linkedinaddtoprofileconfiguration", "name": "Can add linked in add to profile configuration", "content_type": 42}, "model": "auth.permission", "pk": 124}, {"fields": {"codename": "change_linkedinaddtoprofileconfiguration", "name": "Can change linked in add to profile configuration", "content_type": 42}, "model": "auth.permission", "pk": 125}, {"fields": {"codename": "delete_linkedinaddtoprofileconfiguration", "name": "Can delete linked in add to profile configuration", "content_type": 42}, "model": "auth.permission", "pk": 126}, {"fields": {"codename": "add_entranceexamconfiguration", "name": "Can add entrance exam configuration", "content_type": 43}, "model": "auth.permission", "pk": 127}, {"fields": {"codename": "change_entranceexamconfiguration", "name": "Can change entrance exam configuration", "content_type": 43}, "model": "auth.permission", "pk": 128}, {"fields": {"codename": "delete_entranceexamconfiguration", "name": "Can delete entrance exam configuration", "content_type": 43}, "model": "auth.permission", "pk": 129}, {"fields": {"codename": "add_languageproficiency", "name": "Can add language proficiency", "content_type": 44}, "model": "auth.permission", "pk": 130}, {"fields": {"codename": "change_languageproficiency", "name": "Can change language proficiency", "content_type": 44}, "model": "auth.permission", "pk": 131}, {"fields": {"codename": "delete_languageproficiency", "name": "Can delete language proficiency", "content_type": 44}, "model": "auth.permission", "pk": 132}, {"fields": {"codename": "add_courseenrollmentattribute", "name": "Can add course enrollment attribute", "content_type": 45}, "model": "auth.permission", "pk": 133}, {"fields": {"codename": "change_courseenrollmentattribute", "name": "Can change course enrollment attribute", "content_type": 45}, "model": "auth.permission", "pk": 134}, {"fields": {"codename": "delete_courseenrollmentattribute", "name": "Can delete course enrollment attribute", "content_type": 45}, "model": "auth.permission", "pk": 135}, {"fields": {"codename": "add_enrollmentrefundconfiguration", "name": "Can add enrollment refund configuration", "content_type": 46}, "model": "auth.permission", "pk": 136}, {"fields": {"codename": "change_enrollmentrefundconfiguration", "name": "Can change enrollment refund configuration", "content_type": 46}, "model": "auth.permission", "pk": 137}, {"fields": {"codename": "delete_enrollmentrefundconfiguration", "name": "Can delete enrollment refund configuration", "content_type": 46}, "model": "auth.permission", "pk": 138}, {"fields": {"codename": "add_trackinglog", "name": "Can add tracking log", "content_type": 47}, "model": "auth.permission", "pk": 139}, {"fields": {"codename": "change_trackinglog", "name": "Can change tracking log", "content_type": 47}, "model": "auth.permission", "pk": 140}, {"fields": {"codename": "delete_trackinglog", "name": "Can delete tracking log", "content_type": 47}, "model": "auth.permission", "pk": 141}, {"fields": {"codename": "add_ratelimitconfiguration", "name": "Can add rate limit configuration", "content_type": 48}, "model": "auth.permission", "pk": 142}, {"fields": {"codename": "change_ratelimitconfiguration", "name": "Can change rate limit configuration", "content_type": 48}, "model": "auth.permission", "pk": 143}, {"fields": {"codename": "delete_ratelimitconfiguration", "name": "Can delete rate limit configuration", "content_type": 48}, "model": "auth.permission", "pk": 144}, {"fields": {"codename": "add_certificatewhitelist", "name": "Can add certificate whitelist", "content_type": 49}, "model": "auth.permission", "pk": 145}, {"fields": {"codename": "change_certificatewhitelist", "name": "Can change certificate whitelist", "content_type": 49}, "model": "auth.permission", "pk": 146}, {"fields": {"codename": "delete_certificatewhitelist", "name": "Can delete certificate whitelist", "content_type": 49}, "model": "auth.permission", "pk": 147}, {"fields": {"codename": "add_generatedcertificate", "name": "Can add generated certificate", "content_type": 50}, "model": "auth.permission", "pk": 148}, {"fields": {"codename": "change_generatedcertificate", "name": "Can change generated certificate", "content_type": 50}, "model": "auth.permission", "pk": 149}, {"fields": {"codename": "delete_generatedcertificate", "name": "Can delete generated certificate", "content_type": 50}, "model": "auth.permission", "pk": 150}, {"fields": {"codename": "add_certificategenerationhistory", "name": "Can add certificate generation history", "content_type": 51}, "model": "auth.permission", "pk": 151}, {"fields": {"codename": "change_certificategenerationhistory", "name": "Can change certificate generation history", "content_type": 51}, "model": "auth.permission", "pk": 152}, {"fields": {"codename": "delete_certificategenerationhistory", "name": "Can delete certificate generation history", "content_type": 51}, "model": "auth.permission", "pk": 153}, {"fields": {"codename": "add_certificateinvalidation", "name": "Can add certificate invalidation", "content_type": 52}, "model": "auth.permission", "pk": 154}, {"fields": {"codename": "change_certificateinvalidation", "name": "Can change certificate invalidation", "content_type": 52}, "model": "auth.permission", "pk": 155}, {"fields": {"codename": "delete_certificateinvalidation", "name": "Can delete certificate invalidation", "content_type": 52}, "model": "auth.permission", "pk": 156}, {"fields": {"codename": "add_examplecertificateset", "name": "Can add example certificate set", "content_type": 53}, "model": "auth.permission", "pk": 157}, {"fields": {"codename": "change_examplecertificateset", "name": "Can change example certificate set", "content_type": 53}, "model": "auth.permission", "pk": 158}, {"fields": {"codename": "delete_examplecertificateset", "name": "Can delete example certificate set", "content_type": 53}, "model": "auth.permission", "pk": 159}, {"fields": {"codename": "add_examplecertificate", "name": "Can add example certificate", "content_type": 54}, "model": "auth.permission", "pk": 160}, {"fields": {"codename": "change_examplecertificate", "name": "Can change example certificate", "content_type": 54}, "model": "auth.permission", "pk": 161}, {"fields": {"codename": "delete_examplecertificate", "name": "Can delete example certificate", "content_type": 54}, "model": "auth.permission", "pk": 162}, {"fields": {"codename": "add_certificategenerationcoursesetting", "name": "Can add certificate generation course setting", "content_type": 55}, "model": "auth.permission", "pk": 163}, {"fields": {"codename": "change_certificategenerationcoursesetting", "name": "Can change certificate generation course setting", "content_type": 55}, "model": "auth.permission", "pk": 164}, {"fields": {"codename": "delete_certificategenerationcoursesetting", "name": "Can delete certificate generation course setting", "content_type": 55}, "model": "auth.permission", "pk": 165}, {"fields": {"codename": "add_certificategenerationconfiguration", "name": "Can add certificate generation configuration", "content_type": 56}, "model": "auth.permission", "pk": 166}, {"fields": {"codename": "change_certificategenerationconfiguration", "name": "Can change certificate generation configuration", "content_type": 56}, "model": "auth.permission", "pk": 167}, {"fields": {"codename": "delete_certificategenerationconfiguration", "name": "Can delete certificate generation configuration", "content_type": 56}, "model": "auth.permission", "pk": 168}, {"fields": {"codename": "add_certificatehtmlviewconfiguration", "name": "Can add certificate html view configuration", "content_type": 57}, "model": "auth.permission", "pk": 169}, {"fields": {"codename": "change_certificatehtmlviewconfiguration", "name": "Can change certificate html view configuration", "content_type": 57}, "model": "auth.permission", "pk": 170}, {"fields": {"codename": "delete_certificatehtmlviewconfiguration", "name": "Can delete certificate html view configuration", "content_type": 57}, "model": "auth.permission", "pk": 171}, {"fields": {"codename": "add_badgeassertion", "name": "Can add badge assertion", "content_type": 58}, "model": "auth.permission", "pk": 172}, {"fields": {"codename": "change_badgeassertion", "name": "Can change badge assertion", "content_type": 58}, "model": "auth.permission", "pk": 173}, {"fields": {"codename": "delete_badgeassertion", "name": "Can delete badge assertion", "content_type": 58}, "model": "auth.permission", "pk": 174}, {"fields": {"codename": "add_badgeimageconfiguration", "name": "Can add badge image configuration", "content_type": 59}, "model": "auth.permission", "pk": 175}, {"fields": {"codename": "change_badgeimageconfiguration", "name": "Can change badge image configuration", "content_type": 59}, "model": "auth.permission", "pk": 176}, {"fields": {"codename": "delete_badgeimageconfiguration", "name": "Can delete badge image configuration", "content_type": 59}, "model": "auth.permission", "pk": 177}, {"fields": {"codename": "add_certificatetemplate", "name": "Can add certificate template", "content_type": 60}, "model": "auth.permission", "pk": 178}, {"fields": {"codename": "change_certificatetemplate", "name": "Can change certificate template", "content_type": 60}, "model": "auth.permission", "pk": 179}, {"fields": {"codename": "delete_certificatetemplate", "name": "Can delete certificate template", "content_type": 60}, "model": "auth.permission", "pk": 180}, {"fields": {"codename": "add_certificatetemplateasset", "name": "Can add certificate template asset", "content_type": 61}, "model": "auth.permission", "pk": 181}, {"fields": {"codename": "change_certificatetemplateasset", "name": "Can change certificate template asset", "content_type": 61}, "model": "auth.permission", "pk": 182}, {"fields": {"codename": "delete_certificatetemplateasset", "name": "Can delete certificate template asset", "content_type": 61}, "model": "auth.permission", "pk": 183}, {"fields": {"codename": "add_instructortask", "name": "Can add instructor task", "content_type": 62}, "model": "auth.permission", "pk": 184}, {"fields": {"codename": "change_instructortask", "name": "Can change instructor task", "content_type": 62}, "model": "auth.permission", "pk": 185}, {"fields": {"codename": "delete_instructortask", "name": "Can delete instructor task", "content_type": 62}, "model": "auth.permission", "pk": 186}, {"fields": {"codename": "add_courseusergroup", "name": "Can add course user group", "content_type": 63}, "model": "auth.permission", "pk": 187}, {"fields": {"codename": "change_courseusergroup", "name": "Can change course user group", "content_type": 63}, "model": "auth.permission", "pk": 188}, {"fields": {"codename": "delete_courseusergroup", "name": "Can delete course user group", "content_type": 63}, "model": "auth.permission", "pk": 189}, {"fields": {"codename": "add_cohortmembership", "name": "Can add cohort membership", "content_type": 64}, "model": "auth.permission", "pk": 190}, {"fields": {"codename": "change_cohortmembership", "name": "Can change cohort membership", "content_type": 64}, "model": "auth.permission", "pk": 191}, {"fields": {"codename": "delete_cohortmembership", "name": "Can delete cohort membership", "content_type": 64}, "model": "auth.permission", "pk": 192}, {"fields": {"codename": "add_courseusergrouppartitiongroup", "name": "Can add course user group partition group", "content_type": 65}, "model": "auth.permission", "pk": 193}, {"fields": {"codename": "change_courseusergrouppartitiongroup", "name": "Can change course user group partition group", "content_type": 65}, "model": "auth.permission", "pk": 194}, {"fields": {"codename": "delete_courseusergrouppartitiongroup", "name": "Can delete course user group partition group", "content_type": 65}, "model": "auth.permission", "pk": 195}, {"fields": {"codename": "add_coursecohortssettings", "name": "Can add course cohorts settings", "content_type": 66}, "model": "auth.permission", "pk": 196}, {"fields": {"codename": "change_coursecohortssettings", "name": "Can change course cohorts settings", "content_type": 66}, "model": "auth.permission", "pk": 197}, {"fields": {"codename": "delete_coursecohortssettings", "name": "Can delete course cohorts settings", "content_type": 66}, "model": "auth.permission", "pk": 198}, {"fields": {"codename": "add_coursecohort", "name": "Can add course cohort", "content_type": 67}, "model": "auth.permission", "pk": 199}, {"fields": {"codename": "change_coursecohort", "name": "Can change course cohort", "content_type": 67}, "model": "auth.permission", "pk": 200}, {"fields": {"codename": "delete_coursecohort", "name": "Can delete course cohort", "content_type": 67}, "model": "auth.permission", "pk": 201}, {"fields": {"codename": "add_courseemail", "name": "Can add course email", "content_type": 68}, "model": "auth.permission", "pk": 202}, {"fields": {"codename": "change_courseemail", "name": "Can change course email", "content_type": 68}, "model": "auth.permission", "pk": 203}, {"fields": {"codename": "delete_courseemail", "name": "Can delete course email", "content_type": 68}, "model": "auth.permission", "pk": 204}, {"fields": {"codename": "add_optout", "name": "Can add optout", "content_type": 69}, "model": "auth.permission", "pk": 205}, {"fields": {"codename": "change_optout", "name": "Can change optout", "content_type": 69}, "model": "auth.permission", "pk": 206}, {"fields": {"codename": "delete_optout", "name": "Can delete optout", "content_type": 69}, "model": "auth.permission", "pk": 207}, {"fields": {"codename": "add_courseemailtemplate", "name": "Can add course email template", "content_type": 70}, "model": "auth.permission", "pk": 208}, {"fields": {"codename": "change_courseemailtemplate", "name": "Can change course email template", "content_type": 70}, "model": "auth.permission", "pk": 209}, {"fields": {"codename": "delete_courseemailtemplate", "name": "Can delete course email template", "content_type": 70}, "model": "auth.permission", "pk": 210}, {"fields": {"codename": "add_courseauthorization", "name": "Can add course authorization", "content_type": 71}, "model": "auth.permission", "pk": 211}, {"fields": {"codename": "change_courseauthorization", "name": "Can change course authorization", "content_type": 71}, "model": "auth.permission", "pk": 212}, {"fields": {"codename": "delete_courseauthorization", "name": "Can delete course authorization", "content_type": 71}, "model": "auth.permission", "pk": 213}, {"fields": {"codename": "add_brandinginfoconfig", "name": "Can add branding info config", "content_type": 72}, "model": "auth.permission", "pk": 214}, {"fields": {"codename": "change_brandinginfoconfig", "name": "Can change branding info config", "content_type": 72}, "model": "auth.permission", "pk": 215}, {"fields": {"codename": "delete_brandinginfoconfig", "name": "Can delete branding info config", "content_type": 72}, "model": "auth.permission", "pk": 216}, {"fields": {"codename": "add_brandingapiconfig", "name": "Can add branding api config", "content_type": 73}, "model": "auth.permission", "pk": 217}, {"fields": {"codename": "change_brandingapiconfig", "name": "Can change branding api config", "content_type": 73}, "model": "auth.permission", "pk": 218}, {"fields": {"codename": "delete_brandingapiconfig", "name": "Can delete branding api config", "content_type": 73}, "model": "auth.permission", "pk": 219}, {"fields": {"codename": "add_externalauthmap", "name": "Can add external auth map", "content_type": 74}, "model": "auth.permission", "pk": 220}, {"fields": {"codename": "change_externalauthmap", "name": "Can change external auth map", "content_type": 74}, "model": "auth.permission", "pk": 221}, {"fields": {"codename": "delete_externalauthmap", "name": "Can delete external auth map", "content_type": 74}, "model": "auth.permission", "pk": 222}, {"fields": {"codename": "add_nonce", "name": "Can add nonce", "content_type": 75}, "model": "auth.permission", "pk": 223}, {"fields": {"codename": "change_nonce", "name": "Can change nonce", "content_type": 75}, "model": "auth.permission", "pk": 224}, {"fields": {"codename": "delete_nonce", "name": "Can delete nonce", "content_type": 75}, "model": "auth.permission", "pk": 225}, {"fields": {"codename": "add_association", "name": "Can add association", "content_type": 76}, "model": "auth.permission", "pk": 226}, {"fields": {"codename": "change_association", "name": "Can change association", "content_type": 76}, "model": "auth.permission", "pk": 227}, {"fields": {"codename": "delete_association", "name": "Can delete association", "content_type": 76}, "model": "auth.permission", "pk": 228}, {"fields": {"codename": "add_useropenid", "name": "Can add user open id", "content_type": 77}, "model": "auth.permission", "pk": 229}, {"fields": {"codename": "change_useropenid", "name": "Can change user open id", "content_type": 77}, "model": "auth.permission", "pk": 230}, {"fields": {"codename": "delete_useropenid", "name": "Can delete user open id", "content_type": 77}, "model": "auth.permission", "pk": 231}, {"fields": {"codename": "account_verified", "name": "The OpenID has been verified", "content_type": 77}, "model": "auth.permission", "pk": 232}, {"fields": {"codename": "add_client", "name": "Can add client", "content_type": 78}, "model": "auth.permission", "pk": 233}, {"fields": {"codename": "change_client", "name": "Can change client", "content_type": 78}, "model": "auth.permission", "pk": 234}, {"fields": {"codename": "delete_client", "name": "Can delete client", "content_type": 78}, "model": "auth.permission", "pk": 235}, {"fields": {"codename": "add_grant", "name": "Can add grant", "content_type": 79}, "model": "auth.permission", "pk": 236}, {"fields": {"codename": "change_grant", "name": "Can change grant", "content_type": 79}, "model": "auth.permission", "pk": 237}, {"fields": {"codename": "delete_grant", "name": "Can delete grant", "content_type": 79}, "model": "auth.permission", "pk": 238}, {"fields": {"codename": "add_accesstoken", "name": "Can add access token", "content_type": 80}, "model": "auth.permission", "pk": 239}, {"fields": {"codename": "change_accesstoken", "name": "Can change access token", "content_type": 80}, "model": "auth.permission", "pk": 240}, {"fields": {"codename": "delete_accesstoken", "name": "Can delete access token", "content_type": 80}, "model": "auth.permission", "pk": 241}, {"fields": {"codename": "add_refreshtoken", "name": "Can add refresh token", "content_type": 81}, "model": "auth.permission", "pk": 242}, {"fields": {"codename": "change_refreshtoken", "name": "Can change refresh token", "content_type": 81}, "model": "auth.permission", "pk": 243}, {"fields": {"codename": "delete_refreshtoken", "name": "Can delete refresh token", "content_type": 81}, "model": "auth.permission", "pk": 244}, {"fields": {"codename": "add_trustedclient", "name": "Can add trusted client", "content_type": 82}, "model": "auth.permission", "pk": 245}, {"fields": {"codename": "change_trustedclient", "name": "Can change trusted client", "content_type": 82}, "model": "auth.permission", "pk": 246}, {"fields": {"codename": "delete_trustedclient", "name": "Can delete trusted client", "content_type": 82}, "model": "auth.permission", "pk": 247}, {"fields": {"codename": "add_oauth2providerconfig", "name": "Can add Provider Configuration (OAuth)", "content_type": 83}, "model": "auth.permission", "pk": 248}, {"fields": {"codename": "change_oauth2providerconfig", "name": "Can change Provider Configuration (OAuth)", "content_type": 83}, "model": "auth.permission", "pk": 249}, {"fields": {"codename": "delete_oauth2providerconfig", "name": "Can delete Provider Configuration (OAuth)", "content_type": 83}, "model": "auth.permission", "pk": 250}, {"fields": {"codename": "add_samlproviderconfig", "name": "Can add Provider Configuration (SAML IdP)", "content_type": 84}, "model": "auth.permission", "pk": 251}, {"fields": {"codename": "change_samlproviderconfig", "name": "Can change Provider Configuration (SAML IdP)", "content_type": 84}, "model": "auth.permission", "pk": 252}, {"fields": {"codename": "delete_samlproviderconfig", "name": "Can delete Provider Configuration (SAML IdP)", "content_type": 84}, "model": "auth.permission", "pk": 253}, {"fields": {"codename": "add_samlconfiguration", "name": "Can add SAML Configuration", "content_type": 85}, "model": "auth.permission", "pk": 254}, {"fields": {"codename": "change_samlconfiguration", "name": "Can change SAML Configuration", "content_type": 85}, "model": "auth.permission", "pk": 255}, {"fields": {"codename": "delete_samlconfiguration", "name": "Can delete SAML Configuration", "content_type": 85}, "model": "auth.permission", "pk": 256}, {"fields": {"codename": "add_samlproviderdata", "name": "Can add SAML Provider Data", "content_type": 86}, "model": "auth.permission", "pk": 257}, {"fields": {"codename": "change_samlproviderdata", "name": "Can change SAML Provider Data", "content_type": 86}, "model": "auth.permission", "pk": 258}, {"fields": {"codename": "delete_samlproviderdata", "name": "Can delete SAML Provider Data", "content_type": 86}, "model": "auth.permission", "pk": 259}, {"fields": {"codename": "add_ltiproviderconfig", "name": "Can add Provider Configuration (LTI)", "content_type": 87}, "model": "auth.permission", "pk": 260}, {"fields": {"codename": "change_ltiproviderconfig", "name": "Can change Provider Configuration (LTI)", "content_type": 87}, "model": "auth.permission", "pk": 261}, {"fields": {"codename": "delete_ltiproviderconfig", "name": "Can delete Provider Configuration (LTI)", "content_type": 87}, "model": "auth.permission", "pk": 262}, {"fields": {"codename": "add_providerapipermissions", "name": "Can add Provider API Permission", "content_type": 88}, "model": "auth.permission", "pk": 263}, {"fields": {"codename": "change_providerapipermissions", "name": "Can change Provider API Permission", "content_type": 88}, "model": "auth.permission", "pk": 264}, {"fields": {"codename": "delete_providerapipermissions", "name": "Can delete Provider API Permission", "content_type": 88}, "model": "auth.permission", "pk": 265}, {"fields": {"codename": "add_nonce", "name": "Can add nonce", "content_type": 89}, "model": "auth.permission", "pk": 266}, {"fields": {"codename": "change_nonce", "name": "Can change nonce", "content_type": 89}, "model": "auth.permission", "pk": 267}, {"fields": {"codename": "delete_nonce", "name": "Can delete nonce", "content_type": 89}, "model": "auth.permission", "pk": 268}, {"fields": {"codename": "add_scope", "name": "Can add scope", "content_type": 90}, "model": "auth.permission", "pk": 269}, {"fields": {"codename": "change_scope", "name": "Can change scope", "content_type": 90}, "model": "auth.permission", "pk": 270}, {"fields": {"codename": "delete_scope", "name": "Can delete scope", "content_type": 90}, "model": "auth.permission", "pk": 271}, {"fields": {"codename": "add_resource", "name": "Can add resource", "content_type": 90}, "model": "auth.permission", "pk": 272}, {"fields": {"codename": "change_resource", "name": "Can change resource", "content_type": 90}, "model": "auth.permission", "pk": 273}, {"fields": {"codename": "delete_resource", "name": "Can delete resource", "content_type": 90}, "model": "auth.permission", "pk": 274}, {"fields": {"codename": "add_consumer", "name": "Can add consumer", "content_type": 91}, "model": "auth.permission", "pk": 275}, {"fields": {"codename": "change_consumer", "name": "Can change consumer", "content_type": 91}, "model": "auth.permission", "pk": 276}, {"fields": {"codename": "delete_consumer", "name": "Can delete consumer", "content_type": 91}, "model": "auth.permission", "pk": 277}, {"fields": {"codename": "add_token", "name": "Can add token", "content_type": 92}, "model": "auth.permission", "pk": 278}, {"fields": {"codename": "change_token", "name": "Can change token", "content_type": 92}, "model": "auth.permission", "pk": 279}, {"fields": {"codename": "delete_token", "name": "Can delete token", "content_type": 92}, "model": "auth.permission", "pk": 280}, {"fields": {"codename": "add_article", "name": "Can add article", "content_type": 94}, "model": "auth.permission", "pk": 281}, {"fields": {"codename": "change_article", "name": "Can change article", "content_type": 94}, "model": "auth.permission", "pk": 282}, {"fields": {"codename": "delete_article", "name": "Can delete article", "content_type": 94}, "model": "auth.permission", "pk": 283}, {"fields": {"codename": "moderate", "name": "Can edit all articles and lock/unlock/restore", "content_type": 94}, "model": "auth.permission", "pk": 284}, {"fields": {"codename": "assign", "name": "Can change ownership of any article", "content_type": 94}, "model": "auth.permission", "pk": 285}, {"fields": {"codename": "grant", "name": "Can assign permissions to other users", "content_type": 94}, "model": "auth.permission", "pk": 286}, {"fields": {"codename": "add_articleforobject", "name": "Can add Article for object", "content_type": 95}, "model": "auth.permission", "pk": 287}, {"fields": {"codename": "change_articleforobject", "name": "Can change Article for object", "content_type": 95}, "model": "auth.permission", "pk": 288}, {"fields": {"codename": "delete_articleforobject", "name": "Can delete Article for object", "content_type": 95}, "model": "auth.permission", "pk": 289}, {"fields": {"codename": "add_articlerevision", "name": "Can add article revision", "content_type": 96}, "model": "auth.permission", "pk": 290}, {"fields": {"codename": "change_articlerevision", "name": "Can change article revision", "content_type": 96}, "model": "auth.permission", "pk": 291}, {"fields": {"codename": "delete_articlerevision", "name": "Can delete article revision", "content_type": 96}, "model": "auth.permission", "pk": 292}, {"fields": {"codename": "add_urlpath", "name": "Can add URL path", "content_type": 97}, "model": "auth.permission", "pk": 293}, {"fields": {"codename": "change_urlpath", "name": "Can change URL path", "content_type": 97}, "model": "auth.permission", "pk": 294}, {"fields": {"codename": "delete_urlpath", "name": "Can delete URL path", "content_type": 97}, "model": "auth.permission", "pk": 295}, {"fields": {"codename": "add_articleplugin", "name": "Can add article plugin", "content_type": 98}, "model": "auth.permission", "pk": 296}, {"fields": {"codename": "change_articleplugin", "name": "Can change article plugin", "content_type": 98}, "model": "auth.permission", "pk": 297}, {"fields": {"codename": "delete_articleplugin", "name": "Can delete article plugin", "content_type": 98}, "model": "auth.permission", "pk": 298}, {"fields": {"codename": "add_reusableplugin", "name": "Can add reusable plugin", "content_type": 99}, "model": "auth.permission", "pk": 299}, {"fields": {"codename": "change_reusableplugin", "name": "Can change reusable plugin", "content_type": 99}, "model": "auth.permission", "pk": 300}, {"fields": {"codename": "delete_reusableplugin", "name": "Can delete reusable plugin", "content_type": 99}, "model": "auth.permission", "pk": 301}, {"fields": {"codename": "add_simpleplugin", "name": "Can add simple plugin", "content_type": 100}, "model": "auth.permission", "pk": 302}, {"fields": {"codename": "change_simpleplugin", "name": "Can change simple plugin", "content_type": 100}, "model": "auth.permission", "pk": 303}, {"fields": {"codename": "delete_simpleplugin", "name": "Can delete simple plugin", "content_type": 100}, "model": "auth.permission", "pk": 304}, {"fields": {"codename": "add_revisionplugin", "name": "Can add revision plugin", "content_type": 101}, "model": "auth.permission", "pk": 305}, {"fields": {"codename": "change_revisionplugin", "name": "Can change revision plugin", "content_type": 101}, "model": "auth.permission", "pk": 306}, {"fields": {"codename": "delete_revisionplugin", "name": "Can delete revision plugin", "content_type": 101}, "model": "auth.permission", "pk": 307}, {"fields": {"codename": "add_revisionpluginrevision", "name": "Can add revision plugin revision", "content_type": 102}, "model": "auth.permission", "pk": 308}, {"fields": {"codename": "change_revisionpluginrevision", "name": "Can change revision plugin revision", "content_type": 102}, "model": "auth.permission", "pk": 309}, {"fields": {"codename": "delete_revisionpluginrevision", "name": "Can delete revision plugin revision", "content_type": 102}, "model": "auth.permission", "pk": 310}, {"fields": {"codename": "add_image", "name": "Can add image", "content_type": 103}, "model": "auth.permission", "pk": 311}, {"fields": {"codename": "change_image", "name": "Can change image", "content_type": 103}, "model": "auth.permission", "pk": 312}, {"fields": {"codename": "delete_image", "name": "Can delete image", "content_type": 103}, "model": "auth.permission", "pk": 313}, {"fields": {"codename": "add_imagerevision", "name": "Can add image revision", "content_type": 104}, "model": "auth.permission", "pk": 314}, {"fields": {"codename": "change_imagerevision", "name": "Can change image revision", "content_type": 104}, "model": "auth.permission", "pk": 315}, {"fields": {"codename": "delete_imagerevision", "name": "Can delete image revision", "content_type": 104}, "model": "auth.permission", "pk": 316}, {"fields": {"codename": "add_attachment", "name": "Can add attachment", "content_type": 105}, "model": "auth.permission", "pk": 317}, {"fields": {"codename": "change_attachment", "name": "Can change attachment", "content_type": 105}, "model": "auth.permission", "pk": 318}, {"fields": {"codename": "delete_attachment", "name": "Can delete attachment", "content_type": 105}, "model": "auth.permission", "pk": 319}, {"fields": {"codename": "add_attachmentrevision", "name": "Can add attachment revision", "content_type": 106}, "model": "auth.permission", "pk": 320}, {"fields": {"codename": "change_attachmentrevision", "name": "Can change attachment revision", "content_type": 106}, "model": "auth.permission", "pk": 321}, {"fields": {"codename": "delete_attachmentrevision", "name": "Can delete attachment revision", "content_type": 106}, "model": "auth.permission", "pk": 322}, {"fields": {"codename": "add_notificationtype", "name": "Can add type", "content_type": 107}, "model": "auth.permission", "pk": 323}, {"fields": {"codename": "change_notificationtype", "name": "Can change type", "content_type": 107}, "model": "auth.permission", "pk": 324}, {"fields": {"codename": "delete_notificationtype", "name": "Can delete type", "content_type": 107}, "model": "auth.permission", "pk": 325}, {"fields": {"codename": "add_settings", "name": "Can add settings", "content_type": 108}, "model": "auth.permission", "pk": 326}, {"fields": {"codename": "change_settings", "name": "Can change settings", "content_type": 108}, "model": "auth.permission", "pk": 327}, {"fields": {"codename": "delete_settings", "name": "Can delete settings", "content_type": 108}, "model": "auth.permission", "pk": 328}, {"fields": {"codename": "add_subscription", "name": "Can add subscription", "content_type": 109}, "model": "auth.permission", "pk": 329}, {"fields": {"codename": "change_subscription", "name": "Can change subscription", "content_type": 109}, "model": "auth.permission", "pk": 330}, {"fields": {"codename": "delete_subscription", "name": "Can delete subscription", "content_type": 109}, "model": "auth.permission", "pk": 331}, {"fields": {"codename": "add_notification", "name": "Can add notification", "content_type": 110}, "model": "auth.permission", "pk": 332}, {"fields": {"codename": "change_notification", "name": "Can change notification", "content_type": 110}, "model": "auth.permission", "pk": 333}, {"fields": {"codename": "delete_notification", "name": "Can delete notification", "content_type": 110}, "model": "auth.permission", "pk": 334}, {"fields": {"codename": "add_logentry", "name": "Can add log entry", "content_type": 111}, "model": "auth.permission", "pk": 335}, {"fields": {"codename": "change_logentry", "name": "Can change log entry", "content_type": 111}, "model": "auth.permission", "pk": 336}, {"fields": {"codename": "delete_logentry", "name": "Can delete log entry", "content_type": 111}, "model": "auth.permission", "pk": 337}, {"fields": {"codename": "add_role", "name": "Can add role", "content_type": 112}, "model": "auth.permission", "pk": 338}, {"fields": {"codename": "change_role", "name": "Can change role", "content_type": 112}, "model": "auth.permission", "pk": 339}, {"fields": {"codename": "delete_role", "name": "Can delete role", "content_type": 112}, "model": "auth.permission", "pk": 340}, {"fields": {"codename": "add_permission", "name": "Can add permission", "content_type": 113}, "model": "auth.permission", "pk": 341}, {"fields": {"codename": "change_permission", "name": "Can change permission", "content_type": 113}, "model": "auth.permission", "pk": 342}, {"fields": {"codename": "delete_permission", "name": "Can delete permission", "content_type": 113}, "model": "auth.permission", "pk": 343}, {"fields": {"codename": "add_note", "name": "Can add note", "content_type": 114}, "model": "auth.permission", "pk": 344}, {"fields": {"codename": "change_note", "name": "Can change note", "content_type": 114}, "model": "auth.permission", "pk": 345}, {"fields": {"codename": "delete_note", "name": "Can delete note", "content_type": 114}, "model": "auth.permission", "pk": 346}, {"fields": {"codename": "add_splashconfig", "name": "Can add splash config", "content_type": 115}, "model": "auth.permission", "pk": 347}, {"fields": {"codename": "change_splashconfig", "name": "Can change splash config", "content_type": 115}, "model": "auth.permission", "pk": 348}, {"fields": {"codename": "delete_splashconfig", "name": "Can delete splash config", "content_type": 115}, "model": "auth.permission", "pk": 349}, {"fields": {"codename": "add_userpreference", "name": "Can add user preference", "content_type": 116}, "model": "auth.permission", "pk": 350}, {"fields": {"codename": "change_userpreference", "name": "Can change user preference", "content_type": 116}, "model": "auth.permission", "pk": 351}, {"fields": {"codename": "delete_userpreference", "name": "Can delete user preference", "content_type": 116}, "model": "auth.permission", "pk": 352}, {"fields": {"codename": "add_usercoursetag", "name": "Can add user course tag", "content_type": 117}, "model": "auth.permission", "pk": 353}, {"fields": {"codename": "change_usercoursetag", "name": "Can change user course tag", "content_type": 117}, "model": "auth.permission", "pk": 354}, {"fields": {"codename": "delete_usercoursetag", "name": "Can delete user course tag", "content_type": 117}, "model": "auth.permission", "pk": 355}, {"fields": {"codename": "add_userorgtag", "name": "Can add user org tag", "content_type": 118}, "model": "auth.permission", "pk": 356}, {"fields": {"codename": "change_userorgtag", "name": "Can change user org tag", "content_type": 118}, "model": "auth.permission", "pk": 357}, {"fields": {"codename": "delete_userorgtag", "name": "Can delete user org tag", "content_type": 118}, "model": "auth.permission", "pk": 358}, {"fields": {"codename": "add_order", "name": "Can add order", "content_type": 119}, "model": "auth.permission", "pk": 359}, {"fields": {"codename": "change_order", "name": "Can change order", "content_type": 119}, "model": "auth.permission", "pk": 360}, {"fields": {"codename": "delete_order", "name": "Can delete order", "content_type": 119}, "model": "auth.permission", "pk": 361}, {"fields": {"codename": "add_orderitem", "name": "Can add order item", "content_type": 120}, "model": "auth.permission", "pk": 362}, {"fields": {"codename": "change_orderitem", "name": "Can change order item", "content_type": 120}, "model": "auth.permission", "pk": 363}, {"fields": {"codename": "delete_orderitem", "name": "Can delete order item", "content_type": 120}, "model": "auth.permission", "pk": 364}, {"fields": {"codename": "add_invoice", "name": "Can add invoice", "content_type": 121}, "model": "auth.permission", "pk": 365}, {"fields": {"codename": "change_invoice", "name": "Can change invoice", "content_type": 121}, "model": "auth.permission", "pk": 366}, {"fields": {"codename": "delete_invoice", "name": "Can delete invoice", "content_type": 121}, "model": "auth.permission", "pk": 367}, {"fields": {"codename": "add_invoicetransaction", "name": "Can add invoice transaction", "content_type": 122}, "model": "auth.permission", "pk": 368}, {"fields": {"codename": "change_invoicetransaction", "name": "Can change invoice transaction", "content_type": 122}, "model": "auth.permission", "pk": 369}, {"fields": {"codename": "delete_invoicetransaction", "name": "Can delete invoice transaction", "content_type": 122}, "model": "auth.permission", "pk": 370}, {"fields": {"codename": "add_invoiceitem", "name": "Can add invoice item", "content_type": 123}, "model": "auth.permission", "pk": 371}, {"fields": {"codename": "change_invoiceitem", "name": "Can change invoice item", "content_type": 123}, "model": "auth.permission", "pk": 372}, {"fields": {"codename": "delete_invoiceitem", "name": "Can delete invoice item", "content_type": 123}, "model": "auth.permission", "pk": 373}, {"fields": {"codename": "add_courseregistrationcodeinvoiceitem", "name": "Can add course registration code invoice item", "content_type": 124}, "model": "auth.permission", "pk": 374}, {"fields": {"codename": "change_courseregistrationcodeinvoiceitem", "name": "Can change course registration code invoice item", "content_type": 124}, "model": "auth.permission", "pk": 375}, {"fields": {"codename": "delete_courseregistrationcodeinvoiceitem", "name": "Can delete course registration code invoice item", "content_type": 124}, "model": "auth.permission", "pk": 376}, {"fields": {"codename": "add_invoicehistory", "name": "Can add invoice history", "content_type": 125}, "model": "auth.permission", "pk": 377}, {"fields": {"codename": "change_invoicehistory", "name": "Can change invoice history", "content_type": 125}, "model": "auth.permission", "pk": 378}, {"fields": {"codename": "delete_invoicehistory", "name": "Can delete invoice history", "content_type": 125}, "model": "auth.permission", "pk": 379}, {"fields": {"codename": "add_courseregistrationcode", "name": "Can add course registration code", "content_type": 126}, "model": "auth.permission", "pk": 380}, {"fields": {"codename": "change_courseregistrationcode", "name": "Can change course registration code", "content_type": 126}, "model": "auth.permission", "pk": 381}, {"fields": {"codename": "delete_courseregistrationcode", "name": "Can delete course registration code", "content_type": 126}, "model": "auth.permission", "pk": 382}, {"fields": {"codename": "add_registrationcoderedemption", "name": "Can add registration code redemption", "content_type": 127}, "model": "auth.permission", "pk": 383}, {"fields": {"codename": "change_registrationcoderedemption", "name": "Can change registration code redemption", "content_type": 127}, "model": "auth.permission", "pk": 384}, {"fields": {"codename": "delete_registrationcoderedemption", "name": "Can delete registration code redemption", "content_type": 127}, "model": "auth.permission", "pk": 385}, {"fields": {"codename": "add_coupon", "name": "Can add coupon", "content_type": 128}, "model": "auth.permission", "pk": 386}, {"fields": {"codename": "change_coupon", "name": "Can change coupon", "content_type": 128}, "model": "auth.permission", "pk": 387}, {"fields": {"codename": "delete_coupon", "name": "Can delete coupon", "content_type": 128}, "model": "auth.permission", "pk": 388}, {"fields": {"codename": "add_couponredemption", "name": "Can add coupon redemption", "content_type": 129}, "model": "auth.permission", "pk": 389}, {"fields": {"codename": "change_couponredemption", "name": "Can change coupon redemption", "content_type": 129}, "model": "auth.permission", "pk": 390}, {"fields": {"codename": "delete_couponredemption", "name": "Can delete coupon redemption", "content_type": 129}, "model": "auth.permission", "pk": 391}, {"fields": {"codename": "add_paidcourseregistration", "name": "Can add paid course registration", "content_type": 130}, "model": "auth.permission", "pk": 392}, {"fields": {"codename": "change_paidcourseregistration", "name": "Can change paid course registration", "content_type": 130}, "model": "auth.permission", "pk": 393}, {"fields": {"codename": "delete_paidcourseregistration", "name": "Can delete paid course registration", "content_type": 130}, "model": "auth.permission", "pk": 394}, {"fields": {"codename": "add_courseregcodeitem", "name": "Can add course reg code item", "content_type": 131}, "model": "auth.permission", "pk": 395}, {"fields": {"codename": "change_courseregcodeitem", "name": "Can change course reg code item", "content_type": 131}, "model": "auth.permission", "pk": 396}, {"fields": {"codename": "delete_courseregcodeitem", "name": "Can delete course reg code item", "content_type": 131}, "model": "auth.permission", "pk": 397}, {"fields": {"codename": "add_courseregcodeitemannotation", "name": "Can add course reg code item annotation", "content_type": 132}, "model": "auth.permission", "pk": 398}, {"fields": {"codename": "change_courseregcodeitemannotation", "name": "Can change course reg code item annotation", "content_type": 132}, "model": "auth.permission", "pk": 399}, {"fields": {"codename": "delete_courseregcodeitemannotation", "name": "Can delete course reg code item annotation", "content_type": 132}, "model": "auth.permission", "pk": 400}, {"fields": {"codename": "add_paidcourseregistrationannotation", "name": "Can add paid course registration annotation", "content_type": 133}, "model": "auth.permission", "pk": 401}, {"fields": {"codename": "change_paidcourseregistrationannotation", "name": "Can change paid course registration annotation", "content_type": 133}, "model": "auth.permission", "pk": 402}, {"fields": {"codename": "delete_paidcourseregistrationannotation", "name": "Can delete paid course registration annotation", "content_type": 133}, "model": "auth.permission", "pk": 403}, {"fields": {"codename": "add_certificateitem", "name": "Can add certificate item", "content_type": 134}, "model": "auth.permission", "pk": 404}, {"fields": {"codename": "change_certificateitem", "name": "Can change certificate item", "content_type": 134}, "model": "auth.permission", "pk": 405}, {"fields": {"codename": "delete_certificateitem", "name": "Can delete certificate item", "content_type": 134}, "model": "auth.permission", "pk": 406}, {"fields": {"codename": "add_donationconfiguration", "name": "Can add donation configuration", "content_type": 135}, "model": "auth.permission", "pk": 407}, {"fields": {"codename": "change_donationconfiguration", "name": "Can change donation configuration", "content_type": 135}, "model": "auth.permission", "pk": 408}, {"fields": {"codename": "delete_donationconfiguration", "name": "Can delete donation configuration", "content_type": 135}, "model": "auth.permission", "pk": 409}, {"fields": {"codename": "add_donation", "name": "Can add donation", "content_type": 136}, "model": "auth.permission", "pk": 410}, {"fields": {"codename": "change_donation", "name": "Can change donation", "content_type": 136}, "model": "auth.permission", "pk": 411}, {"fields": {"codename": "delete_donation", "name": "Can delete donation", "content_type": 136}, "model": "auth.permission", "pk": 412}, {"fields": {"codename": "add_coursemode", "name": "Can add course mode", "content_type": 137}, "model": "auth.permission", "pk": 413}, {"fields": {"codename": "change_coursemode", "name": "Can change course mode", "content_type": 137}, "model": "auth.permission", "pk": 414}, {"fields": {"codename": "delete_coursemode", "name": "Can delete course mode", "content_type": 137}, "model": "auth.permission", "pk": 415}, {"fields": {"codename": "add_coursemodesarchive", "name": "Can add course modes archive", "content_type": 138}, "model": "auth.permission", "pk": 416}, {"fields": {"codename": "change_coursemodesarchive", "name": "Can change course modes archive", "content_type": 138}, "model": "auth.permission", "pk": 417}, {"fields": {"codename": "delete_coursemodesarchive", "name": "Can delete course modes archive", "content_type": 138}, "model": "auth.permission", "pk": 418}, {"fields": {"codename": "add_coursemodeexpirationconfig", "name": "Can add course mode expiration config", "content_type": 139}, "model": "auth.permission", "pk": 419}, {"fields": {"codename": "change_coursemodeexpirationconfig", "name": "Can change course mode expiration config", "content_type": 139}, "model": "auth.permission", "pk": 420}, {"fields": {"codename": "delete_coursemodeexpirationconfig", "name": "Can delete course mode expiration config", "content_type": 139}, "model": "auth.permission", "pk": 421}, {"fields": {"codename": "add_softwaresecurephotoverification", "name": "Can add software secure photo verification", "content_type": 140}, "model": "auth.permission", "pk": 422}, {"fields": {"codename": "change_softwaresecurephotoverification", "name": "Can change software secure photo verification", "content_type": 140}, "model": "auth.permission", "pk": 423}, {"fields": {"codename": "delete_softwaresecurephotoverification", "name": "Can delete software secure photo verification", "content_type": 140}, "model": "auth.permission", "pk": 424}, {"fields": {"codename": "add_historicalverificationdeadline", "name": "Can add historical verification deadline", "content_type": 141}, "model": "auth.permission", "pk": 425}, {"fields": {"codename": "change_historicalverificationdeadline", "name": "Can change historical verification deadline", "content_type": 141}, "model": "auth.permission", "pk": 426}, {"fields": {"codename": "delete_historicalverificationdeadline", "name": "Can delete historical verification deadline", "content_type": 141}, "model": "auth.permission", "pk": 427}, {"fields": {"codename": "add_verificationdeadline", "name": "Can add verification deadline", "content_type": 142}, "model": "auth.permission", "pk": 428}, {"fields": {"codename": "change_verificationdeadline", "name": "Can change verification deadline", "content_type": 142}, "model": "auth.permission", "pk": 429}, {"fields": {"codename": "delete_verificationdeadline", "name": "Can delete verification deadline", "content_type": 142}, "model": "auth.permission", "pk": 430}, {"fields": {"codename": "add_verificationcheckpoint", "name": "Can add verification checkpoint", "content_type": 143}, "model": "auth.permission", "pk": 431}, {"fields": {"codename": "change_verificationcheckpoint", "name": "Can change verification checkpoint", "content_type": 143}, "model": "auth.permission", "pk": 432}, {"fields": {"codename": "delete_verificationcheckpoint", "name": "Can delete verification checkpoint", "content_type": 143}, "model": "auth.permission", "pk": 433}, {"fields": {"codename": "add_verificationstatus", "name": "Can add Verification Status", "content_type": 144}, "model": "auth.permission", "pk": 434}, {"fields": {"codename": "change_verificationstatus", "name": "Can change Verification Status", "content_type": 144}, "model": "auth.permission", "pk": 435}, {"fields": {"codename": "delete_verificationstatus", "name": "Can delete Verification Status", "content_type": 144}, "model": "auth.permission", "pk": 436}, {"fields": {"codename": "add_incoursereverificationconfiguration", "name": "Can add in course reverification configuration", "content_type": 145}, "model": "auth.permission", "pk": 437}, {"fields": {"codename": "change_incoursereverificationconfiguration", "name": "Can change in course reverification configuration", "content_type": 145}, "model": "auth.permission", "pk": 438}, {"fields": {"codename": "delete_incoursereverificationconfiguration", "name": "Can delete in course reverification configuration", "content_type": 145}, "model": "auth.permission", "pk": 439}, {"fields": {"codename": "add_icrvstatusemailsconfiguration", "name": "Can add icrv status emails configuration", "content_type": 146}, "model": "auth.permission", "pk": 440}, {"fields": {"codename": "change_icrvstatusemailsconfiguration", "name": "Can change icrv status emails configuration", "content_type": 146}, "model": "auth.permission", "pk": 441}, {"fields": {"codename": "delete_icrvstatusemailsconfiguration", "name": "Can delete icrv status emails configuration", "content_type": 146}, "model": "auth.permission", "pk": 442}, {"fields": {"codename": "add_skippedreverification", "name": "Can add skipped reverification", "content_type": 147}, "model": "auth.permission", "pk": 443}, {"fields": {"codename": "change_skippedreverification", "name": "Can change skipped reverification", "content_type": 147}, "model": "auth.permission", "pk": 444}, {"fields": {"codename": "delete_skippedreverification", "name": "Can delete skipped reverification", "content_type": 147}, "model": "auth.permission", "pk": 445}, {"fields": {"codename": "add_darklangconfig", "name": "Can add dark lang config", "content_type": 148}, "model": "auth.permission", "pk": 446}, {"fields": {"codename": "change_darklangconfig", "name": "Can change dark lang config", "content_type": 148}, "model": "auth.permission", "pk": 447}, {"fields": {"codename": "delete_darklangconfig", "name": "Can delete dark lang config", "content_type": 148}, "model": "auth.permission", "pk": 448}, {"fields": {"codename": "add_microsite", "name": "Can add microsite", "content_type": 149}, "model": "auth.permission", "pk": 449}, {"fields": {"codename": "change_microsite", "name": "Can change microsite", "content_type": 149}, "model": "auth.permission", "pk": 450}, {"fields": {"codename": "delete_microsite", "name": "Can delete microsite", "content_type": 149}, "model": "auth.permission", "pk": 451}, {"fields": {"codename": "add_micrositehistory", "name": "Can add microsite history", "content_type": 150}, "model": "auth.permission", "pk": 452}, {"fields": {"codename": "change_micrositehistory", "name": "Can change microsite history", "content_type": 150}, "model": "auth.permission", "pk": 453}, {"fields": {"codename": "delete_micrositehistory", "name": "Can delete microsite history", "content_type": 150}, "model": "auth.permission", "pk": 454}, {"fields": {"codename": "add_historicalmicrositeorganizationmapping", "name": "Can add historical microsite organization mapping", "content_type": 151}, "model": "auth.permission", "pk": 455}, {"fields": {"codename": "change_historicalmicrositeorganizationmapping", "name": "Can change historical microsite organization mapping", "content_type": 151}, "model": "auth.permission", "pk": 456}, {"fields": {"codename": "delete_historicalmicrositeorganizationmapping", "name": "Can delete historical microsite organization mapping", "content_type": 151}, "model": "auth.permission", "pk": 457}, {"fields": {"codename": "add_micrositeorganizationmapping", "name": "Can add microsite organization mapping", "content_type": 152}, "model": "auth.permission", "pk": 458}, {"fields": {"codename": "change_micrositeorganizationmapping", "name": "Can change microsite organization mapping", "content_type": 152}, "model": "auth.permission", "pk": 459}, {"fields": {"codename": "delete_micrositeorganizationmapping", "name": "Can delete microsite organization mapping", "content_type": 152}, "model": "auth.permission", "pk": 460}, {"fields": {"codename": "add_historicalmicrositetemplate", "name": "Can add historical microsite template", "content_type": 153}, "model": "auth.permission", "pk": 461}, {"fields": {"codename": "change_historicalmicrositetemplate", "name": "Can change historical microsite template", "content_type": 153}, "model": "auth.permission", "pk": 462}, {"fields": {"codename": "delete_historicalmicrositetemplate", "name": "Can delete historical microsite template", "content_type": 153}, "model": "auth.permission", "pk": 463}, {"fields": {"codename": "add_micrositetemplate", "name": "Can add microsite template", "content_type": 154}, "model": "auth.permission", "pk": 464}, {"fields": {"codename": "change_micrositetemplate", "name": "Can change microsite template", "content_type": 154}, "model": "auth.permission", "pk": 465}, {"fields": {"codename": "delete_micrositetemplate", "name": "Can delete microsite template", "content_type": 154}, "model": "auth.permission", "pk": 466}, {"fields": {"codename": "add_embargoedcourse", "name": "Can add embargoed course", "content_type": 155}, "model": "auth.permission", "pk": 467}, {"fields": {"codename": "change_embargoedcourse", "name": "Can change embargoed course", "content_type": 155}, "model": "auth.permission", "pk": 468}, {"fields": {"codename": "delete_embargoedcourse", "name": "Can delete embargoed course", "content_type": 155}, "model": "auth.permission", "pk": 469}, {"fields": {"codename": "add_embargoedstate", "name": "Can add embargoed state", "content_type": 156}, "model": "auth.permission", "pk": 470}, {"fields": {"codename": "change_embargoedstate", "name": "Can change embargoed state", "content_type": 156}, "model": "auth.permission", "pk": 471}, {"fields": {"codename": "delete_embargoedstate", "name": "Can delete embargoed state", "content_type": 156}, "model": "auth.permission", "pk": 472}, {"fields": {"codename": "add_restrictedcourse", "name": "Can add restricted course", "content_type": 157}, "model": "auth.permission", "pk": 473}, {"fields": {"codename": "change_restrictedcourse", "name": "Can change restricted course", "content_type": 157}, "model": "auth.permission", "pk": 474}, {"fields": {"codename": "delete_restrictedcourse", "name": "Can delete restricted course", "content_type": 157}, "model": "auth.permission", "pk": 475}, {"fields": {"codename": "add_country", "name": "Can add country", "content_type": 158}, "model": "auth.permission", "pk": 476}, {"fields": {"codename": "change_country", "name": "Can change country", "content_type": 158}, "model": "auth.permission", "pk": 477}, {"fields": {"codename": "delete_country", "name": "Can delete country", "content_type": 158}, "model": "auth.permission", "pk": 478}, {"fields": {"codename": "add_countryaccessrule", "name": "Can add country access rule", "content_type": 159}, "model": "auth.permission", "pk": 479}, {"fields": {"codename": "change_countryaccessrule", "name": "Can change country access rule", "content_type": 159}, "model": "auth.permission", "pk": 480}, {"fields": {"codename": "delete_countryaccessrule", "name": "Can delete country access rule", "content_type": 159}, "model": "auth.permission", "pk": 481}, {"fields": {"codename": "add_courseaccessrulehistory", "name": "Can add course access rule history", "content_type": 160}, "model": "auth.permission", "pk": 482}, {"fields": {"codename": "change_courseaccessrulehistory", "name": "Can change course access rule history", "content_type": 160}, "model": "auth.permission", "pk": 483}, {"fields": {"codename": "delete_courseaccessrulehistory", "name": "Can delete course access rule history", "content_type": 160}, "model": "auth.permission", "pk": 484}, {"fields": {"codename": "add_ipfilter", "name": "Can add ip filter", "content_type": 161}, "model": "auth.permission", "pk": 485}, {"fields": {"codename": "change_ipfilter", "name": "Can change ip filter", "content_type": 161}, "model": "auth.permission", "pk": 486}, {"fields": {"codename": "delete_ipfilter", "name": "Can delete ip filter", "content_type": 161}, "model": "auth.permission", "pk": 487}, {"fields": {"codename": "add_coursererunstate", "name": "Can add course rerun state", "content_type": 162}, "model": "auth.permission", "pk": 488}, {"fields": {"codename": "change_coursererunstate", "name": "Can change course rerun state", "content_type": 162}, "model": "auth.permission", "pk": 489}, {"fields": {"codename": "delete_coursererunstate", "name": "Can delete course rerun state", "content_type": 162}, "model": "auth.permission", "pk": 490}, {"fields": {"codename": "add_mobileapiconfig", "name": "Can add mobile api config", "content_type": 163}, "model": "auth.permission", "pk": 491}, {"fields": {"codename": "change_mobileapiconfig", "name": "Can change mobile api config", "content_type": 163}, "model": "auth.permission", "pk": 492}, {"fields": {"codename": "delete_mobileapiconfig", "name": "Can delete mobile api config", "content_type": 163}, "model": "auth.permission", "pk": 493}, {"fields": {"codename": "add_usersocialauth", "name": "Can add user social auth", "content_type": 164}, "model": "auth.permission", "pk": 494}, {"fields": {"codename": "change_usersocialauth", "name": "Can change user social auth", "content_type": 164}, "model": "auth.permission", "pk": 495}, {"fields": {"codename": "delete_usersocialauth", "name": "Can delete user social auth", "content_type": 164}, "model": "auth.permission", "pk": 496}, {"fields": {"codename": "add_nonce", "name": "Can add nonce", "content_type": 165}, "model": "auth.permission", "pk": 497}, {"fields": {"codename": "change_nonce", "name": "Can change nonce", "content_type": 165}, "model": "auth.permission", "pk": 498}, {"fields": {"codename": "delete_nonce", "name": "Can delete nonce", "content_type": 165}, "model": "auth.permission", "pk": 499}, {"fields": {"codename": "add_association", "name": "Can add association", "content_type": 166}, "model": "auth.permission", "pk": 500}, {"fields": {"codename": "change_association", "name": "Can change association", "content_type": 166}, "model": "auth.permission", "pk": 501}, {"fields": {"codename": "delete_association", "name": "Can delete association", "content_type": 166}, "model": "auth.permission", "pk": 502}, {"fields": {"codename": "add_code", "name": "Can add code", "content_type": 167}, "model": "auth.permission", "pk": 503}, {"fields": {"codename": "change_code", "name": "Can change code", "content_type": 167}, "model": "auth.permission", "pk": 504}, {"fields": {"codename": "delete_code", "name": "Can delete code", "content_type": 167}, "model": "auth.permission", "pk": 505}, {"fields": {"codename": "add_surveyform", "name": "Can add survey form", "content_type": 168}, "model": "auth.permission", "pk": 506}, {"fields": {"codename": "change_surveyform", "name": "Can change survey form", "content_type": 168}, "model": "auth.permission", "pk": 507}, {"fields": {"codename": "delete_surveyform", "name": "Can delete survey form", "content_type": 168}, "model": "auth.permission", "pk": 508}, {"fields": {"codename": "add_surveyanswer", "name": "Can add survey answer", "content_type": 169}, "model": "auth.permission", "pk": 509}, {"fields": {"codename": "change_surveyanswer", "name": "Can change survey answer", "content_type": 169}, "model": "auth.permission", "pk": 510}, {"fields": {"codename": "delete_surveyanswer", "name": "Can delete survey answer", "content_type": 169}, "model": "auth.permission", "pk": 511}, {"fields": {"codename": "add_xblockasidesconfig", "name": "Can add x block asides config", "content_type": 170}, "model": "auth.permission", "pk": 512}, {"fields": {"codename": "change_xblockasidesconfig", "name": "Can change x block asides config", "content_type": 170}, "model": "auth.permission", "pk": 513}, {"fields": {"codename": "delete_xblockasidesconfig", "name": "Can delete x block asides config", "content_type": 170}, "model": "auth.permission", "pk": 514}, {"fields": {"codename": "add_courseoverview", "name": "Can add course overview", "content_type": 171}, "model": "auth.permission", "pk": 515}, {"fields": {"codename": "change_courseoverview", "name": "Can change course overview", "content_type": 171}, "model": "auth.permission", "pk": 516}, {"fields": {"codename": "delete_courseoverview", "name": "Can delete course overview", "content_type": 171}, "model": "auth.permission", "pk": 517}, {"fields": {"codename": "add_courseoverviewtab", "name": "Can add course overview tab", "content_type": 172}, "model": "auth.permission", "pk": 518}, {"fields": {"codename": "change_courseoverviewtab", "name": "Can change course overview tab", "content_type": 172}, "model": "auth.permission", "pk": 519}, {"fields": {"codename": "delete_courseoverviewtab", "name": "Can delete course overview tab", "content_type": 172}, "model": "auth.permission", "pk": 520}, {"fields": {"codename": "add_courseoverviewimageset", "name": "Can add course overview image set", "content_type": 173}, "model": "auth.permission", "pk": 521}, {"fields": {"codename": "change_courseoverviewimageset", "name": "Can change course overview image set", "content_type": 173}, "model": "auth.permission", "pk": 522}, {"fields": {"codename": "delete_courseoverviewimageset", "name": "Can delete course overview image set", "content_type": 173}, "model": "auth.permission", "pk": 523}, {"fields": {"codename": "add_courseoverviewimageconfig", "name": "Can add course overview image config", "content_type": 174}, "model": "auth.permission", "pk": 524}, {"fields": {"codename": "change_courseoverviewimageconfig", "name": "Can change course overview image config", "content_type": 174}, "model": "auth.permission", "pk": 525}, {"fields": {"codename": "delete_courseoverviewimageconfig", "name": "Can delete course overview image config", "content_type": 174}, "model": "auth.permission", "pk": 526}, {"fields": {"codename": "add_coursestructure", "name": "Can add course structure", "content_type": 175}, "model": "auth.permission", "pk": 527}, {"fields": {"codename": "change_coursestructure", "name": "Can change course structure", "content_type": 175}, "model": "auth.permission", "pk": 528}, {"fields": {"codename": "delete_coursestructure", "name": "Can delete course structure", "content_type": 175}, "model": "auth.permission", "pk": 529}, {"fields": {"codename": "add_corsmodel", "name": "Can add cors model", "content_type": 176}, "model": "auth.permission", "pk": 530}, {"fields": {"codename": "change_corsmodel", "name": "Can change cors model", "content_type": 176}, "model": "auth.permission", "pk": 531}, {"fields": {"codename": "delete_corsmodel", "name": "Can delete cors model", "content_type": 176}, "model": "auth.permission", "pk": 532}, {"fields": {"codename": "add_xdomainproxyconfiguration", "name": "Can add x domain proxy configuration", "content_type": 177}, "model": "auth.permission", "pk": 533}, {"fields": {"codename": "change_xdomainproxyconfiguration", "name": "Can change x domain proxy configuration", "content_type": 177}, "model": "auth.permission", "pk": 534}, {"fields": {"codename": "delete_xdomainproxyconfiguration", "name": "Can delete x domain proxy configuration", "content_type": 177}, "model": "auth.permission", "pk": 535}, {"fields": {"codename": "add_creditprovider", "name": "Can add credit provider", "content_type": 178}, "model": "auth.permission", "pk": 536}, {"fields": {"codename": "change_creditprovider", "name": "Can change credit provider", "content_type": 178}, "model": "auth.permission", "pk": 537}, {"fields": {"codename": "delete_creditprovider", "name": "Can delete credit provider", "content_type": 178}, "model": "auth.permission", "pk": 538}, {"fields": {"codename": "add_creditcourse", "name": "Can add credit course", "content_type": 179}, "model": "auth.permission", "pk": 539}, {"fields": {"codename": "change_creditcourse", "name": "Can change credit course", "content_type": 179}, "model": "auth.permission", "pk": 540}, {"fields": {"codename": "delete_creditcourse", "name": "Can delete credit course", "content_type": 179}, "model": "auth.permission", "pk": 541}, {"fields": {"codename": "add_creditrequirement", "name": "Can add credit requirement", "content_type": 180}, "model": "auth.permission", "pk": 542}, {"fields": {"codename": "change_creditrequirement", "name": "Can change credit requirement", "content_type": 180}, "model": "auth.permission", "pk": 543}, {"fields": {"codename": "delete_creditrequirement", "name": "Can delete credit requirement", "content_type": 180}, "model": "auth.permission", "pk": 544}, {"fields": {"codename": "add_historicalcreditrequirementstatus", "name": "Can add historical credit requirement status", "content_type": 181}, "model": "auth.permission", "pk": 545}, {"fields": {"codename": "change_historicalcreditrequirementstatus", "name": "Can change historical credit requirement status", "content_type": 181}, "model": "auth.permission", "pk": 546}, {"fields": {"codename": "delete_historicalcreditrequirementstatus", "name": "Can delete historical credit requirement status", "content_type": 181}, "model": "auth.permission", "pk": 547}, {"fields": {"codename": "add_creditrequirementstatus", "name": "Can add credit requirement status", "content_type": 182}, "model": "auth.permission", "pk": 548}, {"fields": {"codename": "change_creditrequirementstatus", "name": "Can change credit requirement status", "content_type": 182}, "model": "auth.permission", "pk": 549}, {"fields": {"codename": "delete_creditrequirementstatus", "name": "Can delete credit requirement status", "content_type": 182}, "model": "auth.permission", "pk": 550}, {"fields": {"codename": "add_crediteligibility", "name": "Can add credit eligibility", "content_type": 183}, "model": "auth.permission", "pk": 551}, {"fields": {"codename": "change_crediteligibility", "name": "Can change credit eligibility", "content_type": 183}, "model": "auth.permission", "pk": 552}, {"fields": {"codename": "delete_crediteligibility", "name": "Can delete credit eligibility", "content_type": 183}, "model": "auth.permission", "pk": 553}, {"fields": {"codename": "add_historicalcreditrequest", "name": "Can add historical credit request", "content_type": 184}, "model": "auth.permission", "pk": 554}, {"fields": {"codename": "change_historicalcreditrequest", "name": "Can change historical credit request", "content_type": 184}, "model": "auth.permission", "pk": 555}, {"fields": {"codename": "delete_historicalcreditrequest", "name": "Can delete historical credit request", "content_type": 184}, "model": "auth.permission", "pk": 556}, {"fields": {"codename": "add_creditrequest", "name": "Can add credit request", "content_type": 185}, "model": "auth.permission", "pk": 557}, {"fields": {"codename": "change_creditrequest", "name": "Can change credit request", "content_type": 185}, "model": "auth.permission", "pk": 558}, {"fields": {"codename": "delete_creditrequest", "name": "Can delete credit request", "content_type": 185}, "model": "auth.permission", "pk": 559}, {"fields": {"codename": "add_courseteam", "name": "Can add course team", "content_type": 186}, "model": "auth.permission", "pk": 560}, {"fields": {"codename": "change_courseteam", "name": "Can change course team", "content_type": 186}, "model": "auth.permission", "pk": 561}, {"fields": {"codename": "delete_courseteam", "name": "Can delete course team", "content_type": 186}, "model": "auth.permission", "pk": 562}, {"fields": {"codename": "add_courseteammembership", "name": "Can add course team membership", "content_type": 187}, "model": "auth.permission", "pk": 563}, {"fields": {"codename": "change_courseteammembership", "name": "Can change course team membership", "content_type": 187}, "model": "auth.permission", "pk": 564}, {"fields": {"codename": "delete_courseteammembership", "name": "Can delete course team membership", "content_type": 187}, "model": "auth.permission", "pk": 565}, {"fields": {"codename": "add_xblockdisableconfig", "name": "Can add x block disable config", "content_type": 188}, "model": "auth.permission", "pk": 566}, {"fields": {"codename": "change_xblockdisableconfig", "name": "Can change x block disable config", "content_type": 188}, "model": "auth.permission", "pk": 567}, {"fields": {"codename": "delete_xblockdisableconfig", "name": "Can delete x block disable config", "content_type": 188}, "model": "auth.permission", "pk": 568}, {"fields": {"codename": "add_bookmark", "name": "Can add bookmark", "content_type": 189}, "model": "auth.permission", "pk": 569}, {"fields": {"codename": "change_bookmark", "name": "Can change bookmark", "content_type": 189}, "model": "auth.permission", "pk": 570}, {"fields": {"codename": "delete_bookmark", "name": "Can delete bookmark", "content_type": 189}, "model": "auth.permission", "pk": 571}, {"fields": {"codename": "add_xblockcache", "name": "Can add x block cache", "content_type": 190}, "model": "auth.permission", "pk": 572}, {"fields": {"codename": "change_xblockcache", "name": "Can change x block cache", "content_type": 190}, "model": "auth.permission", "pk": 573}, {"fields": {"codename": "delete_xblockcache", "name": "Can delete x block cache", "content_type": 190}, "model": "auth.permission", "pk": 574}, {"fields": {"codename": "add_programsapiconfig", "name": "Can add programs api config", "content_type": 191}, "model": "auth.permission", "pk": 575}, {"fields": {"codename": "change_programsapiconfig", "name": "Can change programs api config", "content_type": 191}, "model": "auth.permission", "pk": 576}, {"fields": {"codename": "delete_programsapiconfig", "name": "Can delete programs api config", "content_type": 191}, "model": "auth.permission", "pk": 577}, {"fields": {"codename": "add_selfpacedconfiguration", "name": "Can add self paced configuration", "content_type": 192}, "model": "auth.permission", "pk": 578}, {"fields": {"codename": "change_selfpacedconfiguration", "name": "Can change self paced configuration", "content_type": 192}, "model": "auth.permission", "pk": 579}, {"fields": {"codename": "delete_selfpacedconfiguration", "name": "Can delete self paced configuration", "content_type": 192}, "model": "auth.permission", "pk": 580}, {"fields": {"codename": "add_kvstore", "name": "Can add kv store", "content_type": 193}, "model": "auth.permission", "pk": 581}, {"fields": {"codename": "change_kvstore", "name": "Can change kv store", "content_type": 193}, "model": "auth.permission", "pk": 582}, {"fields": {"codename": "delete_kvstore", "name": "Can delete kv store", "content_type": 193}, "model": "auth.permission", "pk": 583}, {"fields": {"codename": "add_studentitem", "name": "Can add student item", "content_type": 194}, "model": "auth.permission", "pk": 584}, {"fields": {"codename": "change_studentitem", "name": "Can change student item", "content_type": 194}, "model": "auth.permission", "pk": 585}, {"fields": {"codename": "delete_studentitem", "name": "Can delete student item", "content_type": 194}, "model": "auth.permission", "pk": 586}, {"fields": {"codename": "add_submission", "name": "Can add submission", "content_type": 195}, "model": "auth.permission", "pk": 587}, {"fields": {"codename": "change_submission", "name": "Can change submission", "content_type": 195}, "model": "auth.permission", "pk": 588}, {"fields": {"codename": "delete_submission", "name": "Can delete submission", "content_type": 195}, "model": "auth.permission", "pk": 589}, {"fields": {"codename": "add_score", "name": "Can add score", "content_type": 196}, "model": "auth.permission", "pk": 590}, {"fields": {"codename": "change_score", "name": "Can change score", "content_type": 196}, "model": "auth.permission", "pk": 591}, {"fields": {"codename": "delete_score", "name": "Can delete score", "content_type": 196}, "model": "auth.permission", "pk": 592}, {"fields": {"codename": "add_scoresummary", "name": "Can add score summary", "content_type": 197}, "model": "auth.permission", "pk": 593}, {"fields": {"codename": "change_scoresummary", "name": "Can change score summary", "content_type": 197}, "model": "auth.permission", "pk": 594}, {"fields": {"codename": "delete_scoresummary", "name": "Can delete score summary", "content_type": 197}, "model": "auth.permission", "pk": 595}, {"fields": {"codename": "add_scoreannotation", "name": "Can add score annotation", "content_type": 198}, "model": "auth.permission", "pk": 596}, {"fields": {"codename": "change_scoreannotation", "name": "Can change score annotation", "content_type": 198}, "model": "auth.permission", "pk": 597}, {"fields": {"codename": "delete_scoreannotation", "name": "Can delete score annotation", "content_type": 198}, "model": "auth.permission", "pk": 598}, {"fields": {"codename": "add_rubric", "name": "Can add rubric", "content_type": 199}, "model": "auth.permission", "pk": 599}, {"fields": {"codename": "change_rubric", "name": "Can change rubric", "content_type": 199}, "model": "auth.permission", "pk": 600}, {"fields": {"codename": "delete_rubric", "name": "Can delete rubric", "content_type": 199}, "model": "auth.permission", "pk": 601}, {"fields": {"codename": "add_criterion", "name": "Can add criterion", "content_type": 200}, "model": "auth.permission", "pk": 602}, {"fields": {"codename": "change_criterion", "name": "Can change criterion", "content_type": 200}, "model": "auth.permission", "pk": 603}, {"fields": {"codename": "delete_criterion", "name": "Can delete criterion", "content_type": 200}, "model": "auth.permission", "pk": 604}, {"fields": {"codename": "add_criterionoption", "name": "Can add criterion option", "content_type": 201}, "model": "auth.permission", "pk": 605}, {"fields": {"codename": "change_criterionoption", "name": "Can change criterion option", "content_type": 201}, "model": "auth.permission", "pk": 606}, {"fields": {"codename": "delete_criterionoption", "name": "Can delete criterion option", "content_type": 201}, "model": "auth.permission", "pk": 607}, {"fields": {"codename": "add_assessment", "name": "Can add assessment", "content_type": 202}, "model": "auth.permission", "pk": 608}, {"fields": {"codename": "change_assessment", "name": "Can change assessment", "content_type": 202}, "model": "auth.permission", "pk": 609}, {"fields": {"codename": "delete_assessment", "name": "Can delete assessment", "content_type": 202}, "model": "auth.permission", "pk": 610}, {"fields": {"codename": "add_assessmentpart", "name": "Can add assessment part", "content_type": 203}, "model": "auth.permission", "pk": 611}, {"fields": {"codename": "change_assessmentpart", "name": "Can change assessment part", "content_type": 203}, "model": "auth.permission", "pk": 612}, {"fields": {"codename": "delete_assessmentpart", "name": "Can delete assessment part", "content_type": 203}, "model": "auth.permission", "pk": 613}, {"fields": {"codename": "add_assessmentfeedbackoption", "name": "Can add assessment feedback option", "content_type": 204}, "model": "auth.permission", "pk": 614}, {"fields": {"codename": "change_assessmentfeedbackoption", "name": "Can change assessment feedback option", "content_type": 204}, "model": "auth.permission", "pk": 615}, {"fields": {"codename": "delete_assessmentfeedbackoption", "name": "Can delete assessment feedback option", "content_type": 204}, "model": "auth.permission", "pk": 616}, {"fields": {"codename": "add_assessmentfeedback", "name": "Can add assessment feedback", "content_type": 205}, "model": "auth.permission", "pk": 617}, {"fields": {"codename": "change_assessmentfeedback", "name": "Can change assessment feedback", "content_type": 205}, "model": "auth.permission", "pk": 618}, {"fields": {"codename": "delete_assessmentfeedback", "name": "Can delete assessment feedback", "content_type": 205}, "model": "auth.permission", "pk": 619}, {"fields": {"codename": "add_peerworkflow", "name": "Can add peer workflow", "content_type": 206}, "model": "auth.permission", "pk": 620}, {"fields": {"codename": "change_peerworkflow", "name": "Can change peer workflow", "content_type": 206}, "model": "auth.permission", "pk": 621}, {"fields": {"codename": "delete_peerworkflow", "name": "Can delete peer workflow", "content_type": 206}, "model": "auth.permission", "pk": 622}, {"fields": {"codename": "add_peerworkflowitem", "name": "Can add peer workflow item", "content_type": 207}, "model": "auth.permission", "pk": 623}, {"fields": {"codename": "change_peerworkflowitem", "name": "Can change peer workflow item", "content_type": 207}, "model": "auth.permission", "pk": 624}, {"fields": {"codename": "delete_peerworkflowitem", "name": "Can delete peer workflow item", "content_type": 207}, "model": "auth.permission", "pk": 625}, {"fields": {"codename": "add_trainingexample", "name": "Can add training example", "content_type": 208}, "model": "auth.permission", "pk": 626}, {"fields": {"codename": "change_trainingexample", "name": "Can change training example", "content_type": 208}, "model": "auth.permission", "pk": 627}, {"fields": {"codename": "delete_trainingexample", "name": "Can delete training example", "content_type": 208}, "model": "auth.permission", "pk": 628}, {"fields": {"codename": "add_studenttrainingworkflow", "name": "Can add student training workflow", "content_type": 209}, "model": "auth.permission", "pk": 629}, {"fields": {"codename": "change_studenttrainingworkflow", "name": "Can change student training workflow", "content_type": 209}, "model": "auth.permission", "pk": 630}, {"fields": {"codename": "delete_studenttrainingworkflow", "name": "Can delete student training workflow", "content_type": 209}, "model": "auth.permission", "pk": 631}, {"fields": {"codename": "add_studenttrainingworkflowitem", "name": "Can add student training workflow item", "content_type": 210}, "model": "auth.permission", "pk": 632}, {"fields": {"codename": "change_studenttrainingworkflowitem", "name": "Can change student training workflow item", "content_type": 210}, "model": "auth.permission", "pk": 633}, {"fields": {"codename": "delete_studenttrainingworkflowitem", "name": "Can delete student training workflow item", "content_type": 210}, "model": "auth.permission", "pk": 634}, {"fields": {"codename": "add_aiclassifierset", "name": "Can add ai classifier set", "content_type": 211}, "model": "auth.permission", "pk": 635}, {"fields": {"codename": "change_aiclassifierset", "name": "Can change ai classifier set", "content_type": 211}, "model": "auth.permission", "pk": 636}, {"fields": {"codename": "delete_aiclassifierset", "name": "Can delete ai classifier set", "content_type": 211}, "model": "auth.permission", "pk": 637}, {"fields": {"codename": "add_aiclassifier", "name": "Can add ai classifier", "content_type": 212}, "model": "auth.permission", "pk": 638}, {"fields": {"codename": "change_aiclassifier", "name": "Can change ai classifier", "content_type": 212}, "model": "auth.permission", "pk": 639}, {"fields": {"codename": "delete_aiclassifier", "name": "Can delete ai classifier", "content_type": 212}, "model": "auth.permission", "pk": 640}, {"fields": {"codename": "add_aitrainingworkflow", "name": "Can add ai training workflow", "content_type": 213}, "model": "auth.permission", "pk": 641}, {"fields": {"codename": "change_aitrainingworkflow", "name": "Can change ai training workflow", "content_type": 213}, "model": "auth.permission", "pk": 642}, {"fields": {"codename": "delete_aitrainingworkflow", "name": "Can delete ai training workflow", "content_type": 213}, "model": "auth.permission", "pk": 643}, {"fields": {"codename": "add_aigradingworkflow", "name": "Can add ai grading workflow", "content_type": 214}, "model": "auth.permission", "pk": 644}, {"fields": {"codename": "change_aigradingworkflow", "name": "Can change ai grading workflow", "content_type": 214}, "model": "auth.permission", "pk": 645}, {"fields": {"codename": "delete_aigradingworkflow", "name": "Can delete ai grading workflow", "content_type": 214}, "model": "auth.permission", "pk": 646}, {"fields": {"codename": "add_staffworkflow", "name": "Can add staff workflow", "content_type": 215}, "model": "auth.permission", "pk": 647}, {"fields": {"codename": "change_staffworkflow", "name": "Can change staff workflow", "content_type": 215}, "model": "auth.permission", "pk": 648}, {"fields": {"codename": "delete_staffworkflow", "name": "Can delete staff workflow", "content_type": 215}, "model": "auth.permission", "pk": 649}, {"fields": {"codename": "add_assessmentworkflow", "name": "Can add assessment workflow", "content_type": 216}, "model": "auth.permission", "pk": 650}, {"fields": {"codename": "change_assessmentworkflow", "name": "Can change assessment workflow", "content_type": 216}, "model": "auth.permission", "pk": 651}, {"fields": {"codename": "delete_assessmentworkflow", "name": "Can delete assessment workflow", "content_type": 216}, "model": "auth.permission", "pk": 652}, {"fields": {"codename": "add_assessmentworkflowstep", "name": "Can add assessment workflow step", "content_type": 217}, "model": "auth.permission", "pk": 653}, {"fields": {"codename": "change_assessmentworkflowstep", "name": "Can change assessment workflow step", "content_type": 217}, "model": "auth.permission", "pk": 654}, {"fields": {"codename": "delete_assessmentworkflowstep", "name": "Can delete assessment workflow step", "content_type": 217}, "model": "auth.permission", "pk": 655}, {"fields": {"codename": "add_assessmentworkflowcancellation", "name": "Can add assessment workflow cancellation", "content_type": 218}, "model": "auth.permission", "pk": 656}, {"fields": {"codename": "change_assessmentworkflowcancellation", "name": "Can change assessment workflow cancellation", "content_type": 218}, "model": "auth.permission", "pk": 657}, {"fields": {"codename": "delete_assessmentworkflowcancellation", "name": "Can delete assessment workflow cancellation", "content_type": 218}, "model": "auth.permission", "pk": 658}, {"fields": {"codename": "add_profile", "name": "Can add profile", "content_type": 219}, "model": "auth.permission", "pk": 659}, {"fields": {"codename": "change_profile", "name": "Can change profile", "content_type": 219}, "model": "auth.permission", "pk": 660}, {"fields": {"codename": "delete_profile", "name": "Can delete profile", "content_type": 219}, "model": "auth.permission", "pk": 661}, {"fields": {"codename": "add_video", "name": "Can add video", "content_type": 220}, "model": "auth.permission", "pk": 662}, {"fields": {"codename": "change_video", "name": "Can change video", "content_type": 220}, "model": "auth.permission", "pk": 663}, {"fields": {"codename": "delete_video", "name": "Can delete video", "content_type": 220}, "model": "auth.permission", "pk": 664}, {"fields": {"codename": "add_coursevideo", "name": "Can add course video", "content_type": 221}, "model": "auth.permission", "pk": 665}, {"fields": {"codename": "change_coursevideo", "name": "Can change course video", "content_type": 221}, "model": "auth.permission", "pk": 666}, {"fields": {"codename": "delete_coursevideo", "name": "Can delete course video", "content_type": 221}, "model": "auth.permission", "pk": 667}, {"fields": {"codename": "add_encodedvideo", "name": "Can add encoded video", "content_type": 222}, "model": "auth.permission", "pk": 668}, {"fields": {"codename": "change_encodedvideo", "name": "Can change encoded video", "content_type": 222}, "model": "auth.permission", "pk": 669}, {"fields": {"codename": "delete_encodedvideo", "name": "Can delete encoded video", "content_type": 222}, "model": "auth.permission", "pk": 670}, {"fields": {"codename": "add_subtitle", "name": "Can add subtitle", "content_type": 223}, "model": "auth.permission", "pk": 671}, {"fields": {"codename": "change_subtitle", "name": "Can change subtitle", "content_type": 223}, "model": "auth.permission", "pk": 672}, {"fields": {"codename": "delete_subtitle", "name": "Can delete subtitle", "content_type": 223}, "model": "auth.permission", "pk": 673}, {"fields": {"codename": "add_milestone", "name": "Can add milestone", "content_type": 224}, "model": "auth.permission", "pk": 674}, {"fields": {"codename": "change_milestone", "name": "Can change milestone", "content_type": 224}, "model": "auth.permission", "pk": 675}, {"fields": {"codename": "delete_milestone", "name": "Can delete milestone", "content_type": 224}, "model": "auth.permission", "pk": 676}, {"fields": {"codename": "add_milestonerelationshiptype", "name": "Can add milestone relationship type", "content_type": 225}, "model": "auth.permission", "pk": 677}, {"fields": {"codename": "change_milestonerelationshiptype", "name": "Can change milestone relationship type", "content_type": 225}, "model": "auth.permission", "pk": 678}, {"fields": {"codename": "delete_milestonerelationshiptype", "name": "Can delete milestone relationship type", "content_type": 225}, "model": "auth.permission", "pk": 679}, {"fields": {"codename": "add_coursemilestone", "name": "Can add course milestone", "content_type": 226}, "model": "auth.permission", "pk": 680}, {"fields": {"codename": "change_coursemilestone", "name": "Can change course milestone", "content_type": 226}, "model": "auth.permission", "pk": 681}, {"fields": {"codename": "delete_coursemilestone", "name": "Can delete course milestone", "content_type": 226}, "model": "auth.permission", "pk": 682}, {"fields": {"codename": "add_coursecontentmilestone", "name": "Can add course content milestone", "content_type": 227}, "model": "auth.permission", "pk": 683}, {"fields": {"codename": "change_coursecontentmilestone", "name": "Can change course content milestone", "content_type": 227}, "model": "auth.permission", "pk": 684}, {"fields": {"codename": "delete_coursecontentmilestone", "name": "Can delete course content milestone", "content_type": 227}, "model": "auth.permission", "pk": 685}, {"fields": {"codename": "add_usermilestone", "name": "Can add user milestone", "content_type": 228}, "model": "auth.permission", "pk": 686}, {"fields": {"codename": "change_usermilestone", "name": "Can change user milestone", "content_type": 228}, "model": "auth.permission", "pk": 687}, {"fields": {"codename": "delete_usermilestone", "name": "Can delete user milestone", "content_type": 228}, "model": "auth.permission", "pk": 688}, {"fields": {"codename": "add_proctoredexam", "name": "Can add proctored exam", "content_type": 229}, "model": "auth.permission", "pk": 689}, {"fields": {"codename": "change_proctoredexam", "name": "Can change proctored exam", "content_type": 229}, "model": "auth.permission", "pk": 690}, {"fields": {"codename": "delete_proctoredexam", "name": "Can delete proctored exam", "content_type": 229}, "model": "auth.permission", "pk": 691}, {"fields": {"codename": "add_proctoredexamreviewpolicy", "name": "Can add Proctored exam review policy", "content_type": 230}, "model": "auth.permission", "pk": 692}, {"fields": {"codename": "change_proctoredexamreviewpolicy", "name": "Can change Proctored exam review policy", "content_type": 230}, "model": "auth.permission", "pk": 693}, {"fields": {"codename": "delete_proctoredexamreviewpolicy", "name": "Can delete Proctored exam review policy", "content_type": 230}, "model": "auth.permission", "pk": 694}, {"fields": {"codename": "add_proctoredexamreviewpolicyhistory", "name": "Can add proctored exam review policy history", "content_type": 231}, "model": "auth.permission", "pk": 695}, {"fields": {"codename": "change_proctoredexamreviewpolicyhistory", "name": "Can change proctored exam review policy history", "content_type": 231}, "model": "auth.permission", "pk": 696}, {"fields": {"codename": "delete_proctoredexamreviewpolicyhistory", "name": "Can delete proctored exam review policy history", "content_type": 231}, "model": "auth.permission", "pk": 697}, {"fields": {"codename": "add_proctoredexamstudentattempt", "name": "Can add proctored exam attempt", "content_type": 232}, "model": "auth.permission", "pk": 698}, {"fields": {"codename": "change_proctoredexamstudentattempt", "name": "Can change proctored exam attempt", "content_type": 232}, "model": "auth.permission", "pk": 699}, {"fields": {"codename": "delete_proctoredexamstudentattempt", "name": "Can delete proctored exam attempt", "content_type": 232}, "model": "auth.permission", "pk": 700}, {"fields": {"codename": "add_proctoredexamstudentattempthistory", "name": "Can add proctored exam attempt history", "content_type": 233}, "model": "auth.permission", "pk": 701}, {"fields": {"codename": "change_proctoredexamstudentattempthistory", "name": "Can change proctored exam attempt history", "content_type": 233}, "model": "auth.permission", "pk": 702}, {"fields": {"codename": "delete_proctoredexamstudentattempthistory", "name": "Can delete proctored exam attempt history", "content_type": 233}, "model": "auth.permission", "pk": 703}, {"fields": {"codename": "add_proctoredexamstudentallowance", "name": "Can add proctored allowance", "content_type": 234}, "model": "auth.permission", "pk": 704}, {"fields": {"codename": "change_proctoredexamstudentallowance", "name": "Can change proctored allowance", "content_type": 234}, "model": "auth.permission", "pk": 705}, {"fields": {"codename": "delete_proctoredexamstudentallowance", "name": "Can delete proctored allowance", "content_type": 234}, "model": "auth.permission", "pk": 706}, {"fields": {"codename": "add_proctoredexamstudentallowancehistory", "name": "Can add proctored allowance history", "content_type": 235}, "model": "auth.permission", "pk": 707}, {"fields": {"codename": "change_proctoredexamstudentallowancehistory", "name": "Can change proctored allowance history", "content_type": 235}, "model": "auth.permission", "pk": 708}, {"fields": {"codename": "delete_proctoredexamstudentallowancehistory", "name": "Can delete proctored allowance history", "content_type": 235}, "model": "auth.permission", "pk": 709}, {"fields": {"codename": "add_proctoredexamsoftwaresecurereview", "name": "Can add Proctored exam software secure review", "content_type": 236}, "model": "auth.permission", "pk": 710}, {"fields": {"codename": "change_proctoredexamsoftwaresecurereview", "name": "Can change Proctored exam software secure review", "content_type": 236}, "model": "auth.permission", "pk": 711}, {"fields": {"codename": "delete_proctoredexamsoftwaresecurereview", "name": "Can delete Proctored exam software secure review", "content_type": 236}, "model": "auth.permission", "pk": 712}, {"fields": {"codename": "add_proctoredexamsoftwaresecurereviewhistory", "name": "Can add Proctored exam review archive", "content_type": 237}, "model": "auth.permission", "pk": 713}, {"fields": {"codename": "change_proctoredexamsoftwaresecurereviewhistory", "name": "Can change Proctored exam review archive", "content_type": 237}, "model": "auth.permission", "pk": 714}, {"fields": {"codename": "delete_proctoredexamsoftwaresecurereviewhistory", "name": "Can delete Proctored exam review archive", "content_type": 237}, "model": "auth.permission", "pk": 715}, {"fields": {"codename": "add_proctoredexamsoftwaresecurecomment", "name": "Can add proctored exam software secure comment", "content_type": 238}, "model": "auth.permission", "pk": 716}, {"fields": {"codename": "change_proctoredexamsoftwaresecurecomment", "name": "Can change proctored exam software secure comment", "content_type": 238}, "model": "auth.permission", "pk": 717}, {"fields": {"codename": "delete_proctoredexamsoftwaresecurecomment", "name": "Can delete proctored exam software secure comment", "content_type": 238}, "model": "auth.permission", "pk": 718}, {"fields": {"codename": "add_organization", "name": "Can add organization", "content_type": 239}, "model": "auth.permission", "pk": 719}, {"fields": {"codename": "change_organization", "name": "Can change organization", "content_type": 239}, "model": "auth.permission", "pk": 720}, {"fields": {"codename": "delete_organization", "name": "Can delete organization", "content_type": 239}, "model": "auth.permission", "pk": 721}, {"fields": {"codename": "add_organizationcourse", "name": "Can add Link Course", "content_type": 240}, "model": "auth.permission", "pk": 722}, {"fields": {"codename": "change_organizationcourse", "name": "Can change Link Course", "content_type": 240}, "model": "auth.permission", "pk": 723}, {"fields": {"codename": "delete_organizationcourse", "name": "Can delete Link Course", "content_type": 240}, "model": "auth.permission", "pk": 724}, {"fields": {"codename": "add_videouploadconfig", "name": "Can add video upload config", "content_type": 241}, "model": "auth.permission", "pk": 725}, {"fields": {"codename": "change_videouploadconfig", "name": "Can change video upload config", "content_type": 241}, "model": "auth.permission", "pk": 726}, {"fields": {"codename": "delete_videouploadconfig", "name": "Can delete video upload config", "content_type": 241}, "model": "auth.permission", "pk": 727}, {"fields": {"codename": "add_pushnotificationconfig", "name": "Can add push notification config", "content_type": 242}, "model": "auth.permission", "pk": 728}, {"fields": {"codename": "change_pushnotificationconfig", "name": "Can change push notification config", "content_type": 242}, "model": "auth.permission", "pk": 729}, {"fields": {"codename": "delete_pushnotificationconfig", "name": "Can delete push notification config", "content_type": 242}, "model": "auth.permission", "pk": 730}, {"fields": {"codename": "add_coursecreator", "name": "Can add course creator", "content_type": 243}, "model": "auth.permission", "pk": 731}, {"fields": {"codename": "change_coursecreator", "name": "Can change course creator", "content_type": 243}, "model": "auth.permission", "pk": 732}, {"fields": {"codename": "delete_coursecreator", "name": "Can delete course creator", "content_type": 243}, "model": "auth.permission", "pk": 733}, {"fields": {"codename": "add_studioconfig", "name": "Can add studio config", "content_type": 244}, "model": "auth.permission", "pk": 734}, {"fields": {"codename": "change_studioconfig", "name": "Can change studio config", "content_type": 244}, "model": "auth.permission", "pk": 735}, {"fields": {"codename": "delete_studioconfig", "name": "Can delete studio config", "content_type": 244}, "model": "auth.permission", "pk": 736}, {"fields": {"username": "ecommerce_worker", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": null, "groups": [], "user_permissions": [], "password": "!cmJf3ywEYfg30GhJZsoe5ftsuHN83abIIqnoT4X2", "email": "ecommerce_worker@fake.email", "date_joined": "2016-01-20T14:41:12.520Z"}, "model": "auth.user", "pk": 1}, {"fields": {"change_date": "2016-01-20T14:42:20.684Z", "changed_by": null, "enabled": true}, "model": "util.ratelimitconfiguration", "pk": 1}, {"fields": {"change_date": "2016-01-20T14:41:12.123Z", "changed_by": null, "configuration": "{\"default\": {\"accomplishment_class_append\": \"accomplishment-certificate\", \"platform_name\": \"Your Platform Name Here\", \"logo_src\": \"/static/certificates/images/logo.png\", \"logo_url\": \"http://www.example.com\", \"company_verified_certificate_url\": \"http://www.example.com/verified-certificate\", \"company_privacy_url\": \"http://www.example.com/privacy-policy\", \"company_tos_url\": \"http://www.example.com/terms-service\", \"company_about_url\": \"http://www.example.com/about-us\"}, \"verified\": {\"certificate_type\": \"Verified\", \"certificate_title\": \"Verified Certificate of Achievement\"}, \"honor\": {\"certificate_type\": \"Honor Code\", \"certificate_title\": \"Certificate of Achievement\"}}", "enabled": false}, "model": "certificates.certificatehtmlviewconfiguration", "pk": 1}, {"fields": {"change_date": "2016-01-20T14:41:18.478Z", "changed_by": null, "enabled": true, "released_languages": ""}, "model": "dark_lang.darklangconfig", "pk": 1}] \ No newline at end of file +[{"fields": {"model": "permission", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 1}, {"fields": {"model": "group", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 2}, {"fields": {"model": "user", "app_label": "auth"}, "model": "contenttypes.contenttype", "pk": 3}, {"fields": {"model": "contenttype", "app_label": "contenttypes"}, "model": "contenttypes.contenttype", "pk": 4}, {"fields": {"model": "session", "app_label": "sessions"}, "model": "contenttypes.contenttype", "pk": 5}, {"fields": {"model": "site", "app_label": "sites"}, "model": "contenttypes.contenttype", "pk": 6}, {"fields": {"model": "taskmeta", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 7}, {"fields": {"model": "tasksetmeta", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 8}, {"fields": {"model": "intervalschedule", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 9}, {"fields": {"model": "crontabschedule", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 10}, {"fields": {"model": "periodictasks", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 11}, {"fields": {"model": "periodictask", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 12}, {"fields": {"model": "workerstate", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 13}, {"fields": {"model": "taskstate", "app_label": "djcelery"}, "model": "contenttypes.contenttype", "pk": 14}, {"fields": {"model": "globalstatusmessage", "app_label": "status"}, "model": "contenttypes.contenttype", "pk": 15}, {"fields": {"model": "coursemessage", "app_label": "status"}, "model": "contenttypes.contenttype", "pk": 16}, {"fields": {"model": "assetbaseurlconfig", "app_label": "static_replace"}, "model": "contenttypes.contenttype", "pk": 17}, {"fields": {"model": "studentmodule", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 18}, {"fields": {"model": "studentmodulehistory", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 19}, {"fields": {"model": "xmoduleuserstatesummaryfield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 20}, {"fields": {"model": "xmodulestudentprefsfield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 21}, {"fields": {"model": "xmodulestudentinfofield", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 22}, {"fields": {"model": "offlinecomputedgrade", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 23}, {"fields": {"model": "offlinecomputedgradelog", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 24}, {"fields": {"model": "studentfieldoverride", "app_label": "courseware"}, "model": "contenttypes.contenttype", "pk": 25}, {"fields": {"model": "anonymoususerid", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 26}, {"fields": {"model": "userstanding", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 27}, {"fields": {"model": "userprofile", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 28}, {"fields": {"model": "usersignupsource", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 29}, {"fields": {"model": "usertestgroup", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 30}, {"fields": {"model": "registration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 31}, {"fields": {"model": "pendingnamechange", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 32}, {"fields": {"model": "pendingemailchange", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 33}, {"fields": {"model": "passwordhistory", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 34}, {"fields": {"model": "loginfailures", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 35}, {"fields": {"model": "historicalcourseenrollment", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 36}, {"fields": {"model": "courseenrollment", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 37}, {"fields": {"model": "manualenrollmentaudit", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 38}, {"fields": {"model": "courseenrollmentallowed", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 39}, {"fields": {"model": "courseaccessrole", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 40}, {"fields": {"model": "dashboardconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 41}, {"fields": {"model": "linkedinaddtoprofileconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 42}, {"fields": {"model": "entranceexamconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 43}, {"fields": {"model": "languageproficiency", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 44}, {"fields": {"model": "courseenrollmentattribute", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 45}, {"fields": {"model": "enrollmentrefundconfiguration", "app_label": "student"}, "model": "contenttypes.contenttype", "pk": 46}, {"fields": {"model": "trackinglog", "app_label": "track"}, "model": "contenttypes.contenttype", "pk": 47}, {"fields": {"model": "ratelimitconfiguration", "app_label": "util"}, "model": "contenttypes.contenttype", "pk": 48}, {"fields": {"model": "certificatewhitelist", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 49}, {"fields": {"model": "generatedcertificate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 50}, {"fields": {"model": "certificategenerationhistory", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 51}, {"fields": {"model": "certificateinvalidation", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 52}, {"fields": {"model": "examplecertificateset", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 53}, {"fields": {"model": "examplecertificate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 54}, {"fields": {"model": "certificategenerationcoursesetting", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 55}, {"fields": {"model": "certificategenerationconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 56}, {"fields": {"model": "certificatehtmlviewconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 57}, {"fields": {"model": "badgeassertion", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 58}, {"fields": {"model": "badgeimageconfiguration", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 59}, {"fields": {"model": "certificatetemplate", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 60}, {"fields": {"model": "certificatetemplateasset", "app_label": "certificates"}, "model": "contenttypes.contenttype", "pk": 61}, {"fields": {"model": "instructortask", "app_label": "instructor_task"}, "model": "contenttypes.contenttype", "pk": 62}, {"fields": {"model": "courseusergroup", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 63}, {"fields": {"model": "cohortmembership", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 64}, {"fields": {"model": "courseusergrouppartitiongroup", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 65}, {"fields": {"model": "coursecohortssettings", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 66}, {"fields": {"model": "coursecohort", "app_label": "course_groups"}, "model": "contenttypes.contenttype", "pk": 67}, {"fields": {"model": "courseemail", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 68}, {"fields": {"model": "optout", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 69}, {"fields": {"model": "courseemailtemplate", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 70}, {"fields": {"model": "courseauthorization", "app_label": "bulk_email"}, "model": "contenttypes.contenttype", "pk": 71}, {"fields": {"model": "brandinginfoconfig", "app_label": "branding"}, "model": "contenttypes.contenttype", "pk": 72}, {"fields": {"model": "brandingapiconfig", "app_label": "branding"}, "model": "contenttypes.contenttype", "pk": 73}, {"fields": {"model": "externalauthmap", "app_label": "external_auth"}, "model": "contenttypes.contenttype", "pk": 74}, {"fields": {"model": "nonce", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 75}, {"fields": {"model": "association", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 76}, {"fields": {"model": "useropenid", "app_label": "django_openid_auth"}, "model": "contenttypes.contenttype", "pk": 77}, {"fields": {"model": "client", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 78}, {"fields": {"model": "grant", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 79}, {"fields": {"model": "accesstoken", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 80}, {"fields": {"model": "refreshtoken", "app_label": "oauth2"}, "model": "contenttypes.contenttype", "pk": 81}, {"fields": {"model": "trustedclient", "app_label": "oauth2_provider"}, "model": "contenttypes.contenttype", "pk": 82}, {"fields": {"model": "oauth2providerconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 83}, {"fields": {"model": "samlproviderconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 84}, {"fields": {"model": "samlconfiguration", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 85}, {"fields": {"model": "samlproviderdata", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 86}, {"fields": {"model": "ltiproviderconfig", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 87}, {"fields": {"model": "providerapipermissions", "app_label": "third_party_auth"}, "model": "contenttypes.contenttype", "pk": 88}, {"fields": {"model": "nonce", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 89}, {"fields": {"model": "scope", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 90}, {"fields": {"model": "consumer", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 91}, {"fields": {"model": "token", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 92}, {"fields": {"model": "resource", "app_label": "oauth_provider"}, "model": "contenttypes.contenttype", "pk": 93}, {"fields": {"model": "article", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 94}, {"fields": {"model": "articleforobject", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 95}, {"fields": {"model": "articlerevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 96}, {"fields": {"model": "urlpath", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 97}, {"fields": {"model": "articleplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 98}, {"fields": {"model": "reusableplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 99}, {"fields": {"model": "simpleplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 100}, {"fields": {"model": "revisionplugin", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 101}, {"fields": {"model": "revisionpluginrevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 102}, {"fields": {"model": "image", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 103}, {"fields": {"model": "imagerevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 104}, {"fields": {"model": "attachment", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 105}, {"fields": {"model": "attachmentrevision", "app_label": "wiki"}, "model": "contenttypes.contenttype", "pk": 106}, {"fields": {"model": "notificationtype", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 107}, {"fields": {"model": "settings", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 108}, {"fields": {"model": "subscription", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 109}, {"fields": {"model": "notification", "app_label": "django_notify"}, "model": "contenttypes.contenttype", "pk": 110}, {"fields": {"model": "logentry", "app_label": "admin"}, "model": "contenttypes.contenttype", "pk": 111}, {"fields": {"model": "role", "app_label": "django_comment_common"}, "model": "contenttypes.contenttype", "pk": 112}, {"fields": {"model": "permission", "app_label": "django_comment_common"}, "model": "contenttypes.contenttype", "pk": 113}, {"fields": {"model": "note", "app_label": "notes"}, "model": "contenttypes.contenttype", "pk": 114}, {"fields": {"model": "splashconfig", "app_label": "splash"}, "model": "contenttypes.contenttype", "pk": 115}, {"fields": {"model": "userpreference", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 116}, {"fields": {"model": "usercoursetag", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 117}, {"fields": {"model": "userorgtag", "app_label": "user_api"}, "model": "contenttypes.contenttype", "pk": 118}, {"fields": {"model": "order", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 119}, {"fields": {"model": "orderitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 120}, {"fields": {"model": "invoice", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 121}, {"fields": {"model": "invoicetransaction", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 122}, {"fields": {"model": "invoiceitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 123}, {"fields": {"model": "courseregistrationcodeinvoiceitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 124}, {"fields": {"model": "invoicehistory", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 125}, {"fields": {"model": "courseregistrationcode", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 126}, {"fields": {"model": "registrationcoderedemption", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 127}, {"fields": {"model": "coupon", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 128}, {"fields": {"model": "couponredemption", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 129}, {"fields": {"model": "paidcourseregistration", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 130}, {"fields": {"model": "courseregcodeitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 131}, {"fields": {"model": "courseregcodeitemannotation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 132}, {"fields": {"model": "paidcourseregistrationannotation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 133}, {"fields": {"model": "certificateitem", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 134}, {"fields": {"model": "donationconfiguration", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 135}, {"fields": {"model": "donation", "app_label": "shoppingcart"}, "model": "contenttypes.contenttype", "pk": 136}, {"fields": {"model": "coursemode", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 137}, {"fields": {"model": "coursemodesarchive", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 138}, {"fields": {"model": "coursemodeexpirationconfig", "app_label": "course_modes"}, "model": "contenttypes.contenttype", "pk": 139}, {"fields": {"model": "softwaresecurephotoverification", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 140}, {"fields": {"model": "historicalverificationdeadline", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 141}, {"fields": {"model": "verificationdeadline", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 142}, {"fields": {"model": "verificationcheckpoint", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 143}, {"fields": {"model": "verificationstatus", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 144}, {"fields": {"model": "incoursereverificationconfiguration", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 145}, {"fields": {"model": "icrvstatusemailsconfiguration", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 146}, {"fields": {"model": "skippedreverification", "app_label": "verify_student"}, "model": "contenttypes.contenttype", "pk": 147}, {"fields": {"model": "darklangconfig", "app_label": "dark_lang"}, "model": "contenttypes.contenttype", "pk": 148}, {"fields": {"model": "microsite", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 149}, {"fields": {"model": "micrositehistory", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 150}, {"fields": {"model": "historicalmicrositeorganizationmapping", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 151}, {"fields": {"model": "micrositeorganizationmapping", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 152}, {"fields": {"model": "historicalmicrositetemplate", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 153}, {"fields": {"model": "micrositetemplate", "app_label": "microsite_configuration"}, "model": "contenttypes.contenttype", "pk": 154}, {"fields": {"model": "whitelistedrssurl", "app_label": "rss_proxy"}, "model": "contenttypes.contenttype", "pk": 155}, {"fields": {"model": "embargoedcourse", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 156}, {"fields": {"model": "embargoedstate", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 157}, {"fields": {"model": "restrictedcourse", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 158}, {"fields": {"model": "country", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 159}, {"fields": {"model": "countryaccessrule", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 160}, {"fields": {"model": "courseaccessrulehistory", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 161}, {"fields": {"model": "ipfilter", "app_label": "embargo"}, "model": "contenttypes.contenttype", "pk": 162}, {"fields": {"model": "coursererunstate", "app_label": "course_action_state"}, "model": "contenttypes.contenttype", "pk": 163}, {"fields": {"model": "mobileapiconfig", "app_label": "mobile_api"}, "model": "contenttypes.contenttype", "pk": 164}, {"fields": {"model": "usersocialauth", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 165}, {"fields": {"model": "nonce", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 166}, {"fields": {"model": "association", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 167}, {"fields": {"model": "code", "app_label": "default"}, "model": "contenttypes.contenttype", "pk": 168}, {"fields": {"model": "surveyform", "app_label": "survey"}, "model": "contenttypes.contenttype", "pk": 169}, {"fields": {"model": "surveyanswer", "app_label": "survey"}, "model": "contenttypes.contenttype", "pk": 170}, {"fields": {"model": "xblockasidesconfig", "app_label": "lms_xblock"}, "model": "contenttypes.contenttype", "pk": 171}, {"fields": {"model": "courseoverview", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 172}, {"fields": {"model": "courseoverviewtab", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 173}, {"fields": {"model": "courseoverviewimageset", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 174}, {"fields": {"model": "courseoverviewimageconfig", "app_label": "course_overviews"}, "model": "contenttypes.contenttype", "pk": 175}, {"fields": {"model": "coursestructure", "app_label": "course_structures"}, "model": "contenttypes.contenttype", "pk": 176}, {"fields": {"model": "corsmodel", "app_label": "corsheaders"}, "model": "contenttypes.contenttype", "pk": 177}, {"fields": {"model": "xdomainproxyconfiguration", "app_label": "cors_csrf"}, "model": "contenttypes.contenttype", "pk": 178}, {"fields": {"model": "creditprovider", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 179}, {"fields": {"model": "creditcourse", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 180}, {"fields": {"model": "creditrequirement", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 181}, {"fields": {"model": "historicalcreditrequirementstatus", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 182}, {"fields": {"model": "creditrequirementstatus", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 183}, {"fields": {"model": "crediteligibility", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 184}, {"fields": {"model": "historicalcreditrequest", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 185}, {"fields": {"model": "creditrequest", "app_label": "credit"}, "model": "contenttypes.contenttype", "pk": 186}, {"fields": {"model": "courseteam", "app_label": "teams"}, "model": "contenttypes.contenttype", "pk": 187}, {"fields": {"model": "courseteammembership", "app_label": "teams"}, "model": "contenttypes.contenttype", "pk": 188}, {"fields": {"model": "xblockdisableconfig", "app_label": "xblock_django"}, "model": "contenttypes.contenttype", "pk": 189}, {"fields": {"model": "bookmark", "app_label": "bookmarks"}, "model": "contenttypes.contenttype", "pk": 190}, {"fields": {"model": "xblockcache", "app_label": "bookmarks"}, "model": "contenttypes.contenttype", "pk": 191}, {"fields": {"model": "programsapiconfig", "app_label": "programs"}, "model": "contenttypes.contenttype", "pk": 192}, {"fields": {"model": "selfpacedconfiguration", "app_label": "self_paced"}, "model": "contenttypes.contenttype", "pk": 193}, {"fields": {"model": "kvstore", "app_label": "thumbnail"}, "model": "contenttypes.contenttype", "pk": 194}, {"fields": {"model": "studentitem", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 195}, {"fields": {"model": "submission", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 196}, {"fields": {"model": "score", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 197}, {"fields": {"model": "scoresummary", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 198}, {"fields": {"model": "scoreannotation", "app_label": "submissions"}, "model": "contenttypes.contenttype", "pk": 199}, {"fields": {"model": "rubric", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 200}, {"fields": {"model": "criterion", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 201}, {"fields": {"model": "criterionoption", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 202}, {"fields": {"model": "assessment", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 203}, {"fields": {"model": "assessmentpart", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 204}, {"fields": {"model": "assessmentfeedbackoption", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 205}, {"fields": {"model": "assessmentfeedback", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 206}, {"fields": {"model": "peerworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 207}, {"fields": {"model": "peerworkflowitem", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 208}, {"fields": {"model": "trainingexample", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 209}, {"fields": {"model": "studenttrainingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 210}, {"fields": {"model": "studenttrainingworkflowitem", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 211}, {"fields": {"model": "aiclassifierset", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 212}, {"fields": {"model": "aiclassifier", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 213}, {"fields": {"model": "aitrainingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 214}, {"fields": {"model": "aigradingworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 215}, {"fields": {"model": "staffworkflow", "app_label": "assessment"}, "model": "contenttypes.contenttype", "pk": 216}, {"fields": {"model": "assessmentworkflow", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 217}, {"fields": {"model": "assessmentworkflowstep", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 218}, {"fields": {"model": "assessmentworkflowcancellation", "app_label": "workflow"}, "model": "contenttypes.contenttype", "pk": 219}, {"fields": {"model": "profile", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 220}, {"fields": {"model": "video", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 221}, {"fields": {"model": "coursevideo", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 222}, {"fields": {"model": "encodedvideo", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 223}, {"fields": {"model": "subtitle", "app_label": "edxval"}, "model": "contenttypes.contenttype", "pk": 224}, {"fields": {"model": "milestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 225}, {"fields": {"model": "milestonerelationshiptype", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 226}, {"fields": {"model": "coursemilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 227}, {"fields": {"model": "coursecontentmilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 228}, {"fields": {"model": "usermilestone", "app_label": "milestones"}, "model": "contenttypes.contenttype", "pk": 229}, {"fields": {"model": "proctoredexam", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 230}, {"fields": {"model": "proctoredexamreviewpolicy", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 231}, {"fields": {"model": "proctoredexamreviewpolicyhistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 232}, {"fields": {"model": "proctoredexamstudentattempt", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 233}, {"fields": {"model": "proctoredexamstudentattempthistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 234}, {"fields": {"model": "proctoredexamstudentallowance", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 235}, {"fields": {"model": "proctoredexamstudentallowancehistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 236}, {"fields": {"model": "proctoredexamsoftwaresecurereview", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 237}, {"fields": {"model": "proctoredexamsoftwaresecurereviewhistory", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 238}, {"fields": {"model": "proctoredexamsoftwaresecurecomment", "app_label": "edx_proctoring"}, "model": "contenttypes.contenttype", "pk": 239}, {"fields": {"model": "organization", "app_label": "organizations"}, "model": "contenttypes.contenttype", "pk": 240}, {"fields": {"model": "organizationcourse", "app_label": "organizations"}, "model": "contenttypes.contenttype", "pk": 241}, {"fields": {"model": "videouploadconfig", "app_label": "contentstore"}, "model": "contenttypes.contenttype", "pk": 242}, {"fields": {"model": "pushnotificationconfig", "app_label": "contentstore"}, "model": "contenttypes.contenttype", "pk": 243}, {"fields": {"model": "coursecreator", "app_label": "course_creators"}, "model": "contenttypes.contenttype", "pk": 244}, {"fields": {"model": "studioconfig", "app_label": "xblock_config"}, "model": "contenttypes.contenttype", "pk": 245}, {"fields": {"domain": "example.com", "name": "example.com"}, "model": "sites.site", "pk": 1}, {"fields": {"default": false, "mode": "honor", "icon": "badges/honor.png"}, "model": "certificates.badgeimageconfiguration", "pk": 1}, {"fields": {"default": false, "mode": "verified", "icon": "badges/verified.png"}, "model": "certificates.badgeimageconfiguration", "pk": 2}, {"fields": {"default": false, "mode": "professional", "icon": "badges/professional.png"}, "model": "certificates.badgeimageconfiguration", "pk": 3}, {"fields": {"plain_template": "{course_title}\n\n{{message_body}}\r\n----\r\nCopyright 2013 edX, All rights reserved.\r\n----\r\nConnect with edX:\r\nFacebook (http://facebook.com/edxonline)\r\nTwitter (http://twitter.com/edxonline)\r\nGoogle+ (https://plus.google.com/108235383044095082735)\r\nMeetup (http://www.meetup.com/edX-Communities/)\r\n----\r\nThis email was automatically sent from {platform_name}.\r\nYou are receiving this email at address {email} because you are enrolled in {course_title}\r\n(URL: {course_url} ).\r\nTo stop receiving email like this, update your course email settings at {email_settings_url}.\r\n", "html_template": " Update from {course_title}

edX
Connect with edX:        

{course_title}


{{message_body}}
       
Copyright \u00a9 2013 edX, All rights reserved.


Our mailing address is:
edX
11 Cambridge Center, Suite 101
Cambridge, MA, USA 02142


This email was automatically sent from {platform_name}.
You are receiving this email at address {email} because you are enrolled in {course_title}.
To stop receiving email like this, update your course email settings here.
", "name": null}, "model": "bulk_email.courseemailtemplate", "pk": 1}, {"fields": {"plain_template": "THIS IS A BRANDED TEXT TEMPLATE. {course_title}\n\n{{message_body}}\r\n----\r\nCopyright 2013 edX, All rights reserved.\r\n----\r\nConnect with edX:\r\nFacebook (http://facebook.com/edxonline)\r\nTwitter (http://twitter.com/edxonline)\r\nGoogle+ (https://plus.google.com/108235383044095082735)\r\nMeetup (http://www.meetup.com/edX-Communities/)\r\n----\r\nThis email was automatically sent from {platform_name}.\r\nYou are receiving this email at address {email} because you are enrolled in {course_title}\r\n(URL: {course_url} ).\r\nTo stop receiving email like this, update your course email settings at {email_settings_url}.\r\n", "html_template": " THIS IS A BRANDED HTML TEMPLATE Update from {course_title}

edX
Connect with edX:        

{course_title}


{{message_body}}
       
Copyright \u00a9 2013 edX, All rights reserved.


Our mailing address is:
edX
11 Cambridge Center, Suite 101
Cambridge, MA, USA 02142


This email was automatically sent from {platform_name}.
You are receiving this email at address {email} because you are enrolled in {course_title}.
To stop receiving email like this, update your course email settings here.
", "name": "branded.template"}, "model": "bulk_email.courseemailtemplate", "pk": 2}, {"fields": {"country": "AF"}, "model": "embargo.country", "pk": 1}, {"fields": {"country": "AX"}, "model": "embargo.country", "pk": 2}, {"fields": {"country": "AL"}, "model": "embargo.country", "pk": 3}, {"fields": {"country": "DZ"}, "model": "embargo.country", "pk": 4}, {"fields": {"country": "AS"}, "model": "embargo.country", "pk": 5}, {"fields": {"country": "AD"}, "model": "embargo.country", "pk": 6}, {"fields": {"country": "AO"}, "model": "embargo.country", "pk": 7}, {"fields": {"country": "AI"}, "model": "embargo.country", "pk": 8}, {"fields": {"country": "AQ"}, "model": "embargo.country", "pk": 9}, {"fields": {"country": "AG"}, "model": "embargo.country", "pk": 10}, {"fields": {"country": "AR"}, "model": "embargo.country", "pk": 11}, {"fields": {"country": "AM"}, "model": "embargo.country", "pk": 12}, {"fields": {"country": "AW"}, "model": "embargo.country", "pk": 13}, {"fields": {"country": "AU"}, "model": "embargo.country", "pk": 14}, {"fields": {"country": "AT"}, "model": "embargo.country", "pk": 15}, {"fields": {"country": "AZ"}, "model": "embargo.country", "pk": 16}, {"fields": {"country": "BS"}, "model": "embargo.country", "pk": 17}, {"fields": {"country": "BH"}, "model": "embargo.country", "pk": 18}, {"fields": {"country": "BD"}, "model": "embargo.country", "pk": 19}, {"fields": {"country": "BB"}, "model": "embargo.country", "pk": 20}, {"fields": {"country": "BY"}, "model": "embargo.country", "pk": 21}, {"fields": {"country": "BE"}, "model": "embargo.country", "pk": 22}, {"fields": {"country": "BZ"}, "model": "embargo.country", "pk": 23}, {"fields": {"country": "BJ"}, "model": "embargo.country", "pk": 24}, {"fields": {"country": "BM"}, "model": "embargo.country", "pk": 25}, {"fields": {"country": "BT"}, "model": "embargo.country", "pk": 26}, {"fields": {"country": "BO"}, "model": "embargo.country", "pk": 27}, {"fields": {"country": "BQ"}, "model": "embargo.country", "pk": 28}, {"fields": {"country": "BA"}, "model": "embargo.country", "pk": 29}, {"fields": {"country": "BW"}, "model": "embargo.country", "pk": 30}, {"fields": {"country": "BV"}, "model": "embargo.country", "pk": 31}, {"fields": {"country": "BR"}, "model": "embargo.country", "pk": 32}, {"fields": {"country": "IO"}, "model": "embargo.country", "pk": 33}, {"fields": {"country": "BN"}, "model": "embargo.country", "pk": 34}, {"fields": {"country": "BG"}, "model": "embargo.country", "pk": 35}, {"fields": {"country": "BF"}, "model": "embargo.country", "pk": 36}, {"fields": {"country": "BI"}, "model": "embargo.country", "pk": 37}, {"fields": {"country": "CV"}, "model": "embargo.country", "pk": 38}, {"fields": {"country": "KH"}, "model": "embargo.country", "pk": 39}, {"fields": {"country": "CM"}, "model": "embargo.country", "pk": 40}, {"fields": {"country": "CA"}, "model": "embargo.country", "pk": 41}, {"fields": {"country": "KY"}, "model": "embargo.country", "pk": 42}, {"fields": {"country": "CF"}, "model": "embargo.country", "pk": 43}, {"fields": {"country": "TD"}, "model": "embargo.country", "pk": 44}, {"fields": {"country": "CL"}, "model": "embargo.country", "pk": 45}, {"fields": {"country": "CN"}, "model": "embargo.country", "pk": 46}, {"fields": {"country": "CX"}, "model": "embargo.country", "pk": 47}, {"fields": {"country": "CC"}, "model": "embargo.country", "pk": 48}, {"fields": {"country": "CO"}, "model": "embargo.country", "pk": 49}, {"fields": {"country": "KM"}, "model": "embargo.country", "pk": 50}, {"fields": {"country": "CG"}, "model": "embargo.country", "pk": 51}, {"fields": {"country": "CD"}, "model": "embargo.country", "pk": 52}, {"fields": {"country": "CK"}, "model": "embargo.country", "pk": 53}, {"fields": {"country": "CR"}, "model": "embargo.country", "pk": 54}, {"fields": {"country": "CI"}, "model": "embargo.country", "pk": 55}, {"fields": {"country": "HR"}, "model": "embargo.country", "pk": 56}, {"fields": {"country": "CU"}, "model": "embargo.country", "pk": 57}, {"fields": {"country": "CW"}, "model": "embargo.country", "pk": 58}, {"fields": {"country": "CY"}, "model": "embargo.country", "pk": 59}, {"fields": {"country": "CZ"}, "model": "embargo.country", "pk": 60}, {"fields": {"country": "DK"}, "model": "embargo.country", "pk": 61}, {"fields": {"country": "DJ"}, "model": "embargo.country", "pk": 62}, {"fields": {"country": "DM"}, "model": "embargo.country", "pk": 63}, {"fields": {"country": "DO"}, "model": "embargo.country", "pk": 64}, {"fields": {"country": "EC"}, "model": "embargo.country", "pk": 65}, {"fields": {"country": "EG"}, "model": "embargo.country", "pk": 66}, {"fields": {"country": "SV"}, "model": "embargo.country", "pk": 67}, {"fields": {"country": "GQ"}, "model": "embargo.country", "pk": 68}, {"fields": {"country": "ER"}, "model": "embargo.country", "pk": 69}, {"fields": {"country": "EE"}, "model": "embargo.country", "pk": 70}, {"fields": {"country": "ET"}, "model": "embargo.country", "pk": 71}, {"fields": {"country": "FK"}, "model": "embargo.country", "pk": 72}, {"fields": {"country": "FO"}, "model": "embargo.country", "pk": 73}, {"fields": {"country": "FJ"}, "model": "embargo.country", "pk": 74}, {"fields": {"country": "FI"}, "model": "embargo.country", "pk": 75}, {"fields": {"country": "FR"}, "model": "embargo.country", "pk": 76}, {"fields": {"country": "GF"}, "model": "embargo.country", "pk": 77}, {"fields": {"country": "PF"}, "model": "embargo.country", "pk": 78}, {"fields": {"country": "TF"}, "model": "embargo.country", "pk": 79}, {"fields": {"country": "GA"}, "model": "embargo.country", "pk": 80}, {"fields": {"country": "GM"}, "model": "embargo.country", "pk": 81}, {"fields": {"country": "GE"}, "model": "embargo.country", "pk": 82}, {"fields": {"country": "DE"}, "model": "embargo.country", "pk": 83}, {"fields": {"country": "GH"}, "model": "embargo.country", "pk": 84}, {"fields": {"country": "GI"}, "model": "embargo.country", "pk": 85}, {"fields": {"country": "GR"}, "model": "embargo.country", "pk": 86}, {"fields": {"country": "GL"}, "model": "embargo.country", "pk": 87}, {"fields": {"country": "GD"}, "model": "embargo.country", "pk": 88}, {"fields": {"country": "GP"}, "model": "embargo.country", "pk": 89}, {"fields": {"country": "GU"}, "model": "embargo.country", "pk": 90}, {"fields": {"country": "GT"}, "model": "embargo.country", "pk": 91}, {"fields": {"country": "GG"}, "model": "embargo.country", "pk": 92}, {"fields": {"country": "GN"}, "model": "embargo.country", "pk": 93}, {"fields": {"country": "GW"}, "model": "embargo.country", "pk": 94}, {"fields": {"country": "GY"}, "model": "embargo.country", "pk": 95}, {"fields": {"country": "HT"}, "model": "embargo.country", "pk": 96}, {"fields": {"country": "HM"}, "model": "embargo.country", "pk": 97}, {"fields": {"country": "VA"}, "model": "embargo.country", "pk": 98}, {"fields": {"country": "HN"}, "model": "embargo.country", "pk": 99}, {"fields": {"country": "HK"}, "model": "embargo.country", "pk": 100}, {"fields": {"country": "HU"}, "model": "embargo.country", "pk": 101}, {"fields": {"country": "IS"}, "model": "embargo.country", "pk": 102}, {"fields": {"country": "IN"}, "model": "embargo.country", "pk": 103}, {"fields": {"country": "ID"}, "model": "embargo.country", "pk": 104}, {"fields": {"country": "IR"}, "model": "embargo.country", "pk": 105}, {"fields": {"country": "IQ"}, "model": "embargo.country", "pk": 106}, {"fields": {"country": "IE"}, "model": "embargo.country", "pk": 107}, {"fields": {"country": "IM"}, "model": "embargo.country", "pk": 108}, {"fields": {"country": "IL"}, "model": "embargo.country", "pk": 109}, {"fields": {"country": "IT"}, "model": "embargo.country", "pk": 110}, {"fields": {"country": "JM"}, "model": "embargo.country", "pk": 111}, {"fields": {"country": "JP"}, "model": "embargo.country", "pk": 112}, {"fields": {"country": "JE"}, "model": "embargo.country", "pk": 113}, {"fields": {"country": "JO"}, "model": "embargo.country", "pk": 114}, {"fields": {"country": "KZ"}, "model": "embargo.country", "pk": 115}, {"fields": {"country": "KE"}, "model": "embargo.country", "pk": 116}, {"fields": {"country": "KI"}, "model": "embargo.country", "pk": 117}, {"fields": {"country": "KW"}, "model": "embargo.country", "pk": 118}, {"fields": {"country": "KG"}, "model": "embargo.country", "pk": 119}, {"fields": {"country": "LA"}, "model": "embargo.country", "pk": 120}, {"fields": {"country": "LV"}, "model": "embargo.country", "pk": 121}, {"fields": {"country": "LB"}, "model": "embargo.country", "pk": 122}, {"fields": {"country": "LS"}, "model": "embargo.country", "pk": 123}, {"fields": {"country": "LR"}, "model": "embargo.country", "pk": 124}, {"fields": {"country": "LY"}, "model": "embargo.country", "pk": 125}, {"fields": {"country": "LI"}, "model": "embargo.country", "pk": 126}, {"fields": {"country": "LT"}, "model": "embargo.country", "pk": 127}, {"fields": {"country": "LU"}, "model": "embargo.country", "pk": 128}, {"fields": {"country": "MO"}, "model": "embargo.country", "pk": 129}, {"fields": {"country": "MK"}, "model": "embargo.country", "pk": 130}, {"fields": {"country": "MG"}, "model": "embargo.country", "pk": 131}, {"fields": {"country": "MW"}, "model": "embargo.country", "pk": 132}, {"fields": {"country": "MY"}, "model": "embargo.country", "pk": 133}, {"fields": {"country": "MV"}, "model": "embargo.country", "pk": 134}, {"fields": {"country": "ML"}, "model": "embargo.country", "pk": 135}, {"fields": {"country": "MT"}, "model": "embargo.country", "pk": 136}, {"fields": {"country": "MH"}, "model": "embargo.country", "pk": 137}, {"fields": {"country": "MQ"}, "model": "embargo.country", "pk": 138}, {"fields": {"country": "MR"}, "model": "embargo.country", "pk": 139}, {"fields": {"country": "MU"}, "model": "embargo.country", "pk": 140}, {"fields": {"country": "YT"}, "model": "embargo.country", "pk": 141}, {"fields": {"country": "MX"}, "model": "embargo.country", "pk": 142}, {"fields": {"country": "FM"}, "model": "embargo.country", "pk": 143}, {"fields": {"country": "MD"}, "model": "embargo.country", "pk": 144}, {"fields": {"country": "MC"}, "model": "embargo.country", "pk": 145}, {"fields": {"country": "MN"}, "model": "embargo.country", "pk": 146}, {"fields": {"country": "ME"}, "model": "embargo.country", "pk": 147}, {"fields": {"country": "MS"}, "model": "embargo.country", "pk": 148}, {"fields": {"country": "MA"}, "model": "embargo.country", "pk": 149}, {"fields": {"country": "MZ"}, "model": "embargo.country", "pk": 150}, {"fields": {"country": "MM"}, "model": "embargo.country", "pk": 151}, {"fields": {"country": "NA"}, "model": "embargo.country", "pk": 152}, {"fields": {"country": "NR"}, "model": "embargo.country", "pk": 153}, {"fields": {"country": "NP"}, "model": "embargo.country", "pk": 154}, {"fields": {"country": "NL"}, "model": "embargo.country", "pk": 155}, {"fields": {"country": "NC"}, "model": "embargo.country", "pk": 156}, {"fields": {"country": "NZ"}, "model": "embargo.country", "pk": 157}, {"fields": {"country": "NI"}, "model": "embargo.country", "pk": 158}, {"fields": {"country": "NE"}, "model": "embargo.country", "pk": 159}, {"fields": {"country": "NG"}, "model": "embargo.country", "pk": 160}, {"fields": {"country": "NU"}, "model": "embargo.country", "pk": 161}, {"fields": {"country": "NF"}, "model": "embargo.country", "pk": 162}, {"fields": {"country": "KP"}, "model": "embargo.country", "pk": 163}, {"fields": {"country": "MP"}, "model": "embargo.country", "pk": 164}, {"fields": {"country": "NO"}, "model": "embargo.country", "pk": 165}, {"fields": {"country": "OM"}, "model": "embargo.country", "pk": 166}, {"fields": {"country": "PK"}, "model": "embargo.country", "pk": 167}, {"fields": {"country": "PW"}, "model": "embargo.country", "pk": 168}, {"fields": {"country": "PS"}, "model": "embargo.country", "pk": 169}, {"fields": {"country": "PA"}, "model": "embargo.country", "pk": 170}, {"fields": {"country": "PG"}, "model": "embargo.country", "pk": 171}, {"fields": {"country": "PY"}, "model": "embargo.country", "pk": 172}, {"fields": {"country": "PE"}, "model": "embargo.country", "pk": 173}, {"fields": {"country": "PH"}, "model": "embargo.country", "pk": 174}, {"fields": {"country": "PN"}, "model": "embargo.country", "pk": 175}, {"fields": {"country": "PL"}, "model": "embargo.country", "pk": 176}, {"fields": {"country": "PT"}, "model": "embargo.country", "pk": 177}, {"fields": {"country": "PR"}, "model": "embargo.country", "pk": 178}, {"fields": {"country": "QA"}, "model": "embargo.country", "pk": 179}, {"fields": {"country": "RE"}, "model": "embargo.country", "pk": 180}, {"fields": {"country": "RO"}, "model": "embargo.country", "pk": 181}, {"fields": {"country": "RU"}, "model": "embargo.country", "pk": 182}, {"fields": {"country": "RW"}, "model": "embargo.country", "pk": 183}, {"fields": {"country": "BL"}, "model": "embargo.country", "pk": 184}, {"fields": {"country": "SH"}, "model": "embargo.country", "pk": 185}, {"fields": {"country": "KN"}, "model": "embargo.country", "pk": 186}, {"fields": {"country": "LC"}, "model": "embargo.country", "pk": 187}, {"fields": {"country": "MF"}, "model": "embargo.country", "pk": 188}, {"fields": {"country": "PM"}, "model": "embargo.country", "pk": 189}, {"fields": {"country": "VC"}, "model": "embargo.country", "pk": 190}, {"fields": {"country": "WS"}, "model": "embargo.country", "pk": 191}, {"fields": {"country": "SM"}, "model": "embargo.country", "pk": 192}, {"fields": {"country": "ST"}, "model": "embargo.country", "pk": 193}, {"fields": {"country": "SA"}, "model": "embargo.country", "pk": 194}, {"fields": {"country": "SN"}, "model": "embargo.country", "pk": 195}, {"fields": {"country": "RS"}, "model": "embargo.country", "pk": 196}, {"fields": {"country": "SC"}, "model": "embargo.country", "pk": 197}, {"fields": {"country": "SL"}, "model": "embargo.country", "pk": 198}, {"fields": {"country": "SG"}, "model": "embargo.country", "pk": 199}, {"fields": {"country": "SX"}, "model": "embargo.country", "pk": 200}, {"fields": {"country": "SK"}, "model": "embargo.country", "pk": 201}, {"fields": {"country": "SI"}, "model": "embargo.country", "pk": 202}, {"fields": {"country": "SB"}, "model": "embargo.country", "pk": 203}, {"fields": {"country": "SO"}, "model": "embargo.country", "pk": 204}, {"fields": {"country": "ZA"}, "model": "embargo.country", "pk": 205}, {"fields": {"country": "GS"}, "model": "embargo.country", "pk": 206}, {"fields": {"country": "KR"}, "model": "embargo.country", "pk": 207}, {"fields": {"country": "SS"}, "model": "embargo.country", "pk": 208}, {"fields": {"country": "ES"}, "model": "embargo.country", "pk": 209}, {"fields": {"country": "LK"}, "model": "embargo.country", "pk": 210}, {"fields": {"country": "SD"}, "model": "embargo.country", "pk": 211}, {"fields": {"country": "SR"}, "model": "embargo.country", "pk": 212}, {"fields": {"country": "SJ"}, "model": "embargo.country", "pk": 213}, {"fields": {"country": "SZ"}, "model": "embargo.country", "pk": 214}, {"fields": {"country": "SE"}, "model": "embargo.country", "pk": 215}, {"fields": {"country": "CH"}, "model": "embargo.country", "pk": 216}, {"fields": {"country": "SY"}, "model": "embargo.country", "pk": 217}, {"fields": {"country": "TW"}, "model": "embargo.country", "pk": 218}, {"fields": {"country": "TJ"}, "model": "embargo.country", "pk": 219}, {"fields": {"country": "TZ"}, "model": "embargo.country", "pk": 220}, {"fields": {"country": "TH"}, "model": "embargo.country", "pk": 221}, {"fields": {"country": "TL"}, "model": "embargo.country", "pk": 222}, {"fields": {"country": "TG"}, "model": "embargo.country", "pk": 223}, {"fields": {"country": "TK"}, "model": "embargo.country", "pk": 224}, {"fields": {"country": "TO"}, "model": "embargo.country", "pk": 225}, {"fields": {"country": "TT"}, "model": "embargo.country", "pk": 226}, {"fields": {"country": "TN"}, "model": "embargo.country", "pk": 227}, {"fields": {"country": "TR"}, "model": "embargo.country", "pk": 228}, {"fields": {"country": "TM"}, "model": "embargo.country", "pk": 229}, {"fields": {"country": "TC"}, "model": "embargo.country", "pk": 230}, {"fields": {"country": "TV"}, "model": "embargo.country", "pk": 231}, {"fields": {"country": "UG"}, "model": "embargo.country", "pk": 232}, {"fields": {"country": "UA"}, "model": "embargo.country", "pk": 233}, {"fields": {"country": "AE"}, "model": "embargo.country", "pk": 234}, {"fields": {"country": "GB"}, "model": "embargo.country", "pk": 235}, {"fields": {"country": "UM"}, "model": "embargo.country", "pk": 236}, {"fields": {"country": "US"}, "model": "embargo.country", "pk": 237}, {"fields": {"country": "UY"}, "model": "embargo.country", "pk": 238}, {"fields": {"country": "UZ"}, "model": "embargo.country", "pk": 239}, {"fields": {"country": "VU"}, "model": "embargo.country", "pk": 240}, {"fields": {"country": "VE"}, "model": "embargo.country", "pk": 241}, {"fields": {"country": "VN"}, "model": "embargo.country", "pk": 242}, {"fields": {"country": "VG"}, "model": "embargo.country", "pk": 243}, {"fields": {"country": "VI"}, "model": "embargo.country", "pk": 244}, {"fields": {"country": "WF"}, "model": "embargo.country", "pk": 245}, {"fields": {"country": "EH"}, "model": "embargo.country", "pk": 246}, {"fields": {"country": "YE"}, "model": "embargo.country", "pk": 247}, {"fields": {"country": "ZM"}, "model": "embargo.country", "pk": 248}, {"fields": {"country": "ZW"}, "model": "embargo.country", "pk": 249}, {"fields": {"profile_name": "desktop_mp4"}, "model": "edxval.profile", "pk": 1}, {"fields": {"profile_name": "desktop_webm"}, "model": "edxval.profile", "pk": 2}, {"fields": {"profile_name": "mobile_high"}, "model": "edxval.profile", "pk": 3}, {"fields": {"profile_name": "mobile_low"}, "model": "edxval.profile", "pk": 4}, {"fields": {"profile_name": "youtube"}, "model": "edxval.profile", "pk": 5}, {"fields": {"active": true, "description": "Autogenerated milestone relationship type \"fulfills\"", "modified": "2016-01-21T18:53:35.745Z", "name": "fulfills", "created": "2016-01-21T18:53:35.744Z"}, "model": "milestones.milestonerelationshiptype", "pk": 1}, {"fields": {"active": true, "description": "Autogenerated milestone relationship type \"requires\"", "modified": "2016-01-21T18:53:35.747Z", "name": "requires", "created": "2016-01-21T18:53:35.747Z"}, "model": "milestones.milestonerelationshiptype", "pk": 2}, {"fields": {"codename": "add_permission", "name": "Can add permission", "content_type": 1}, "model": "auth.permission", "pk": 1}, {"fields": {"codename": "change_permission", "name": "Can change permission", "content_type": 1}, "model": "auth.permission", "pk": 2}, {"fields": {"codename": "delete_permission", "name": "Can delete permission", "content_type": 1}, "model": "auth.permission", "pk": 3}, {"fields": {"codename": "add_group", "name": "Can add group", "content_type": 2}, "model": "auth.permission", "pk": 4}, {"fields": {"codename": "change_group", "name": "Can change group", "content_type": 2}, "model": "auth.permission", "pk": 5}, {"fields": {"codename": "delete_group", "name": "Can delete group", "content_type": 2}, "model": "auth.permission", "pk": 6}, {"fields": {"codename": "add_user", "name": "Can add user", "content_type": 3}, "model": "auth.permission", "pk": 7}, {"fields": {"codename": "change_user", "name": "Can change user", "content_type": 3}, "model": "auth.permission", "pk": 8}, {"fields": {"codename": "delete_user", "name": "Can delete user", "content_type": 3}, "model": "auth.permission", "pk": 9}, {"fields": {"codename": "add_contenttype", "name": "Can add content type", "content_type": 4}, "model": "auth.permission", "pk": 10}, {"fields": {"codename": "change_contenttype", "name": "Can change content type", "content_type": 4}, "model": "auth.permission", "pk": 11}, {"fields": {"codename": "delete_contenttype", "name": "Can delete content type", "content_type": 4}, "model": "auth.permission", "pk": 12}, {"fields": {"codename": "add_session", "name": "Can add session", "content_type": 5}, "model": "auth.permission", "pk": 13}, {"fields": {"codename": "change_session", "name": "Can change session", "content_type": 5}, "model": "auth.permission", "pk": 14}, {"fields": {"codename": "delete_session", "name": "Can delete session", "content_type": 5}, "model": "auth.permission", "pk": 15}, {"fields": {"codename": "add_site", "name": "Can add site", "content_type": 6}, "model": "auth.permission", "pk": 16}, {"fields": {"codename": "change_site", "name": "Can change site", "content_type": 6}, "model": "auth.permission", "pk": 17}, {"fields": {"codename": "delete_site", "name": "Can delete site", "content_type": 6}, "model": "auth.permission", "pk": 18}, {"fields": {"codename": "add_taskmeta", "name": "Can add task state", "content_type": 7}, "model": "auth.permission", "pk": 19}, {"fields": {"codename": "change_taskmeta", "name": "Can change task state", "content_type": 7}, "model": "auth.permission", "pk": 20}, {"fields": {"codename": "delete_taskmeta", "name": "Can delete task state", "content_type": 7}, "model": "auth.permission", "pk": 21}, {"fields": {"codename": "add_tasksetmeta", "name": "Can add saved group result", "content_type": 8}, "model": "auth.permission", "pk": 22}, {"fields": {"codename": "change_tasksetmeta", "name": "Can change saved group result", "content_type": 8}, "model": "auth.permission", "pk": 23}, {"fields": {"codename": "delete_tasksetmeta", "name": "Can delete saved group result", "content_type": 8}, "model": "auth.permission", "pk": 24}, {"fields": {"codename": "add_intervalschedule", "name": "Can add interval", "content_type": 9}, "model": "auth.permission", "pk": 25}, {"fields": {"codename": "change_intervalschedule", "name": "Can change interval", "content_type": 9}, "model": "auth.permission", "pk": 26}, {"fields": {"codename": "delete_intervalschedule", "name": "Can delete interval", "content_type": 9}, "model": "auth.permission", "pk": 27}, {"fields": {"codename": "add_crontabschedule", "name": "Can add crontab", "content_type": 10}, "model": "auth.permission", "pk": 28}, {"fields": {"codename": "change_crontabschedule", "name": "Can change crontab", "content_type": 10}, "model": "auth.permission", "pk": 29}, {"fields": {"codename": "delete_crontabschedule", "name": "Can delete crontab", "content_type": 10}, "model": "auth.permission", "pk": 30}, {"fields": {"codename": "add_periodictasks", "name": "Can add periodic tasks", "content_type": 11}, "model": "auth.permission", "pk": 31}, {"fields": {"codename": "change_periodictasks", "name": "Can change periodic tasks", "content_type": 11}, "model": "auth.permission", "pk": 32}, {"fields": {"codename": "delete_periodictasks", "name": "Can delete periodic tasks", "content_type": 11}, "model": "auth.permission", "pk": 33}, {"fields": {"codename": "add_periodictask", "name": "Can add periodic task", "content_type": 12}, "model": "auth.permission", "pk": 34}, {"fields": {"codename": "change_periodictask", "name": "Can change periodic task", "content_type": 12}, "model": "auth.permission", "pk": 35}, {"fields": {"codename": "delete_periodictask", "name": "Can delete periodic task", "content_type": 12}, "model": "auth.permission", "pk": 36}, {"fields": {"codename": "add_workerstate", "name": "Can add worker", "content_type": 13}, "model": "auth.permission", "pk": 37}, {"fields": {"codename": "change_workerstate", "name": "Can change worker", "content_type": 13}, "model": "auth.permission", "pk": 38}, {"fields": {"codename": "delete_workerstate", "name": "Can delete worker", "content_type": 13}, "model": "auth.permission", "pk": 39}, {"fields": {"codename": "add_taskstate", "name": "Can add task", "content_type": 14}, "model": "auth.permission", "pk": 40}, {"fields": {"codename": "change_taskstate", "name": "Can change task", "content_type": 14}, "model": "auth.permission", "pk": 41}, {"fields": {"codename": "delete_taskstate", "name": "Can delete task", "content_type": 14}, "model": "auth.permission", "pk": 42}, {"fields": {"codename": "add_globalstatusmessage", "name": "Can add global status message", "content_type": 15}, "model": "auth.permission", "pk": 43}, {"fields": {"codename": "change_globalstatusmessage", "name": "Can change global status message", "content_type": 15}, "model": "auth.permission", "pk": 44}, {"fields": {"codename": "delete_globalstatusmessage", "name": "Can delete global status message", "content_type": 15}, "model": "auth.permission", "pk": 45}, {"fields": {"codename": "add_coursemessage", "name": "Can add course message", "content_type": 16}, "model": "auth.permission", "pk": 46}, {"fields": {"codename": "change_coursemessage", "name": "Can change course message", "content_type": 16}, "model": "auth.permission", "pk": 47}, {"fields": {"codename": "delete_coursemessage", "name": "Can delete course message", "content_type": 16}, "model": "auth.permission", "pk": 48}, {"fields": {"codename": "add_assetbaseurlconfig", "name": "Can add asset base url config", "content_type": 17}, "model": "auth.permission", "pk": 49}, {"fields": {"codename": "change_assetbaseurlconfig", "name": "Can change asset base url config", "content_type": 17}, "model": "auth.permission", "pk": 50}, {"fields": {"codename": "delete_assetbaseurlconfig", "name": "Can delete asset base url config", "content_type": 17}, "model": "auth.permission", "pk": 51}, {"fields": {"codename": "add_studentmodule", "name": "Can add student module", "content_type": 18}, "model": "auth.permission", "pk": 52}, {"fields": {"codename": "change_studentmodule", "name": "Can change student module", "content_type": 18}, "model": "auth.permission", "pk": 53}, {"fields": {"codename": "delete_studentmodule", "name": "Can delete student module", "content_type": 18}, "model": "auth.permission", "pk": 54}, {"fields": {"codename": "add_studentmodulehistory", "name": "Can add student module history", "content_type": 19}, "model": "auth.permission", "pk": 55}, {"fields": {"codename": "change_studentmodulehistory", "name": "Can change student module history", "content_type": 19}, "model": "auth.permission", "pk": 56}, {"fields": {"codename": "delete_studentmodulehistory", "name": "Can delete student module history", "content_type": 19}, "model": "auth.permission", "pk": 57}, {"fields": {"codename": "add_xmoduleuserstatesummaryfield", "name": "Can add x module user state summary field", "content_type": 20}, "model": "auth.permission", "pk": 58}, {"fields": {"codename": "change_xmoduleuserstatesummaryfield", "name": "Can change x module user state summary field", "content_type": 20}, "model": "auth.permission", "pk": 59}, {"fields": {"codename": "delete_xmoduleuserstatesummaryfield", "name": "Can delete x module user state summary field", "content_type": 20}, "model": "auth.permission", "pk": 60}, {"fields": {"codename": "add_xmodulestudentprefsfield", "name": "Can add x module student prefs field", "content_type": 21}, "model": "auth.permission", "pk": 61}, {"fields": {"codename": "change_xmodulestudentprefsfield", "name": "Can change x module student prefs field", "content_type": 21}, "model": "auth.permission", "pk": 62}, {"fields": {"codename": "delete_xmodulestudentprefsfield", "name": "Can delete x module student prefs field", "content_type": 21}, "model": "auth.permission", "pk": 63}, {"fields": {"codename": "add_xmodulestudentinfofield", "name": "Can add x module student info field", "content_type": 22}, "model": "auth.permission", "pk": 64}, {"fields": {"codename": "change_xmodulestudentinfofield", "name": "Can change x module student info field", "content_type": 22}, "model": "auth.permission", "pk": 65}, {"fields": {"codename": "delete_xmodulestudentinfofield", "name": "Can delete x module student info field", "content_type": 22}, "model": "auth.permission", "pk": 66}, {"fields": {"codename": "add_offlinecomputedgrade", "name": "Can add offline computed grade", "content_type": 23}, "model": "auth.permission", "pk": 67}, {"fields": {"codename": "change_offlinecomputedgrade", "name": "Can change offline computed grade", "content_type": 23}, "model": "auth.permission", "pk": 68}, {"fields": {"codename": "delete_offlinecomputedgrade", "name": "Can delete offline computed grade", "content_type": 23}, "model": "auth.permission", "pk": 69}, {"fields": {"codename": "add_offlinecomputedgradelog", "name": "Can add offline computed grade log", "content_type": 24}, "model": "auth.permission", "pk": 70}, {"fields": {"codename": "change_offlinecomputedgradelog", "name": "Can change offline computed grade log", "content_type": 24}, "model": "auth.permission", "pk": 71}, {"fields": {"codename": "delete_offlinecomputedgradelog", "name": "Can delete offline computed grade log", "content_type": 24}, "model": "auth.permission", "pk": 72}, {"fields": {"codename": "add_studentfieldoverride", "name": "Can add student field override", "content_type": 25}, "model": "auth.permission", "pk": 73}, {"fields": {"codename": "change_studentfieldoverride", "name": "Can change student field override", "content_type": 25}, "model": "auth.permission", "pk": 74}, {"fields": {"codename": "delete_studentfieldoverride", "name": "Can delete student field override", "content_type": 25}, "model": "auth.permission", "pk": 75}, {"fields": {"codename": "add_anonymoususerid", "name": "Can add anonymous user id", "content_type": 26}, "model": "auth.permission", "pk": 76}, {"fields": {"codename": "change_anonymoususerid", "name": "Can change anonymous user id", "content_type": 26}, "model": "auth.permission", "pk": 77}, {"fields": {"codename": "delete_anonymoususerid", "name": "Can delete anonymous user id", "content_type": 26}, "model": "auth.permission", "pk": 78}, {"fields": {"codename": "add_userstanding", "name": "Can add user standing", "content_type": 27}, "model": "auth.permission", "pk": 79}, {"fields": {"codename": "change_userstanding", "name": "Can change user standing", "content_type": 27}, "model": "auth.permission", "pk": 80}, {"fields": {"codename": "delete_userstanding", "name": "Can delete user standing", "content_type": 27}, "model": "auth.permission", "pk": 81}, {"fields": {"codename": "add_userprofile", "name": "Can add user profile", "content_type": 28}, "model": "auth.permission", "pk": 82}, {"fields": {"codename": "change_userprofile", "name": "Can change user profile", "content_type": 28}, "model": "auth.permission", "pk": 83}, {"fields": {"codename": "delete_userprofile", "name": "Can delete user profile", "content_type": 28}, "model": "auth.permission", "pk": 84}, {"fields": {"codename": "add_usersignupsource", "name": "Can add user signup source", "content_type": 29}, "model": "auth.permission", "pk": 85}, {"fields": {"codename": "change_usersignupsource", "name": "Can change user signup source", "content_type": 29}, "model": "auth.permission", "pk": 86}, {"fields": {"codename": "delete_usersignupsource", "name": "Can delete user signup source", "content_type": 29}, "model": "auth.permission", "pk": 87}, {"fields": {"codename": "add_usertestgroup", "name": "Can add user test group", "content_type": 30}, "model": "auth.permission", "pk": 88}, {"fields": {"codename": "change_usertestgroup", "name": "Can change user test group", "content_type": 30}, "model": "auth.permission", "pk": 89}, {"fields": {"codename": "delete_usertestgroup", "name": "Can delete user test group", "content_type": 30}, "model": "auth.permission", "pk": 90}, {"fields": {"codename": "add_registration", "name": "Can add registration", "content_type": 31}, "model": "auth.permission", "pk": 91}, {"fields": {"codename": "change_registration", "name": "Can change registration", "content_type": 31}, "model": "auth.permission", "pk": 92}, {"fields": {"codename": "delete_registration", "name": "Can delete registration", "content_type": 31}, "model": "auth.permission", "pk": 93}, {"fields": {"codename": "add_pendingnamechange", "name": "Can add pending name change", "content_type": 32}, "model": "auth.permission", "pk": 94}, {"fields": {"codename": "change_pendingnamechange", "name": "Can change pending name change", "content_type": 32}, "model": "auth.permission", "pk": 95}, {"fields": {"codename": "delete_pendingnamechange", "name": "Can delete pending name change", "content_type": 32}, "model": "auth.permission", "pk": 96}, {"fields": {"codename": "add_pendingemailchange", "name": "Can add pending email change", "content_type": 33}, "model": "auth.permission", "pk": 97}, {"fields": {"codename": "change_pendingemailchange", "name": "Can change pending email change", "content_type": 33}, "model": "auth.permission", "pk": 98}, {"fields": {"codename": "delete_pendingemailchange", "name": "Can delete pending email change", "content_type": 33}, "model": "auth.permission", "pk": 99}, {"fields": {"codename": "add_passwordhistory", "name": "Can add password history", "content_type": 34}, "model": "auth.permission", "pk": 100}, {"fields": {"codename": "change_passwordhistory", "name": "Can change password history", "content_type": 34}, "model": "auth.permission", "pk": 101}, {"fields": {"codename": "delete_passwordhistory", "name": "Can delete password history", "content_type": 34}, "model": "auth.permission", "pk": 102}, {"fields": {"codename": "add_loginfailures", "name": "Can add login failures", "content_type": 35}, "model": "auth.permission", "pk": 103}, {"fields": {"codename": "change_loginfailures", "name": "Can change login failures", "content_type": 35}, "model": "auth.permission", "pk": 104}, {"fields": {"codename": "delete_loginfailures", "name": "Can delete login failures", "content_type": 35}, "model": "auth.permission", "pk": 105}, {"fields": {"codename": "add_historicalcourseenrollment", "name": "Can add historical course enrollment", "content_type": 36}, "model": "auth.permission", "pk": 106}, {"fields": {"codename": "change_historicalcourseenrollment", "name": "Can change historical course enrollment", "content_type": 36}, "model": "auth.permission", "pk": 107}, {"fields": {"codename": "delete_historicalcourseenrollment", "name": "Can delete historical course enrollment", "content_type": 36}, "model": "auth.permission", "pk": 108}, {"fields": {"codename": "add_courseenrollment", "name": "Can add course enrollment", "content_type": 37}, "model": "auth.permission", "pk": 109}, {"fields": {"codename": "change_courseenrollment", "name": "Can change course enrollment", "content_type": 37}, "model": "auth.permission", "pk": 110}, {"fields": {"codename": "delete_courseenrollment", "name": "Can delete course enrollment", "content_type": 37}, "model": "auth.permission", "pk": 111}, {"fields": {"codename": "add_manualenrollmentaudit", "name": "Can add manual enrollment audit", "content_type": 38}, "model": "auth.permission", "pk": 112}, {"fields": {"codename": "change_manualenrollmentaudit", "name": "Can change manual enrollment audit", "content_type": 38}, "model": "auth.permission", "pk": 113}, {"fields": {"codename": "delete_manualenrollmentaudit", "name": "Can delete manual enrollment audit", "content_type": 38}, "model": "auth.permission", "pk": 114}, {"fields": {"codename": "add_courseenrollmentallowed", "name": "Can add course enrollment allowed", "content_type": 39}, "model": "auth.permission", "pk": 115}, {"fields": {"codename": "change_courseenrollmentallowed", "name": "Can change course enrollment allowed", "content_type": 39}, "model": "auth.permission", "pk": 116}, {"fields": {"codename": "delete_courseenrollmentallowed", "name": "Can delete course enrollment allowed", "content_type": 39}, "model": "auth.permission", "pk": 117}, {"fields": {"codename": "add_courseaccessrole", "name": "Can add course access role", "content_type": 40}, "model": "auth.permission", "pk": 118}, {"fields": {"codename": "change_courseaccessrole", "name": "Can change course access role", "content_type": 40}, "model": "auth.permission", "pk": 119}, {"fields": {"codename": "delete_courseaccessrole", "name": "Can delete course access role", "content_type": 40}, "model": "auth.permission", "pk": 120}, {"fields": {"codename": "add_dashboardconfiguration", "name": "Can add dashboard configuration", "content_type": 41}, "model": "auth.permission", "pk": 121}, {"fields": {"codename": "change_dashboardconfiguration", "name": "Can change dashboard configuration", "content_type": 41}, "model": "auth.permission", "pk": 122}, {"fields": {"codename": "delete_dashboardconfiguration", "name": "Can delete dashboard configuration", "content_type": 41}, "model": "auth.permission", "pk": 123}, {"fields": {"codename": "add_linkedinaddtoprofileconfiguration", "name": "Can add linked in add to profile configuration", "content_type": 42}, "model": "auth.permission", "pk": 124}, {"fields": {"codename": "change_linkedinaddtoprofileconfiguration", "name": "Can change linked in add to profile configuration", "content_type": 42}, "model": "auth.permission", "pk": 125}, {"fields": {"codename": "delete_linkedinaddtoprofileconfiguration", "name": "Can delete linked in add to profile configuration", "content_type": 42}, "model": "auth.permission", "pk": 126}, {"fields": {"codename": "add_entranceexamconfiguration", "name": "Can add entrance exam configuration", "content_type": 43}, "model": "auth.permission", "pk": 127}, {"fields": {"codename": "change_entranceexamconfiguration", "name": "Can change entrance exam configuration", "content_type": 43}, "model": "auth.permission", "pk": 128}, {"fields": {"codename": "delete_entranceexamconfiguration", "name": "Can delete entrance exam configuration", "content_type": 43}, "model": "auth.permission", "pk": 129}, {"fields": {"codename": "add_languageproficiency", "name": "Can add language proficiency", "content_type": 44}, "model": "auth.permission", "pk": 130}, {"fields": {"codename": "change_languageproficiency", "name": "Can change language proficiency", "content_type": 44}, "model": "auth.permission", "pk": 131}, {"fields": {"codename": "delete_languageproficiency", "name": "Can delete language proficiency", "content_type": 44}, "model": "auth.permission", "pk": 132}, {"fields": {"codename": "add_courseenrollmentattribute", "name": "Can add course enrollment attribute", "content_type": 45}, "model": "auth.permission", "pk": 133}, {"fields": {"codename": "change_courseenrollmentattribute", "name": "Can change course enrollment attribute", "content_type": 45}, "model": "auth.permission", "pk": 134}, {"fields": {"codename": "delete_courseenrollmentattribute", "name": "Can delete course enrollment attribute", "content_type": 45}, "model": "auth.permission", "pk": 135}, {"fields": {"codename": "add_enrollmentrefundconfiguration", "name": "Can add enrollment refund configuration", "content_type": 46}, "model": "auth.permission", "pk": 136}, {"fields": {"codename": "change_enrollmentrefundconfiguration", "name": "Can change enrollment refund configuration", "content_type": 46}, "model": "auth.permission", "pk": 137}, {"fields": {"codename": "delete_enrollmentrefundconfiguration", "name": "Can delete enrollment refund configuration", "content_type": 46}, "model": "auth.permission", "pk": 138}, {"fields": {"codename": "add_trackinglog", "name": "Can add tracking log", "content_type": 47}, "model": "auth.permission", "pk": 139}, {"fields": {"codename": "change_trackinglog", "name": "Can change tracking log", "content_type": 47}, "model": "auth.permission", "pk": 140}, {"fields": {"codename": "delete_trackinglog", "name": "Can delete tracking log", "content_type": 47}, "model": "auth.permission", "pk": 141}, {"fields": {"codename": "add_ratelimitconfiguration", "name": "Can add rate limit configuration", "content_type": 48}, "model": "auth.permission", "pk": 142}, {"fields": {"codename": "change_ratelimitconfiguration", "name": "Can change rate limit configuration", "content_type": 48}, "model": "auth.permission", "pk": 143}, {"fields": {"codename": "delete_ratelimitconfiguration", "name": "Can delete rate limit configuration", "content_type": 48}, "model": "auth.permission", "pk": 144}, {"fields": {"codename": "add_certificatewhitelist", "name": "Can add certificate whitelist", "content_type": 49}, "model": "auth.permission", "pk": 145}, {"fields": {"codename": "change_certificatewhitelist", "name": "Can change certificate whitelist", "content_type": 49}, "model": "auth.permission", "pk": 146}, {"fields": {"codename": "delete_certificatewhitelist", "name": "Can delete certificate whitelist", "content_type": 49}, "model": "auth.permission", "pk": 147}, {"fields": {"codename": "add_generatedcertificate", "name": "Can add generated certificate", "content_type": 50}, "model": "auth.permission", "pk": 148}, {"fields": {"codename": "change_generatedcertificate", "name": "Can change generated certificate", "content_type": 50}, "model": "auth.permission", "pk": 149}, {"fields": {"codename": "delete_generatedcertificate", "name": "Can delete generated certificate", "content_type": 50}, "model": "auth.permission", "pk": 150}, {"fields": {"codename": "add_certificategenerationhistory", "name": "Can add certificate generation history", "content_type": 51}, "model": "auth.permission", "pk": 151}, {"fields": {"codename": "change_certificategenerationhistory", "name": "Can change certificate generation history", "content_type": 51}, "model": "auth.permission", "pk": 152}, {"fields": {"codename": "delete_certificategenerationhistory", "name": "Can delete certificate generation history", "content_type": 51}, "model": "auth.permission", "pk": 153}, {"fields": {"codename": "add_certificateinvalidation", "name": "Can add certificate invalidation", "content_type": 52}, "model": "auth.permission", "pk": 154}, {"fields": {"codename": "change_certificateinvalidation", "name": "Can change certificate invalidation", "content_type": 52}, "model": "auth.permission", "pk": 155}, {"fields": {"codename": "delete_certificateinvalidation", "name": "Can delete certificate invalidation", "content_type": 52}, "model": "auth.permission", "pk": 156}, {"fields": {"codename": "add_examplecertificateset", "name": "Can add example certificate set", "content_type": 53}, "model": "auth.permission", "pk": 157}, {"fields": {"codename": "change_examplecertificateset", "name": "Can change example certificate set", "content_type": 53}, "model": "auth.permission", "pk": 158}, {"fields": {"codename": "delete_examplecertificateset", "name": "Can delete example certificate set", "content_type": 53}, "model": "auth.permission", "pk": 159}, {"fields": {"codename": "add_examplecertificate", "name": "Can add example certificate", "content_type": 54}, "model": "auth.permission", "pk": 160}, {"fields": {"codename": "change_examplecertificate", "name": "Can change example certificate", "content_type": 54}, "model": "auth.permission", "pk": 161}, {"fields": {"codename": "delete_examplecertificate", "name": "Can delete example certificate", "content_type": 54}, "model": "auth.permission", "pk": 162}, {"fields": {"codename": "add_certificategenerationcoursesetting", "name": "Can add certificate generation course setting", "content_type": 55}, "model": "auth.permission", "pk": 163}, {"fields": {"codename": "change_certificategenerationcoursesetting", "name": "Can change certificate generation course setting", "content_type": 55}, "model": "auth.permission", "pk": 164}, {"fields": {"codename": "delete_certificategenerationcoursesetting", "name": "Can delete certificate generation course setting", "content_type": 55}, "model": "auth.permission", "pk": 165}, {"fields": {"codename": "add_certificategenerationconfiguration", "name": "Can add certificate generation configuration", "content_type": 56}, "model": "auth.permission", "pk": 166}, {"fields": {"codename": "change_certificategenerationconfiguration", "name": "Can change certificate generation configuration", "content_type": 56}, "model": "auth.permission", "pk": 167}, {"fields": {"codename": "delete_certificategenerationconfiguration", "name": "Can delete certificate generation configuration", "content_type": 56}, "model": "auth.permission", "pk": 168}, {"fields": {"codename": "add_certificatehtmlviewconfiguration", "name": "Can add certificate html view configuration", "content_type": 57}, "model": "auth.permission", "pk": 169}, {"fields": {"codename": "change_certificatehtmlviewconfiguration", "name": "Can change certificate html view configuration", "content_type": 57}, "model": "auth.permission", "pk": 170}, {"fields": {"codename": "delete_certificatehtmlviewconfiguration", "name": "Can delete certificate html view configuration", "content_type": 57}, "model": "auth.permission", "pk": 171}, {"fields": {"codename": "add_badgeassertion", "name": "Can add badge assertion", "content_type": 58}, "model": "auth.permission", "pk": 172}, {"fields": {"codename": "change_badgeassertion", "name": "Can change badge assertion", "content_type": 58}, "model": "auth.permission", "pk": 173}, {"fields": {"codename": "delete_badgeassertion", "name": "Can delete badge assertion", "content_type": 58}, "model": "auth.permission", "pk": 174}, {"fields": {"codename": "add_badgeimageconfiguration", "name": "Can add badge image configuration", "content_type": 59}, "model": "auth.permission", "pk": 175}, {"fields": {"codename": "change_badgeimageconfiguration", "name": "Can change badge image configuration", "content_type": 59}, "model": "auth.permission", "pk": 176}, {"fields": {"codename": "delete_badgeimageconfiguration", "name": "Can delete badge image configuration", "content_type": 59}, "model": "auth.permission", "pk": 177}, {"fields": {"codename": "add_certificatetemplate", "name": "Can add certificate template", "content_type": 60}, "model": "auth.permission", "pk": 178}, {"fields": {"codename": "change_certificatetemplate", "name": "Can change certificate template", "content_type": 60}, "model": "auth.permission", "pk": 179}, {"fields": {"codename": "delete_certificatetemplate", "name": "Can delete certificate template", "content_type": 60}, "model": "auth.permission", "pk": 180}, {"fields": {"codename": "add_certificatetemplateasset", "name": "Can add certificate template asset", "content_type": 61}, "model": "auth.permission", "pk": 181}, {"fields": {"codename": "change_certificatetemplateasset", "name": "Can change certificate template asset", "content_type": 61}, "model": "auth.permission", "pk": 182}, {"fields": {"codename": "delete_certificatetemplateasset", "name": "Can delete certificate template asset", "content_type": 61}, "model": "auth.permission", "pk": 183}, {"fields": {"codename": "add_instructortask", "name": "Can add instructor task", "content_type": 62}, "model": "auth.permission", "pk": 184}, {"fields": {"codename": "change_instructortask", "name": "Can change instructor task", "content_type": 62}, "model": "auth.permission", "pk": 185}, {"fields": {"codename": "delete_instructortask", "name": "Can delete instructor task", "content_type": 62}, "model": "auth.permission", "pk": 186}, {"fields": {"codename": "add_courseusergroup", "name": "Can add course user group", "content_type": 63}, "model": "auth.permission", "pk": 187}, {"fields": {"codename": "change_courseusergroup", "name": "Can change course user group", "content_type": 63}, "model": "auth.permission", "pk": 188}, {"fields": {"codename": "delete_courseusergroup", "name": "Can delete course user group", "content_type": 63}, "model": "auth.permission", "pk": 189}, {"fields": {"codename": "add_cohortmembership", "name": "Can add cohort membership", "content_type": 64}, "model": "auth.permission", "pk": 190}, {"fields": {"codename": "change_cohortmembership", "name": "Can change cohort membership", "content_type": 64}, "model": "auth.permission", "pk": 191}, {"fields": {"codename": "delete_cohortmembership", "name": "Can delete cohort membership", "content_type": 64}, "model": "auth.permission", "pk": 192}, {"fields": {"codename": "add_courseusergrouppartitiongroup", "name": "Can add course user group partition group", "content_type": 65}, "model": "auth.permission", "pk": 193}, {"fields": {"codename": "change_courseusergrouppartitiongroup", "name": "Can change course user group partition group", "content_type": 65}, "model": "auth.permission", "pk": 194}, {"fields": {"codename": "delete_courseusergrouppartitiongroup", "name": "Can delete course user group partition group", "content_type": 65}, "model": "auth.permission", "pk": 195}, {"fields": {"codename": "add_coursecohortssettings", "name": "Can add course cohorts settings", "content_type": 66}, "model": "auth.permission", "pk": 196}, {"fields": {"codename": "change_coursecohortssettings", "name": "Can change course cohorts settings", "content_type": 66}, "model": "auth.permission", "pk": 197}, {"fields": {"codename": "delete_coursecohortssettings", "name": "Can delete course cohorts settings", "content_type": 66}, "model": "auth.permission", "pk": 198}, {"fields": {"codename": "add_coursecohort", "name": "Can add course cohort", "content_type": 67}, "model": "auth.permission", "pk": 199}, {"fields": {"codename": "change_coursecohort", "name": "Can change course cohort", "content_type": 67}, "model": "auth.permission", "pk": 200}, {"fields": {"codename": "delete_coursecohort", "name": "Can delete course cohort", "content_type": 67}, "model": "auth.permission", "pk": 201}, {"fields": {"codename": "add_courseemail", "name": "Can add course email", "content_type": 68}, "model": "auth.permission", "pk": 202}, {"fields": {"codename": "change_courseemail", "name": "Can change course email", "content_type": 68}, "model": "auth.permission", "pk": 203}, {"fields": {"codename": "delete_courseemail", "name": "Can delete course email", "content_type": 68}, "model": "auth.permission", "pk": 204}, {"fields": {"codename": "add_optout", "name": "Can add optout", "content_type": 69}, "model": "auth.permission", "pk": 205}, {"fields": {"codename": "change_optout", "name": "Can change optout", "content_type": 69}, "model": "auth.permission", "pk": 206}, {"fields": {"codename": "delete_optout", "name": "Can delete optout", "content_type": 69}, "model": "auth.permission", "pk": 207}, {"fields": {"codename": "add_courseemailtemplate", "name": "Can add course email template", "content_type": 70}, "model": "auth.permission", "pk": 208}, {"fields": {"codename": "change_courseemailtemplate", "name": "Can change course email template", "content_type": 70}, "model": "auth.permission", "pk": 209}, {"fields": {"codename": "delete_courseemailtemplate", "name": "Can delete course email template", "content_type": 70}, "model": "auth.permission", "pk": 210}, {"fields": {"codename": "add_courseauthorization", "name": "Can add course authorization", "content_type": 71}, "model": "auth.permission", "pk": 211}, {"fields": {"codename": "change_courseauthorization", "name": "Can change course authorization", "content_type": 71}, "model": "auth.permission", "pk": 212}, {"fields": {"codename": "delete_courseauthorization", "name": "Can delete course authorization", "content_type": 71}, "model": "auth.permission", "pk": 213}, {"fields": {"codename": "add_brandinginfoconfig", "name": "Can add branding info config", "content_type": 72}, "model": "auth.permission", "pk": 214}, {"fields": {"codename": "change_brandinginfoconfig", "name": "Can change branding info config", "content_type": 72}, "model": "auth.permission", "pk": 215}, {"fields": {"codename": "delete_brandinginfoconfig", "name": "Can delete branding info config", "content_type": 72}, "model": "auth.permission", "pk": 216}, {"fields": {"codename": "add_brandingapiconfig", "name": "Can add branding api config", "content_type": 73}, "model": "auth.permission", "pk": 217}, {"fields": {"codename": "change_brandingapiconfig", "name": "Can change branding api config", "content_type": 73}, "model": "auth.permission", "pk": 218}, {"fields": {"codename": "delete_brandingapiconfig", "name": "Can delete branding api config", "content_type": 73}, "model": "auth.permission", "pk": 219}, {"fields": {"codename": "add_externalauthmap", "name": "Can add external auth map", "content_type": 74}, "model": "auth.permission", "pk": 220}, {"fields": {"codename": "change_externalauthmap", "name": "Can change external auth map", "content_type": 74}, "model": "auth.permission", "pk": 221}, {"fields": {"codename": "delete_externalauthmap", "name": "Can delete external auth map", "content_type": 74}, "model": "auth.permission", "pk": 222}, {"fields": {"codename": "add_nonce", "name": "Can add nonce", "content_type": 75}, "model": "auth.permission", "pk": 223}, {"fields": {"codename": "change_nonce", "name": "Can change nonce", "content_type": 75}, "model": "auth.permission", "pk": 224}, {"fields": {"codename": "delete_nonce", "name": "Can delete nonce", "content_type": 75}, "model": "auth.permission", "pk": 225}, {"fields": {"codename": "add_association", "name": "Can add association", "content_type": 76}, "model": "auth.permission", "pk": 226}, {"fields": {"codename": "change_association", "name": "Can change association", "content_type": 76}, "model": "auth.permission", "pk": 227}, {"fields": {"codename": "delete_association", "name": "Can delete association", "content_type": 76}, "model": "auth.permission", "pk": 228}, {"fields": {"codename": "add_useropenid", "name": "Can add user open id", "content_type": 77}, "model": "auth.permission", "pk": 229}, {"fields": {"codename": "change_useropenid", "name": "Can change user open id", "content_type": 77}, "model": "auth.permission", "pk": 230}, {"fields": {"codename": "delete_useropenid", "name": "Can delete user open id", "content_type": 77}, "model": "auth.permission", "pk": 231}, {"fields": {"codename": "account_verified", "name": "The OpenID has been verified", "content_type": 77}, "model": "auth.permission", "pk": 232}, {"fields": {"codename": "add_client", "name": "Can add client", "content_type": 78}, "model": "auth.permission", "pk": 233}, {"fields": {"codename": "change_client", "name": "Can change client", "content_type": 78}, "model": "auth.permission", "pk": 234}, {"fields": {"codename": "delete_client", "name": "Can delete client", "content_type": 78}, "model": "auth.permission", "pk": 235}, {"fields": {"codename": "add_grant", "name": "Can add grant", "content_type": 79}, "model": "auth.permission", "pk": 236}, {"fields": {"codename": "change_grant", "name": "Can change grant", "content_type": 79}, "model": "auth.permission", "pk": 237}, {"fields": {"codename": "delete_grant", "name": "Can delete grant", "content_type": 79}, "model": "auth.permission", "pk": 238}, {"fields": {"codename": "add_accesstoken", "name": "Can add access token", "content_type": 80}, "model": "auth.permission", "pk": 239}, {"fields": {"codename": "change_accesstoken", "name": "Can change access token", "content_type": 80}, "model": "auth.permission", "pk": 240}, {"fields": {"codename": "delete_accesstoken", "name": "Can delete access token", "content_type": 80}, "model": "auth.permission", "pk": 241}, {"fields": {"codename": "add_refreshtoken", "name": "Can add refresh token", "content_type": 81}, "model": "auth.permission", "pk": 242}, {"fields": {"codename": "change_refreshtoken", "name": "Can change refresh token", "content_type": 81}, "model": "auth.permission", "pk": 243}, {"fields": {"codename": "delete_refreshtoken", "name": "Can delete refresh token", "content_type": 81}, "model": "auth.permission", "pk": 244}, {"fields": {"codename": "add_trustedclient", "name": "Can add trusted client", "content_type": 82}, "model": "auth.permission", "pk": 245}, {"fields": {"codename": "change_trustedclient", "name": "Can change trusted client", "content_type": 82}, "model": "auth.permission", "pk": 246}, {"fields": {"codename": "delete_trustedclient", "name": "Can delete trusted client", "content_type": 82}, "model": "auth.permission", "pk": 247}, {"fields": {"codename": "add_oauth2providerconfig", "name": "Can add Provider Configuration (OAuth)", "content_type": 83}, "model": "auth.permission", "pk": 248}, {"fields": {"codename": "change_oauth2providerconfig", "name": "Can change Provider Configuration (OAuth)", "content_type": 83}, "model": "auth.permission", "pk": 249}, {"fields": {"codename": "delete_oauth2providerconfig", "name": "Can delete Provider Configuration (OAuth)", "content_type": 83}, "model": "auth.permission", "pk": 250}, {"fields": {"codename": "add_samlproviderconfig", "name": "Can add Provider Configuration (SAML IdP)", "content_type": 84}, "model": "auth.permission", "pk": 251}, {"fields": {"codename": "change_samlproviderconfig", "name": "Can change Provider Configuration (SAML IdP)", "content_type": 84}, "model": "auth.permission", "pk": 252}, {"fields": {"codename": "delete_samlproviderconfig", "name": "Can delete Provider Configuration (SAML IdP)", "content_type": 84}, "model": "auth.permission", "pk": 253}, {"fields": {"codename": "add_samlconfiguration", "name": "Can add SAML Configuration", "content_type": 85}, "model": "auth.permission", "pk": 254}, {"fields": {"codename": "change_samlconfiguration", "name": "Can change SAML Configuration", "content_type": 85}, "model": "auth.permission", "pk": 255}, {"fields": {"codename": "delete_samlconfiguration", "name": "Can delete SAML Configuration", "content_type": 85}, "model": "auth.permission", "pk": 256}, {"fields": {"codename": "add_samlproviderdata", "name": "Can add SAML Provider Data", "content_type": 86}, "model": "auth.permission", "pk": 257}, {"fields": {"codename": "change_samlproviderdata", "name": "Can change SAML Provider Data", "content_type": 86}, "model": "auth.permission", "pk": 258}, {"fields": {"codename": "delete_samlproviderdata", "name": "Can delete SAML Provider Data", "content_type": 86}, "model": "auth.permission", "pk": 259}, {"fields": {"codename": "add_ltiproviderconfig", "name": "Can add Provider Configuration (LTI)", "content_type": 87}, "model": "auth.permission", "pk": 260}, {"fields": {"codename": "change_ltiproviderconfig", "name": "Can change Provider Configuration (LTI)", "content_type": 87}, "model": "auth.permission", "pk": 261}, {"fields": {"codename": "delete_ltiproviderconfig", "name": "Can delete Provider Configuration (LTI)", "content_type": 87}, "model": "auth.permission", "pk": 262}, {"fields": {"codename": "add_providerapipermissions", "name": "Can add Provider API Permission", "content_type": 88}, "model": "auth.permission", "pk": 263}, {"fields": {"codename": "change_providerapipermissions", "name": "Can change Provider API Permission", "content_type": 88}, "model": "auth.permission", "pk": 264}, {"fields": {"codename": "delete_providerapipermissions", "name": "Can delete Provider API Permission", "content_type": 88}, "model": "auth.permission", "pk": 265}, {"fields": {"codename": "add_nonce", "name": "Can add nonce", "content_type": 89}, "model": "auth.permission", "pk": 266}, {"fields": {"codename": "change_nonce", "name": "Can change nonce", "content_type": 89}, "model": "auth.permission", "pk": 267}, {"fields": {"codename": "delete_nonce", "name": "Can delete nonce", "content_type": 89}, "model": "auth.permission", "pk": 268}, {"fields": {"codename": "add_scope", "name": "Can add scope", "content_type": 90}, "model": "auth.permission", "pk": 269}, {"fields": {"codename": "change_scope", "name": "Can change scope", "content_type": 90}, "model": "auth.permission", "pk": 270}, {"fields": {"codename": "delete_scope", "name": "Can delete scope", "content_type": 90}, "model": "auth.permission", "pk": 271}, {"fields": {"codename": "add_resource", "name": "Can add resource", "content_type": 90}, "model": "auth.permission", "pk": 272}, {"fields": {"codename": "change_resource", "name": "Can change resource", "content_type": 90}, "model": "auth.permission", "pk": 273}, {"fields": {"codename": "delete_resource", "name": "Can delete resource", "content_type": 90}, "model": "auth.permission", "pk": 274}, {"fields": {"codename": "add_consumer", "name": "Can add consumer", "content_type": 91}, "model": "auth.permission", "pk": 275}, {"fields": {"codename": "change_consumer", "name": "Can change consumer", "content_type": 91}, "model": "auth.permission", "pk": 276}, {"fields": {"codename": "delete_consumer", "name": "Can delete consumer", "content_type": 91}, "model": "auth.permission", "pk": 277}, {"fields": {"codename": "add_token", "name": "Can add token", "content_type": 92}, "model": "auth.permission", "pk": 278}, {"fields": {"codename": "change_token", "name": "Can change token", "content_type": 92}, "model": "auth.permission", "pk": 279}, {"fields": {"codename": "delete_token", "name": "Can delete token", "content_type": 92}, "model": "auth.permission", "pk": 280}, {"fields": {"codename": "add_article", "name": "Can add article", "content_type": 94}, "model": "auth.permission", "pk": 281}, {"fields": {"codename": "change_article", "name": "Can change article", "content_type": 94}, "model": "auth.permission", "pk": 282}, {"fields": {"codename": "delete_article", "name": "Can delete article", "content_type": 94}, "model": "auth.permission", "pk": 283}, {"fields": {"codename": "moderate", "name": "Can edit all articles and lock/unlock/restore", "content_type": 94}, "model": "auth.permission", "pk": 284}, {"fields": {"codename": "assign", "name": "Can change ownership of any article", "content_type": 94}, "model": "auth.permission", "pk": 285}, {"fields": {"codename": "grant", "name": "Can assign permissions to other users", "content_type": 94}, "model": "auth.permission", "pk": 286}, {"fields": {"codename": "add_articleforobject", "name": "Can add Article for object", "content_type": 95}, "model": "auth.permission", "pk": 287}, {"fields": {"codename": "change_articleforobject", "name": "Can change Article for object", "content_type": 95}, "model": "auth.permission", "pk": 288}, {"fields": {"codename": "delete_articleforobject", "name": "Can delete Article for object", "content_type": 95}, "model": "auth.permission", "pk": 289}, {"fields": {"codename": "add_articlerevision", "name": "Can add article revision", "content_type": 96}, "model": "auth.permission", "pk": 290}, {"fields": {"codename": "change_articlerevision", "name": "Can change article revision", "content_type": 96}, "model": "auth.permission", "pk": 291}, {"fields": {"codename": "delete_articlerevision", "name": "Can delete article revision", "content_type": 96}, "model": "auth.permission", "pk": 292}, {"fields": {"codename": "add_urlpath", "name": "Can add URL path", "content_type": 97}, "model": "auth.permission", "pk": 293}, {"fields": {"codename": "change_urlpath", "name": "Can change URL path", "content_type": 97}, "model": "auth.permission", "pk": 294}, {"fields": {"codename": "delete_urlpath", "name": "Can delete URL path", "content_type": 97}, "model": "auth.permission", "pk": 295}, {"fields": {"codename": "add_articleplugin", "name": "Can add article plugin", "content_type": 98}, "model": "auth.permission", "pk": 296}, {"fields": {"codename": "change_articleplugin", "name": "Can change article plugin", "content_type": 98}, "model": "auth.permission", "pk": 297}, {"fields": {"codename": "delete_articleplugin", "name": "Can delete article plugin", "content_type": 98}, "model": "auth.permission", "pk": 298}, {"fields": {"codename": "add_reusableplugin", "name": "Can add reusable plugin", "content_type": 99}, "model": "auth.permission", "pk": 299}, {"fields": {"codename": "change_reusableplugin", "name": "Can change reusable plugin", "content_type": 99}, "model": "auth.permission", "pk": 300}, {"fields": {"codename": "delete_reusableplugin", "name": "Can delete reusable plugin", "content_type": 99}, "model": "auth.permission", "pk": 301}, {"fields": {"codename": "add_simpleplugin", "name": "Can add simple plugin", "content_type": 100}, "model": "auth.permission", "pk": 302}, {"fields": {"codename": "change_simpleplugin", "name": "Can change simple plugin", "content_type": 100}, "model": "auth.permission", "pk": 303}, {"fields": {"codename": "delete_simpleplugin", "name": "Can delete simple plugin", "content_type": 100}, "model": "auth.permission", "pk": 304}, {"fields": {"codename": "add_revisionplugin", "name": "Can add revision plugin", "content_type": 101}, "model": "auth.permission", "pk": 305}, {"fields": {"codename": "change_revisionplugin", "name": "Can change revision plugin", "content_type": 101}, "model": "auth.permission", "pk": 306}, {"fields": {"codename": "delete_revisionplugin", "name": "Can delete revision plugin", "content_type": 101}, "model": "auth.permission", "pk": 307}, {"fields": {"codename": "add_revisionpluginrevision", "name": "Can add revision plugin revision", "content_type": 102}, "model": "auth.permission", "pk": 308}, {"fields": {"codename": "change_revisionpluginrevision", "name": "Can change revision plugin revision", "content_type": 102}, "model": "auth.permission", "pk": 309}, {"fields": {"codename": "delete_revisionpluginrevision", "name": "Can delete revision plugin revision", "content_type": 102}, "model": "auth.permission", "pk": 310}, {"fields": {"codename": "add_image", "name": "Can add image", "content_type": 103}, "model": "auth.permission", "pk": 311}, {"fields": {"codename": "change_image", "name": "Can change image", "content_type": 103}, "model": "auth.permission", "pk": 312}, {"fields": {"codename": "delete_image", "name": "Can delete image", "content_type": 103}, "model": "auth.permission", "pk": 313}, {"fields": {"codename": "add_imagerevision", "name": "Can add image revision", "content_type": 104}, "model": "auth.permission", "pk": 314}, {"fields": {"codename": "change_imagerevision", "name": "Can change image revision", "content_type": 104}, "model": "auth.permission", "pk": 315}, {"fields": {"codename": "delete_imagerevision", "name": "Can delete image revision", "content_type": 104}, "model": "auth.permission", "pk": 316}, {"fields": {"codename": "add_attachment", "name": "Can add attachment", "content_type": 105}, "model": "auth.permission", "pk": 317}, {"fields": {"codename": "change_attachment", "name": "Can change attachment", "content_type": 105}, "model": "auth.permission", "pk": 318}, {"fields": {"codename": "delete_attachment", "name": "Can delete attachment", "content_type": 105}, "model": "auth.permission", "pk": 319}, {"fields": {"codename": "add_attachmentrevision", "name": "Can add attachment revision", "content_type": 106}, "model": "auth.permission", "pk": 320}, {"fields": {"codename": "change_attachmentrevision", "name": "Can change attachment revision", "content_type": 106}, "model": "auth.permission", "pk": 321}, {"fields": {"codename": "delete_attachmentrevision", "name": "Can delete attachment revision", "content_type": 106}, "model": "auth.permission", "pk": 322}, {"fields": {"codename": "add_notificationtype", "name": "Can add type", "content_type": 107}, "model": "auth.permission", "pk": 323}, {"fields": {"codename": "change_notificationtype", "name": "Can change type", "content_type": 107}, "model": "auth.permission", "pk": 324}, {"fields": {"codename": "delete_notificationtype", "name": "Can delete type", "content_type": 107}, "model": "auth.permission", "pk": 325}, {"fields": {"codename": "add_settings", "name": "Can add settings", "content_type": 108}, "model": "auth.permission", "pk": 326}, {"fields": {"codename": "change_settings", "name": "Can change settings", "content_type": 108}, "model": "auth.permission", "pk": 327}, {"fields": {"codename": "delete_settings", "name": "Can delete settings", "content_type": 108}, "model": "auth.permission", "pk": 328}, {"fields": {"codename": "add_subscription", "name": "Can add subscription", "content_type": 109}, "model": "auth.permission", "pk": 329}, {"fields": {"codename": "change_subscription", "name": "Can change subscription", "content_type": 109}, "model": "auth.permission", "pk": 330}, {"fields": {"codename": "delete_subscription", "name": "Can delete subscription", "content_type": 109}, "model": "auth.permission", "pk": 331}, {"fields": {"codename": "add_notification", "name": "Can add notification", "content_type": 110}, "model": "auth.permission", "pk": 332}, {"fields": {"codename": "change_notification", "name": "Can change notification", "content_type": 110}, "model": "auth.permission", "pk": 333}, {"fields": {"codename": "delete_notification", "name": "Can delete notification", "content_type": 110}, "model": "auth.permission", "pk": 334}, {"fields": {"codename": "add_logentry", "name": "Can add log entry", "content_type": 111}, "model": "auth.permission", "pk": 335}, {"fields": {"codename": "change_logentry", "name": "Can change log entry", "content_type": 111}, "model": "auth.permission", "pk": 336}, {"fields": {"codename": "delete_logentry", "name": "Can delete log entry", "content_type": 111}, "model": "auth.permission", "pk": 337}, {"fields": {"codename": "add_role", "name": "Can add role", "content_type": 112}, "model": "auth.permission", "pk": 338}, {"fields": {"codename": "change_role", "name": "Can change role", "content_type": 112}, "model": "auth.permission", "pk": 339}, {"fields": {"codename": "delete_role", "name": "Can delete role", "content_type": 112}, "model": "auth.permission", "pk": 340}, {"fields": {"codename": "add_permission", "name": "Can add permission", "content_type": 113}, "model": "auth.permission", "pk": 341}, {"fields": {"codename": "change_permission", "name": "Can change permission", "content_type": 113}, "model": "auth.permission", "pk": 342}, {"fields": {"codename": "delete_permission", "name": "Can delete permission", "content_type": 113}, "model": "auth.permission", "pk": 343}, {"fields": {"codename": "add_note", "name": "Can add note", "content_type": 114}, "model": "auth.permission", "pk": 344}, {"fields": {"codename": "change_note", "name": "Can change note", "content_type": 114}, "model": "auth.permission", "pk": 345}, {"fields": {"codename": "delete_note", "name": "Can delete note", "content_type": 114}, "model": "auth.permission", "pk": 346}, {"fields": {"codename": "add_splashconfig", "name": "Can add splash config", "content_type": 115}, "model": "auth.permission", "pk": 347}, {"fields": {"codename": "change_splashconfig", "name": "Can change splash config", "content_type": 115}, "model": "auth.permission", "pk": 348}, {"fields": {"codename": "delete_splashconfig", "name": "Can delete splash config", "content_type": 115}, "model": "auth.permission", "pk": 349}, {"fields": {"codename": "add_userpreference", "name": "Can add user preference", "content_type": 116}, "model": "auth.permission", "pk": 350}, {"fields": {"codename": "change_userpreference", "name": "Can change user preference", "content_type": 116}, "model": "auth.permission", "pk": 351}, {"fields": {"codename": "delete_userpreference", "name": "Can delete user preference", "content_type": 116}, "model": "auth.permission", "pk": 352}, {"fields": {"codename": "add_usercoursetag", "name": "Can add user course tag", "content_type": 117}, "model": "auth.permission", "pk": 353}, {"fields": {"codename": "change_usercoursetag", "name": "Can change user course tag", "content_type": 117}, "model": "auth.permission", "pk": 354}, {"fields": {"codename": "delete_usercoursetag", "name": "Can delete user course tag", "content_type": 117}, "model": "auth.permission", "pk": 355}, {"fields": {"codename": "add_userorgtag", "name": "Can add user org tag", "content_type": 118}, "model": "auth.permission", "pk": 356}, {"fields": {"codename": "change_userorgtag", "name": "Can change user org tag", "content_type": 118}, "model": "auth.permission", "pk": 357}, {"fields": {"codename": "delete_userorgtag", "name": "Can delete user org tag", "content_type": 118}, "model": "auth.permission", "pk": 358}, {"fields": {"codename": "add_order", "name": "Can add order", "content_type": 119}, "model": "auth.permission", "pk": 359}, {"fields": {"codename": "change_order", "name": "Can change order", "content_type": 119}, "model": "auth.permission", "pk": 360}, {"fields": {"codename": "delete_order", "name": "Can delete order", "content_type": 119}, "model": "auth.permission", "pk": 361}, {"fields": {"codename": "add_orderitem", "name": "Can add order item", "content_type": 120}, "model": "auth.permission", "pk": 362}, {"fields": {"codename": "change_orderitem", "name": "Can change order item", "content_type": 120}, "model": "auth.permission", "pk": 363}, {"fields": {"codename": "delete_orderitem", "name": "Can delete order item", "content_type": 120}, "model": "auth.permission", "pk": 364}, {"fields": {"codename": "add_invoice", "name": "Can add invoice", "content_type": 121}, "model": "auth.permission", "pk": 365}, {"fields": {"codename": "change_invoice", "name": "Can change invoice", "content_type": 121}, "model": "auth.permission", "pk": 366}, {"fields": {"codename": "delete_invoice", "name": "Can delete invoice", "content_type": 121}, "model": "auth.permission", "pk": 367}, {"fields": {"codename": "add_invoicetransaction", "name": "Can add invoice transaction", "content_type": 122}, "model": "auth.permission", "pk": 368}, {"fields": {"codename": "change_invoicetransaction", "name": "Can change invoice transaction", "content_type": 122}, "model": "auth.permission", "pk": 369}, {"fields": {"codename": "delete_invoicetransaction", "name": "Can delete invoice transaction", "content_type": 122}, "model": "auth.permission", "pk": 370}, {"fields": {"codename": "add_invoiceitem", "name": "Can add invoice item", "content_type": 123}, "model": "auth.permission", "pk": 371}, {"fields": {"codename": "change_invoiceitem", "name": "Can change invoice item", "content_type": 123}, "model": "auth.permission", "pk": 372}, {"fields": {"codename": "delete_invoiceitem", "name": "Can delete invoice item", "content_type": 123}, "model": "auth.permission", "pk": 373}, {"fields": {"codename": "add_courseregistrationcodeinvoiceitem", "name": "Can add course registration code invoice item", "content_type": 124}, "model": "auth.permission", "pk": 374}, {"fields": {"codename": "change_courseregistrationcodeinvoiceitem", "name": "Can change course registration code invoice item", "content_type": 124}, "model": "auth.permission", "pk": 375}, {"fields": {"codename": "delete_courseregistrationcodeinvoiceitem", "name": "Can delete course registration code invoice item", "content_type": 124}, "model": "auth.permission", "pk": 376}, {"fields": {"codename": "add_invoicehistory", "name": "Can add invoice history", "content_type": 125}, "model": "auth.permission", "pk": 377}, {"fields": {"codename": "change_invoicehistory", "name": "Can change invoice history", "content_type": 125}, "model": "auth.permission", "pk": 378}, {"fields": {"codename": "delete_invoicehistory", "name": "Can delete invoice history", "content_type": 125}, "model": "auth.permission", "pk": 379}, {"fields": {"codename": "add_courseregistrationcode", "name": "Can add course registration code", "content_type": 126}, "model": "auth.permission", "pk": 380}, {"fields": {"codename": "change_courseregistrationcode", "name": "Can change course registration code", "content_type": 126}, "model": "auth.permission", "pk": 381}, {"fields": {"codename": "delete_courseregistrationcode", "name": "Can delete course registration code", "content_type": 126}, "model": "auth.permission", "pk": 382}, {"fields": {"codename": "add_registrationcoderedemption", "name": "Can add registration code redemption", "content_type": 127}, "model": "auth.permission", "pk": 383}, {"fields": {"codename": "change_registrationcoderedemption", "name": "Can change registration code redemption", "content_type": 127}, "model": "auth.permission", "pk": 384}, {"fields": {"codename": "delete_registrationcoderedemption", "name": "Can delete registration code redemption", "content_type": 127}, "model": "auth.permission", "pk": 385}, {"fields": {"codename": "add_coupon", "name": "Can add coupon", "content_type": 128}, "model": "auth.permission", "pk": 386}, {"fields": {"codename": "change_coupon", "name": "Can change coupon", "content_type": 128}, "model": "auth.permission", "pk": 387}, {"fields": {"codename": "delete_coupon", "name": "Can delete coupon", "content_type": 128}, "model": "auth.permission", "pk": 388}, {"fields": {"codename": "add_couponredemption", "name": "Can add coupon redemption", "content_type": 129}, "model": "auth.permission", "pk": 389}, {"fields": {"codename": "change_couponredemption", "name": "Can change coupon redemption", "content_type": 129}, "model": "auth.permission", "pk": 390}, {"fields": {"codename": "delete_couponredemption", "name": "Can delete coupon redemption", "content_type": 129}, "model": "auth.permission", "pk": 391}, {"fields": {"codename": "add_paidcourseregistration", "name": "Can add paid course registration", "content_type": 130}, "model": "auth.permission", "pk": 392}, {"fields": {"codename": "change_paidcourseregistration", "name": "Can change paid course registration", "content_type": 130}, "model": "auth.permission", "pk": 393}, {"fields": {"codename": "delete_paidcourseregistration", "name": "Can delete paid course registration", "content_type": 130}, "model": "auth.permission", "pk": 394}, {"fields": {"codename": "add_courseregcodeitem", "name": "Can add course reg code item", "content_type": 131}, "model": "auth.permission", "pk": 395}, {"fields": {"codename": "change_courseregcodeitem", "name": "Can change course reg code item", "content_type": 131}, "model": "auth.permission", "pk": 396}, {"fields": {"codename": "delete_courseregcodeitem", "name": "Can delete course reg code item", "content_type": 131}, "model": "auth.permission", "pk": 397}, {"fields": {"codename": "add_courseregcodeitemannotation", "name": "Can add course reg code item annotation", "content_type": 132}, "model": "auth.permission", "pk": 398}, {"fields": {"codename": "change_courseregcodeitemannotation", "name": "Can change course reg code item annotation", "content_type": 132}, "model": "auth.permission", "pk": 399}, {"fields": {"codename": "delete_courseregcodeitemannotation", "name": "Can delete course reg code item annotation", "content_type": 132}, "model": "auth.permission", "pk": 400}, {"fields": {"codename": "add_paidcourseregistrationannotation", "name": "Can add paid course registration annotation", "content_type": 133}, "model": "auth.permission", "pk": 401}, {"fields": {"codename": "change_paidcourseregistrationannotation", "name": "Can change paid course registration annotation", "content_type": 133}, "model": "auth.permission", "pk": 402}, {"fields": {"codename": "delete_paidcourseregistrationannotation", "name": "Can delete paid course registration annotation", "content_type": 133}, "model": "auth.permission", "pk": 403}, {"fields": {"codename": "add_certificateitem", "name": "Can add certificate item", "content_type": 134}, "model": "auth.permission", "pk": 404}, {"fields": {"codename": "change_certificateitem", "name": "Can change certificate item", "content_type": 134}, "model": "auth.permission", "pk": 405}, {"fields": {"codename": "delete_certificateitem", "name": "Can delete certificate item", "content_type": 134}, "model": "auth.permission", "pk": 406}, {"fields": {"codename": "add_donationconfiguration", "name": "Can add donation configuration", "content_type": 135}, "model": "auth.permission", "pk": 407}, {"fields": {"codename": "change_donationconfiguration", "name": "Can change donation configuration", "content_type": 135}, "model": "auth.permission", "pk": 408}, {"fields": {"codename": "delete_donationconfiguration", "name": "Can delete donation configuration", "content_type": 135}, "model": "auth.permission", "pk": 409}, {"fields": {"codename": "add_donation", "name": "Can add donation", "content_type": 136}, "model": "auth.permission", "pk": 410}, {"fields": {"codename": "change_donation", "name": "Can change donation", "content_type": 136}, "model": "auth.permission", "pk": 411}, {"fields": {"codename": "delete_donation", "name": "Can delete donation", "content_type": 136}, "model": "auth.permission", "pk": 412}, {"fields": {"codename": "add_coursemode", "name": "Can add course mode", "content_type": 137}, "model": "auth.permission", "pk": 413}, {"fields": {"codename": "change_coursemode", "name": "Can change course mode", "content_type": 137}, "model": "auth.permission", "pk": 414}, {"fields": {"codename": "delete_coursemode", "name": "Can delete course mode", "content_type": 137}, "model": "auth.permission", "pk": 415}, {"fields": {"codename": "add_coursemodesarchive", "name": "Can add course modes archive", "content_type": 138}, "model": "auth.permission", "pk": 416}, {"fields": {"codename": "change_coursemodesarchive", "name": "Can change course modes archive", "content_type": 138}, "model": "auth.permission", "pk": 417}, {"fields": {"codename": "delete_coursemodesarchive", "name": "Can delete course modes archive", "content_type": 138}, "model": "auth.permission", "pk": 418}, {"fields": {"codename": "add_coursemodeexpirationconfig", "name": "Can add course mode expiration config", "content_type": 139}, "model": "auth.permission", "pk": 419}, {"fields": {"codename": "change_coursemodeexpirationconfig", "name": "Can change course mode expiration config", "content_type": 139}, "model": "auth.permission", "pk": 420}, {"fields": {"codename": "delete_coursemodeexpirationconfig", "name": "Can delete course mode expiration config", "content_type": 139}, "model": "auth.permission", "pk": 421}, {"fields": {"codename": "add_softwaresecurephotoverification", "name": "Can add software secure photo verification", "content_type": 140}, "model": "auth.permission", "pk": 422}, {"fields": {"codename": "change_softwaresecurephotoverification", "name": "Can change software secure photo verification", "content_type": 140}, "model": "auth.permission", "pk": 423}, {"fields": {"codename": "delete_softwaresecurephotoverification", "name": "Can delete software secure photo verification", "content_type": 140}, "model": "auth.permission", "pk": 424}, {"fields": {"codename": "add_historicalverificationdeadline", "name": "Can add historical verification deadline", "content_type": 141}, "model": "auth.permission", "pk": 425}, {"fields": {"codename": "change_historicalverificationdeadline", "name": "Can change historical verification deadline", "content_type": 141}, "model": "auth.permission", "pk": 426}, {"fields": {"codename": "delete_historicalverificationdeadline", "name": "Can delete historical verification deadline", "content_type": 141}, "model": "auth.permission", "pk": 427}, {"fields": {"codename": "add_verificationdeadline", "name": "Can add verification deadline", "content_type": 142}, "model": "auth.permission", "pk": 428}, {"fields": {"codename": "change_verificationdeadline", "name": "Can change verification deadline", "content_type": 142}, "model": "auth.permission", "pk": 429}, {"fields": {"codename": "delete_verificationdeadline", "name": "Can delete verification deadline", "content_type": 142}, "model": "auth.permission", "pk": 430}, {"fields": {"codename": "add_verificationcheckpoint", "name": "Can add verification checkpoint", "content_type": 143}, "model": "auth.permission", "pk": 431}, {"fields": {"codename": "change_verificationcheckpoint", "name": "Can change verification checkpoint", "content_type": 143}, "model": "auth.permission", "pk": 432}, {"fields": {"codename": "delete_verificationcheckpoint", "name": "Can delete verification checkpoint", "content_type": 143}, "model": "auth.permission", "pk": 433}, {"fields": {"codename": "add_verificationstatus", "name": "Can add Verification Status", "content_type": 144}, "model": "auth.permission", "pk": 434}, {"fields": {"codename": "change_verificationstatus", "name": "Can change Verification Status", "content_type": 144}, "model": "auth.permission", "pk": 435}, {"fields": {"codename": "delete_verificationstatus", "name": "Can delete Verification Status", "content_type": 144}, "model": "auth.permission", "pk": 436}, {"fields": {"codename": "add_incoursereverificationconfiguration", "name": "Can add in course reverification configuration", "content_type": 145}, "model": "auth.permission", "pk": 437}, {"fields": {"codename": "change_incoursereverificationconfiguration", "name": "Can change in course reverification configuration", "content_type": 145}, "model": "auth.permission", "pk": 438}, {"fields": {"codename": "delete_incoursereverificationconfiguration", "name": "Can delete in course reverification configuration", "content_type": 145}, "model": "auth.permission", "pk": 439}, {"fields": {"codename": "add_icrvstatusemailsconfiguration", "name": "Can add icrv status emails configuration", "content_type": 146}, "model": "auth.permission", "pk": 440}, {"fields": {"codename": "change_icrvstatusemailsconfiguration", "name": "Can change icrv status emails configuration", "content_type": 146}, "model": "auth.permission", "pk": 441}, {"fields": {"codename": "delete_icrvstatusemailsconfiguration", "name": "Can delete icrv status emails configuration", "content_type": 146}, "model": "auth.permission", "pk": 442}, {"fields": {"codename": "add_skippedreverification", "name": "Can add skipped reverification", "content_type": 147}, "model": "auth.permission", "pk": 443}, {"fields": {"codename": "change_skippedreverification", "name": "Can change skipped reverification", "content_type": 147}, "model": "auth.permission", "pk": 444}, {"fields": {"codename": "delete_skippedreverification", "name": "Can delete skipped reverification", "content_type": 147}, "model": "auth.permission", "pk": 445}, {"fields": {"codename": "add_darklangconfig", "name": "Can add dark lang config", "content_type": 148}, "model": "auth.permission", "pk": 446}, {"fields": {"codename": "change_darklangconfig", "name": "Can change dark lang config", "content_type": 148}, "model": "auth.permission", "pk": 447}, {"fields": {"codename": "delete_darklangconfig", "name": "Can delete dark lang config", "content_type": 148}, "model": "auth.permission", "pk": 448}, {"fields": {"codename": "add_microsite", "name": "Can add microsite", "content_type": 149}, "model": "auth.permission", "pk": 449}, {"fields": {"codename": "change_microsite", "name": "Can change microsite", "content_type": 149}, "model": "auth.permission", "pk": 450}, {"fields": {"codename": "delete_microsite", "name": "Can delete microsite", "content_type": 149}, "model": "auth.permission", "pk": 451}, {"fields": {"codename": "add_micrositehistory", "name": "Can add microsite history", "content_type": 150}, "model": "auth.permission", "pk": 452}, {"fields": {"codename": "change_micrositehistory", "name": "Can change microsite history", "content_type": 150}, "model": "auth.permission", "pk": 453}, {"fields": {"codename": "delete_micrositehistory", "name": "Can delete microsite history", "content_type": 150}, "model": "auth.permission", "pk": 454}, {"fields": {"codename": "add_historicalmicrositeorganizationmapping", "name": "Can add historical microsite organization mapping", "content_type": 151}, "model": "auth.permission", "pk": 455}, {"fields": {"codename": "change_historicalmicrositeorganizationmapping", "name": "Can change historical microsite organization mapping", "content_type": 151}, "model": "auth.permission", "pk": 456}, {"fields": {"codename": "delete_historicalmicrositeorganizationmapping", "name": "Can delete historical microsite organization mapping", "content_type": 151}, "model": "auth.permission", "pk": 457}, {"fields": {"codename": "add_micrositeorganizationmapping", "name": "Can add microsite organization mapping", "content_type": 152}, "model": "auth.permission", "pk": 458}, {"fields": {"codename": "change_micrositeorganizationmapping", "name": "Can change microsite organization mapping", "content_type": 152}, "model": "auth.permission", "pk": 459}, {"fields": {"codename": "delete_micrositeorganizationmapping", "name": "Can delete microsite organization mapping", "content_type": 152}, "model": "auth.permission", "pk": 460}, {"fields": {"codename": "add_historicalmicrositetemplate", "name": "Can add historical microsite template", "content_type": 153}, "model": "auth.permission", "pk": 461}, {"fields": {"codename": "change_historicalmicrositetemplate", "name": "Can change historical microsite template", "content_type": 153}, "model": "auth.permission", "pk": 462}, {"fields": {"codename": "delete_historicalmicrositetemplate", "name": "Can delete historical microsite template", "content_type": 153}, "model": "auth.permission", "pk": 463}, {"fields": {"codename": "add_micrositetemplate", "name": "Can add microsite template", "content_type": 154}, "model": "auth.permission", "pk": 464}, {"fields": {"codename": "change_micrositetemplate", "name": "Can change microsite template", "content_type": 154}, "model": "auth.permission", "pk": 465}, {"fields": {"codename": "delete_micrositetemplate", "name": "Can delete microsite template", "content_type": 154}, "model": "auth.permission", "pk": 466}, {"fields": {"codename": "add_whitelistedrssurl", "name": "Can add whitelisted rss url", "content_type": 155}, "model": "auth.permission", "pk": 467}, {"fields": {"codename": "change_whitelistedrssurl", "name": "Can change whitelisted rss url", "content_type": 155}, "model": "auth.permission", "pk": 468}, {"fields": {"codename": "delete_whitelistedrssurl", "name": "Can delete whitelisted rss url", "content_type": 155}, "model": "auth.permission", "pk": 469}, {"fields": {"codename": "add_embargoedcourse", "name": "Can add embargoed course", "content_type": 156}, "model": "auth.permission", "pk": 470}, {"fields": {"codename": "change_embargoedcourse", "name": "Can change embargoed course", "content_type": 156}, "model": "auth.permission", "pk": 471}, {"fields": {"codename": "delete_embargoedcourse", "name": "Can delete embargoed course", "content_type": 156}, "model": "auth.permission", "pk": 472}, {"fields": {"codename": "add_embargoedstate", "name": "Can add embargoed state", "content_type": 157}, "model": "auth.permission", "pk": 473}, {"fields": {"codename": "change_embargoedstate", "name": "Can change embargoed state", "content_type": 157}, "model": "auth.permission", "pk": 474}, {"fields": {"codename": "delete_embargoedstate", "name": "Can delete embargoed state", "content_type": 157}, "model": "auth.permission", "pk": 475}, {"fields": {"codename": "add_restrictedcourse", "name": "Can add restricted course", "content_type": 158}, "model": "auth.permission", "pk": 476}, {"fields": {"codename": "change_restrictedcourse", "name": "Can change restricted course", "content_type": 158}, "model": "auth.permission", "pk": 477}, {"fields": {"codename": "delete_restrictedcourse", "name": "Can delete restricted course", "content_type": 158}, "model": "auth.permission", "pk": 478}, {"fields": {"codename": "add_country", "name": "Can add country", "content_type": 159}, "model": "auth.permission", "pk": 479}, {"fields": {"codename": "change_country", "name": "Can change country", "content_type": 159}, "model": "auth.permission", "pk": 480}, {"fields": {"codename": "delete_country", "name": "Can delete country", "content_type": 159}, "model": "auth.permission", "pk": 481}, {"fields": {"codename": "add_countryaccessrule", "name": "Can add country access rule", "content_type": 160}, "model": "auth.permission", "pk": 482}, {"fields": {"codename": "change_countryaccessrule", "name": "Can change country access rule", "content_type": 160}, "model": "auth.permission", "pk": 483}, {"fields": {"codename": "delete_countryaccessrule", "name": "Can delete country access rule", "content_type": 160}, "model": "auth.permission", "pk": 484}, {"fields": {"codename": "add_courseaccessrulehistory", "name": "Can add course access rule history", "content_type": 161}, "model": "auth.permission", "pk": 485}, {"fields": {"codename": "change_courseaccessrulehistory", "name": "Can change course access rule history", "content_type": 161}, "model": "auth.permission", "pk": 486}, {"fields": {"codename": "delete_courseaccessrulehistory", "name": "Can delete course access rule history", "content_type": 161}, "model": "auth.permission", "pk": 487}, {"fields": {"codename": "add_ipfilter", "name": "Can add ip filter", "content_type": 162}, "model": "auth.permission", "pk": 488}, {"fields": {"codename": "change_ipfilter", "name": "Can change ip filter", "content_type": 162}, "model": "auth.permission", "pk": 489}, {"fields": {"codename": "delete_ipfilter", "name": "Can delete ip filter", "content_type": 162}, "model": "auth.permission", "pk": 490}, {"fields": {"codename": "add_coursererunstate", "name": "Can add course rerun state", "content_type": 163}, "model": "auth.permission", "pk": 491}, {"fields": {"codename": "change_coursererunstate", "name": "Can change course rerun state", "content_type": 163}, "model": "auth.permission", "pk": 492}, {"fields": {"codename": "delete_coursererunstate", "name": "Can delete course rerun state", "content_type": 163}, "model": "auth.permission", "pk": 493}, {"fields": {"codename": "add_mobileapiconfig", "name": "Can add mobile api config", "content_type": 164}, "model": "auth.permission", "pk": 494}, {"fields": {"codename": "change_mobileapiconfig", "name": "Can change mobile api config", "content_type": 164}, "model": "auth.permission", "pk": 495}, {"fields": {"codename": "delete_mobileapiconfig", "name": "Can delete mobile api config", "content_type": 164}, "model": "auth.permission", "pk": 496}, {"fields": {"codename": "add_usersocialauth", "name": "Can add user social auth", "content_type": 165}, "model": "auth.permission", "pk": 497}, {"fields": {"codename": "change_usersocialauth", "name": "Can change user social auth", "content_type": 165}, "model": "auth.permission", "pk": 498}, {"fields": {"codename": "delete_usersocialauth", "name": "Can delete user social auth", "content_type": 165}, "model": "auth.permission", "pk": 499}, {"fields": {"codename": "add_nonce", "name": "Can add nonce", "content_type": 166}, "model": "auth.permission", "pk": 500}, {"fields": {"codename": "change_nonce", "name": "Can change nonce", "content_type": 166}, "model": "auth.permission", "pk": 501}, {"fields": {"codename": "delete_nonce", "name": "Can delete nonce", "content_type": 166}, "model": "auth.permission", "pk": 502}, {"fields": {"codename": "add_association", "name": "Can add association", "content_type": 167}, "model": "auth.permission", "pk": 503}, {"fields": {"codename": "change_association", "name": "Can change association", "content_type": 167}, "model": "auth.permission", "pk": 504}, {"fields": {"codename": "delete_association", "name": "Can delete association", "content_type": 167}, "model": "auth.permission", "pk": 505}, {"fields": {"codename": "add_code", "name": "Can add code", "content_type": 168}, "model": "auth.permission", "pk": 506}, {"fields": {"codename": "change_code", "name": "Can change code", "content_type": 168}, "model": "auth.permission", "pk": 507}, {"fields": {"codename": "delete_code", "name": "Can delete code", "content_type": 168}, "model": "auth.permission", "pk": 508}, {"fields": {"codename": "add_surveyform", "name": "Can add survey form", "content_type": 169}, "model": "auth.permission", "pk": 509}, {"fields": {"codename": "change_surveyform", "name": "Can change survey form", "content_type": 169}, "model": "auth.permission", "pk": 510}, {"fields": {"codename": "delete_surveyform", "name": "Can delete survey form", "content_type": 169}, "model": "auth.permission", "pk": 511}, {"fields": {"codename": "add_surveyanswer", "name": "Can add survey answer", "content_type": 170}, "model": "auth.permission", "pk": 512}, {"fields": {"codename": "change_surveyanswer", "name": "Can change survey answer", "content_type": 170}, "model": "auth.permission", "pk": 513}, {"fields": {"codename": "delete_surveyanswer", "name": "Can delete survey answer", "content_type": 170}, "model": "auth.permission", "pk": 514}, {"fields": {"codename": "add_xblockasidesconfig", "name": "Can add x block asides config", "content_type": 171}, "model": "auth.permission", "pk": 515}, {"fields": {"codename": "change_xblockasidesconfig", "name": "Can change x block asides config", "content_type": 171}, "model": "auth.permission", "pk": 516}, {"fields": {"codename": "delete_xblockasidesconfig", "name": "Can delete x block asides config", "content_type": 171}, "model": "auth.permission", "pk": 517}, {"fields": {"codename": "add_courseoverview", "name": "Can add course overview", "content_type": 172}, "model": "auth.permission", "pk": 518}, {"fields": {"codename": "change_courseoverview", "name": "Can change course overview", "content_type": 172}, "model": "auth.permission", "pk": 519}, {"fields": {"codename": "delete_courseoverview", "name": "Can delete course overview", "content_type": 172}, "model": "auth.permission", "pk": 520}, {"fields": {"codename": "add_courseoverviewtab", "name": "Can add course overview tab", "content_type": 173}, "model": "auth.permission", "pk": 521}, {"fields": {"codename": "change_courseoverviewtab", "name": "Can change course overview tab", "content_type": 173}, "model": "auth.permission", "pk": 522}, {"fields": {"codename": "delete_courseoverviewtab", "name": "Can delete course overview tab", "content_type": 173}, "model": "auth.permission", "pk": 523}, {"fields": {"codename": "add_courseoverviewimageset", "name": "Can add course overview image set", "content_type": 174}, "model": "auth.permission", "pk": 524}, {"fields": {"codename": "change_courseoverviewimageset", "name": "Can change course overview image set", "content_type": 174}, "model": "auth.permission", "pk": 525}, {"fields": {"codename": "delete_courseoverviewimageset", "name": "Can delete course overview image set", "content_type": 174}, "model": "auth.permission", "pk": 526}, {"fields": {"codename": "add_courseoverviewimageconfig", "name": "Can add course overview image config", "content_type": 175}, "model": "auth.permission", "pk": 527}, {"fields": {"codename": "change_courseoverviewimageconfig", "name": "Can change course overview image config", "content_type": 175}, "model": "auth.permission", "pk": 528}, {"fields": {"codename": "delete_courseoverviewimageconfig", "name": "Can delete course overview image config", "content_type": 175}, "model": "auth.permission", "pk": 529}, {"fields": {"codename": "add_coursestructure", "name": "Can add course structure", "content_type": 176}, "model": "auth.permission", "pk": 530}, {"fields": {"codename": "change_coursestructure", "name": "Can change course structure", "content_type": 176}, "model": "auth.permission", "pk": 531}, {"fields": {"codename": "delete_coursestructure", "name": "Can delete course structure", "content_type": 176}, "model": "auth.permission", "pk": 532}, {"fields": {"codename": "add_corsmodel", "name": "Can add cors model", "content_type": 177}, "model": "auth.permission", "pk": 533}, {"fields": {"codename": "change_corsmodel", "name": "Can change cors model", "content_type": 177}, "model": "auth.permission", "pk": 534}, {"fields": {"codename": "delete_corsmodel", "name": "Can delete cors model", "content_type": 177}, "model": "auth.permission", "pk": 535}, {"fields": {"codename": "add_xdomainproxyconfiguration", "name": "Can add x domain proxy configuration", "content_type": 178}, "model": "auth.permission", "pk": 536}, {"fields": {"codename": "change_xdomainproxyconfiguration", "name": "Can change x domain proxy configuration", "content_type": 178}, "model": "auth.permission", "pk": 537}, {"fields": {"codename": "delete_xdomainproxyconfiguration", "name": "Can delete x domain proxy configuration", "content_type": 178}, "model": "auth.permission", "pk": 538}, {"fields": {"codename": "add_creditprovider", "name": "Can add credit provider", "content_type": 179}, "model": "auth.permission", "pk": 539}, {"fields": {"codename": "change_creditprovider", "name": "Can change credit provider", "content_type": 179}, "model": "auth.permission", "pk": 540}, {"fields": {"codename": "delete_creditprovider", "name": "Can delete credit provider", "content_type": 179}, "model": "auth.permission", "pk": 541}, {"fields": {"codename": "add_creditcourse", "name": "Can add credit course", "content_type": 180}, "model": "auth.permission", "pk": 542}, {"fields": {"codename": "change_creditcourse", "name": "Can change credit course", "content_type": 180}, "model": "auth.permission", "pk": 543}, {"fields": {"codename": "delete_creditcourse", "name": "Can delete credit course", "content_type": 180}, "model": "auth.permission", "pk": 544}, {"fields": {"codename": "add_creditrequirement", "name": "Can add credit requirement", "content_type": 181}, "model": "auth.permission", "pk": 545}, {"fields": {"codename": "change_creditrequirement", "name": "Can change credit requirement", "content_type": 181}, "model": "auth.permission", "pk": 546}, {"fields": {"codename": "delete_creditrequirement", "name": "Can delete credit requirement", "content_type": 181}, "model": "auth.permission", "pk": 547}, {"fields": {"codename": "add_historicalcreditrequirementstatus", "name": "Can add historical credit requirement status", "content_type": 182}, "model": "auth.permission", "pk": 548}, {"fields": {"codename": "change_historicalcreditrequirementstatus", "name": "Can change historical credit requirement status", "content_type": 182}, "model": "auth.permission", "pk": 549}, {"fields": {"codename": "delete_historicalcreditrequirementstatus", "name": "Can delete historical credit requirement status", "content_type": 182}, "model": "auth.permission", "pk": 550}, {"fields": {"codename": "add_creditrequirementstatus", "name": "Can add credit requirement status", "content_type": 183}, "model": "auth.permission", "pk": 551}, {"fields": {"codename": "change_creditrequirementstatus", "name": "Can change credit requirement status", "content_type": 183}, "model": "auth.permission", "pk": 552}, {"fields": {"codename": "delete_creditrequirementstatus", "name": "Can delete credit requirement status", "content_type": 183}, "model": "auth.permission", "pk": 553}, {"fields": {"codename": "add_crediteligibility", "name": "Can add credit eligibility", "content_type": 184}, "model": "auth.permission", "pk": 554}, {"fields": {"codename": "change_crediteligibility", "name": "Can change credit eligibility", "content_type": 184}, "model": "auth.permission", "pk": 555}, {"fields": {"codename": "delete_crediteligibility", "name": "Can delete credit eligibility", "content_type": 184}, "model": "auth.permission", "pk": 556}, {"fields": {"codename": "add_historicalcreditrequest", "name": "Can add historical credit request", "content_type": 185}, "model": "auth.permission", "pk": 557}, {"fields": {"codename": "change_historicalcreditrequest", "name": "Can change historical credit request", "content_type": 185}, "model": "auth.permission", "pk": 558}, {"fields": {"codename": "delete_historicalcreditrequest", "name": "Can delete historical credit request", "content_type": 185}, "model": "auth.permission", "pk": 559}, {"fields": {"codename": "add_creditrequest", "name": "Can add credit request", "content_type": 186}, "model": "auth.permission", "pk": 560}, {"fields": {"codename": "change_creditrequest", "name": "Can change credit request", "content_type": 186}, "model": "auth.permission", "pk": 561}, {"fields": {"codename": "delete_creditrequest", "name": "Can delete credit request", "content_type": 186}, "model": "auth.permission", "pk": 562}, {"fields": {"codename": "add_courseteam", "name": "Can add course team", "content_type": 187}, "model": "auth.permission", "pk": 563}, {"fields": {"codename": "change_courseteam", "name": "Can change course team", "content_type": 187}, "model": "auth.permission", "pk": 564}, {"fields": {"codename": "delete_courseteam", "name": "Can delete course team", "content_type": 187}, "model": "auth.permission", "pk": 565}, {"fields": {"codename": "add_courseteammembership", "name": "Can add course team membership", "content_type": 188}, "model": "auth.permission", "pk": 566}, {"fields": {"codename": "change_courseteammembership", "name": "Can change course team membership", "content_type": 188}, "model": "auth.permission", "pk": 567}, {"fields": {"codename": "delete_courseteammembership", "name": "Can delete course team membership", "content_type": 188}, "model": "auth.permission", "pk": 568}, {"fields": {"codename": "add_xblockdisableconfig", "name": "Can add x block disable config", "content_type": 189}, "model": "auth.permission", "pk": 569}, {"fields": {"codename": "change_xblockdisableconfig", "name": "Can change x block disable config", "content_type": 189}, "model": "auth.permission", "pk": 570}, {"fields": {"codename": "delete_xblockdisableconfig", "name": "Can delete x block disable config", "content_type": 189}, "model": "auth.permission", "pk": 571}, {"fields": {"codename": "add_bookmark", "name": "Can add bookmark", "content_type": 190}, "model": "auth.permission", "pk": 572}, {"fields": {"codename": "change_bookmark", "name": "Can change bookmark", "content_type": 190}, "model": "auth.permission", "pk": 573}, {"fields": {"codename": "delete_bookmark", "name": "Can delete bookmark", "content_type": 190}, "model": "auth.permission", "pk": 574}, {"fields": {"codename": "add_xblockcache", "name": "Can add x block cache", "content_type": 191}, "model": "auth.permission", "pk": 575}, {"fields": {"codename": "change_xblockcache", "name": "Can change x block cache", "content_type": 191}, "model": "auth.permission", "pk": 576}, {"fields": {"codename": "delete_xblockcache", "name": "Can delete x block cache", "content_type": 191}, "model": "auth.permission", "pk": 577}, {"fields": {"codename": "add_programsapiconfig", "name": "Can add programs api config", "content_type": 192}, "model": "auth.permission", "pk": 578}, {"fields": {"codename": "change_programsapiconfig", "name": "Can change programs api config", "content_type": 192}, "model": "auth.permission", "pk": 579}, {"fields": {"codename": "delete_programsapiconfig", "name": "Can delete programs api config", "content_type": 192}, "model": "auth.permission", "pk": 580}, {"fields": {"codename": "add_selfpacedconfiguration", "name": "Can add self paced configuration", "content_type": 193}, "model": "auth.permission", "pk": 581}, {"fields": {"codename": "change_selfpacedconfiguration", "name": "Can change self paced configuration", "content_type": 193}, "model": "auth.permission", "pk": 582}, {"fields": {"codename": "delete_selfpacedconfiguration", "name": "Can delete self paced configuration", "content_type": 193}, "model": "auth.permission", "pk": 583}, {"fields": {"codename": "add_kvstore", "name": "Can add kv store", "content_type": 194}, "model": "auth.permission", "pk": 584}, {"fields": {"codename": "change_kvstore", "name": "Can change kv store", "content_type": 194}, "model": "auth.permission", "pk": 585}, {"fields": {"codename": "delete_kvstore", "name": "Can delete kv store", "content_type": 194}, "model": "auth.permission", "pk": 586}, {"fields": {"codename": "add_studentitem", "name": "Can add student item", "content_type": 195}, "model": "auth.permission", "pk": 587}, {"fields": {"codename": "change_studentitem", "name": "Can change student item", "content_type": 195}, "model": "auth.permission", "pk": 588}, {"fields": {"codename": "delete_studentitem", "name": "Can delete student item", "content_type": 195}, "model": "auth.permission", "pk": 589}, {"fields": {"codename": "add_submission", "name": "Can add submission", "content_type": 196}, "model": "auth.permission", "pk": 590}, {"fields": {"codename": "change_submission", "name": "Can change submission", "content_type": 196}, "model": "auth.permission", "pk": 591}, {"fields": {"codename": "delete_submission", "name": "Can delete submission", "content_type": 196}, "model": "auth.permission", "pk": 592}, {"fields": {"codename": "add_score", "name": "Can add score", "content_type": 197}, "model": "auth.permission", "pk": 593}, {"fields": {"codename": "change_score", "name": "Can change score", "content_type": 197}, "model": "auth.permission", "pk": 594}, {"fields": {"codename": "delete_score", "name": "Can delete score", "content_type": 197}, "model": "auth.permission", "pk": 595}, {"fields": {"codename": "add_scoresummary", "name": "Can add score summary", "content_type": 198}, "model": "auth.permission", "pk": 596}, {"fields": {"codename": "change_scoresummary", "name": "Can change score summary", "content_type": 198}, "model": "auth.permission", "pk": 597}, {"fields": {"codename": "delete_scoresummary", "name": "Can delete score summary", "content_type": 198}, "model": "auth.permission", "pk": 598}, {"fields": {"codename": "add_scoreannotation", "name": "Can add score annotation", "content_type": 199}, "model": "auth.permission", "pk": 599}, {"fields": {"codename": "change_scoreannotation", "name": "Can change score annotation", "content_type": 199}, "model": "auth.permission", "pk": 600}, {"fields": {"codename": "delete_scoreannotation", "name": "Can delete score annotation", "content_type": 199}, "model": "auth.permission", "pk": 601}, {"fields": {"codename": "add_rubric", "name": "Can add rubric", "content_type": 200}, "model": "auth.permission", "pk": 602}, {"fields": {"codename": "change_rubric", "name": "Can change rubric", "content_type": 200}, "model": "auth.permission", "pk": 603}, {"fields": {"codename": "delete_rubric", "name": "Can delete rubric", "content_type": 200}, "model": "auth.permission", "pk": 604}, {"fields": {"codename": "add_criterion", "name": "Can add criterion", "content_type": 201}, "model": "auth.permission", "pk": 605}, {"fields": {"codename": "change_criterion", "name": "Can change criterion", "content_type": 201}, "model": "auth.permission", "pk": 606}, {"fields": {"codename": "delete_criterion", "name": "Can delete criterion", "content_type": 201}, "model": "auth.permission", "pk": 607}, {"fields": {"codename": "add_criterionoption", "name": "Can add criterion option", "content_type": 202}, "model": "auth.permission", "pk": 608}, {"fields": {"codename": "change_criterionoption", "name": "Can change criterion option", "content_type": 202}, "model": "auth.permission", "pk": 609}, {"fields": {"codename": "delete_criterionoption", "name": "Can delete criterion option", "content_type": 202}, "model": "auth.permission", "pk": 610}, {"fields": {"codename": "add_assessment", "name": "Can add assessment", "content_type": 203}, "model": "auth.permission", "pk": 611}, {"fields": {"codename": "change_assessment", "name": "Can change assessment", "content_type": 203}, "model": "auth.permission", "pk": 612}, {"fields": {"codename": "delete_assessment", "name": "Can delete assessment", "content_type": 203}, "model": "auth.permission", "pk": 613}, {"fields": {"codename": "add_assessmentpart", "name": "Can add assessment part", "content_type": 204}, "model": "auth.permission", "pk": 614}, {"fields": {"codename": "change_assessmentpart", "name": "Can change assessment part", "content_type": 204}, "model": "auth.permission", "pk": 615}, {"fields": {"codename": "delete_assessmentpart", "name": "Can delete assessment part", "content_type": 204}, "model": "auth.permission", "pk": 616}, {"fields": {"codename": "add_assessmentfeedbackoption", "name": "Can add assessment feedback option", "content_type": 205}, "model": "auth.permission", "pk": 617}, {"fields": {"codename": "change_assessmentfeedbackoption", "name": "Can change assessment feedback option", "content_type": 205}, "model": "auth.permission", "pk": 618}, {"fields": {"codename": "delete_assessmentfeedbackoption", "name": "Can delete assessment feedback option", "content_type": 205}, "model": "auth.permission", "pk": 619}, {"fields": {"codename": "add_assessmentfeedback", "name": "Can add assessment feedback", "content_type": 206}, "model": "auth.permission", "pk": 620}, {"fields": {"codename": "change_assessmentfeedback", "name": "Can change assessment feedback", "content_type": 206}, "model": "auth.permission", "pk": 621}, {"fields": {"codename": "delete_assessmentfeedback", "name": "Can delete assessment feedback", "content_type": 206}, "model": "auth.permission", "pk": 622}, {"fields": {"codename": "add_peerworkflow", "name": "Can add peer workflow", "content_type": 207}, "model": "auth.permission", "pk": 623}, {"fields": {"codename": "change_peerworkflow", "name": "Can change peer workflow", "content_type": 207}, "model": "auth.permission", "pk": 624}, {"fields": {"codename": "delete_peerworkflow", "name": "Can delete peer workflow", "content_type": 207}, "model": "auth.permission", "pk": 625}, {"fields": {"codename": "add_peerworkflowitem", "name": "Can add peer workflow item", "content_type": 208}, "model": "auth.permission", "pk": 626}, {"fields": {"codename": "change_peerworkflowitem", "name": "Can change peer workflow item", "content_type": 208}, "model": "auth.permission", "pk": 627}, {"fields": {"codename": "delete_peerworkflowitem", "name": "Can delete peer workflow item", "content_type": 208}, "model": "auth.permission", "pk": 628}, {"fields": {"codename": "add_trainingexample", "name": "Can add training example", "content_type": 209}, "model": "auth.permission", "pk": 629}, {"fields": {"codename": "change_trainingexample", "name": "Can change training example", "content_type": 209}, "model": "auth.permission", "pk": 630}, {"fields": {"codename": "delete_trainingexample", "name": "Can delete training example", "content_type": 209}, "model": "auth.permission", "pk": 631}, {"fields": {"codename": "add_studenttrainingworkflow", "name": "Can add student training workflow", "content_type": 210}, "model": "auth.permission", "pk": 632}, {"fields": {"codename": "change_studenttrainingworkflow", "name": "Can change student training workflow", "content_type": 210}, "model": "auth.permission", "pk": 633}, {"fields": {"codename": "delete_studenttrainingworkflow", "name": "Can delete student training workflow", "content_type": 210}, "model": "auth.permission", "pk": 634}, {"fields": {"codename": "add_studenttrainingworkflowitem", "name": "Can add student training workflow item", "content_type": 211}, "model": "auth.permission", "pk": 635}, {"fields": {"codename": "change_studenttrainingworkflowitem", "name": "Can change student training workflow item", "content_type": 211}, "model": "auth.permission", "pk": 636}, {"fields": {"codename": "delete_studenttrainingworkflowitem", "name": "Can delete student training workflow item", "content_type": 211}, "model": "auth.permission", "pk": 637}, {"fields": {"codename": "add_aiclassifierset", "name": "Can add ai classifier set", "content_type": 212}, "model": "auth.permission", "pk": 638}, {"fields": {"codename": "change_aiclassifierset", "name": "Can change ai classifier set", "content_type": 212}, "model": "auth.permission", "pk": 639}, {"fields": {"codename": "delete_aiclassifierset", "name": "Can delete ai classifier set", "content_type": 212}, "model": "auth.permission", "pk": 640}, {"fields": {"codename": "add_aiclassifier", "name": "Can add ai classifier", "content_type": 213}, "model": "auth.permission", "pk": 641}, {"fields": {"codename": "change_aiclassifier", "name": "Can change ai classifier", "content_type": 213}, "model": "auth.permission", "pk": 642}, {"fields": {"codename": "delete_aiclassifier", "name": "Can delete ai classifier", "content_type": 213}, "model": "auth.permission", "pk": 643}, {"fields": {"codename": "add_aitrainingworkflow", "name": "Can add ai training workflow", "content_type": 214}, "model": "auth.permission", "pk": 644}, {"fields": {"codename": "change_aitrainingworkflow", "name": "Can change ai training workflow", "content_type": 214}, "model": "auth.permission", "pk": 645}, {"fields": {"codename": "delete_aitrainingworkflow", "name": "Can delete ai training workflow", "content_type": 214}, "model": "auth.permission", "pk": 646}, {"fields": {"codename": "add_aigradingworkflow", "name": "Can add ai grading workflow", "content_type": 215}, "model": "auth.permission", "pk": 647}, {"fields": {"codename": "change_aigradingworkflow", "name": "Can change ai grading workflow", "content_type": 215}, "model": "auth.permission", "pk": 648}, {"fields": {"codename": "delete_aigradingworkflow", "name": "Can delete ai grading workflow", "content_type": 215}, "model": "auth.permission", "pk": 649}, {"fields": {"codename": "add_staffworkflow", "name": "Can add staff workflow", "content_type": 216}, "model": "auth.permission", "pk": 650}, {"fields": {"codename": "change_staffworkflow", "name": "Can change staff workflow", "content_type": 216}, "model": "auth.permission", "pk": 651}, {"fields": {"codename": "delete_staffworkflow", "name": "Can delete staff workflow", "content_type": 216}, "model": "auth.permission", "pk": 652}, {"fields": {"codename": "add_assessmentworkflow", "name": "Can add assessment workflow", "content_type": 217}, "model": "auth.permission", "pk": 653}, {"fields": {"codename": "change_assessmentworkflow", "name": "Can change assessment workflow", "content_type": 217}, "model": "auth.permission", "pk": 654}, {"fields": {"codename": "delete_assessmentworkflow", "name": "Can delete assessment workflow", "content_type": 217}, "model": "auth.permission", "pk": 655}, {"fields": {"codename": "add_assessmentworkflowstep", "name": "Can add assessment workflow step", "content_type": 218}, "model": "auth.permission", "pk": 656}, {"fields": {"codename": "change_assessmentworkflowstep", "name": "Can change assessment workflow step", "content_type": 218}, "model": "auth.permission", "pk": 657}, {"fields": {"codename": "delete_assessmentworkflowstep", "name": "Can delete assessment workflow step", "content_type": 218}, "model": "auth.permission", "pk": 658}, {"fields": {"codename": "add_assessmentworkflowcancellation", "name": "Can add assessment workflow cancellation", "content_type": 219}, "model": "auth.permission", "pk": 659}, {"fields": {"codename": "change_assessmentworkflowcancellation", "name": "Can change assessment workflow cancellation", "content_type": 219}, "model": "auth.permission", "pk": 660}, {"fields": {"codename": "delete_assessmentworkflowcancellation", "name": "Can delete assessment workflow cancellation", "content_type": 219}, "model": "auth.permission", "pk": 661}, {"fields": {"codename": "add_profile", "name": "Can add profile", "content_type": 220}, "model": "auth.permission", "pk": 662}, {"fields": {"codename": "change_profile", "name": "Can change profile", "content_type": 220}, "model": "auth.permission", "pk": 663}, {"fields": {"codename": "delete_profile", "name": "Can delete profile", "content_type": 220}, "model": "auth.permission", "pk": 664}, {"fields": {"codename": "add_video", "name": "Can add video", "content_type": 221}, "model": "auth.permission", "pk": 665}, {"fields": {"codename": "change_video", "name": "Can change video", "content_type": 221}, "model": "auth.permission", "pk": 666}, {"fields": {"codename": "delete_video", "name": "Can delete video", "content_type": 221}, "model": "auth.permission", "pk": 667}, {"fields": {"codename": "add_coursevideo", "name": "Can add course video", "content_type": 222}, "model": "auth.permission", "pk": 668}, {"fields": {"codename": "change_coursevideo", "name": "Can change course video", "content_type": 222}, "model": "auth.permission", "pk": 669}, {"fields": {"codename": "delete_coursevideo", "name": "Can delete course video", "content_type": 222}, "model": "auth.permission", "pk": 670}, {"fields": {"codename": "add_encodedvideo", "name": "Can add encoded video", "content_type": 223}, "model": "auth.permission", "pk": 671}, {"fields": {"codename": "change_encodedvideo", "name": "Can change encoded video", "content_type": 223}, "model": "auth.permission", "pk": 672}, {"fields": {"codename": "delete_encodedvideo", "name": "Can delete encoded video", "content_type": 223}, "model": "auth.permission", "pk": 673}, {"fields": {"codename": "add_subtitle", "name": "Can add subtitle", "content_type": 224}, "model": "auth.permission", "pk": 674}, {"fields": {"codename": "change_subtitle", "name": "Can change subtitle", "content_type": 224}, "model": "auth.permission", "pk": 675}, {"fields": {"codename": "delete_subtitle", "name": "Can delete subtitle", "content_type": 224}, "model": "auth.permission", "pk": 676}, {"fields": {"codename": "add_milestone", "name": "Can add milestone", "content_type": 225}, "model": "auth.permission", "pk": 677}, {"fields": {"codename": "change_milestone", "name": "Can change milestone", "content_type": 225}, "model": "auth.permission", "pk": 678}, {"fields": {"codename": "delete_milestone", "name": "Can delete milestone", "content_type": 225}, "model": "auth.permission", "pk": 679}, {"fields": {"codename": "add_milestonerelationshiptype", "name": "Can add milestone relationship type", "content_type": 226}, "model": "auth.permission", "pk": 680}, {"fields": {"codename": "change_milestonerelationshiptype", "name": "Can change milestone relationship type", "content_type": 226}, "model": "auth.permission", "pk": 681}, {"fields": {"codename": "delete_milestonerelationshiptype", "name": "Can delete milestone relationship type", "content_type": 226}, "model": "auth.permission", "pk": 682}, {"fields": {"codename": "add_coursemilestone", "name": "Can add course milestone", "content_type": 227}, "model": "auth.permission", "pk": 683}, {"fields": {"codename": "change_coursemilestone", "name": "Can change course milestone", "content_type": 227}, "model": "auth.permission", "pk": 684}, {"fields": {"codename": "delete_coursemilestone", "name": "Can delete course milestone", "content_type": 227}, "model": "auth.permission", "pk": 685}, {"fields": {"codename": "add_coursecontentmilestone", "name": "Can add course content milestone", "content_type": 228}, "model": "auth.permission", "pk": 686}, {"fields": {"codename": "change_coursecontentmilestone", "name": "Can change course content milestone", "content_type": 228}, "model": "auth.permission", "pk": 687}, {"fields": {"codename": "delete_coursecontentmilestone", "name": "Can delete course content milestone", "content_type": 228}, "model": "auth.permission", "pk": 688}, {"fields": {"codename": "add_usermilestone", "name": "Can add user milestone", "content_type": 229}, "model": "auth.permission", "pk": 689}, {"fields": {"codename": "change_usermilestone", "name": "Can change user milestone", "content_type": 229}, "model": "auth.permission", "pk": 690}, {"fields": {"codename": "delete_usermilestone", "name": "Can delete user milestone", "content_type": 229}, "model": "auth.permission", "pk": 691}, {"fields": {"codename": "add_proctoredexam", "name": "Can add proctored exam", "content_type": 230}, "model": "auth.permission", "pk": 692}, {"fields": {"codename": "change_proctoredexam", "name": "Can change proctored exam", "content_type": 230}, "model": "auth.permission", "pk": 693}, {"fields": {"codename": "delete_proctoredexam", "name": "Can delete proctored exam", "content_type": 230}, "model": "auth.permission", "pk": 694}, {"fields": {"codename": "add_proctoredexamreviewpolicy", "name": "Can add Proctored exam review policy", "content_type": 231}, "model": "auth.permission", "pk": 695}, {"fields": {"codename": "change_proctoredexamreviewpolicy", "name": "Can change Proctored exam review policy", "content_type": 231}, "model": "auth.permission", "pk": 696}, {"fields": {"codename": "delete_proctoredexamreviewpolicy", "name": "Can delete Proctored exam review policy", "content_type": 231}, "model": "auth.permission", "pk": 697}, {"fields": {"codename": "add_proctoredexamreviewpolicyhistory", "name": "Can add proctored exam review policy history", "content_type": 232}, "model": "auth.permission", "pk": 698}, {"fields": {"codename": "change_proctoredexamreviewpolicyhistory", "name": "Can change proctored exam review policy history", "content_type": 232}, "model": "auth.permission", "pk": 699}, {"fields": {"codename": "delete_proctoredexamreviewpolicyhistory", "name": "Can delete proctored exam review policy history", "content_type": 232}, "model": "auth.permission", "pk": 700}, {"fields": {"codename": "add_proctoredexamstudentattempt", "name": "Can add proctored exam attempt", "content_type": 233}, "model": "auth.permission", "pk": 701}, {"fields": {"codename": "change_proctoredexamstudentattempt", "name": "Can change proctored exam attempt", "content_type": 233}, "model": "auth.permission", "pk": 702}, {"fields": {"codename": "delete_proctoredexamstudentattempt", "name": "Can delete proctored exam attempt", "content_type": 233}, "model": "auth.permission", "pk": 703}, {"fields": {"codename": "add_proctoredexamstudentattempthistory", "name": "Can add proctored exam attempt history", "content_type": 234}, "model": "auth.permission", "pk": 704}, {"fields": {"codename": "change_proctoredexamstudentattempthistory", "name": "Can change proctored exam attempt history", "content_type": 234}, "model": "auth.permission", "pk": 705}, {"fields": {"codename": "delete_proctoredexamstudentattempthistory", "name": "Can delete proctored exam attempt history", "content_type": 234}, "model": "auth.permission", "pk": 706}, {"fields": {"codename": "add_proctoredexamstudentallowance", "name": "Can add proctored allowance", "content_type": 235}, "model": "auth.permission", "pk": 707}, {"fields": {"codename": "change_proctoredexamstudentallowance", "name": "Can change proctored allowance", "content_type": 235}, "model": "auth.permission", "pk": 708}, {"fields": {"codename": "delete_proctoredexamstudentallowance", "name": "Can delete proctored allowance", "content_type": 235}, "model": "auth.permission", "pk": 709}, {"fields": {"codename": "add_proctoredexamstudentallowancehistory", "name": "Can add proctored allowance history", "content_type": 236}, "model": "auth.permission", "pk": 710}, {"fields": {"codename": "change_proctoredexamstudentallowancehistory", "name": "Can change proctored allowance history", "content_type": 236}, "model": "auth.permission", "pk": 711}, {"fields": {"codename": "delete_proctoredexamstudentallowancehistory", "name": "Can delete proctored allowance history", "content_type": 236}, "model": "auth.permission", "pk": 712}, {"fields": {"codename": "add_proctoredexamsoftwaresecurereview", "name": "Can add Proctored exam software secure review", "content_type": 237}, "model": "auth.permission", "pk": 713}, {"fields": {"codename": "change_proctoredexamsoftwaresecurereview", "name": "Can change Proctored exam software secure review", "content_type": 237}, "model": "auth.permission", "pk": 714}, {"fields": {"codename": "delete_proctoredexamsoftwaresecurereview", "name": "Can delete Proctored exam software secure review", "content_type": 237}, "model": "auth.permission", "pk": 715}, {"fields": {"codename": "add_proctoredexamsoftwaresecurereviewhistory", "name": "Can add Proctored exam review archive", "content_type": 238}, "model": "auth.permission", "pk": 716}, {"fields": {"codename": "change_proctoredexamsoftwaresecurereviewhistory", "name": "Can change Proctored exam review archive", "content_type": 238}, "model": "auth.permission", "pk": 717}, {"fields": {"codename": "delete_proctoredexamsoftwaresecurereviewhistory", "name": "Can delete Proctored exam review archive", "content_type": 238}, "model": "auth.permission", "pk": 718}, {"fields": {"codename": "add_proctoredexamsoftwaresecurecomment", "name": "Can add proctored exam software secure comment", "content_type": 239}, "model": "auth.permission", "pk": 719}, {"fields": {"codename": "change_proctoredexamsoftwaresecurecomment", "name": "Can change proctored exam software secure comment", "content_type": 239}, "model": "auth.permission", "pk": 720}, {"fields": {"codename": "delete_proctoredexamsoftwaresecurecomment", "name": "Can delete proctored exam software secure comment", "content_type": 239}, "model": "auth.permission", "pk": 721}, {"fields": {"codename": "add_organization", "name": "Can add organization", "content_type": 240}, "model": "auth.permission", "pk": 722}, {"fields": {"codename": "change_organization", "name": "Can change organization", "content_type": 240}, "model": "auth.permission", "pk": 723}, {"fields": {"codename": "delete_organization", "name": "Can delete organization", "content_type": 240}, "model": "auth.permission", "pk": 724}, {"fields": {"codename": "add_organizationcourse", "name": "Can add Link Course", "content_type": 241}, "model": "auth.permission", "pk": 725}, {"fields": {"codename": "change_organizationcourse", "name": "Can change Link Course", "content_type": 241}, "model": "auth.permission", "pk": 726}, {"fields": {"codename": "delete_organizationcourse", "name": "Can delete Link Course", "content_type": 241}, "model": "auth.permission", "pk": 727}, {"fields": {"codename": "add_videouploadconfig", "name": "Can add video upload config", "content_type": 242}, "model": "auth.permission", "pk": 728}, {"fields": {"codename": "change_videouploadconfig", "name": "Can change video upload config", "content_type": 242}, "model": "auth.permission", "pk": 729}, {"fields": {"codename": "delete_videouploadconfig", "name": "Can delete video upload config", "content_type": 242}, "model": "auth.permission", "pk": 730}, {"fields": {"codename": "add_pushnotificationconfig", "name": "Can add push notification config", "content_type": 243}, "model": "auth.permission", "pk": 731}, {"fields": {"codename": "change_pushnotificationconfig", "name": "Can change push notification config", "content_type": 243}, "model": "auth.permission", "pk": 732}, {"fields": {"codename": "delete_pushnotificationconfig", "name": "Can delete push notification config", "content_type": 243}, "model": "auth.permission", "pk": 733}, {"fields": {"codename": "add_coursecreator", "name": "Can add course creator", "content_type": 244}, "model": "auth.permission", "pk": 734}, {"fields": {"codename": "change_coursecreator", "name": "Can change course creator", "content_type": 244}, "model": "auth.permission", "pk": 735}, {"fields": {"codename": "delete_coursecreator", "name": "Can delete course creator", "content_type": 244}, "model": "auth.permission", "pk": 736}, {"fields": {"codename": "add_studioconfig", "name": "Can add studio config", "content_type": 245}, "model": "auth.permission", "pk": 737}, {"fields": {"codename": "change_studioconfig", "name": "Can change studio config", "content_type": 245}, "model": "auth.permission", "pk": 738}, {"fields": {"codename": "delete_studioconfig", "name": "Can delete studio config", "content_type": 245}, "model": "auth.permission", "pk": 739}, {"fields": {"username": "ecommerce_worker", "first_name": "", "last_name": "", "is_active": true, "is_superuser": false, "is_staff": false, "last_login": null, "groups": [], "user_permissions": [], "password": "!a7SudZ8tSftyXEVQPKpBHG2rj6ZOmcr0VCpboorI", "email": "ecommerce_worker@fake.email", "date_joined": "2016-01-21T18:53:18.229Z"}, "model": "auth.user", "pk": 1}, {"fields": {"change_date": "2016-01-21T18:54:25.176Z", "changed_by": null, "enabled": true}, "model": "util.ratelimitconfiguration", "pk": 1}, {"fields": {"change_date": "2016-01-21T18:53:13.524Z", "changed_by": null, "configuration": "{\"default\": {\"accomplishment_class_append\": \"accomplishment-certificate\", \"platform_name\": \"Your Platform Name Here\", \"logo_src\": \"/static/certificates/images/logo.png\", \"logo_url\": \"http://www.example.com\", \"company_verified_certificate_url\": \"http://www.example.com/verified-certificate\", \"company_privacy_url\": \"http://www.example.com/privacy-policy\", \"company_tos_url\": \"http://www.example.com/terms-service\", \"company_about_url\": \"http://www.example.com/about-us\"}, \"verified\": {\"certificate_type\": \"Verified\", \"certificate_title\": \"Verified Certificate of Achievement\"}, \"honor\": {\"certificate_type\": \"Honor Code\", \"certificate_title\": \"Certificate of Achievement\"}}", "enabled": false}, "model": "certificates.certificatehtmlviewconfiguration", "pk": 1}, {"fields": {"change_date": "2016-01-21T18:53:24.176Z", "changed_by": null, "enabled": true, "released_languages": ""}, "model": "dark_lang.darklangconfig", "pk": 1}] \ No newline at end of file diff --git a/common/test/db_cache/bok_choy_migrations_data.sql b/common/test/db_cache/bok_choy_migrations_data.sql index e26934ccbd..08eda1c46f 100644 --- a/common/test/db_cache/bok_choy_migrations_data.sql +++ b/common/test/db_cache/bok_choy_migrations_data.sql @@ -21,7 +21,7 @@ LOCK TABLES `django_migrations` WRITE; /*!40000 ALTER TABLE `django_migrations` DISABLE KEYS */; -INSERT INTO `django_migrations` VALUES (1,'contenttypes','0001_initial','2016-01-20 14:41:07.526997'),(2,'auth','0001_initial','2016-01-20 14:41:07.726373'),(3,'admin','0001_initial','2016-01-20 14:41:07.784817'),(4,'assessment','0001_initial','2016-01-20 14:41:10.128520'),(5,'assessment','0002_staffworkflow','2016-01-20 14:41:10.278895'),(6,'contenttypes','0002_remove_content_type_name','2016-01-20 14:41:10.400860'),(7,'auth','0002_alter_permission_name_max_length','2016-01-20 14:41:10.443454'),(8,'auth','0003_alter_user_email_max_length','2016-01-20 14:41:10.484951'),(9,'auth','0004_alter_user_username_opts','2016-01-20 14:41:10.513064'),(10,'auth','0005_alter_user_last_login_null','2016-01-20 14:41:10.564318'),(11,'auth','0006_require_contenttypes_0002','2016-01-20 14:41:10.568611'),(12,'bookmarks','0001_initial','2016-01-20 14:41:10.803931'),(13,'branding','0001_initial','2016-01-20 14:41:10.906337'),(14,'bulk_email','0001_initial','2016-01-20 14:41:11.151139'),(15,'bulk_email','0002_data__load_course_email_template','2016-01-20 14:41:11.205606'),(16,'instructor_task','0001_initial','2016-01-20 14:41:11.353835'),(17,'certificates','0001_initial','2016-01-20 14:41:12.112097'),(18,'certificates','0002_data__certificatehtmlviewconfiguration_data','2016-01-20 14:41:12.128293'),(19,'certificates','0003_data__default_modes','2016-01-20 14:41:12.183520'),(20,'certificates','0004_certificategenerationhistory','2016-01-20 14:41:12.278412'),(21,'certificates','0005_auto_20151208_0801','2016-01-20 14:41:12.352092'),(22,'certificates','0006_certificatetemplateasset_asset_slug','2016-01-20 14:41:12.395731'),(23,'certificates','0007_certificateinvalidation','2016-01-20 14:41:12.498599'),(24,'commerce','0001_data__add_ecommerce_service_user','2016-01-20 14:41:12.529863'),(25,'cors_csrf','0001_initial','2016-01-20 14:41:12.617653'),(26,'course_action_state','0001_initial','2016-01-20 14:41:12.847868'),(27,'course_groups','0001_initial','2016-01-20 14:41:13.684872'),(28,'course_modes','0001_initial','2016-01-20 14:41:13.797175'),(29,'course_modes','0002_coursemode_expiration_datetime_is_explicit','2016-01-20 14:41:13.840711'),(30,'course_modes','0003_auto_20151113_1443','2016-01-20 14:41:13.864277'),(31,'course_modes','0004_auto_20151113_1457','2016-01-20 14:41:13.965096'),(32,'course_modes','0005_auto_20151217_0958','2016-01-20 14:41:13.988812'),(33,'course_overviews','0001_initial','2016-01-20 14:41:14.053338'),(34,'course_overviews','0002_add_course_catalog_fields','2016-01-20 14:41:14.268029'),(35,'course_overviews','0003_courseoverviewgeneratedhistory','2016-01-20 14:41:14.298244'),(36,'course_overviews','0004_courseoverview_org','2016-01-20 14:41:14.345271'),(37,'course_overviews','0005_delete_courseoverviewgeneratedhistory','2016-01-20 14:41:14.365007'),(38,'course_overviews','0006_courseoverviewimageset','2016-01-20 14:41:14.414683'),(39,'course_overviews','0007_courseoverviewimageconfig','2016-01-20 14:41:14.534225'),(40,'course_structures','0001_initial','2016-01-20 14:41:14.563672'),(41,'courseware','0001_initial','2016-01-20 14:41:17.072208'),(42,'credit','0001_initial','2016-01-20 14:41:18.296459'),(43,'dark_lang','0001_initial','2016-01-20 14:41:18.462718'),(44,'dark_lang','0002_data__enable_on_install','2016-01-20 14:41:18.485177'),(45,'default','0001_initial','2016-01-20 14:41:18.942718'),(46,'default','0002_add_related_name','2016-01-20 14:41:19.099131'),(47,'default','0003_alter_email_max_length','2016-01-20 14:41:19.151838'),(48,'django_comment_common','0001_initial','2016-01-20 14:41:19.578955'),(49,'django_notify','0001_initial','2016-01-20 14:41:20.337949'),(50,'django_openid_auth','0001_initial','2016-01-20 14:41:20.596247'),(51,'edx_proctoring','0001_initial','2016-01-20 14:41:24.214955'),(52,'edx_proctoring','0002_proctoredexamstudentattempt_is_status_acknowledged','2016-01-20 14:41:24.444760'),(53,'edx_proctoring','0003_auto_20160101_0525','2016-01-20 14:41:24.833049'),(54,'edxval','0001_initial','2016-01-20 14:41:25.427779'),(55,'edxval','0002_data__default_profiles','2016-01-20 14:41:25.463777'),(56,'embargo','0001_initial','2016-01-20 14:41:26.272910'),(57,'embargo','0002_data__add_countries','2016-01-20 14:41:26.737671'),(58,'external_auth','0001_initial','2016-01-20 14:41:27.265404'),(59,'lms_xblock','0001_initial','2016-01-20 14:41:27.513483'),(60,'sites','0001_initial','2016-01-20 14:41:27.552225'),(61,'microsite_configuration','0001_initial','2016-01-20 14:41:29.182124'),(62,'milestones','0001_initial','2016-01-20 14:41:30.032773'),(63,'milestones','0002_data__seed_relationship_types','2016-01-20 14:41:30.062215'),(64,'mobile_api','0001_initial','2016-01-20 14:41:31.131359'),(65,'notes','0001_initial','2016-01-20 14:41:31.450145'),(66,'oauth2','0001_initial','2016-01-20 14:41:33.047753'),(67,'oauth2_provider','0001_initial','2016-01-20 14:41:33.354602'),(68,'oauth_provider','0001_initial','2016-01-20 14:41:34.123404'),(69,'organizations','0001_initial','2016-01-20 14:41:34.306167'),(70,'programs','0001_initial','2016-01-20 14:41:34.667945'),(71,'programs','0002_programsapiconfig_cache_ttl','2016-01-20 14:41:35.039084'),(72,'programs','0003_auto_20151120_1613','2016-01-20 14:41:36.598370'),(73,'self_paced','0001_initial','2016-01-20 14:41:37.022438'),(74,'sessions','0001_initial','2016-01-20 14:41:37.084035'),(75,'student','0001_initial','2016-01-20 14:41:50.300194'),(76,'shoppingcart','0001_initial','2016-01-20 14:42:01.691856'),(77,'shoppingcart','0002_auto_20151208_1034','2016-01-20 14:42:02.755800'),(78,'shoppingcart','0003_auto_20151217_0958','2016-01-20 14:42:03.899845'),(79,'splash','0001_initial','2016-01-20 14:42:04.512949'),(80,'static_replace','0001_initial','2016-01-20 14:42:05.137223'),(81,'status','0001_initial','2016-01-20 14:42:06.482955'),(82,'student','0002_auto_20151208_1034','2016-01-20 14:42:07.829316'),(83,'submissions','0001_initial','2016-01-20 14:42:09.437492'),(84,'submissions','0002_auto_20151119_0913','2016-01-20 14:42:09.600508'),(85,'survey','0001_initial','2016-01-20 14:42:10.318588'),(86,'teams','0001_initial','2016-01-20 14:42:11.936107'),(87,'third_party_auth','0001_initial','2016-01-20 14:42:15.174455'),(88,'track','0001_initial','2016-01-20 14:42:15.224831'),(89,'user_api','0001_initial','2016-01-20 14:42:19.893671'),(90,'util','0001_initial','2016-01-20 14:42:20.651574'),(91,'util','0002_data__default_rate_limit_config','2016-01-20 14:42:20.697520'),(92,'verify_student','0001_initial','2016-01-20 14:42:29.518686'),(93,'verify_student','0002_auto_20151124_1024','2016-01-20 14:42:30.174493'),(94,'verify_student','0003_auto_20151113_1443','2016-01-20 14:42:30.800853'),(95,'wiki','0001_initial','2016-01-20 14:42:53.258049'),(96,'wiki','0002_remove_article_subscription','2016-01-20 14:42:53.309640'),(97,'workflow','0001_initial','2016-01-20 14:42:53.600810'),(98,'xblock_django','0001_initial','2016-01-20 14:42:54.367498'),(99,'contentstore','0001_initial','2016-01-20 14:43:14.629049'),(100,'course_creators','0001_initial','2016-01-20 14:43:14.692740'),(101,'xblock_config','0001_initial','2016-01-20 14:43:14.954953'); +INSERT INTO `django_migrations` VALUES (1,'contenttypes','0001_initial','2016-01-21 18:53:08.788165'),(2,'auth','0001_initial','2016-01-21 18:53:09.000847'),(3,'admin','0001_initial','2016-01-21 18:53:09.061708'),(4,'assessment','0001_initial','2016-01-21 18:53:11.516667'),(5,'assessment','0002_staffworkflow','2016-01-21 18:53:11.670025'),(6,'contenttypes','0002_remove_content_type_name','2016-01-21 18:53:11.800152'),(7,'auth','0002_alter_permission_name_max_length','2016-01-21 18:53:11.841328'),(8,'auth','0003_alter_user_email_max_length','2016-01-21 18:53:11.879884'),(9,'auth','0004_alter_user_username_opts','2016-01-21 18:53:11.905817'),(10,'auth','0005_alter_user_last_login_null','2016-01-21 18:53:11.957928'),(11,'auth','0006_require_contenttypes_0002','2016-01-21 18:53:11.962525'),(12,'bookmarks','0001_initial','2016-01-21 18:53:12.189328'),(13,'branding','0001_initial','2016-01-21 18:53:12.320444'),(14,'bulk_email','0001_initial','2016-01-21 18:53:12.573988'),(15,'bulk_email','0002_data__load_course_email_template','2016-01-21 18:53:12.616932'),(16,'instructor_task','0001_initial','2016-01-21 18:53:12.747974'),(17,'certificates','0001_initial','2016-01-21 18:53:13.513110'),(18,'certificates','0002_data__certificatehtmlviewconfiguration_data','2016-01-21 18:53:13.529541'),(19,'certificates','0003_data__default_modes','2016-01-21 18:53:17.890922'),(20,'certificates','0004_certificategenerationhistory','2016-01-21 18:53:17.992817'),(21,'certificates','0005_auto_20151208_0801','2016-01-21 18:53:18.073723'),(22,'certificates','0006_certificatetemplateasset_asset_slug','2016-01-21 18:53:18.117202'),(23,'certificates','0007_certificateinvalidation','2016-01-21 18:53:18.213218'),(24,'commerce','0001_data__add_ecommerce_service_user','2016-01-21 18:53:18.238582'),(25,'cors_csrf','0001_initial','2016-01-21 18:53:18.319762'),(26,'course_action_state','0001_initial','2016-01-21 18:53:18.567844'),(27,'course_groups','0001_initial','2016-01-21 18:53:19.405897'),(28,'course_modes','0001_initial','2016-01-21 18:53:19.512136'),(29,'course_modes','0002_coursemode_expiration_datetime_is_explicit','2016-01-21 18:53:19.567480'),(30,'course_modes','0003_auto_20151113_1443','2016-01-21 18:53:19.588664'),(31,'course_modes','0004_auto_20151113_1457','2016-01-21 18:53:19.692240'),(32,'course_modes','0005_auto_20151217_0958','2016-01-21 18:53:19.713920'),(33,'course_overviews','0001_initial','2016-01-21 18:53:19.780771'),(34,'course_overviews','0002_add_course_catalog_fields','2016-01-21 18:53:19.974798'),(35,'course_overviews','0003_courseoverviewgeneratedhistory','2016-01-21 18:53:20.002736'),(36,'course_overviews','0004_courseoverview_org','2016-01-21 18:53:20.047355'),(37,'course_overviews','0005_delete_courseoverviewgeneratedhistory','2016-01-21 18:53:20.066631'),(38,'course_overviews','0006_courseoverviewimageset','2016-01-21 18:53:20.122139'),(39,'course_overviews','0007_courseoverviewimageconfig','2016-01-21 18:53:20.232130'),(40,'course_structures','0001_initial','2016-01-21 18:53:20.259062'),(41,'courseware','0001_initial','2016-01-21 18:53:22.817111'),(42,'credit','0001_initial','2016-01-21 18:53:24.008062'),(43,'dark_lang','0001_initial','2016-01-21 18:53:24.157772'),(44,'dark_lang','0002_data__enable_on_install','2016-01-21 18:53:24.183128'),(45,'default','0001_initial','2016-01-21 18:53:24.625571'),(46,'default','0002_add_related_name','2016-01-21 18:53:24.775034'),(47,'default','0003_alter_email_max_length','2016-01-21 18:53:24.846615'),(48,'django_comment_common','0001_initial','2016-01-21 18:53:25.250931'),(49,'django_notify','0001_initial','2016-01-21 18:53:26.011430'),(50,'django_openid_auth','0001_initial','2016-01-21 18:53:26.239062'),(51,'edx_proctoring','0001_initial','2016-01-21 18:53:29.992538'),(52,'edx_proctoring','0002_proctoredexamstudentattempt_is_status_acknowledged','2016-01-21 18:53:30.220515'),(53,'edx_proctoring','0003_auto_20160101_0525','2016-01-21 18:53:30.575147'),(54,'edxval','0001_initial','2016-01-21 18:53:31.179028'),(55,'edxval','0002_data__default_profiles','2016-01-21 18:53:31.217088'),(56,'embargo','0001_initial','2016-01-21 18:53:31.996307'),(57,'embargo','0002_data__add_countries','2016-01-21 18:53:32.449962'),(58,'external_auth','0001_initial','2016-01-21 18:53:32.978934'),(59,'lms_xblock','0001_initial','2016-01-21 18:53:33.207062'),(60,'sites','0001_initial','2016-01-21 18:53:33.240999'),(61,'microsite_configuration','0001_initial','2016-01-21 18:53:34.831872'),(62,'milestones','0001_initial','2016-01-21 18:53:35.724295'),(63,'milestones','0002_data__seed_relationship_types','2016-01-21 18:53:35.756572'),(64,'mobile_api','0001_initial','2016-01-21 18:53:36.066761'),(65,'notes','0001_initial','2016-01-21 18:53:36.422639'),(66,'oauth2','0001_initial','2016-01-21 18:53:38.766340'),(67,'oauth2_provider','0001_initial','2016-01-21 18:53:39.068727'),(68,'oauth_provider','0001_initial','2016-01-21 18:53:39.854589'),(69,'organizations','0001_initial','2016-01-21 18:53:40.065445'),(70,'programs','0001_initial','2016-01-21 18:53:40.429314'),(71,'programs','0002_programsapiconfig_cache_ttl','2016-01-21 18:53:40.784081'),(72,'programs','0003_auto_20151120_1613','2016-01-21 18:53:42.300214'),(73,'rss_proxy','0001_initial','2016-01-21 18:53:42.347062'),(74,'self_paced','0001_initial','2016-01-21 18:53:42.771773'),(75,'sessions','0001_initial','2016-01-21 18:53:42.827316'),(76,'student','0001_initial','2016-01-21 18:53:54.970105'),(77,'shoppingcart','0001_initial','2016-01-21 18:54:06.948900'),(78,'shoppingcart','0002_auto_20151208_1034','2016-01-21 18:54:07.773843'),(79,'shoppingcart','0003_auto_20151217_0958','2016-01-21 18:54:08.631875'),(80,'splash','0001_initial','2016-01-21 18:54:09.114355'),(81,'static_replace','0001_initial','2016-01-21 18:54:09.633246'),(82,'status','0001_initial','2016-01-21 18:54:10.914816'),(83,'student','0002_auto_20151208_1034','2016-01-21 18:54:12.084875'),(84,'submissions','0001_initial','2016-01-21 18:54:12.836848'),(85,'submissions','0002_auto_20151119_0913','2016-01-21 18:54:13.013748'),(86,'survey','0001_initial','2016-01-21 18:54:14.594515'),(87,'teams','0001_initial','2016-01-21 18:54:16.190573'),(88,'third_party_auth','0001_initial','2016-01-21 18:54:19.445659'),(89,'track','0001_initial','2016-01-21 18:54:19.498071'),(90,'user_api','0001_initial','2016-01-21 18:54:24.599567'),(91,'util','0001_initial','2016-01-21 18:54:25.143584'),(92,'util','0002_data__default_rate_limit_config','2016-01-21 18:54:25.188180'),(93,'verify_student','0001_initial','2016-01-21 18:54:32.806657'),(94,'verify_student','0002_auto_20151124_1024','2016-01-21 18:54:33.723100'),(95,'verify_student','0003_auto_20151113_1443','2016-01-21 18:54:35.489192'),(96,'wiki','0001_initial','2016-01-21 18:54:56.953091'),(97,'wiki','0002_remove_article_subscription','2016-01-21 18:54:57.002735'),(98,'workflow','0001_initial','2016-01-21 18:54:58.230005'),(99,'xblock_django','0001_initial','2016-01-21 18:54:58.902107'),(100,'contentstore','0001_initial','2016-01-21 18:55:20.861551'),(101,'course_creators','0001_initial','2016-01-21 18:55:20.932159'),(102,'xblock_config','0001_initial','2016-01-21 18:55:21.213272'); /*!40000 ALTER TABLE `django_migrations` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -34,4 +34,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2016-01-20 14:43:18 +-- Dump completed on 2016-01-21 18:55:24 diff --git a/common/test/db_cache/bok_choy_schema.sql b/common/test/db_cache/bok_choy_schema.sql index 1853b4a767..ed7cadb854 100644 --- a/common/test/db_cache/bok_choy_schema.sql +++ b/common/test/db_cache/bok_choy_schema.sql @@ -412,7 +412,7 @@ CREATE TABLE `auth_permission` ( PRIMARY KEY (`id`), UNIQUE KEY `content_type_id` (`content_type_id`,`codename`), CONSTRAINT `auth__content_type_id_508cf46651277a81_fk_django_content_type_id` FOREIGN KEY (`content_type_id`) REFERENCES `django_content_type` (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=737 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=740 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `auth_registration`; /*!40101 SET @saved_cs_client = @@character_set_client */; @@ -1600,7 +1600,7 @@ CREATE TABLE `django_content_type` ( `model` varchar(100) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `django_content_type_app_label_45f3b1d93ec8c61c_uniq` (`app_label`,`model`) -) ENGINE=InnoDB AUTO_INCREMENT=245 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=246 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `django_migrations`; /*!40101 SET @saved_cs_client = @@character_set_client */; @@ -1611,7 +1611,7 @@ CREATE TABLE `django_migrations` ( `name` varchar(255) NOT NULL, `applied` datetime(6) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=103 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `django_openid_auth_association`; /*!40101 SET @saved_cs_client = @@character_set_client */; @@ -2718,6 +2718,18 @@ CREATE TABLE `programs_programsapiconfig` ( CONSTRAINT `programs_programsa_changed_by_id_b7c3b49d5c0dcd3_fk_auth_user_id` FOREIGN KEY (`changed_by_id`) REFERENCES `auth_user` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; +DROP TABLE IF EXISTS `rss_proxy_whitelistedrssurl`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `rss_proxy_whitelistedrssurl` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `created` datetime(6) NOT NULL, + `modified` datetime(6) NOT NULL, + `url` varchar(255) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `url` (`url`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; DROP TABLE IF EXISTS `self_paced_selfpacedconfiguration`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; diff --git a/common/test/db_cache/lettuce.db b/common/test/db_cache/lettuce.db deleted file mode 100644 index 1f63330a24a3739ec4e838dd37480579c7c8cb88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1314816 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�vwTZ3@broRX@WJ5r@D%nxFE&sP4e)L zZ8?-15!g5aX#d+dhR6XC*sTa?_CMw;4D%Isnf;fXuv_&QQ0_IZcNH>3W!cvs@L8YA zb){Z-Nh-FS#yaa_^dAJ|H@R&EN_MhiCVy)h~s=A7XT zQn2rBcmfEmm4@V!!gSAduQFc9Q{W1&R#Xf&u3Znn9rnUkx{K`*4^lpV8fb4WU=tu)+`zVg`+*<>OH-h zF56s)Y}3hXIax>+=?`9I5ZO!?ePr{tix&SU%KSCM{5AV~+#TG<2kb|?nryAuYsL6O zhuBWc_Y!b6L9`Lv}H;tHab>(WgQok;U%_hWUu7dN}b>mV| ztQDn71;RPkYv#2+WYKT)^sT|TkJjz#RU$2flJSY(-eW`heF0jcwip!3yV)*O5rGXMfcF0l!H0zrfnALN_Wxbod?-93uptC=`~STRdo}V?kr;EYo0%&0UW@V7 zE9~k4-4GJIMseBzgk(Nbnoi|1AxjS@ee}CMmW&~*F^n98l_HB>@47z@aob;Y#cdDf zCFD|ta!JhQLzIht*T4!{?D{I9tQOs1zn;xK`~b8vx8b^{4) zuc_l}Z|!|F#-BRHzRveEYcyL@BSczqJNoSdn>PsgNG6V&Sak$9Nx5x8ngOEK0=s0f zUTtW3#XR;QFl~b6!M4owA*?GUU{uwYeIN^$O|doM`rrM=!@m%LNkRbo|0K0G z>WT=s5y1ZM#smLC1SSaq?EjP0+Ndic;6^~V{~cnucd^-s!W?qnHU3(i{}>nJ7Z%vH z*EGw`jRJ`(B^a)t`d=lvDHbXcI2e}Y#l8g5f9ST}^er%w{YG~n5s1eQ-ET*#5t%72 zb%r+J7eq9rc@F8mDW>0$48gP(C1vUi)t$}dmZr{rjE(Uxp0W~M1Y7Qi;Y!F&&lI!S zV%f6$*aju@l4cM4{(&ucF1CHGc&7Ettc7@UEXUg5#yL+$ne&nC` zdA{fK<7bcVoZmTfW_D(F>X}hzu6HbsFRicXShQqRqO;KgDn62l+N$%@1SWVGppg zA;4;99L9Kc+Y!o(>W<-#p}j-#;okUgM@vUvOohgVI`+Yfg*@XN8;lQ)^bFVLC^0=Z zpC+b4BgCqvL#(3th>otV^r#RNAuw+m3Dk|V%uBP4qK?r~)A+op3TxS9u-YIWJ7)^8 zCDr4MAqGfR_^8-qpo%LF*Rc=b+^C%^_!*m|5IRnSFc|>E%wvJbFFBlIGHjVv@Jc6w zS6+RX(T@Y!I0M@}nS7QR|WoX=t*;hQ^MR<~rIKT3@lOpr5fL6hg;t5IS1= zIddEk`6UiTXV?@E{ati8cqNrW>zC!%ia@z1I80%53@MC`LjIoR0#i^XD2^0>B9TAl zJK$E;aUIJ*d{CcgwxaR_=L?0_@%aow>qz~;QdCtG5Kb}sp#-Jq{Sf;8Ph}@C=N0EJ zXTVv5+W#~0lt_q;BF2BspW)Z@vv?Dq&Hlo^!ma~w)PF1IBj)Cf6HUJK^zZEGQ75{4 zQItA%%K~F^NpfW^92tsf{;~>aXlR=#b1hn2=3$g<$vntbR!q=&Dw`Lo;#QVYSV_5p zX(IzLZ5o9Y%mu8hWCB?dz)<`YP+kT=b=7zs9W5Wl2W6XLMW{l{OBGZ{nFiI7s?g#R zKr70}Q?zL~idY3z&jF~W@fg4KboY04cal|B+<4P6SXx_MtVFa4hG#^y4JKHMR1`s^ zvhEl%#V`z>Y%yUHTvG^eZPU>aCJkk>X{aWqgd&WRLQz%?RTe;~s{ZJ7v!q1GuAv39 z0k5w3qd`W7G!XKLnWS@^YTmzVRHFS8=Yh3T0C_s6vJNqh|(L(h3I6{SJ845Xan#(JA`ls!v87}%% zu9mdEc}FXTR$wuXk(%w#^mv&MhiM(;nFSqz2`W&_>%fW9>{NH+SgGo8BZyALBo$($ z5HeXNKG4^hB2zL>i&0ZRJ)o&7REwI>X)-ju&o*5q?g&eR?lo$fDb=R5&s1EkF`b*2>+%{NRcU9qyI5Yo?#?(8g(Z~s_R)NEFjVriY~B%PL8D78%@Z9~H&UGQ!Mk30C3RZEdcT3dj% zNU^lG0IO!U%NzORkhVSDL&N=p2NxH*yoFDWQmPTP3K6ASBbJo9d?TMiQ5;aFQnM&~ zN<$;Py&Z!GcXh{my6VbZzJ*WGQDs9eRY)CWHe`K~%Uk(WD{7s1+?uj$NJhJ?#O3Sx z)L^tBRD(hVqYR;z%ewX3JQ z5Bu+W2S$eDUAqT6y5cLPDbsaCQHW;h|4(F?|NEqKrE`i?BL0l;`g_H3;wb(ZK7xM# zXK^{GJvX?a0iBEWr;e6a)ZJ6@#ty{P3r8r$mQ_^L9hO;2zpwVUdocH@pwYeOjInG~*C z0);J`ChO$uj8@sME1;EZ^B(kT(STL8N{3EsCLKDB(K?ndhK|Pej4g>tP_%SS4Ww(E zCPk$pqxm(9lu(q}Bot|HWi^DV>cj14w1G7XWgN$9!vZa_Wta*#qu81%C8P}t32DQE zLX``oVd2k&F)RpQSqV7C+S;&)&yHoD;--zYss2x3^~`z9>2YG>74bfCf|$TRkG_8m z`xASV^@17oZ&5pXwR;`6h%cdE@7c3is z{(bR5h}vT@Q%EE~W&o?&l#by04(UjH?Li&O*FZ;O`wX&O#}ZONEl#ur?X8e*-mTX-EldvpWHY|r0e1IcU=XYtcCC~Z*Q~!T9 zyPM(vi|h@I{ul7$`5=EUe-PjQAMn43Nuo@w6x%W8zeYSFJ|})E{^d+_s+@Kwjxqn; z&a=*|QO(1DFidu0vX*PvRm#ay;84|8D^Qk_4N$A>Pi1Tu)<{!k=!l|Pjy8qRu|y%( z$`M*rv)L}kmAP7bs_|59>N>^Liqn|u<&b73ReeIESKZgu-M4##jB2JGmNJ{W zMR6^SHupq1?#VZ5hvP%Ta!O{aj4t2OnPQ!!SeC*RYn#ls*`#eSz8iy`LFvNwWSKj& zwKAKtU2(K7n{!H@%jMH%9f}{+ZONZW^*_ei8S7;G*tP6&_6_znpTd{$9q0kvh#7!y@IPbb zuU2#j4>JJwh{wcB;&sP$<~VK6PUj-l?%eD=<$R0fx>G7eXXgR@4}446FDJV>`Ix8c z?e0Sj!$@`TVDBuqutfOhSUS2pd+@6pf`jaf1#V$Q1}5f%*cS@j!m0qDKBp+|G%ZdJ zirJTo+`{Sr0x!0^&xU+yrdwEOLsCAC+4JerDb}udylZDi=U(>WT(__>QrbZJ2gnyP zdttU)SRM%+fRk+Y>0Gz4z+!ij3vbNV_pxWwG9ks$il0l%!GU;uFqQt##N5J4ORddB z1ikFD)7`>c3otmcbFjOUeX7hYY_NiL^A*ax&sVsGEu-UPR4=6^#3+j&=pd&#>~j;` zX*s-OWO$FP$6|^*tx*2-CvW+9ciJ==Mh%sd;}+x#csbvTNrSyZ<`4FfnQlR`AFkHI zJ3BD1&Yqm@=2!8ZgQ`_Dv}2$f6RS9^)>h!=SBKct1yKAoC=fM#=Sa`q9jfNYIT|v# zf3W);*y|Wx`Q5!(eN%}VQB7Sv)&Cjn zIEMcT_6Yk4ABP#~ZTwt*7ylf8T};3ZfGxNgm*Q3AhHEzk~ zK(v;LsQPggsY(j!@-V7oZKYe%I=YM=q%NvBEQmz`;OPu?J_m#RU?$ z2Nw;XBSA8lC5ZR12g=!>vUksSOPVt<;|B)1P2r|Cg&JpeHnMwZ{9nX2Fy~F@ z2hPiw1-R9@!a3mVaGLRjKT`Zwd{cZ%+#%jA&Jt_HO#XZR1%5xjke|j^V!nMM`#t+M z`xLtqZO1OQVMdY5^2+pA1K)Zyq3EcLVBgQoLU1ZHX8;um->NQMrSoIpRU4k_J6S!H zSp{HM1=)VrDrYvhC7NsZ$7bY%VQiuDkm~g1%>t)Vi^#68)i<4<2WGLw)ZN*fnN~bf zNcXX4=7M2TmewsVn&Gm-TJ`4kcOV#vsfeK+c;2Tx$rY6OZh)rtOO+2hGzdMY+eCgnrL?lYlAn^#w3F$GR*RuZ!*l zP!PS)kv|cP8pVj1-kLVSW%&hNXW{yZ_~60RVouI@1Q(lNwO>NEPBV@Hqr@=mwYJ=& z!6}R44CNgKR)t}uE%?nk63j}&OkZNmIRf02A<{mzM{epkF!GHUF=!ce{NXOknMRwv z&>J3(PdN;rJiUA?yP;^P@?4jd6kE+ZGAz~XALF=e+BE8$(0dv$@GB?Pxth%JvyguJ zohz#UxvZ5r-*G;UHNAcKzAtf(5I+&mi(AB?I87`U)A?K218_6nk42z~><8=<*ay@P z5&z%Z2AI@neU65#zs)yRem;wr0a;^lqmX6w05#Yk*}JhCIo*4iy%fOm5HQsZT384E zMw@T_9obu0v;-2HEtGAa-GiY zwc0T2Z{K8H3+Ge=U27qRqPi1v7N(;tiBvCVb`{D~{m5{44?cb9_w;rT2l^9J7oap3 zqsQO5S3dB~##do(C0fijUHjvGgZ(`{bUO>y;zs(q0`ha_1KFgJs#Wmu9mB(e-8-?= zHM;^Rv=DM_sRuWPjG&V%o9)i-cwgtiIrA(n6cJrkL%AJ@YkoOUn~aw3zP)h_DKX|A z?$=*{0J?B4(DfSK)iJbZXMe|F(D=MEK+I=G8Q;;_iF%C$$BRnAY{-jRU9l2i z>NKXeqi>|6$4dQ3SNCwK1K>X>Dfs2e=<9TIiGRfi?9BC@mKL> zajWPNOZeaTC;1ipWM0Jn%wAyE0Q5ilx8zjJQ`WUaPl=d$PCeTZqc6Ii#aMU>{RZm#_?? zaNI96G_3Y^EJ2VY;ksWI%TD2{Lt&(|Z9^15#C+AywUwXIZN&SGu7(xaxQ%V3}wM*w*Rb@=Xw^ zs7;@~449;$)yDx^(>T*I20a8hbC+(739sI$L@aX*i$rXDOnAixh*Z{vre*^c8Sv8e z0N1zXYLn7>la^H}j#*e+x=u-I%TjzQE^0ka8<*l3Nvi+HvPH~!9<%xDoTD(icLR3# zmGD3F=dcQ}3O)S0um-ruuln_S5m!U&935ABgJR``V#WM6spc$*);7(dxy&dzgkzD6 zK9iQvaorHwbZW8AmCQ|F8t#FdavPDn_nAShJX1)-|?BCV>ZF3{!m!3gsZOt%IPr}mb2+8HAL$a~Gz+|t2_=DUC z!>#Y-^3#-b(C(nLE(8%@Tbloy$*yAf|3UT=`w9CepMkw#aeg^}04sp62^Z^s>(C## z8YhCjDt_yXcNRD&V4QH5^Hsl1_|N?%7dr|~T7okLI~CJpQ;^vySBAnRx=Swq=wna8 z!X8(wsOq*$t`?3`r+1gRd=oF$#`-loz3%T(I2})BT(`6*vUNO5u8L)9bN4E)jvzhy z9=QfoLRBfU8`&%O$Cc=0L_+!$L`M(_>6a^?r4&oL0UfGCJ0SD4RL7G6bhZLzNQ%}p zC^M?ekIU~_56P@33q;~`hZQ%V-RF+TJ)Cn%ZFHZ0U$M*E_*|_#8na(vbQIB;0~Idj z*vly*?Agmc)Ht}n<)`y<9p|XF;zli zG;mxttYmc>6u>XRmi1xT#Y2#-ZH}xq#^kWn+CfOQZ!Ha2>v!pNjSL&@Lt+}U_H3mo zV7m{qH0c+hjqxEy)2abzYT1;nu}Mo%SjXyq=xE(sqSF=Grdg>{e5+d;>!2a{>OQ4K zrzxWrouUj{R`fzk)B4O!v`I|{`T8Enqf4IQ9a+f;WhvGFW3c#-(>p7$_xAyu`7OY{ zpPTs!++k0E@y`Dp=g~>YO{Z2;d*{E1hzTE)Odo_%J537(Yv2Ztj#X~lK0iZxQ&U6P z5*|yTHh7Lwm#JWynI=+~xo8^H8c#r7+m`wM=gCh`DpHfw&HX#A z4UP6Ox6(ScPv4GnR0QS)jwJ$JM8_5Z_5b_%F2;B99_;%&fL%X__;ZUy ze~3SUQ^3z+EbvACHU4e>L;f0n11kc5=Kl~v9DyAIQ^iaX6QyE4P6sX(E5vGy7mgPv zVeMe2*dzL|bMPE-p|}{Q3a$}1ircV<=ppPRd{TTIYYd;mY~w59yW&-xI(}39Uc8On zg|2gybF4GnndKBYb1~Xj44(umaWZ)W#vLcaLqV5w7EUVfgSUc&a|u=}ufw{<9nO8u z!&tq18s`{Za9+YW#BVy^cYfmh!ugH!N9S+vyb*h68V++f{>i71PlukumCwWE^Kg1P z3Qq|`K*%9h4h?MEuV|zvxc6N7t3d@d@iBqlsfrbDxdZAoVrXt8{~62 zJ*PFw=L-33qUZFL^4Tn(tLT~2BA=_}vz4AR*2rg@e6FQuZo7Q0lh5_^oVh_hH_GR6 z^vv5NpU2DRW_r##K|Z(0=ZW;p-zuLc$>%nD&OTW_x69`#^ei}4K2MX+)9D#ILq2!N z=b7{@?2yl$^4UqxqAvN2%jYh77VnnNJ@VO2&pBtw=U(~jp=U|2eD=v_Kh^&@-@y0= zeDP1_XYekZ{Ttx>_<1-1cnRkJuj4oIJNSM4gJ=gnhIPQt<4oYU&RjdA;N0fi zi~9b!^NjPH^EvEW_$GEQyypDM`MvYkcUDv1i8SSC>Dlr*NYAn%`5czd5qi$uC!hP} z^8h`|56b5`@_8;j=ba~??~>2+=~;2X;SLuS>_SC6BJ){7k)$Grh*YwR6uDTDcN1B_ zE>YxCMczZCie0A2dlk8y$U=67B3CMM6_ILowIbIjaxIZX>^eoRSLA&}YS;~m+^ER= zi7aL}DRQ$Sw-Bjiw<>a*BDWJ+!tPMyPDSn_QpfIAkzK6?sIFM~N(Fk16uFB2N%$WFJxFNkyI_vVuLW$VU}??|VRgtd|X=7hksc<^F%(z2yF)b-Z zA8oOVFb%a;RHkw>%TheMSYcCHnhpDIY^$#j3#fB#t^2b}uz9{(EYQ)}oJ$o)E4MlC zky%_ts-pK8u*+l?S81&oK<`x`9YF@r<(MaJ6bmV?sND|i3QU5wh=t}o`I~Q38zR`1 z3SwSS6yz!yOEtw3wex~qEmc(OSRx_UD2R?F5^}99D~r<7qM_JCq}Ni|b!z^vgEy}h?;%@*8YEu`M_RJYYmH1sfk(dpxGmLTF{Xt zSFC|wq>cuU9BwtXWz2aq+>4ZM_Q)Am%f^LSUagf1%l25RbToStm5wYW$Vx?|js}k$ zdNsCXETtwDk21Pn4nH4EOER&*@-qBFh zyfI4+Hz~@bqRJz`Vbu)_bfT>0!%B$>rIpPpkKBhrLR)WmV3CA2*@Tirxkv8ADr(c) zG-I2MJ<%Hn?ADG-ZI9oSXPEI)ID2X_YSQaO?{KA78$GI8oeUorIhUs9|IT2}qt0p0 zIPn?O{-yk1*!gol_WeA|&Ui<4pY8C-Pt%UxTAdeGsr1_-^(E6ALcYFbF{MrGPm7$=5)t!ikDN@kZm!8_ zIbKk9<6}Uq_Q;DQ)MQM6R+Bjmq-KSeL;0}2COREjM~0-3f)l*yP_SjkqHG1#+JK;7 zc2?RiSp!e-rYWU5aaPXyWz$ls(`dmWly30IS>?v+mu}$_5Y`{+Zq19#D0bI zzcqX_<^iw8?w{X_VzC*X03XN6p9xN*vkfEgtDPsD@4mA(;eRAO5AI;ZSY8Ty9~N($ zMCJm(ZotB9tH@f=*o_L4txU7`W7JSDGSnD$lQbi9ePlN)K*lK8EtM|cF2>l}uv-_p ze1{l&>&I?W0@=!Wpgm)^OM8}3&9aJ;Uw{Kkwd@Y5eo3|x9~8J#31qj&S`21)$&pB1 znmv)bx!K)V4L?=Xg{_H(-=pARTcY9j%3;e=vP5oBPwhKr_hF|>omi^lO=I4#m^zj; z<^!^CU!T$$-t^8Mgd3uEQEw}cKs}^Tb}SL752)`y{D0o-tj5{?%S0uA8J@r5ypsKb z-8vS3pXv2^tyh5ts(ovH_Nc9IgUo`Mv@Y1qTuacaFXC18+CwnnOusuG;MmQ>O zGO4EeKaq7YtePd9mDvCDu-Jh%;7|M$nEl_#C&MS;9bmtsfA!unnBUO4!n}aA$f$S%=D+k0_VakTkRTcFfnT2hSz!IhYQL~_GVFL^4W*raE3Z=uavF!s-UcO zbA!xqA7)T8Mlwt0yw6Wl)8vuIuIBa2GAD49v^9B^N<-#Uk%lY@s`tp{c0=p33`xnB z3hMvovFjQBf1JIF)BhEGEp`H2i?zO=3npe`J#P!v@U9mh#R|Y-&TMBPR^@g`&p*#Q zufL;aA+vC)TUB9BFsl+xhlq8zRF-i3X7?Ang*b{YrvvDCZPc0A>7{UKF$xCrJ2`2p z^s%YHN!=N6xlv}RGAFa-8P`eC3IYdUC#TsGJb0V(OEnE%IN*yQm8>AlKc71lUO3=5 zAst7p5e}3D&*x5=;pUbI-1~|xYx*hW*a!06+^PTr=lFJa@9ggB9zMuEJk!m^`E*MR zJBRkcOWPoODA&y`3$O;`XOH0c6MHnIk~rOiaXRJ49xirs8$xoLOLmV8u@6}oH9VFl z*Q6OHmPabx+)Y|f6eg(ggZXYjx#)t!kR7yDiT)s}zRB#G8E#%NeEsk0!2J}c_x+vS z(yIr%ZIYWe%`iI22f*!<-MkzV0Mu8`|{vf=)X zvH;todwcu){3E#iv)#IB(IDFL*(aSPXdQk1@c401KFRL~X7YQayM>Hw@&$o?p7DD9Daaaz#f3> zu`9Tp7qY*xS8!gyV|yTK|I0bqW#u{jl=vN{tf1l!#B;WV88ZLoo#e90`r$p@gLKkk zaQNU3c|cj0GdOASGis=0E3j4R*q-5T6P0?Qb4~=TG95P5(c5EixDmXgWJ{DXLIt{N zr6&MZolTj7&)p1MZ8}co#3B=|LdK4FSw)%Rq%sMu8ZO%I>g>Up)#2%zaOk~6Autz= zwr|gH|K51twBrz7tisi%Ul}}cBZ5_?FM=l{|9*gs}vj1 z3S1|i6>s9~PqniZJ8>?72cTzgW5{pps{h~lTdoH$%iL9BA5@6U-7)&SU?MPUzmI(w zI|$Z`(K?#!5e3T}ne0WfN99COM6a1WCg*~p`{C?y#njq^?~OfyGcYwGYPi5YB4;QY zO(w}NeX5wTCl%M&oW^|$e(Y*RD45MeszSsX>H z6wT=ovFGF~YmU&*o>#00wd~V!H^nMnn{1ZY3$jeD3Mf;Y7ZoRwhm{|L<9RDL{4Ra2`ht@2uxMEC`egpS^pDEC%FqM|naO&UvVY_-<{Y)xZx zz#di3!Un1EYHyX230UOI1Wi)m6&^Y3t*i@`)ik3NdbPI_=+@0EBdki*qD?W;|4DTI{}awRI05tzv;Y@~75ty* z?O(*#@JZ~O>}GZz+va-!DDud$M@eP7&NkWmv$9A2F7i%MAe{v%kWQ-nJmjwr1=X+>!`IFmKJCx))(QjeT=KvYL>0J6Tjx zmU`skqrP>GZF*2TV7n#SyYk=M4kq;1P(AH%^Oz-?3W*E^A!x+FWIRn$dw*>41tP30zxW+2?(m7 z{(p=;&G7$A>`gv_FT|1dvoZhoC{FwQK^!X<;w;ZzajCdpJdGXuuZq7olbj070dB`m z;LG4G@GW{N zsEHi*nhMnNI`DOwKO0F_P5`l=$-LO8MOE0(RhX7kVZWg7|1`FdIp1*ZafY0=P7Y4u zJql0X-C~s}#z^2hnDsjsbAEZa9q@6M1T^!%8jlWU*ESum;|)w|QDdgUV>&#htgrOw zD0Wr-@nn8T1c7PzYL5^II<`WP6pZ7 zB9HtWl~iuD-?wFneE&t>ZUxdN$Uy5w$=|cQT>ur7`NfM66rW_z@#0{YRc+7_sh4WS zqypx6T?(e7@?komDqyxpzJ?0Rt$JW$Q-DPt`4p;b4OPSw_rznHFtgddI<}`{D7G^m z?~9pAy1*lULRAgxwT*tYv+Sfm3>YES-L=3wQweBmg96%OTVSq7?t{u})7k-JyA567 zk*A>Q`gNwH_$v;UHCEHJz#|7i5YWb0EE3SxSfO*h(;!e$liuzbYb+>z|2z45EUV)D z-*$c`-_84Q@7H-eiBrH=;|74+|KHia%ne?ELno@%vTrH!Z6fXLJBoZ)k?#>%$G)$~ z4;1+!k@f6HioB}Gj}`d|kqzvpioB-C>qIuPpDFTlMSel#IQC0L-caOML^iQE75TLy zzaerw`>i5xDe^lao7wLb`GX>VBys}#lOlgsup*$eFxI zkzz&W5b5A0ij*o+Mr0?St4O&b^N4iv3Pt8CQc0wXFHodPk%dI!yjqb(iqsI<#TP45 ztH=@}yLp`=OBJc7@BajB^T(O_q_af)QrwC4{=@i}_?6fPJQLo2?|3I?0Gd2<0#Ubh zD}As+>vX0$I$kgK#ae8yKe4$RPHZn<=DiCV8rn|Ojb-{Op4DP*Y2LUYmeREvOMJ_` z^OUe|IHQDh>lqea?2&Va+U66<_9#jE0*1vJymKJd*tW$oIIy6YZgC*d4Ia5sg0y9E zNZK|zAYJQ`r=+^(Eym=KXv*e*+%DzS zo0W#JHl2u3wY7TWE~$RU2_{WpRg|bv^{n&AbyCZY%{q;0bu_F@u`}x1)Qky+@^v2h zQi3v_#7xRYNu*M?+9MZBjoUX<3NvZSmPVzf#ycBo(D~L04E3aS%7UG5`u@*i&oli0 zKKnDq|K)r&{EZ#NO8-aT?c?tvS1c2!;tc8LAcglbl94L1%^C{HZpD z{aFEY3=x38$a#k7rii^QlbErUV}DhAOM9RxV}Fy`7uhtkzsotA6C+HgZ6E9(ifySj zjeunTQ<@$9!D9cCW^L7~LmxEuZ^hTTLwwHU?9WM5(M_b7JF#}Sz+nfS7(YqJkO3qV zNJoi|!|2Y4@A7p{RSB$l9qzQq-%QH*q}N@tI}&68R#{j(@R=XgshPtlgkp}F;G zk-v))lN3lBngXfcYV15KLFaJ`%1)ukQV5Dl{+OGfqqY?_+jT@JJh-kRK4`^dg61aZ zL@l5?IulM%9is^cG?%4nxMIfqZL#~ zZNjanO;AyS4!M?8o=j1jKohn3U6i16tpMq$<;E)lsoydAyC^|NSpm|Kra(He^7pL7 zIDiVuWOOM6B~$A-T4}NZL-oIy?O^bp^9AR_@T+sk*^7I? zTQJ8zP5e{*0RFk25_jYNpDyeKoF|UvZ(~OA34Sm91E0-L;wx|q&@t=}>}B>C?g`%! zY8z&si;E=6hxYUj4B+;MPHG4G_VssnnoD7-&jEjv%~wk$wgZ0Jc&Vl6O1Zp)5Gl4r zEN0OGFsmb&IHBD)r0%WC*$+%!1SWSM7zH*1w-jNT7m-dI0V^lOnm&v@YlSqqvjgq8 zoFp3DJ>0Q7cL?EScDPCwSThH~Dz{m*r8ho^t19Bt&!&BUL%0-fXpefLRl!9g;|J(k z80_4P57DEz-(_`XGhe1%rTKjTP1Bq8f*{&eI;j^banFEtD`S2S_LJdm9JvEfZ4;GG zz0ov(Z-_lKvU3PG6Uw^|bI$@B7us0TX2HL(8!TLrW3g<-v_*C19$Y0-y}x@ecHR!- z(mr(~$i8l>ypwm+wKYNBv|R`*qcC}FY%s2%eg zetDQbbtl40D14}!ZYfk!(>r|h$WX^l6F%)sgiBlWXHLNDC4c|7e#rNau{k_us0ZtDyR)qZv;$1Ta_ z0Yv}EK!4x)kgSXd$5wS5Hlgj=7vLtqs-SMU-w6$zY}ZJ;hbs_UvST{>P-E1lbhryD zsZWm+CzR5g%<~qxC7Z^8vs%w{X1XQ$0Ykd_`&6tKBi6b|RxpDvn&FlpgToE}etBhO z1VbNyKUdyh7{R9(a8TZ-7{Rof^#jx0lAJ)yvh^N8nhL_fq;(%|$wZm4Y#r$6#w|Xy ziO|kXb|JEI;~0R}TS`{ovcN#JwnlpOei?b!1UF|IPu==;cn%J0@bFjQY#ib!cI<37w?;D}?ns-60}2&j%L|fH7l6i-;E>4pDah4=rz^6`8Q_Wf<( zo%|er8D{?cz=ozq|?j%kbRy7wiZwbymSA=K<$>>;!n}|F;uC z;Z}u0TZEu<7lZwvr#MWOeUJ_G;lHll)eh-g63ijDqS8n}QxG z!vX^VK374z&ljiBZI$F~hvPCt>;*oZ zh8!B7`Y`caIf_0#7>UoGso25Te0H9kO*zBTY`%qjmYkM2Bd9pV%~#x@-V}GX%$gmf zR)2GOflT%etPyaxWJa7Bv`O=d6)$L!=FO2aP#vUj5GP3e zE(0%-vkd6ypidM}XO=3aR+%PQCg-kjL>-gTR_BDzm07w|YYec;6-(<2u;x+!e+pa7 zoNqZF!VJI)=V;9G-GCW@Quz0L4E{g6_%ePJPW#-(dH|FEY7?axdtlROr1{n;%9tKg z`B9ai!|Bxx5gB4eO=%J}i8+v{Z8|e5d##a@E}lA`ngksrhg8%Hv&;)hRVL_|cvXG) z{Tt(g__73@`Yx~8p>5Np$g*nd2^(-r&G4SGL`)&IJr+`h#0;`9LH?48EA1j|VmFw& z1bIBFZ#g5FC#Diu@f&*$t1gkRB!l^4*d(d#Ntdin%z|W1V^obb_NB`#OOS7(hPKm# zcBUEu%g|;uTNDE?raHdM66BZ&!a-95!rIob@ZtpdCaP_YY`KiNVX=h?@xrC9&)9&8k#@8?ieg8UBUZqZFI$!M$k_v5x}y6ZUBzbn?!chF3MH6+N< zQ2y>zD@!tTER*gwFrXnw&>c*jd#gtJB*DiBr@G^%3GygZUVU0HPf3RgF&at}er>}e-(ol-J6_U&LW4wC-+riqi}Ho_!hn&y8?>Xo9sz;Io1KI*!%fN#lP6ZPdA>|au& z<~0dA3J*ov7!w{=q%+6>(iN>t$iwg(yU1Vz3TvS}Gu(6)wTVjDQrFxWnW)T(sZGpR za*=7UayBjEsze3ksvA1PCY#Jolc-LRQ<|E_o!UbCdurLIf_3t$6XbmcGTORy8J({I znTiBCo2je|ed>)}0d#Gm3}`yYp-P?kkgD9b>@o~(8TJ1Q*ozGRf5QIF3$f>aFXsHO z;`hJ<$anak#L@8U-G~*y^KdKZN5!|%=RX>L`Rn1AyT^GqZVh<`I|qNM`UU@MPuXAU zjC}KazG9}bMHP9KExb~$$7Ct4e1TkQ$zC&fl>$Y^VM-5QC_DUqUFOxYb025{_#zdi zHOXquYh<@H-2Cvxvg;Yyn(;qu)vdpg{pbdQ%#f%QSS8{`C1m-Y5qc-CBEyy+X0I?hw04X7gF3*-TRM zm2#YRme!aGZdSosQ!03s?1t}^8mw7R-Xiq!HCnYimY@R^#T9+p3Yu89n;QI#B{nLEj@dxePkE=+%)|yj z@=N;2V8h4Xl3AWu4`xMeua3f4ZbgG2I8Q|)%M*0s5ZJU-5?05T!WJj!fMH2hAeRV8 z5vNcK6Lh|?rlBVyn=K3M^0hG0rbM(6HqSD|4xX1-1Ch$w(EB&`*x-c;I(S&quveR8 z&%s+J*})4FtCfg0$>v!m*}?M?bO5okHdMfkNj7+Hf=(V*)SP8Z(g*!)b9B($1RXd8 z)RlL?hs}C6P^#F@=DQ2|DrD)V@cX5pL})Lwshc7u1-bgMEk{N)tG*>eTWm~?kW}>__y2v%dB8acAHem_blk}C1a9m(4toH8h~5ADuo^Ix{S+&F z*RsBhw*eLm`$GAY}9f!YKe z!>nt@GNybfWV*lHn4Vugr#3++Ga+Z$=W|KUHqhr(CFsazb;F=B&}WfQ%0fT5IzcBj zYZ}ki7TU|6mVGK%pE|5g$RnDKXKU-yWwdPpnTiCR(5$RGn=DHgAiDzSSb`2@7FP^t ztI(|2O$q&sCFsy4Ale86(UH^7nF%^xnO`zMaT-3wMSssv(9y}NI!w08SL07ISjqMS z=O^f(B;YzapJTlZKd>}Gha=0Y`zdNa*t`Tkg!=!*?9&YYzs`P!`TvQ0E^o#+zYAmk zEBQnGMgAk)^p%U7eU8H_;DzG-;xX}Q@h$NyhdDE(H?Zy44R|?b4_|hEX7vsJdws04~Z;+F~eLA10KfyPuAf3}P=s4L2PRky?Np^L^dCZSjjL^H{n`P{&H_T6vQQ3up zZ&5*3QQ{}c{$8jo@~yH{7getLNs6Vl*d>^6lhe!*b&j7b2S3rZm~U51tufd%@Ka=h z!wn5TRd&iF8!mpD;#nF~4HQ3JW_VhY%FmF|gj;65LoqB>s*UGo%3+lMZQvcUw;TAP z@SQ45OUus&@017U_ECk90ki_hyX1@5rwfZ89#`SE0*T)x-{pQ%qSsCNZke$CT7?PS zqe8U;6WT3DOb0A+YXOs=B?m+Yf|_i=UIhp$wE;b{mw(XGFRkvC1>|5*vE=ko{m)~c zVfg=3c>k;9$79{^4*pqq|C=VN;QzZ9_x3%68vi}=Sy%`MUGQf3K2f zk7<^hhh=!R!l{a!f9=7XVmGfL6H{M0TUz4gHD$z@n?2_jxp`Q5SJ9*{_YJIn&n3U-Imyk%>!7G z+>c77m-q{3yLr_{THi%4Pot}X8OwL`s?ym0HTDH?(uY-XWt6>^K062A`wT<1V)72@ zJiAa(I4zEj45;0hvutgWIgBZHY*CwOr=1wsb2TjebLCHWi*p3VJ$g^!5LSW*0H4fvi%UWPY)9?w7(B>6G0QD34scZpsdlnw^4#LW05cU0`Xex$FX}xH_G^vJx2Zi8LWxn4FAK}(=+I_ zJ0;>T;sxB)cMd!OuM+vV>+|FMQk)E|*b8w&9 z3n7aT5@k7wuk|KEVoRDtpGtU8c|dNCHvw|hK{?wL72{lQJYe;iVV!&8oqGrRyZeSq zy<-5a%?$0rj3BORjW6_$2CzK{^lQ9rgb}Isj)KVgpvX}Fu3_?qIu!3jjUCw2KiqH2 z&hw7MPR3@H6FX?BUl#}ZGk##88!P|Vwxn{U$U6ey>S*v#2l^G=`{FabaR3!YgJyV# zgPCvdu`yeUO1#6ss*7R;-bsPy0#{+<(za(U^c)~I+KA|lJbtaL@B~C!Y!Op9Qv0%e zbfL$AuF8ro^%yYqHYVDL*ag5<+Bn3Fy=4A=py}rWksC(Ldl$l+?Qpvt4DKl^Julsw zRQkH%Qdhs^t~h=F&*W`b{^7^*t^73X`#B3cdk^pn_{G@cdmU~9zl%S}AK_2oPM{ZY zBH-)%yZp!e7yP%l0r;Q7#rnWxj1FR=Of0~uf#sqFxBqU&E}vYbda zZ&YN3B27fj;wu$tR%8{Cy}U({)rzzd>EUY>X;Wk^kzU@e$T~&V6Y1j{6xpcAaYXw0 zCPj`{WHXTgeu5%f6giQ|*?g-aCn>Ux$RIyik?o3{LS%@as>o@IoK9qzpP|SOMb0EL z!aEe%sYoZ0eY{JNxFWlV?B}}`*`r7|kpuiJMfNJvL*yXuRisamej?}a0Y%PMWRS?Y zd`OXDMMj96$M-3+Uy%bu-o+0pa*iVB5;>orr^ve$IiJV{`~pQTRKy$S2*EDo2~Crl z9+K4K7ioI2rtg*%H|lD7siyCdG|4a1^u3y1F6kkDg{D_(dX=OX@vAkxM$>C0y_jF8 z>GhhvPtteu8#KL9)Avhy3BQTH|C87f`u;zJ8@0D%L_ZF`e=o-lfI`&qPw<^M`*R28 z{g&8Ot2RN0DeIcg4Gt-EKhK(x&;y^C=2Ru<++=mbxz-595<(~($jkEqM&gVF9gaM` z_Z&UwiEhQT5OtcY*%O7uB{iTScIgGNuT0hjmO5oSY!1DBE_Q zLunq9cFKk^sjf~Bh;8C<{yM()H{c9FiM#>yRJ-nv z`R}$Q4sVIJE$l*Vaddyk$~po>mHg%;j&F(PjqF0ILz&f3#mS_jKFN_G4XqdG%ti$Z zbh@lOS1hy}W)pvXk||l8kSJOG212qm2|B1%+jN1h{-H>9ZAZ8jHG*KgW(s zkQW3f)P~vEutJ@8HYi=;+5|a9Xy5uSN`egxYolb@h;&tJ5(l8FZOeIn-llE%C!JP8 zk%<6=b*@Q}+XN``b3cP3oxn_rRwl?}Li5J+^!v%6MZd2|TWS;JCIMe$ohaS9S|3-% zNPYV>hx-4y>_ZIyzsHZ}4HyFqV&4Bz{!N_yFGOE{NL+;d03XKLpEsN%aRc}X=!?J4 zdFp@X2JrbV-zLWPA>{*AET+$(ZLGkWw? z1EW7MJW=9`Hb8U?8Bj@$(h+4q9m;n_onT&|!c#`cqIglv#hyFn`DsxtLJDxP2KcE- z1H8M;73&2{MC$h^Huxp<{U6U77`%C$>ny|lUk{2c@cw%bZ^dfhqii2onf@(J;tam1 zZ()aw8U8IvrbDSXfqPPkwKR$I`BKy*F)XS$A<;!ioYxmMjqH$2TUZXkA)(Wf;~{iv zH%n%HEq=yWt$(Ht1@>rT9am1IoR&OBtIt|Cd;wCg(>Dh7Cne!0Ky2+~NlJ2bi3;kb zJQ#!GEy<&xcyk9!m^Wz7zL}C1RBPU5>U*d@t@K8%+}M(Y8v?1-yxiibz>5K z3&i?UM=jHox3Uam*S8`$4*D9`GcQxxtuo+$xcwBbNFJ^gWJ;#>mZKCbO~OHfsB6v8 z3S>)1ThfInb*;0OXDbDnN&|iWXRwbl{C|y4!pi^InDu*@e}VrR^Lll-`=bjxf3FoE z6rUA8bB@5=+-9^B_c~wA)F}Md!soe|W*kewYjU-|?Zt*j}D^K+tUJ-Z~7WK+PR zlZumIYL%@iiPLmaLnwu|2E|0K$Pp_UlhRP1#F08t-^w!7l8A()WEUiHqE1xRvv-H= zkG6Y3a)uTNnM(p;Gv_98l1`M@q&EipF+t_YX&S5TFbvBI z6I7hUnK@BX8En>!0S2`?2{%`wbrZWNE%rcL8)1qrs@fC9>LgrYNi}JPh1BT0GVur1 ztVm9Rnx^(F&3<|Uf(q#SKbdb}IPpJ(TfaWf-x4##3Vbj3ii@#g_l)>1&iFSu`<*+T zZ~RAFf&UAYmAaKxJpBg1kYlE;cOviPPPJJb_yTdw2F>htOVZ$e=ATAH`OaVvgDM&b{)1 zZ8bPiv0$c~U&d)mjq#PFS}AOY9?Eg^3j-{**>5<{%`Xpx`x}P`3*2e-d}O%0hkODNb(~`nc|?n7BgP`~s2X`+C9TS~jg&v8rjD*M_GAS=uEEBVtl%e9-d#;L zM1J}CN7O{j)jIBI(32XZgC1v(S#{8FWf6zDWZ zC|H`D4+U6>%g~ma^hAhK{h!3*%=w~o4R+fWqU7rd!H`E8e_c>9a5HT)ySZYR?cf=VRAK)#TD#*mNh1eHD+0|1(=3bcD;_5 z95@YjcMiw(*$B%3pQQ`)vLw#aOJQw_kAQlt^jbFgEG@h^*$m;@CU!kp=d*oD$|^rx zi!Dj6gjiiOyG|RNI?F)?(B2J`V#tOrz9fkg_)<_Co8qSg^@~k0l;FZ7&f<&e26i18 znqsD;$jnrz5?PwWd3-A8*QOikr%rJ!NyS>4#0h;Vnr@~q8nRQd79|@XiWTQ;1BUu? zK}%J5T@okqsmNZVO$~l{t=CVC7@gU|o1nSux@5hU)Ru-NwV~;f)ybuhtZt0@(wp*` zE<^QyHd{~rzdz$ViZ-Cv+2&L_o^iiEWK~uQR-P zV3gYoGa*;%mE*Wm6HbKwD&SWiG3#P;uc<)Zj?xFde*80jb}WUa89}5f!xtJLrJVzV7&bjWR!__aGJVJg)@! z`Z3_)eWS#i18`M#@Nmb@BCi;@^6a=6HrBAh>Ym=A9S3%jD?9b<7=p(R*h>X|x>rbf zZJ$_EN7<%&F)#{k1|4Oa=oR41*|e_su8xr&O!{@jr+c#zQmjL)+wG3^^1;Z_40)wM zt~U!o=0;+D8>M z7#|$zlfS2UxrilSw_n`@ySjUZ0svt z*?HbH1Xk)mzj0Sl2r{*SY7GyH#*{er#4-sX%S!H?xLcnqEZ7Qz?s zO1>7Sf=|W?z&(5bCxb5Jm%u;RjrnpjUA!=q>&>JOv+tdxK}- zOwe519=uen6l-yZ@X2UJ_J{%8By=Ix7q7y7LU&-V@gulZ=vkZw`U*UYy^6laTR3IR zu+QLF_!fvcb8#Bs|L`P`KHqSQq?htrHN8#K+a-MuzeCeIHN8vH%lO@z-lOTglD?PU zr|JEgJ|OAk{6S40()0t8Ucn#M^n;pyNYX3$hc$gf(?=z}ia)05DBxrnm(!N zQ<7f8pVsuFnm!}xwftk6eq7T}NO~Rrq^6(J^jS%-=g(>Syr!R)^nLsVO<&aXGm_rG zKdb5IH2u7!H}aP>{eq@nl=S`lOPYRJ)0ZW^iGM}YuWI@=NpI#~*Yp)lzai-@{F|D7 zOVe*ldMp2qrr*`{dy?M9zpv>JH2tBZxAPxq`l_Zsmh=w(6HR}r>1&eS$zRv>XPW+8 z(!2OCH2tNfZ%BGK|COe1YWizQ@8Q4E^tYP6CF#BVcbfiQ(?3XhAOEAKf70~NlHSk% zqUqb3{#DWk_}?`ByQcq;^g;elP5-6oza@Q0FslEv*b5B*f5QI7^Z9c0`A2a7_ams& zZwVK3fQwLj&xX(MC&dpO*U7~$fp%vXyoKH8Jn#HifBXMeiP}pU-O=JWLroiQqWW(9 zV`>KM+UPDJ|F~vHcQ*Ma)U--O_m$(!H*N2{E?u!~a`~q;H(jsdK0C|BLCWavJAbag zMPH0vuN9}a^!$0v*Q!JOPfu}0u?UP@_zP+u&ik}Zd^6~a!(Y_FT9pa@j50oYB*s6h z=1Mb;^Z4g9AgI;<2=dRXiP9UXubtrw$zM`?ac=Z2MmNaUp+BVj3mWFf6$$&I+RXHR ziqU+j`IpqDrT6P7QsH0L;aX=Z{AKmlZt~6cI|KYH>aE-qu-D>$Rr3ReTKuo6GJG>B zPwSHKud70Ov(}x?enqpj>U8!u)c7C%zn{hI{(S8Id0Jd1&cN=UU%>azFkj04fpvi^ z*onsXH&yifOP;JoFt_MfgS{+k>_ZGJQc(XZMjf!a zB)mb>i+Kbfyq$A zDU}8CFjASeH?y+U$#qcHvYBOT=}dYut7%NakENVi^Ai{xFa(p9K0!wHe=1wZobNhM z;Dr52&K&1(-175D?D^e^MFWAGfN$id@)_(K>@L>L7A{HRI4Di`-0jDQR@IC-gOPy| zGn^$!oDG$Nfy^^(5)9^<;VewzP$f6{|WO%eZHA|7gi;}w`j7g_EbrNhJ zFP8Bt7`yMu_sgOr4wOnEZFIVjHa8$NKN*KmWgWYd%uJUc0|W2{$u7XL74VLLVKgug zn?<1ulAT&0V3ZLEnna;)FKZ|eWg zhI@bfe}(;?;~p8l06xGw-~;?}ekbk#{v!VwM)bMpl5WQ6{Tg@%eOde(KETVJb+{?; z3bY#Er9Q!b_n+#6Mt2hUw=`F0POvY)zdgwn1;XmO@b9Sp->r5w@$c$DJBRuAROc`K z74h$@k-%-?m(72mSz3?v7Wog4b#bGTU*!0YROkG5t%iyoe^rNRc^UR&)iY149{eY2 zd;A?*T-92tCH$wFqm@{k*Jik)QiQ8Me_eGs?+hqYtqlK}<^|Mg-p^HkGeeWdf1#GW z@6u|+jUxZ0Mrh>`h&NQ0MtlzVuhgr*JC%bpKWe@T{7ubG9MM)e6r*H55evYT~nnqmr<5JqpcJJuW$-6$TPuuxSc|Nim>+!nH|wdJ%0~S@wdImcR_EhLoy%Gba|cVAPZX zvo;B@Fl1HsszR!=rV*-ECC`Sc=1nY1#mt^MC}~W>#|!ns?}JgbaG@nGIa7GI&Zoy&OS&r&zDdF z7M|wUMutpg_`uAnmmi`-r`UD-uz9bkWle3d{az){HgNf&aa!EG)+llFT0`PX4$%oy zjI|z?O-hukZ23Zhiw+$IL9|652$-!}pRmO$e9<9S3k8hzg@Sgf@cD-v2%*XUfN!EN zVOggFmmDHTE=bWs0mIA+YS=WxS#k*8TclvXIKw8vpm~O~@DPI_Mvo8q1{xkoStgp` zOrJF>vLQZ&RnEIZG2XRIvv>*u1&)23pIZa zQlheIqx5A{Mg9L=_Bg};?_=#RhcCfNpg6w%_h97zXE6y!F*m}KUjk==J`R6<|AGgQ z)6wgH%=ykcY82jy@LU%rjsC^te^%YpsP8fVi|VG{Z%UI~NKbv1`P-UpN@*JVuhU%k zJ51|{@V}|P^aClKx`)F5t{Ew9hVc*8N6Y>e`9D>H9~`al@PBFGXvLQQTlJtLs)S&w z7yOV(glt<(%@AC3O-h1Xq0$*@3WTHH#0LUORf`~8%?qg1yu(y<(aoPYT=lpg4rsNS zdofM}0;+Am5o#a!*uER$$c3&rU5x!RCXUhqI)49yli|xGj#g_QAM%?j%UbpI633`T zjSpo?wT6w?uuN&!unAQEXJ8u-dlvq`885aF#omAjR*(GlIW)bf?K-Zdg;uskYjp@JOhU);l76%SJ=?m@I>qTyL zG1phi_rs@jHzrT8kYJ6o*UfUPb0Q#e`lG$jtuBmU(xib>w|m-3;2*`W_-*mw(~N0RM_$W0XK z3Z%gTs?TOPB^E^MYB@wcq3}|&ea+L771nabA#(jhgXb(oE;M+~TKF_to2mBy+{LiE z_i1Uf z6PK}6iDNY&@cOL+A||O`Rkq3@Cadn!BiSpXn4)1>UIyx{n5yR6!|jTgrnZShHdJD| zW(HD1WrB3(s7e2{MpVpDQH2|0k*hgITdLs|GgXc~E^AsUxEC8k)s@vEPvzL-rWQnD zW@$`Fy`?8#?Q400B2p9iUEM<+JA1HQmNx#1*=kDs2^~)qq(DP-G*OV4TB`X7#j>-% ze=qLU*eeRvQq4!S>Qs1<4%hlp;l(QaN#E2?+%+8+bJS4j$$*K9Riaq|(-f;z4P2fg zZTQsg9z_2&wToDksr-LR>kI?tYJk=p29&E@d7AVO#d~%Qbac|e63SFP=OE^(vE|b` zk_@N{`u@*m+nDo)^OAG7a~XW?ACI-Y$>L9_?azyQu=~G9oPa%mIs9#`3OtMx0DZVA zpp^ZMeV2WL-NX(+IQ(z6x5;Js)ztCa)ziNp-SPO)5N*{rAqC!X*lJznGdjAFOLPN^ zLBza`v~%1>z?(#Op9PueZ2+XihIIDeSNE>&_+Y-b9?XhpCVJ21-a7DGe7?SdBs~)H zZdc;91KThvHs4ztjMFHi5zIhOe74sHexSUMrY(j-;}6 zS3KUe6aF?zz14s;`Vshl8A$&CUGOo>YXPv_XZwE*;A;38-YT#Q{XqY(e6JZSD_=VY zVL8S&eM)nVw-WpUUm(Sw>NSCr>vIN2cH&IbY;OgQLsVqGLMP8_1ONvFf>-b8D|DuM z%fZb_=jM712*%+7UnuqGOm7)@#WqiMvFQ~|_3CkqBQM>n$sBJfjIXD91Q(2`ZqYR= z->XBxuQFBE&{XB0@&C1V<XwN!b%pmqG2&R4@)>tW@|g9K~40 zI9%Z)P|Y}kaiqd^Fp9B;u~y-FsAH^W9IbEzG%$`~Y*e@rni!8}Y*x4lj$s_jc&x(B zFphCN;{=6U;5f#KjK?e73X>R5V4SRQ8=S~Eh4CbX+hHo>$&Aw!?toJmr!&q__$bU| zoW(d>;bU+r;~d7*6h01f8Rs#!D0~7=XPnP?hQgh&fN>#XtHNDyCSx1pB89u5opCW^ z2lfAlh%SL&@4O24^?NwV|2B^J55xVx8!}gBPRE}9BXK7(d=7tOB_-s+Rnmvj1~%49 znu(m&p4+jKvhk37+Q`XzF>}a|krgP9tEBF6nRyv=NY+TozJt4qAIu-@SvH%Ud@7vR z$a0p+A3Iuh#$>AGP?V_}Ba-7#V_S^7QkD^Sop^w)GChW6k}0Z`l=y~t*&0KzOff}e zlJeN#{<7GR+L&Otj+0sB!iDquV{H-};ai3n%bCtAWXDO$1xZR`jg+TEQ^T#2aV5t{ z%Kq3qMWnrG7}MQ0Oq7)A5#QABV@LFi6m^tQ?`e5rO;}|u204heuqSC+*cG>yv9cJo z;4Pl|a%OyS%a4$hy$ll zesv`*=3#Oq8DA$JVUsxHpk>Z7%D;m5)i6m(If#`_u~^v*!#YG#`i-(`@d%k<@lo}L zX|kjg8<=tXVbdDU*KW%adOyGIH2yCY>jnPzG-mw&pG*;+`JI|sg!_N5$2Gu>nddSe!hU#WY#h!4UX15cOHz= z6FZKZ7;2bgZi483g<4%n;<L zpm++6dJ#S^vO$wxXm`a)IGSm;CXR^EtZA-D4#((y5}S;3@jwq_nQW_#`T;n$pO2rI z5u53;(^CO3PVcPP%nG@5JeRT_E}fuDw~%-^#{kD^|F^J)h%k`}tRx~FuN~YP)1&7y zV3PJ=Yf>ANPhfIVCzB`ZTVfk&j%GdJM1A46u~LgNg(h5;{LoyYs|7 zmTyj@oQ#~fD|#zi5{eKIgz=O))9Bou5wAal`2Mxc-Y7@rCd@PCFI-8Ht3*Z8K4Ww<#^`f z+9N)$S{DqKlqRXP(vEhfQq9pQDIXGEpiNw(8iPjR(yCgIP9svIZ{~o^piB+s`B;N{f9}Th|Gj{F+{7LD_J5_=jo$$~2d;*-@FM)h>+cQmn!Ksr z8D0;r0p9EF_TK$m0s|@;=$97*X3VBV6P4r||4mzQ#K%MY^6D6cRtq{7;}eQsb*F^| z@ln<q`BKs!YfEI7PprtxIi=GCyde)bh4f zCl2weDl?s!xQ0$atX$nn+l!)~^y`=*erXL9O5!7KJ<>02g5|iW1jpYiOvWN?-X6R- zVX=5^uwPo0#}?6F9q5-1w&)S%Qq&q0m zvqxKymg7ggcBbtvVdH*<^Hjc6}*(RxayUaSGlp1G%`ps}p@Z`4GH; zxCC#`6+P2%gHAaYtnN4qugp>v+fy|9ejSC!YRo#{IwNsxiQBeDgmL_qm?{9q@h3)b%p_4Zr_2$2-US zk#`S%FL>W)4+@_|gZ`r7j$WLG>CD$lQ^O4X>XvdfVWvKYntr#yEaph92xjXy&b&Ju zPStOmuIB~jFpbsP&n}#%HwZZ&YM84x+oZ({n8$R7Vv0u4qAPZVI5=H5R!ZcA`AlZj zi2w;_=&eG90zWL!JF9l`vlgyd zu`bdrxmyK_&S*ypZaRT>-Bi2HZJZ!4W-`~(mLPZNJL<`#W;jb%`J_WFEMb~MCoI+d z{|JHS_?LPEarJK{G~xF@w_*fXkQs)f|KEzGVuX24$4HgLW1{$jwji-($As>-&MZ^H zPHmi|EFSm;tfxXV%xz-&b~}J~M%}3)kCQ5?2WkkNbZOAUESg}bp$$!va(XmP5>ILC z4TGt{GT)Fw*;+}-Jg}2{GPFOsuyM;osg+h}fA_+ytM&-lhStx`(W8PJ^?2Fi& zB&F{_r*=CG!#gg`HvG~=Pm`ov9wh6qk7ZpZl5Cx%v>uqm$aR}LEhVX0l5%^@Y!$oM z+5%6fWjS-@Us5$znk6X<2q|SZdQr+Q6;^t(JQI~pZ4tc%5#wuNbyFl|7{RT@I}1DB z7pJF4%11)F3j0gCdh=C3|Cs-Gi+71P$@5`5uK$nDe3-c*GgiDKHjC@TvM|H12?K5{ zkr$y^xU}^=JznY^+O&=OQ6cF7Kh9M>$4!7Q`E&@ua+ymiB%Rcl0iXHwe%UqM&(;yGcV~bVJdOYR!2kir zW8RN%!u7cN{}{Xm|KWYb8|2mFH-Eak?|9e10309u|DE`C$D1!pzql3{?w3pf6T_mw zVoKVrcqyJe(yy#3@VPmCW=33jh+kBkIj?hBC$5X&xVGbrfqqf7U4XfYRxUcbqrGRr z;eJttOPGIPs4TA0KceGajouHqmC_TGuo_jUB51GS6?I~2aN_@ZhkE;@{7uqzV1%i z46dn*!e&{sx@%Qi&(hYcUs6+`?ZwkW{gS2v3=|W^Ge`Orbf!rSBB z?fnEZ0ItHbJ;!;&;D0gy|3h#SoQLND56kS!+?BZ~b6nX}*lho0vy$(@B<~geHNo@({Ub8 z%-7}GQF!_%6mG~ZLa8~0r1UO<@MtMlH!|0Tf|EaiV14dPlqlFJTvhC-Xmzd?#U}Ql zA}v;%TZsJA3h?V@(?@{Wo2uLb6dKn@p~1N`kh`J)cX4h$?zgW9=k2>=v-m@Er_*ly zh^p_Zu+_I}N{5P=c<|(eE{j zdOCZ$Iu6gxp>G=KLi-eMQSMYElxc!CS`Cg5&dtX10lHk39GaVjCB?dghq6cIX5#6B zDJBdT4$MPxGmyC{otXj!_5Xv!BLe^1gS&r zw*hoBS87#?t4B|Q_2H!i*67?CeS0&4bD2A}dV9nH=jp9q_B$V(ulL#{-WcHmE@s92 z9KnTphgI~Z3K!|kRL^rWsYejL$%QPf3oq8&#$KSYzV!sdxAYdB7g&Q$`ZkkTk4?Hn zPwBl#+U!69_$?AjT>m1gi_yNrG}afRU8-$Y}1XA1l5-SVK1A6||_dotozW#xq zGNC_pzTsoot?)@$!njo7Q_#tHHsdmde}FE=<%}y7J`F1wS23QW@EKUm*v;6Z@L5>H zcrN343ZH}X882YGP~r1%5#u)*FIM;he2ekhjF%{U5ps;*VZ2n~OCT8o#_uY887^b| z9^>~Fz5!;Ft8d=J(!u4mk!@O{|G zxQTJI!Vh2z<5tFP3O|JHj5`<~RrnD+#`rkn6AC|uos7F^{NGP3(fPkG!~8y_@UO5D z`}{@FfO$anX70~?H**ZG1Kfg4pZ>2lpv($5eg0|`HN&x#nI6$$F&mao3n+!cv=;FS z$GMP_9GzKnBq0wb;*0i$WNBl_w1AQ+kUkEBA+OC!oTN|lMAqc%n;cMPL!3~1g`6s= z3>gY(stPEDA?|p4Iq9j(v#Nly5)yaP50~BL!G6e%JK0{2SxKxht15%9A|IX*dWmf? zorGnADXI)8!65M_Iuy$Q!&??mUO_w;5$lmm^@gi9@Q@2{kQW_&nq>iZby?LF*9MeM zkc8L_yCbwri3tr4D3u_tujF;P#-5#W9pVkTm2fOY+r@NxF2@_8F+Jo{ z+iCDIqF3&$et9&XRyZXnM$MRW@sI3MC`7wyY~_}lGmHTa#is;x5Q-GC_XQPlixg6L zVnBJ1Fz4bQ3;J%HE~KhHpo~bEujqA`vzCLQ&C0?0fU_gL?sAF5*p0Z@h~RLn4UdGq zo@cl*HZD*fP+lZ7Zx5Rnd-Jx;qw*-K)dz>M7@L*Rp49bwdcjm^`KM)K9)vXh@3=7=nw98kt1(!>_0Yhu&WG))L7`4KK-yhcu>t08aF zbTkH(0SOloUXA$``kn7kNNNly2NH?K90}r{C`o-9B;LuvW%}(ZucL(T zF@f7UY!CRpei1I*rNiYq)n=~)3Aln8ll3G=9Pk7EO6M9M!4LIBLdw;JE1B%RZ{R9D zM^NC_gdb_A3qJ>NHFL%4Nj`V*V||7t|8a(E^!BAae3QnWb-0#^tUOMV6Q!r>fl($}xoUIc!^jIO%u{tIp%?!z4DTNetqjPzkXGINu~ zJg~L$BrN=t`Fpd%@c)eZ{{uz0z-M|q{1vl&w!;26*FQ6JAg=v)e<9E6l%N8m)to8f zZI_k2jUt>Zx58fNeKw>{365l4t`>6X;yCEgH8G$A`_m_iw<(B+40N-&6j3Y>nIel? z0y@Iq+A7{Eq!Bn5|}w%yxDte^x6z31zA?syZcs`7hNRV!s7$VJTP^Nc(WIONmII`3j)eLFn^hN z!{wmk5l#0}GbaYd3j#_`K>A%ir|5TIaHoFi{}0ZL7MaobecvlG>oOm~H}HGCYv5LR z-rLV>_BwG@aQ7Dy2mXGQ>RIqNU01|J3jM6W&zaSAb0k=QF~Wxy=& zv9C||7$@$g{{H}Ry71O|Gcf1hO)v(({BdDspm-PyKhxj*fRaJ9bc#RqViD)^PKmQ7 z6*TT1ZC``=LYRADKzSpUEfD+q+Cc2G6@O5Y)7QpHZG>-)JipmZ2iLtk5mYH&A;yM~s4 z(qznCBKr1#rL>D%_q>1-XSBD7z0US=Z`ZJzC>l|O15q6g4v?avCuS10i}BW5A*-r;x&2)z)RTguY?9X0k9eO`-~BP6I;cleb4)20>)9n zcr+EKGe4kb-#TV%EW#qnilUC*HV1Sx8jrfY&sU?p{d`Q|*|nIyBDETGnp-W8B>Y+| z($sfFiP#*_v1yX#26stw6u&MkEqs)7^q>x+OR&pd?96b>dyJ*DXc%S|T+; z1B%o&i$6Pzw9K=W)dZA9iDVr1kqldA%TxvRD1)mie@>c40%VlU-4@g#ck4>=C$=hl z#^@!(gdN>ySsk2aw%!}nD~VxG^l@zgWniK@*o(f^!M=sedUiae4toB->YXCIeVG6E zPR#$i6n}jA_hk!w*#e)U1qS4n`=Y!Ud$;gxKK@%Rc;vc}Qf*UcyO^E9;v2bT$Wm#u z#4}hF=gvlkGMfSaZMx9`xlUj7ug1PA*^Ld%Ek#NVQSv$ndjB6JE*3Bz&;8#Hui}?| zhhi3>GrWtupL(0UH*hu}lX)A@1O5iHfp%x+Wsc4a!coDSI6JsjT#JIAj~nINM|1LF}*$TLslNY z7Vs!jS#^TCLvQ%{P<17-G$gQHlRk*NHdhd~F)8vqByH6jxRT>3*rGj58#=*ernAcA ztpS^K3pj^Auu<#8~Ma9VemUW+0n;WL-@U(y6Ag92=}rCw{qASruNQo zpI#Bl>;2(=y)xq(O27k5GxvzK=^Y-_%Q7h=9e7ALZu$rc9%c@Qay>YMM|2e_gFjfu z*Uw!1yr&=5tNH)TPT@U;^L$IZ5jY3133mV-4}&xRhQ(k0{k^onuz-@2VZzHqIJHK| z7&X;e`mlhKk`ZeZXejbp17pKFB%pj`m>bg$yJkFWn2ru830dF8iG3$roFIBZ#!CtM$#fWo*{!5P7goq1vn0c9n_3~=t)Zkfwr9S7zrhg3sAnaN0y zjg5zW%hZJ6s9+)r;+7ysk6_Hq6QN9HDB|cTEDPx(m|kL3KuOC;B)YJMX4z(o{2x|E BJ1PJG diff --git a/lms/djangoapps/certificates/api.py b/lms/djangoapps/certificates/api.py index 1a54ac2f44..f09ea73003 100644 --- a/lms/djangoapps/certificates/api.py +++ b/lms/djangoapps/certificates/api.py @@ -78,7 +78,7 @@ def get_certificates_for_user(username): else None ), } - for cert in GeneratedCertificate.objects.filter(user__username=username).order_by("course_id") + for cert in GeneratedCertificate.eligible_certificates.filter(user__username=username).order_by("course_id") ] @@ -109,11 +109,14 @@ def generate_user_certificates(student, course_key, course=None, insecure=False, if insecure: xqueue.use_https = False generate_pdf = not has_html_certificates_enabled(course_key, course) - status, cert = xqueue.add_cert(student, course_key, - course=course, - generate_pdf=generate_pdf, - forced_grade=forced_grade) - if status in [CertificateStatuses.generating, CertificateStatuses.downloadable]: + cert = xqueue.add_cert( + student, + course_key, + course=course, + generate_pdf=generate_pdf, + forced_grade=forced_grade + ) + if cert.status in [CertificateStatuses.generating, CertificateStatuses.downloadable]: emit_certificate_event('created', student, course_key, course, { 'user_id': student.id, 'course_id': unicode(course_key), @@ -121,7 +124,7 @@ def generate_user_certificates(student, course_key, course=None, insecure=False, 'enrollment_mode': cert.mode, 'generation_mode': generation_mode }) - return status + return cert.status def regenerate_user_certificates(student, course_key, course=None, @@ -385,7 +388,7 @@ def get_certificate_url(user_id=None, course_id=None, uuid=None): ) return url try: - user_certificate = GeneratedCertificate.objects.get( + user_certificate = GeneratedCertificate.eligible_certificates.get( user=user_id, course_id=course_id ) diff --git a/lms/djangoapps/certificates/management/commands/create_fake_cert.py b/lms/djangoapps/certificates/management/commands/create_fake_cert.py index 7c063ed1b3..ed2c0a3c4f 100644 --- a/lms/djangoapps/certificates/management/commands/create_fake_cert.py +++ b/lms/djangoapps/certificates/management/commands/create_fake_cert.py @@ -76,7 +76,7 @@ class Command(BaseCommand): status = options.get('status', CertificateStatuses.downloadable) grade = options.get('grade', '') - cert, created = GeneratedCertificate.objects.get_or_create( + cert, created = GeneratedCertificate.eligible_certificates.get_or_create( user=user, course_id=course_key ) diff --git a/lms/djangoapps/certificates/management/commands/fix_ungraded_certs.py b/lms/djangoapps/certificates/management/commands/fix_ungraded_certs.py index 3c26d16447..9e7553650b 100644 --- a/lms/djangoapps/certificates/management/commands/fix_ungraded_certs.py +++ b/lms/djangoapps/certificates/management/commands/fix_ungraded_certs.py @@ -42,8 +42,9 @@ class Command(BaseCommand): def handle(self, *args, **options): course_id = options['course'] print "Fetching ungraded students for {0}".format(course_id) - ungraded = GeneratedCertificate.objects.filter( - course_id__exact=course_id).filter(grade__exact='') + ungraded = GeneratedCertificate.objects.filter( # pylint: disable=no-member + course_id__exact=course_id + ).filter(grade__exact='') course = courses.get_course_by_id(course_id) factory = RequestFactory() request = factory.get('/') diff --git a/lms/djangoapps/certificates/management/commands/gen_cert_report.py b/lms/djangoapps/certificates/management/commands/gen_cert_report.py index d0e6ef335d..38f42876d8 100644 --- a/lms/djangoapps/certificates/management/commands/gen_cert_report.py +++ b/lms/djangoapps/certificates/management/commands/gen_cert_report.py @@ -70,14 +70,17 @@ class Command(BaseCommand): enrolled_total = User.objects.filter( courseenrollment__course_id=course_id ) - verified_enrolled = GeneratedCertificate.objects.filter( - course_id__exact=course_id, mode__exact='verified' + verified_enrolled = GeneratedCertificate.objects.filter( # pylint: disable=no-member + course_id__exact=course_id, + mode__exact='verified' ) - honor_enrolled = GeneratedCertificate.objects.filter( - course_id__exact=course_id, mode__exact='honor' + honor_enrolled = GeneratedCertificate.objects.filter( # pylint: disable=no-member + course_id__exact=course_id, + mode__exact='honor' ) - audit_enrolled = GeneratedCertificate.objects.filter( - course_id__exact=course_id, mode__exact='audit' + audit_enrolled = GeneratedCertificate.objects.filter( # pylint: disable=no-member + course_id__exact=course_id, + mode__exact='audit' ) cert_data[course_id] = { @@ -88,7 +91,7 @@ class Command(BaseCommand): 'audit_enrolled': audit_enrolled.count() } - status_tally = GeneratedCertificate.objects.filter( + status_tally = GeneratedCertificate.objects.filter( # pylint: disable=no-member course_id__exact=course_id ).values('status').annotate( dcount=Count('status') @@ -100,7 +103,7 @@ class Command(BaseCommand): } ) - mode_tally = GeneratedCertificate.objects.filter( + mode_tally = GeneratedCertificate.objects.filter( # pylint: disable=no-member course_id__exact=course_id, status__exact='downloadable' ).values('mode').annotate( diff --git a/lms/djangoapps/certificates/management/commands/resubmit_error_certificates.py b/lms/djangoapps/certificates/management/commands/resubmit_error_certificates.py index b17bba7242..6a183effa7 100644 --- a/lms/djangoapps/certificates/management/commands/resubmit_error_certificates.py +++ b/lms/djangoapps/certificates/management/commands/resubmit_error_certificates.py @@ -81,7 +81,7 @@ class Command(BaseCommand): # Retrieve the IDs of generated certificates with # error status in the set of courses we're considering. queryset = ( - GeneratedCertificate.objects.select_related('user') + GeneratedCertificate.objects.select_related('user') # pylint: disable=no-member ).filter(status=CertificateStatuses.error) if only_course_keys: queryset = queryset.filter(course_id__in=only_course_keys) diff --git a/lms/djangoapps/certificates/models.py b/lms/djangoapps/certificates/models.py index 273f8438cb..e00a324b5b 100644 --- a/lms/djangoapps/certificates/models.py +++ b/lms/djangoapps/certificates/models.py @@ -86,6 +86,8 @@ class CertificateStatuses(object): restricted = 'restricted' unavailable = 'unavailable' auditing = 'auditing' + audit_passing = 'audit_passing' + audit_notpassing = 'audit_notpassing' readable_statuses = { downloadable: "already received", @@ -143,7 +145,7 @@ class CertificateWhitelist(models.Model): if student: white_list = white_list.filter(user=student) result = [] - generated_certificates = GeneratedCertificate.objects.filter( + generated_certificates = GeneratedCertificate.eligible_certificates.filter( course_id=course_id, user__in=[exception.user for exception in white_list], status=CertificateStatuses.downloadable @@ -168,11 +170,42 @@ class CertificateWhitelist(models.Model): return result +class EligibleCertificateManager(models.Manager): + """ + A manager for `GeneratedCertificate` models that automatically + filters out ineligible certs. + + The idea is to prevent accidentally granting certificates to + students who have not enrolled in a cert-granting mode. The + alternative is to filter by eligible_for_certificate=True every + time certs are searched for, which is verbose and likely to be + forgotten. + """ + + def get_queryset(self): + """ + Return a queryset for `GeneratedCertificate` models, filtering out + ineligible certificates. + """ + return super(EligibleCertificateManager, self).get_queryset().exclude( + status__in=(CertificateStatuses.audit_passing, CertificateStatuses.audit_notpassing) + ) + + class GeneratedCertificate(models.Model): """ Base model for generated certificates """ + # Only returns eligible certificates. This should be used in + # preference to the default `objects` manager in most cases. + eligible_certificates = EligibleCertificateManager() + + # Normal object manager, which should only be used when ineligible + # certificates (i.e. new audit certs) should be included in the + # results. Django requires us to explicitly declare this. + objects = models.Manager() + MODES = Choices('verified', 'honor', 'audit', 'professional', 'no-id-professional') VERIFIED_CERTS_MODES = [CourseMode.VERIFIED, CourseMode.CREDIT_MODE] @@ -410,7 +443,7 @@ def certificate_status_for_student(student, course_id): ''' try: - generated_certificate = GeneratedCertificate.objects.get( + generated_certificate = GeneratedCertificate.objects.get( # pylint: disable=no-member user=student, course_id=course_id) cert_status = { 'status': generated_certificate.status, diff --git a/lms/djangoapps/certificates/queue.py b/lms/djangoapps/certificates/queue.py index 7d89c430b5..1fda185830 100644 --- a/lms/djangoapps/certificates/queue.py +++ b/lms/djangoapps/certificates/queue.py @@ -20,6 +20,7 @@ from student.models import UserProfile, CourseEnrollment from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification from certificates.models import ( + CertificateStatuses, GeneratedCertificate, certificate_status_for_student, CertificateStatuses as status, @@ -120,14 +121,14 @@ class XQueueCertInterface(object): Change the certificate status to unavailable (if it exists) and request grading. Passing grades will put a certificate request on the queue. - Return the status object. + Return the certificate. """ # TODO: when del_cert is implemented and plumbed through certificates # repo also, do a deletion followed by a creation r/t a simple # recreation. XXX: this leaves orphan cert files laying around in # AWS. See note in the docstring too. try: - certificate = GeneratedCertificate.objects.get(user=student, course_id=course_id) + certificate = GeneratedCertificate.eligible_certificates.get(user=student, course_id=course_id) LOGGER.info( ( @@ -183,8 +184,7 @@ class XQueueCertInterface(object): raise NotImplementedError # pylint: disable=too-many-statements - def add_cert(self, student, course_id, course=None, forced_grade=None, template_file=None, - title='None', generate_pdf=True): + def add_cert(self, student, course_id, course=None, forced_grade=None, template_file=None, generate_pdf=True): """ Request a new certificate for a student. @@ -211,7 +211,7 @@ class XQueueCertInterface(object): If a student does not have a passing grade the status will change to status.notpassing - Returns the student's status and newly created certificate instance + Returns the newly created certificate instance """ valid_statuses = [ @@ -222,10 +222,11 @@ class XQueueCertInterface(object): status.notpassing, status.downloadable, status.auditing, + status.audit_passing, + status.audit_notpassing, ] cert_status = certificate_status_for_student(student, course_id)['status'] - new_status = cert_status cert = None if cert_status not in valid_statuses: @@ -240,169 +241,191 @@ class XQueueCertInterface(object): cert_status, unicode(valid_statuses) ) + return None + + # The caller can optionally pass a course in to avoid + # re-fetching it from Mongo. If they have not provided one, + # get it from the modulestore. + if course is None: + course = modulestore().get_course(course_id, depth=0) + + profile = UserProfile.objects.get(user=student) + profile_name = profile.name + + # Needed for access control in grading. + self.request.user = student + self.request.session = {} + + is_whitelisted = self.whitelist.filter(user=student, course_id=course_id, whitelist=True).exists() + grade = grades.grade(student, self.request, course) + enrollment_mode, __ = CourseEnrollment.enrollment_mode_for_user(student, course_id) + mode_is_verified = enrollment_mode in GeneratedCertificate.VERIFIED_CERTS_MODES + user_is_verified = SoftwareSecurePhotoVerification.user_is_verified(student) + cert_mode = enrollment_mode + is_eligible_for_certificate = is_whitelisted or CourseMode.is_eligible_for_certificate(enrollment_mode) + + # For credit mode generate verified certificate + if cert_mode == CourseMode.CREDIT_MODE: + cert_mode = CourseMode.VERIFIED + + if template_file is not None: + template_pdf = template_file + elif mode_is_verified and user_is_verified: + template_pdf = "certificate-template-{id.org}-{id.course}-verified.pdf".format(id=course_id) + elif mode_is_verified and not user_is_verified: + template_pdf = "certificate-template-{id.org}-{id.course}.pdf".format(id=course_id) + cert_mode = GeneratedCertificate.MODES.honor else: - # grade the student + # honor code and audit students + template_pdf = "certificate-template-{id.org}-{id.course}.pdf".format(id=course_id) + if forced_grade: + grade['grade'] = forced_grade - # re-use the course passed in optionally so we don't have to re-fetch everything - # for every student - if course is None: - course = modulestore().get_course(course_id, depth=0) - profile = UserProfile.objects.get(user=student) - profile_name = profile.name + cert, created = GeneratedCertificate.objects.get_or_create(user=student, course_id=course_id) # pylint: disable=no-member - # Needed - self.request.user = student - self.request.session = {} + cert.mode = cert_mode + cert.user = student + cert.grade = grade['percent'] + cert.course_id = course_id + cert.name = profile_name + cert.download_url = '' - course_name = course.display_name or unicode(course_id) - is_whitelisted = self.whitelist.filter(user=student, course_id=course_id, whitelist=True).exists() - grade = grades.grade(student, self.request, course) - enrollment_mode, __ = CourseEnrollment.enrollment_mode_for_user(student, course_id) - mode_is_verified = enrollment_mode in GeneratedCertificate.VERIFIED_CERTS_MODES - user_is_verified = SoftwareSecurePhotoVerification.user_is_verified(student) - cert_mode = enrollment_mode + # Strip HTML from grade range label + grade_contents = grade.get('grade', None) + try: + grade_contents = lxml.html.fromstring(grade_contents).text_content() + passing = True + except (TypeError, XMLSyntaxError, ParserError) as exc: + LOGGER.info( + ( + u"Could not retrieve grade for student %s " + u"in the course '%s' " + u"because an exception occurred while parsing the " + u"grade contents '%s' as HTML. " + u"The exception was: '%s'" + ), + student.id, + unicode(course_id), + grade_contents, + unicode(exc) + ) - # For credit mode generate verified certificate - if cert_mode == CourseMode.CREDIT_MODE: - cert_mode = CourseMode.VERIFIED - - if mode_is_verified and user_is_verified: - template_pdf = "certificate-template-{id.org}-{id.course}-verified.pdf".format(id=course_id) - elif mode_is_verified and not user_is_verified: - template_pdf = "certificate-template-{id.org}-{id.course}.pdf".format(id=course_id) - cert_mode = GeneratedCertificate.MODES.honor + # Log if the student is whitelisted + if is_whitelisted: + LOGGER.info( + u"Student %s is whitelisted in '%s'", + student.id, + unicode(course_id) + ) + passing = True else: - # honor code and audit students - template_pdf = "certificate-template-{id.org}-{id.course}.pdf".format(id=course_id) - if forced_grade: - grade['grade'] = forced_grade + passing = False - cert, __ = GeneratedCertificate.objects.get_or_create(user=student, course_id=course_id) + # If this user's enrollment is not eligible to receive a + # certificate, mark it as such for reporting and + # analytics. Only do this if the certificate is new -- we + # don't want to mark existing audit certs as ineligible. + if created and not is_eligible_for_certificate: + cert.status = CertificateStatuses.audit_passing if passing else CertificateStatuses.audit_notpassing + cert.save() + LOGGER.info( + u"Student %s with enrollment mode %s is not eligible for a certificate.", + student.id, + enrollment_mode + ) + return cert + # If they are not passing, short-circuit and don't generate cert + elif not passing: + cert.status = status.notpassing + cert.save() - cert.mode = cert_mode - cert.user = student - cert.grade = grade['percent'] - cert.course_id = course_id - cert.name = profile_name - cert.download_url = '' - # Strip HTML from grade range label - grade_contents = grade.get('grade', None) + LOGGER.info( + ( + u"Student %s does not have a grade for '%s', " + u"so their certificate status has been set to '%s'. " + u"No certificate generation task was sent to the XQueue." + ), + student.id, + unicode(course_id), + cert.status + ) + return cert + + # Check to see whether the student is on the the embargoed + # country restricted list. If so, they should not receive a + # certificate -- set their status to restricted and log it. + if self.restricted.filter(user=student).exists(): + cert.status = status.restricted + cert.save() + + LOGGER.info( + ( + u"Student %s is in the embargoed country restricted " + u"list, so their certificate status has been set to '%s' " + u"for the course '%s'. " + u"No certificate generation task was sent to the XQueue." + ), + student.id, + cert.status, + unicode(course_id) + ) + return cert + + # Finally, generate the certificate and send it off. + return self._generate_cert(cert, course, student, grade_contents, template_pdf, generate_pdf) + + def _generate_cert(self, cert, course, student, grade_contents, template_pdf, generate_pdf): + """ + Generate a certificate for the student. If `generate_pdf` is True, + sends a request to XQueue. + """ + course_id = unicode(course.id) + + key = make_hashkey(random.random()) + cert.key = key + contents = { + 'action': 'create', + 'username': student.username, + 'course_id': course_id, + 'course_name': course.display_name or course_id, + 'name': cert.name, + 'grade': grade_contents, + 'template_pdf': template_pdf, + } + if generate_pdf: + cert.status = status.generating + else: + cert.status = status.downloadable + cert.verify_uuid = uuid4().hex + + cert.save() + + if generate_pdf: try: - grade_contents = lxml.html.fromstring(grade_contents).text_content() - except (TypeError, XMLSyntaxError, ParserError) as exc: - LOGGER.info( - ( - u"Could not retrieve grade for student %s " - u"in the course '%s' " - u"because an exception occurred while parsing the " - u"grade contents '%s' as HTML. " - u"The exception was: '%s'" - ), - student.id, - unicode(course_id), - grade_contents, - unicode(exc) - ) - - # Despite blowing up the xml parser, bad values here are fine - grade_contents = None - - if is_whitelisted or grade_contents is not None: - - if is_whitelisted: - LOGGER.info( - u"Student %s is whitelisted in '%s'", - student.id, - unicode(course_id) - ) - - # check to see whether the student is on the - # the embargoed country restricted list - # otherwise, put a new certificate request - # on the queue - - if self.restricted.filter(user=student).exists(): - new_status = status.restricted - cert.status = new_status - cert.save() - - LOGGER.info( - ( - u"Student %s is in the embargoed country restricted " - u"list, so their certificate status has been set to '%s' " - u"for the course '%s'. " - u"No certificate generation task was sent to the XQueue." - ), - student.id, - new_status, - unicode(course_id) - ) - else: - key = make_hashkey(random.random()) - cert.key = key - contents = { - 'action': 'create', - 'username': student.username, - 'course_id': unicode(course_id), - 'course_name': course_name, - 'name': profile_name, - 'grade': grade_contents, - 'template_pdf': template_pdf, - } - if template_file: - contents['template_pdf'] = template_file - if generate_pdf: - new_status = status.generating - else: - new_status = status.downloadable - cert.verify_uuid = uuid4().hex - - cert.status = new_status - cert.save() - - if generate_pdf: - try: - self._send_to_xqueue(contents, key) - except XQueueAddToQueueError as exc: - new_status = ExampleCertificate.STATUS_ERROR - cert.status = new_status - cert.error_reason = unicode(exc) - cert.save() - LOGGER.critical( - ( - u"Could not add certificate task to XQueue. " - u"The course was '%s' and the student was '%s'." - u"The certificate task status has been marked as 'error' " - u"and can be re-submitted with a management command." - ), course_id, student.id - ) - else: - LOGGER.info( - ( - u"The certificate status has been set to '%s'. " - u"Sent a certificate grading task to the XQueue " - u"with the key '%s'. " - ), - new_status, - key - ) - else: - new_status = status.notpassing - cert.status = new_status + self._send_to_xqueue(contents, key) + except XQueueAddToQueueError as exc: + cert.status = ExampleCertificate.STATUS_ERROR + cert.error_reason = unicode(exc) cert.save() - + LOGGER.critical( + ( + u"Could not add certificate task to XQueue. " + u"The course was '%s' and the student was '%s'." + u"The certificate task status has been marked as 'error' " + u"and can be re-submitted with a management command." + ), course_id, student.id + ) + else: LOGGER.info( ( - u"Student %s does not have a grade for '%s', " - u"so their certificate status has been set to '%s'. " - u"No certificate generation task was sent to the XQueue." + u"The certificate status has been set to '%s'. " + u"Sent a certificate grading task to the XQueue " + u"with the key '%s'. " ), - student.id, - unicode(course_id), - new_status + cert.status, + key ) - - return new_status, cert + return cert def add_example_cert(self, example_cert): """Add a task to create an example certificate. diff --git a/lms/djangoapps/certificates/tests/test_api.py b/lms/djangoapps/certificates/tests/test_api.py index 640ab68578..357dae3659 100644 --- a/lms/djangoapps/certificates/tests/test_api.py +++ b/lms/djangoapps/certificates/tests/test_api.py @@ -231,7 +231,7 @@ class GenerateUserCertificatesTest(EventTestMixin, WebCertificateTestMixin, Modu certs_api.generate_user_certificates(self.student, self.course.id) # Verify that the certificate has status 'generating' - cert = GeneratedCertificate.objects.get(user=self.student, course_id=self.course.id) + cert = GeneratedCertificate.eligible_certificates.get(user=self.student, course_id=self.course.id) self.assertEqual(cert.status, CertificateStatuses.generating) self.assert_event_emitted( 'edx.certificate.created', @@ -249,7 +249,7 @@ class GenerateUserCertificatesTest(EventTestMixin, WebCertificateTestMixin, Modu certs_api.generate_user_certificates(self.student, self.course.id) # Verify that the certificate has been marked with status error - cert = GeneratedCertificate.objects.get(user=self.student, course_id=self.course.id) + cert = GeneratedCertificate.eligible_certificates.get(user=self.student, course_id=self.course.id) self.assertEqual(cert.status, 'error') self.assertIn(self.ERROR_REASON, cert.error_reason) @@ -263,7 +263,7 @@ class GenerateUserCertificatesTest(EventTestMixin, WebCertificateTestMixin, Modu certs_api.generate_user_certificates(self.student, self.course.id) # Verify that the certificate has status 'downloadable' - cert = GeneratedCertificate.objects.get(user=self.student, course_id=self.course.id) + cert = GeneratedCertificate.eligible_certificates.get(user=self.student, course_id=self.course.id) self.assertEqual(cert.status, CertificateStatuses.downloadable) @patch.dict(settings.FEATURES, {'CERTIFICATES_HTML_VIEW': False}) diff --git a/lms/djangoapps/certificates/tests/test_cert_management.py b/lms/djangoapps/certificates/tests/test_cert_management.py index 4e025266f5..71d0870a83 100644 --- a/lms/djangoapps/certificates/tests/test_cert_management.py +++ b/lms/djangoapps/certificates/tests/test_cert_management.py @@ -6,6 +6,7 @@ from nose.plugins.attrib import attr from django.test.utils import override_settings from mock import patch +from course_modes.models import CourseMode from opaque_keys.edx.locator import CourseLocator from certificates.tests.factories import BadgeAssertionFactory from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase @@ -30,16 +31,17 @@ class CertificateManagementTest(ModuleStoreTestCase): for __ in range(3) ] - def _create_cert(self, course_key, user, status): + def _create_cert(self, course_key, user, status, mode=CourseMode.HONOR): """Create a certificate entry. """ # Enroll the user in the course CourseEnrollmentFactory.create( user=user, - course_id=course_key + course_id=course_key, + mode=mode ) # Create the certificate - GeneratedCertificate.objects.create( + GeneratedCertificate.eligible_certificates.create( user=user, course_id=course_key, status=status @@ -52,7 +54,7 @@ class CertificateManagementTest(ModuleStoreTestCase): def _assert_cert_status(self, course_key, user, expected_status): """Check the status of a certificate. """ - cert = GeneratedCertificate.objects.get(user=user, course_id=course_key) + cert = GeneratedCertificate.eligible_certificates.get(user=user, course_id=course_key) self.assertEqual(cert.status, expected_status) @@ -61,9 +63,10 @@ class CertificateManagementTest(ModuleStoreTestCase): class ResubmitErrorCertificatesTest(CertificateManagementTest): """Tests for the resubmit_error_certificates management command. """ - def test_resubmit_error_certificate(self): + @ddt.data(CourseMode.HONOR, CourseMode.VERIFIED) + def test_resubmit_error_certificate(self, mode): # Create a certificate with status 'error' - self._create_cert(self.courses[0].id, self.user, CertificateStatuses.error) + self._create_cert(self.courses[0].id, self.user, CertificateStatuses.error, mode) # Re-submit all certificates with status 'error' with check_mongo_calls(1): @@ -198,7 +201,7 @@ class RegenerateCertificatesTest(CertificateManagementTest): username=self.user.email, course=unicode(key), noop=False, insecure=True, template_file=None, grade_value=None ) - certificate = GeneratedCertificate.objects.get( + certificate = GeneratedCertificate.eligible_certificates.get( user=self.user, course_id=key ) @@ -236,7 +239,7 @@ class UngenerateCertificatesTest(CertificateManagementTest): course=unicode(key), noop=False, insecure=True, force=False ) self.assertTrue(mock_send_to_queue.called) - certificate = GeneratedCertificate.objects.get( + certificate = GeneratedCertificate.eligible_certificates.get( user=self.user, course_id=key ) diff --git a/lms/djangoapps/certificates/tests/test_create_fake_cert.py b/lms/djangoapps/certificates/tests/test_create_fake_cert.py index 1d2f95917e..a35715e254 100644 --- a/lms/djangoapps/certificates/tests/test_create_fake_cert.py +++ b/lms/djangoapps/certificates/tests/test_create_fake_cert.py @@ -28,7 +28,7 @@ class CreateFakeCertTest(TestCase): cert_mode='verified', grade='0.89' ) - cert = GeneratedCertificate.objects.get(user=self.user, course_id=self.COURSE_KEY) + cert = GeneratedCertificate.eligible_certificates.get(user=self.user, course_id=self.COURSE_KEY) self.assertEqual(cert.status, 'downloadable') self.assertEqual(cert.mode, 'verified') self.assertEqual(cert.grade, '0.89') @@ -41,7 +41,7 @@ class CreateFakeCertTest(TestCase): unicode(self.COURSE_KEY), cert_mode='honor' ) - cert = GeneratedCertificate.objects.get(user=self.user, course_id=self.COURSE_KEY) + cert = GeneratedCertificate.eligible_certificates.get(user=self.user, course_id=self.COURSE_KEY) self.assertEqual(cert.mode, 'honor') def test_too_few_args(self): diff --git a/lms/djangoapps/certificates/tests/test_models.py b/lms/djangoapps/certificates/tests/test_models.py index 41d38d26e2..2a1bc54e7a 100644 --- a/lms/djangoapps/certificates/tests/test_models.py +++ b/lms/djangoapps/certificates/tests/test_models.py @@ -8,13 +8,21 @@ from django.test.utils import override_settings from nose.plugins.attrib import attr from path import Path as path -from opaque_keys.edx.locator import CourseLocator from certificates.models import ( ExampleCertificate, ExampleCertificateSet, CertificateHtmlViewConfiguration, CertificateTemplateAsset, - BadgeImageConfiguration) + BadgeImageConfiguration, + EligibleCertificateManager, + GeneratedCertificate, + CertificateStatuses, +) +from certificates.tests.factories import GeneratedCertificateFactory +from opaque_keys.edx.locator import CourseLocator +from student.tests.factories import UserFactory +from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase +from xmodule.modulestore.tests.factories import CourseFactory FEATURES_INVALID_FILE_PATH = settings.FEATURES.copy() FEATURES_INVALID_FILE_PATH['CERTS_HTML_VIEW_CONFIG_PATH'] = 'invalid/path/to/config.json' @@ -234,3 +242,42 @@ class CertificateTemplateAssetTest(TestCase): certificate_template_asset = CertificateTemplateAsset.objects.get(id=1) self.assertEqual(certificate_template_asset.asset, 'certificate_template_assets/1/picture2.jpg') + + +@attr('shard_1') +class EligibleCertificateManagerTest(SharedModuleStoreTestCase): + """ + Test the GeneratedCertificate model's object manager for filtering + out ineligible certs. + """ + + @classmethod + def setUpClass(cls): + super(EligibleCertificateManagerTest, cls).setUpClass() + cls.courses = (CourseFactory(), CourseFactory()) + + def setUp(self): + super(EligibleCertificateManagerTest, self).setUp() + self.user = UserFactory() + self.eligible_cert = GeneratedCertificateFactory.create( + status=CertificateStatuses.downloadable, + user=self.user, + course_id=self.courses[0].id # pylint: disable=no-member + ) + self.ineligible_cert = GeneratedCertificateFactory.create( + status=CertificateStatuses.audit_passing, + user=self.user, + course_id=self.courses[1].id # pylint: disable=no-member + ) + + def test_filter_ineligible_certificates(self): + """ + Verify that the EligibleCertificateManager filters out + certificates marked as ineligible, and that the default object + manager for GeneratedCertificate does not filter them out. + """ + self.assertEqual(list(GeneratedCertificate.eligible_certificates.filter(user=self.user)), [self.eligible_cert]) + self.assertEqual( + list(GeneratedCertificate.objects.filter(user=self.user)), # pylint: disable=no-member + [self.eligible_cert, self.ineligible_cert] + ) diff --git a/lms/djangoapps/certificates/tests/test_queue.py b/lms/djangoapps/certificates/tests/test_queue.py index 9dede744c5..231dd673da 100644 --- a/lms/djangoapps/certificates/tests/test_queue.py +++ b/lms/djangoapps/certificates/tests/test_queue.py @@ -9,6 +9,7 @@ from nose.plugins.attrib import attr from django.test import TestCase from django.test.utils import override_settings +from course_modes.models import CourseMode from opaque_keys.edx.locator import CourseLocator from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase from student.tests.factories import UserFactory, CourseEnrollmentFactory @@ -22,13 +23,14 @@ from xmodule.modulestore.tests.factories import CourseFactory # in our `XQueueCertInterface` implementation. from capa.xqueue_interface import XQueueInterface -from certificates.queue import XQueueCertInterface from certificates.models import ( ExampleCertificateSet, ExampleCertificate, GeneratedCertificate, CertificateStatuses, ) +from certificates.queue import XQueueCertInterface +from certificates.tests.factories import CertificateWhitelistFactory, GeneratedCertificateFactory from lms.djangoapps.verify_student.tests.factories import SoftwareSecurePhotoVerificationFactory @@ -74,7 +76,7 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase): # Verify that add_cert method does not add message to queue self.assertFalse(mock_send.called) - certificate = GeneratedCertificate.objects.get(user=self.user, course_id=self.course.id) + certificate = GeneratedCertificate.eligible_certificates.get(user=self.user, course_id=self.course.id) self.assertEqual(certificate.status, CertificateStatuses.downloadable) self.assertIsNotNone(certificate.verify_uuid) @@ -84,7 +86,11 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase): template_name = 'certificate-template-{id.org}-{id.course}.pdf'.format( id=self.course.id ) - self.assert_queue_response(mode, mode, template_name) + mock_send = self.add_cert_to_queue(mode) + if CourseMode.is_eligible_for_certificate(mode): + self.assert_certificate_generated(mock_send, mode, template_name) + else: + self.assert_ineligible_certificate_generated(mock_send, mode) @ddt.data('credit', 'verified') def test_add_cert_with_verified_certificates(self, mode): @@ -95,10 +101,40 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase): id=self.course.id ) - self.assert_queue_response(mode, 'verified', template_name) + mock_send = self.add_cert_to_queue(mode) + self.assert_certificate_generated(mock_send, 'verified', template_name) - def assert_queue_response(self, mode, expected_mode, expected_template_name): - """Dry method for course enrollment and adding request to queue.""" + def test_ineligible_cert_whitelisted(self): + """Test that audit mode students can receive a certificate if they are whitelisted.""" + # Enroll as audit + CourseEnrollmentFactory( + user=self.user_2, + course_id=self.course.id, + is_active=True, + mode='audit' + ) + # Whitelist student + CertificateWhitelistFactory(course_id=self.course.id, user=self.user_2) + + # Generate certs + with patch('courseware.grades.grade', Mock(return_value={'grade': 'Pass', 'percent': 0.75})): + with patch.object(XQueueInterface, 'send_to_queue') as mock_send: + mock_send.return_value = (0, None) + self.xqueue.add_cert(self.user_2, self.course.id) + + # Assert cert generated correctly + self.assertTrue(mock_send.called) + certificate = GeneratedCertificate.certificate_for_student(self.user_2, self.course.id) + self.assertIsNotNone(certificate) + self.assertEqual(certificate.mode, 'audit') + + def add_cert_to_queue(self, mode): + """ + Dry method for course enrollment and adding request to + queue. Returns a mock object containing information about the + `XQueueInterface.send_to_queue` method, which can be used in other + assertions. + """ CourseEnrollmentFactory( user=self.user_2, course_id=self.course.id, @@ -109,19 +145,97 @@ class XQueueCertInterfaceAddCertificateTest(ModuleStoreTestCase): with patch.object(XQueueInterface, 'send_to_queue') as mock_send: mock_send.return_value = (0, None) self.xqueue.add_cert(self.user_2, self.course.id) + return mock_send + def assert_certificate_generated(self, mock_send, expected_mode, expected_template_name): + """ + Assert that a certificate was generated with the correct mode and + template type. + """ # Verify that the task was sent to the queue with the correct callback URL self.assertTrue(mock_send.called) __, kwargs = mock_send.call_args_list[0] actual_header = json.loads(kwargs['header']) self.assertIn('https://edx.org/update_certificate?key=', actual_header['lms_callback_url']) - certificate = GeneratedCertificate.objects.get(user=self.user_2, course_id=self.course.id) - self.assertEqual(certificate.mode, expected_mode) body = json.loads(kwargs['body']) self.assertIn(expected_template_name, body['template_pdf']) + certificate = GeneratedCertificate.eligible_certificates.get(user=self.user_2, course_id=self.course.id) + self.assertEqual(certificate.mode, expected_mode) + + def assert_ineligible_certificate_generated(self, mock_send, expected_mode): + """ + Assert that an ineligible certificate was generated with the + correct mode. + """ + # Ensure the certificate was not generated + self.assertFalse(mock_send.called) + + certificate = GeneratedCertificate.objects.get( # pylint: disable=no-member + user=self.user_2, + course_id=self.course.id + ) + + self.assertIn(certificate.status, (CertificateStatuses.audit_passing, CertificateStatuses.audit_notpassing)) + self.assertEqual(certificate.mode, expected_mode) + + @ddt.data( + (CertificateStatuses.restricted, False), + (CertificateStatuses.deleting, False), + (CertificateStatuses.generating, True), + (CertificateStatuses.unavailable, True), + (CertificateStatuses.deleted, True), + (CertificateStatuses.error, True), + (CertificateStatuses.notpassing, True), + (CertificateStatuses.downloadable, True), + (CertificateStatuses.auditing, True), + ) + @ddt.unpack + def test_add_cert_statuses(self, status, should_generate): + """ + Test that certificates can or cannot be generated with the given + certificate status. + """ + with patch('certificates.queue.certificate_status_for_student', Mock(return_value={'status': status})): + mock_send = self.add_cert_to_queue('verified') + if should_generate: + self.assertTrue(mock_send.called) + else: + self.assertFalse(mock_send.called) + + def test_regen_audit_certs_eligibility(self): + """ + Test that existing audit certificates remain eligible even if cert + generation is re-run. + """ + # Create an existing audit enrollment and certificate + CourseEnrollmentFactory( + user=self.user_2, + course_id=self.course.id, + is_active=True, + mode=CourseMode.AUDIT, + ) + GeneratedCertificateFactory( + user=self.user_2, + course_id=self.course.id, + grade='1.0', + status=CertificateStatuses.downloadable, + mode=GeneratedCertificate.MODES.audit, + ) + + # Run grading/cert generation again + with patch('courseware.grades.grade', Mock(return_value={'grade': 'Pass', 'percent': 0.75})): + with patch.object(XQueueInterface, 'send_to_queue') as mock_send: + mock_send.return_value = (0, None) + self.xqueue.add_cert(self.user_2, self.course.id) + + self.assertEqual( + GeneratedCertificate.objects.get(user=self.user_2, course_id=self.course.id).status, # pylint: disable=no-member + CertificateStatuses.generating + ) + @attr('shard_1') @override_settings(CERT_QUEUE='certificates') diff --git a/lms/djangoapps/certificates/tests/test_support_views.py b/lms/djangoapps/certificates/tests/test_support_views.py index db3cd2d6d4..1b2f1e5590 100644 --- a/lms/djangoapps/certificates/tests/test_support_views.py +++ b/lms/djangoapps/certificates/tests/test_support_views.py @@ -71,7 +71,7 @@ class CertificateSupportTestCase(ModuleStoreTestCase): ) # Create certificates for the student - self.cert = GeneratedCertificate.objects.create( + self.cert = GeneratedCertificate.eligible_certificates.create( user=self.student, course_id=self.CERT_COURSE_KEY, grade=self.CERT_GRADE, @@ -259,7 +259,7 @@ class CertificateRegenerateTests(CertificateSupportTestCase): # Check that the user's certificate was updated # Since the student hasn't actually passed the course, # we'd expect that the certificate status will be "notpassing" - cert = GeneratedCertificate.objects.get(user=self.student) + cert = GeneratedCertificate.eligible_certificates.get(user=self.student) self.assertEqual(cert.status, CertificateStatuses.notpassing) def test_regenerate_certificate_missing_params(self): @@ -298,7 +298,7 @@ class CertificateRegenerateTests(CertificateSupportTestCase): def test_regenerate_user_has_no_certificate(self): # Delete the user's certificate - GeneratedCertificate.objects.all().delete() + GeneratedCertificate.eligible_certificates.all().delete() # Should be able to regenerate response = self._regenerate( @@ -308,7 +308,7 @@ class CertificateRegenerateTests(CertificateSupportTestCase): self.assertEqual(response.status_code, 200) # A new certificate is created - num_certs = GeneratedCertificate.objects.filter(user=self.student).count() + num_certs = GeneratedCertificate.eligible_certificates.filter(user=self.student).count() self.assertEqual(num_certs, 1) def _regenerate(self, course_key=None, username=None): @@ -412,7 +412,7 @@ class CertificateGenerateTests(CertificateSupportTestCase): def test_generate_user_has_no_certificate(self): # Delete the user's certificate - GeneratedCertificate.objects.all().delete() + GeneratedCertificate.eligible_certificates.all().delete() # Should be able to generate response = self._generate( @@ -422,7 +422,7 @@ class CertificateGenerateTests(CertificateSupportTestCase): self.assertEqual(response.status_code, 200) # A new certificate is created - num_certs = GeneratedCertificate.objects.filter(user=self.student).count() + num_certs = GeneratedCertificate.eligible_certificates.filter(user=self.student).count() self.assertEqual(num_certs, 1) def _generate(self, course_key=None, username=None): diff --git a/lms/djangoapps/certificates/tests/test_views.py b/lms/djangoapps/certificates/tests/test_views.py index 19ad99239f..c252c61267 100644 --- a/lms/djangoapps/certificates/tests/test_views.py +++ b/lms/djangoapps/certificates/tests/test_views.py @@ -210,7 +210,7 @@ class MicrositeCertificatesViewsTests(ModuleStoreTestCase): self.user.profile.name = "Joe User" self.user.profile.save() self.client.login(username=self.user.username, password='foo') - self.cert = GeneratedCertificate.objects.create( + self.cert = GeneratedCertificate.eligible_certificates.create( user=self.user, course_id=self.course_id, download_uuid=uuid4(), diff --git a/lms/djangoapps/certificates/tests/test_webview_views.py b/lms/djangoapps/certificates/tests/test_webview_views.py index 624e0e4027..11058b8116 100644 --- a/lms/djangoapps/certificates/tests/test_webview_views.py +++ b/lms/djangoapps/certificates/tests/test_webview_views.py @@ -13,6 +13,7 @@ from django.core.urlresolvers import reverse from django.test.client import Client from django.test.utils import override_settings +from course_modes.models import CourseMode from openedx.core.lib.tests.assertions.events import assert_event_matches from student.tests.factories import UserFactory, CourseEnrollmentFactory from student.roles import CourseStaffRole @@ -96,7 +97,8 @@ class CertificatesViewsTests(ModuleStoreTestCase, EventTrackingTestCase): ) CourseEnrollmentFactory.create( user=self.user, - course_id=self.course_id + course_id=self.course_id, + mode=CourseMode.HONOR, ) CertificateHtmlViewConfigurationFactory.create() LinkedInAddToProfileConfigurationFactory.create() @@ -378,6 +380,38 @@ class CertificatesViewsTests(ModuleStoreTestCase, EventTrackingTestCase): self.assertIn("Cannot Find Certificate", response.content) self.assertIn("We cannot find a certificate with this URL or ID number.", response.content) + @ddt.data( + (CertificateStatuses.downloadable, True), + (CertificateStatuses.audit_passing, False), + (CertificateStatuses.audit_notpassing, False), + ) + @ddt.unpack + @override_settings(FEATURES=FEATURES_WITH_CERTS_ENABLED) + def test_audit_certificate_display(self, status, eligible_for_certificate): + """ + Ensure that audit-mode certs are only shown in the web view if they + are eligible for a certificate. + """ + # Convert the cert to audit, with the specified eligibility + self.cert.mode = 'audit' + self.cert.status = status + self.cert.save() + + self._add_course_certificates(count=1, signatory_count=2) + test_url = get_certificate_url( + user_id=self.user.id, + course_id=unicode(self.course.id) + ) + response = self.client.get(test_url) + + if eligible_for_certificate: + self.assertIn(str(self.cert.verify_uuid), response.content) + else: + self.assertIn("Invalid Certificate", response.content) + self.assertIn("Cannot Find Certificate", response.content) + self.assertIn("We cannot find a certificate with this URL or ID number.", response.content) + self.assertNotIn(str(self.cert.verify_uuid), response.content) + @override_settings(FEATURES=FEATURES_WITH_CERTS_ENABLED) def test_html_view_for_invalid_certificate(self): """ @@ -533,7 +567,7 @@ class CertificatesViewsTests(ModuleStoreTestCase, EventTrackingTestCase): course_id=unicode(self.course.id) ) self.cert.delete() - self.assertEqual(len(GeneratedCertificate.objects.all()), 0) + self.assertEqual(len(GeneratedCertificate.eligible_certificates.all()), 0) response = self.client.get(test_url) self.assertIn('invalid', response.content) @@ -556,7 +590,7 @@ class CertificatesViewsTests(ModuleStoreTestCase, EventTrackingTestCase): preview mode. Either the certificate is marked active or not. """ self.cert.delete() - self.assertEqual(len(GeneratedCertificate.objects.all()), 0) + self.assertEqual(len(GeneratedCertificate.eligible_certificates.all()), 0) self._add_course_certificates(count=1, signatory_count=2) test_url = get_certificate_url( user_id=self.user.id, diff --git a/lms/djangoapps/certificates/views/webview.py b/lms/djangoapps/certificates/views/webview.py index 8a58d7e54c..a77b41741e 100644 --- a/lms/djangoapps/certificates/views/webview.py +++ b/lms/djangoapps/certificates/views/webview.py @@ -342,7 +342,7 @@ def _get_user_certificate(request, user, course_key, course, preview_mode=None): else: # certificate is being viewed by learner or public try: - user_certificate = GeneratedCertificate.objects.get( + user_certificate = GeneratedCertificate.eligible_certificates.get( user=user, course_id=course_key, status=CertificateStatuses.downloadable @@ -459,7 +459,7 @@ def render_cert_by_uuid(request, certificate_uuid): This public view generates an HTML representation of the specified certificate """ try: - certificate = GeneratedCertificate.objects.get( + certificate = GeneratedCertificate.eligible_certificates.get( verify_uuid=certificate_uuid, status=CertificateStatuses.downloadable ) diff --git a/lms/djangoapps/certificates/views/xqueue.py b/lms/djangoapps/certificates/views/xqueue.py index bd60e5221b..e09fd7997e 100644 --- a/lms/djangoapps/certificates/views/xqueue.py +++ b/lms/djangoapps/certificates/views/xqueue.py @@ -75,7 +75,7 @@ def update_certificate(request): try: course_key = SlashSeparatedCourseKey.from_deprecated_string(xqueue_body['course_id']) - cert = GeneratedCertificate.objects.get( + cert = GeneratedCertificate.eligible_certificates.get( user__username=xqueue_body['username'], course_id=course_key, key=xqueue_header['lms_key']) diff --git a/lms/djangoapps/instructor/tests/test_certificates.py b/lms/djangoapps/instructor/tests/test_certificates.py index 28cb59cc0c..5367e871c7 100644 --- a/lms/djangoapps/instructor/tests/test_certificates.py +++ b/lms/djangoapps/instructor/tests/test_certificates.py @@ -619,7 +619,7 @@ class CertificateExceptionViewInstructorApiTest(SharedModuleStoreTestCase): # Verify that certificate exception successfully removed from CertificateWhitelist and GeneratedCertificate with self.assertRaises(ObjectDoesNotExist): CertificateWhitelist.objects.get(user=self.user2, course_id=self.course.id) - GeneratedCertificate.objects.get( + GeneratedCertificate.eligible_certificates.get( user=self.user2, course_id=self.course.id, status__not=CertificateStatuses.unavailable ) @@ -1010,7 +1010,7 @@ class CertificateInvalidationViewTests(SharedModuleStoreTestCase): self.fail("The certificate is not invalidated.") # Validate generated certificate was invalidated - generated_certificate = GeneratedCertificate.objects.get( + generated_certificate = GeneratedCertificate.eligible_certificates.get( user=self.enrolled_user_1, course_id=self.course.id, ) diff --git a/lms/djangoapps/instructor/views/api.py b/lms/djangoapps/instructor/views/api.py index 2d15676fdd..87f8a7df12 100644 --- a/lms/djangoapps/instructor/views/api.py +++ b/lms/djangoapps/instructor/views/api.py @@ -2875,7 +2875,7 @@ def add_certificate_exception(course_key, student, certificate_exception): } ) - generated_certificate = GeneratedCertificate.objects.filter( + generated_certificate = GeneratedCertificate.eligible_certificates.filter( user=student, course_id=course_key, status=CertificateStatuses.downloadable, @@ -2912,7 +2912,10 @@ def remove_certificate_exception(course_key, student): ) try: - generated_certificate = GeneratedCertificate.objects.get(user=student, course_id=course_key) + generated_certificate = GeneratedCertificate.objects.get( # pylint: disable=no-member + user=student, + course_id=course_key + ) generated_certificate.invalidate() except ObjectDoesNotExist: # Certificate has not been generated yet, so just remove the certificate exception from white list diff --git a/lms/djangoapps/instructor_analytics/basic.py b/lms/djangoapps/instructor_analytics/basic.py index 1173390ee6..7e0fff8806 100644 --- a/lms/djangoapps/instructor_analytics/basic.py +++ b/lms/djangoapps/instructor_analytics/basic.py @@ -185,7 +185,7 @@ def issued_certificates(course_key, features): report_run_date = datetime.date.today().strftime("%B %d, %Y") certificate_features = [x for x in CERTIFICATE_FEATURES if x in features] - generated_certificates = list(GeneratedCertificate.objects.filter( + generated_certificates = list(GeneratedCertificate.eligible_certificates.filter( course_id=course_key, status=CertificateStatuses.downloadable ).values(*certificate_features).annotate(total_issued_certificate=Count('mode'))) diff --git a/lms/djangoapps/instructor_task/tasks_helper.py b/lms/djangoapps/instructor_task/tasks_helper.py index f0ef86eb43..fffd60a52a 100644 --- a/lms/djangoapps/instructor_task/tasks_helper.py +++ b/lms/djangoapps/instructor_task/tasks_helper.py @@ -1584,7 +1584,7 @@ def invalidate_generated_certificates(course_id, enrolled_students, certificate_ :param enrolled_students: (queryset or list) students enrolled in the course :param certificate_statuses: certificates statuses for whom to remove generated certificate """ - certificates = GeneratedCertificate.objects.filter( + certificates = GeneratedCertificate.objects.filter( # pylint: disable=no-member user__in=enrolled_students, course_id=course_id, status__in=certificate_statuses, diff --git a/lms/djangoapps/instructor_task/tests/test_tasks_helper.py b/lms/djangoapps/instructor_task/tests/test_tasks_helper.py index 5d4b5f0627..1d7fbe2ca4 100644 --- a/lms/djangoapps/instructor_task/tests/test_tasks_helper.py +++ b/lms/djangoapps/instructor_task/tests/test_tasks_helper.py @@ -1802,7 +1802,7 @@ class TestCertificateGeneration(InstructorTaskModuleTestCase): }, result ) - generated_certificates = GeneratedCertificate.objects.filter( + generated_certificates = GeneratedCertificate.eligible_certificates.filter( user__in=students, course_id=self.course.id, mode='honor' @@ -1912,7 +1912,7 @@ class TestCertificateGeneration(InstructorTaskModuleTestCase): result ) - generated_certificates = GeneratedCertificate.objects.filter( + generated_certificates = GeneratedCertificate.eligible_certificates.filter( user__in=students, course_id=self.course.id, mode='honor'