From bc127ad941ad0347c2d53d36c78d69ab1c9ef71d Mon Sep 17 00:00:00 2001 From: Chad Redman <chad_redman@unc.edu> Date: Sun, 12 Sep 2021 15:26:38 -0400 Subject: [PATCH] More adjustments to supports exercises; add container 201.end to cover all 201.* exercises --- base/Dockerfile | 2 +- base/container_files/conf/grouper.properties | 15 +- .../grouperText/grouper.text.en.us.properties | 8 +- .../container_files/seed-data/bootstrap.gsh | 353 +- .../container_files/seed-data/sisData.sql | 3306 ++++++++--------- ex201/ex201.1.end/Dockerfile | 2 +- .../container_files/seed-data/bootstrap.gsh | 18 +- ex201/ex201.end/Dockerfile | 29 + .../container_files/seed-data/bootstrap.gsh | 323 ++ .../container_files/seed-data/sisData.sql | 0 .../container_files/seed-data/users.ldif | 0 ex201/manualBuild.sh | 20 +- manualBuild.sh | 8 +- 13 files changed, 2309 insertions(+), 1775 deletions(-) create mode 100644 ex201/ex201.end/Dockerfile create mode 100644 ex201/ex201.end/container_files/seed-data/bootstrap.gsh create mode 100644 ex201/ex201.end/container_files/seed-data/sisData.sql create mode 100644 ex201/ex201.end/container_files/seed-data/users.ldif diff --git a/base/Dockerfile b/base/Dockerfile index 9270e80..a122326 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -1,7 +1,7 @@ FROM tier/shib-idp:3.4.3_20190201 as idp # Grouper version for the entire GTE -FROM i2incommon/grouper:2.5.54 +FROM i2incommon/grouper:2.5.56 # Disable docker HEALTHCHECK inherited from tier/shib-sp HEALTHCHECK NONE diff --git a/base/container_files/conf/grouper.properties b/base/container_files/conf/grouper.properties index 58b8a57..af8ceef 100644 --- a/base/container_files/conf/grouper.properties +++ b/base/container_files/conf/grouper.properties @@ -44,7 +44,7 @@ grouper.lockoutGroup.name.0 = ref:iam:global_deny # group name of a require group # {valueType: "group", regex: "^grouper\\.requireGroup\\.name\\.\\d+$"} -grouper.requireGroup.name.0 = ref:iam:active +#grouper.requireGroup.name.0 = ref:iam:active # allowed to use this require group. If not configured, anyone could use # {valueType: "group", regex: "^grouper\\.lockoutGroup\\.requireGroup\\.\\d+$"} @@ -55,11 +55,10 @@ grouper.requireGroup.name.0 = ref:iam:active reporting.file.system.path = /tmp -# {valueType: "string", regex: "^grouper\\.membership\\.customComposite\\.uiKey\\.\\d+$"} -grouper.membership.customComposite.uiKey.0 = customCompositeMinusActive +grouper.membership.customComposite.uiKey.0 = customCompositeAllFacStaff +grouper.membership.customComposite.compositeType.0 = intersection +grouper.membership.customComposite.groupName.0 = ref:role:all_facstaff -# {valueType: "string", regex: "^grouper\\.membership\\.customComposite\\.compositeType\\.\\d+$"} -grouper.membership.customComposite.compositeType.0 = complement - -# {valueType: "group", regex: "^grouper\\.membership\\.customComposite\\.groupName\\.\\d+$"} -grouper.membership.customComposite.groupName.0 = ref:iam:active +grouper.membership.customComposite.uiKey.1 = customCompositeMinusFacStaff +grouper.membership.customComposite.compositeType.1 = complement +grouper.membership.customComposite.groupName.1 = ref:role:all_facstaff diff --git a/base/container_files/conf/grouperText/grouper.text.en.us.properties b/base/container_files/conf/grouperText/grouper.text.en.us.properties index e9850f1..921ce1e 100644 --- a/base/container_files/conf/grouperText/grouper.text.en.us.properties +++ b/base/container_files/conf/grouperText/grouper.text.en.us.properties @@ -1,6 +1,4 @@ -# Used in general containers -customCompositeMinusActive = Entities who are not active at the institution - -# Referenced in ex401 +# Used in membership filters +customCompositeAllFacStaff = Entities who are current faculty or staff customCompositeMinusFacStaff = Entities who are not faculty or staff -customCompositeMinusFacStaffStudent = Entities who are not faculty, staff, or students +customCompositeMinusActive = Entities who are not active at the institution diff --git a/ex101/ex101.1.1/container_files/seed-data/bootstrap.gsh b/ex101/ex101.1.1/container_files/seed-data/bootstrap.gsh index 07c0b7d..3caf37a 100644 --- a/ex101/ex101.1.1/container_files/seed-data/bootstrap.gsh +++ b/ex101/ex101.1.1/container_files/seed-data/bootstrap.gsh @@ -1,51 +1,50 @@ -GrouperSession gs = GrouperSession.startRootSession(); -addRootStem("basis", "basis"); -addRootStem("ref", "ref"); -addRootStem("app", "app"); -addRootStem("org", "org"); -addRootStem("test", "test"); - -addStem("ref", "iam", "iam"); -addGroup("ref:iam", "active", "active"); - - -addStem("ref", "security", "security") -locked_by_ciso = addGroup("ref:security", "locked_by_ciso", "locked_by_ciso") -// AttributeAssign attributeAssign = locked_by_ciso.getAttributeDelegate().hasAttribute(typeMarker) ? locked_by_ciso.getAttributeDelegate().retrieveAssignments(typeMarker).iterator().next() : locked_by_ciso.getAttributeDelegate().addAttribute(typeMarker).getAttributeAssign(); -// attributeAssign.getAttributeValueDelegate().assignValue("etc:objectTypes:grouperObjectTypeDirectAssignment", "true"); -// attributeAssign.getAttributeValueDelegate().assignValue("etc:objectTypes:grouperObjectTypeName", "ref"); -// attributeAssign.getAttributeValueDelegate().assignValue("etc:objectTypes:grouperObjectTypeDataOwner", "CISO"); -// attributeAssign.getAttributeValueDelegate().assignValue("etc:objectTypes:grouperObjectTypeMembersDescription", "Subjects denied access by CISO"); - -closure = addGroup("ref:iam", "closure", "closure") -// AttributeAssign attributeAssign = closure.getAttributeDelegate().hasAttribute(typeMarker) ? closure.getAttributeDelegate().retrieveAssignments(typeMarker).iterator().next() : closure.getAttributeDelegate().addAttribute(typeMarker).getAttributeAssign(); -// attributeAssign.getAttributeValueDelegate().assignValue("etc:objectTypes:grouperObjectTypeDirectAssignment", "true"); -// attributeAssign.getAttributeValueDelegate().assignValue("etc:objectTypes:grouperObjectTypeName", "ref"); -// attributeAssign.getAttributeValueDelegate().assignValue("etc:objectTypes:grouperObjectTypeDataOwner", "IAM"); -// attributeAssign.getAttributeValueDelegate().assignValue("etc:objectTypes:grouperObjectTypeMembersDescription", "Accounts in the process of being closed"); - -global_deny = addGroup("ref:iam", "global_deny", "global_deny"); -// AttributeDefName typeMarker = AttributeDefNameFinder.findByName("etc:objectTypes:grouperObjectTypeMarker", true); -// AttributeAssign attributeAssign = global_deny.getAttributeDelegate().hasAttribute(typeMarker) ? global_deny.getAttributeDelegate().retrieveAssignments(typeMarker).iterator().next() : global_deny.getAttributeDelegate().addAttribute(typeMarker).getAttributeAssign(); -// attributeAssign.getAttributeValueDelegate().assignValue("etc:objectTypes:grouperObjectTypeDirectAssignment", "true"); -// attributeAssign.getAttributeValueDelegate().assignValue("etc:objectTypes:grouperObjectTypeName", "ref"); -// attributeAssign.getAttributeValueDelegate().assignValue("etc:objectTypes:grouperObjectTypeDataOwner", "Identity and Access Management"); -// attributeAssign.getAttributeValueDelegate().assignValue("etc:objectTypes:grouperObjectTypeMembersDescription", "Global deny group"); +import edu.internet2.middleware.grouper.app.grouperTypes.* +import edu.internet2.middleware.grouper.app.loader.db.Hib3GrouperLoaderLog +import edu.internet2.middleware.grouper.cfg.dbConfig.GrouperDbConfig +GrouperSession gs = GrouperSession.startRootSession(); -//config.propertyName("member.search.defaultIndexOrder").value('1,0,2').store() +static void assignObjectTypeForGroup(Group g, String type, String owner=null, String description=null) { + new GdgTypeGroupSave(). + assignGroup(g). + assignType(type). + assignDataOwner(owner). + assignMemberDescription(description). + assignSaveMode(SaveMode.INSERT_OR_UPDATE). + assignReplaceAllSettings(true). + save() +} +static void assignObjectTypeForStem(Stem s, String type, String owner=null, String description=null) { + new GdgTypeStemSave(). + assignStem(s). + assignType(type). + assignDataOwner(owner). + assignMemberDescription(description). + assignSaveMode(SaveMode.INSERT_OR_UPDATE). + assignReplaceAllSettings(true). + save() +} +// GDG structure +["basis", "ref", "app", "org", "test"].each { + new StemSave(gs).assignName(it).save() +} -// later we will add all of IAM. For now add one person so we can get in -// Doesn't work. Need to wait for the config to refresh? -//addMember("etc:sysadmingroup","800000252"); //jarnold +// Special groups for lessons +Group group = new GroupSave(gs).assignName("ref:iam:active").assignCreateParentStemsIfNotExist(true).save() +Group lockedByCiso = new GroupSave(gs).assignName("ref:security:locked_by_ciso").assignCreateParentStemsIfNotExist(true).save() +assignObjectTypeForGroup(lockedByCiso, "ref", "CISO", "Subjects denied access by CISO") +Group closure = new GroupSave(gs).assignName("ref:iam:closure").assignCreateParentStemsIfNotExist(true).save() +assignObjectTypeForGroup(closure, "ref", "IAM", "Accounts in the process of being closed") +Group globalDeny = new GroupSave(gs).assignName("ref:iam:global_deny").assignCreateParentStemsIfNotExist(true).save() +assignObjectTypeForGroup(globalDeny, "ref", "Identity and Access Management", "Global deny group") -// Employee by Dept Loader +/***** Employee by Dept Loader *****/ def group = new GroupSave(gs).assignName("etc:loader:hr:employeeDeptLoader").assignCreateParentStemsIfNotExist(true).assignDisplayName("etc:loader:HR:employeeDeptLoader").save() @@ -72,12 +71,9 @@ group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''SELECT DISTINCT //group.setAttribute(GrouperLoader.GROUPER_LOADER_PRIORITY, priority) GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false) - -// This may take a long time GrouperLoader.runJobOnceForGroup(gs, group) - -addMember("etc:sysadmingroup", "basis:hr:employee:dept:10904:staff") - +Stem stem = StemFinder.findByName(gs, "basis:hr:employee:dept", true) +assignObjectTypeForStem(stem, "basis", "HRIS", "Employees grouped by department and role") // Course Loader @@ -104,10 +100,9 @@ group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''SELECT DISTINCT GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false) - -// This may take a long time GrouperLoader.runJobOnceForGroup(gs, group) - +Stem stem = StemFinder.findByName(gs, "basis:sis:course", true) +assignObjectTypeForStem(stem, "basis", "SIS", "Students and instructor groups for each course") // Student Career Loader @@ -130,10 +125,9 @@ group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''select distinct GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false) - -// This may take a long time GrouperLoader.runJobOnceForGroup(gs, group) - +Stem stem = StemFinder.findByName(gs, "basis:sis:career", true) +assignObjectTypeForStem(stem, "basis", "SIS", "Students grouped by academic program and expected graduation year") // Student Career By Year Loader @@ -156,9 +150,9 @@ group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''select distinct GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false) - -// This may take a long time GrouperLoader.runJobOnceForGroup(gs, group) +Stem stem = StemFinder.findByName(gs, "basis:sis:exp_grad_year", true) +assignObjectTypeForStem(stem, "basis", "SIS", "Students grouped by expected graduation year") // SIS Overall Program Status Loader @@ -182,60 +176,201 @@ group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''SELECT concat('b GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false) - -// This may take a long time GrouperLoader.runJobOnceForGroup(gs, group) +Stem stem = StemFinder.findByName(gs, "basis:sis:prog_status:all", true) +assignObjectTypeForStem(stem, "basis", "SIS", "Students grouped by program status, regardless of year") +// SIS Program Status By Year Loader -// Ad-hoc group for Transfer Students (just create the ad-hoc folder for now, they will create the group in the UI) +def group = new GroupSave(gs).assignName("etc:loader:sis:yearAndProgStatusLoader").assignCreateParentStemsIfNotExist(true).assignDisplayName("etc:loader:Student Information Systems:yearAndProgStatusLoader").save() -def adhocStem = new StemSave(gs).assignName("basis:adhoc"). - assignCreateParentStemsIfNotExist(true). - assignDescription("Basis groups not loader jobs; could be a batch job using a web service call, an import from the UI, etc."). - assignDisplayName("basis:Ad Hoc"). - save() +GroupType loaderType = GroupTypeFinder.find("grouperLoader", false) +group.addType(loaderType, false) -//import edu.internet2.middleware.grouper.app.grouperTypes.GdgTypeGroupSave -//import edu.internet2.middleware.grouper.app.grouperTypes.GrouperObjectTypesAttributeValue -//import edu.internet2.middleware.grouper.misc.SaveMode -// -// def xferGroup = new GroupSave(gs). -// assignName("basis:adhoc:transfer_students"). -// assignCreateParentStemsIfNotExist(true). -// assignDescription("Students recently transfered to campus, who need access ahead of SIS data being fully updated"). -// assignDisplayName("basis:Ad Hoc:Transfer student"). -// assignTypeOfGroup(TypeOfGroup.group). -// save() -// -// GrouperObjectTypesAttributeValue grouperObjectTypesAttributeValue = new GdgTypeGroupSave(). -// assignGroup(xferGroup). -// assignType("manual"). -// assignDataOwner("Student Information Systems"). -// assignMemberDescription("Recently transfered students, who may not yet be in the SIS database"). -// assignSaveMode(SaveMode.INSERT_OR_UPDATE). -// assignReplaceAllSettings(true). -// save() +group.setAttribute(GrouperLoader.GROUPER_LOADER_DB_NAME, "grouper") +group.setAttribute(GrouperLoader.GROUPER_LOADER_TYPE, "SQL_GROUP_LIST") +group.setAttribute(GrouperLoader.GROUPER_LOADER_SCHEDULE_TYPE, "CRON") +group.setAttribute(GrouperLoader.GROUPER_LOADER_QUARTZ_CRON, "0 0 6 * * ?") +group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUPS_LIKE, "basis:sis:prog_status:year:%") +group.setAttribute(GrouperLoader.GROUPER_LOADER_QUERY, '''select P.person_id AS subject_id, 'eduLDAP' AS subject_source_id, + concat('basis:sis:prog_status:year:', lower(P.prog_status_id), ':', ifnull(grad_year_expected, 'no_year')) AS group_name + from sis_stu_programs P''') +group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''select distinct + concat('basis:sis:prog_status:year:', lower(P.prog_status_id), ':', ifnull(grad_year_expected, 'no_year')) AS group_name, + concat('basis:Student Information Systems:Program Status:by Program Status and Year:', PS.description, ' (', PS.prog_status_id, '):', PS.description, ' ', ifnull(grad_year_expected, 'No Year')) AS group_display_name + from sis_stu_programs P join sis_prog_status PS on P.prog_status_id = PS.prog_status_id''') +GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false) +GrouperLoader.runJobOnceForGroup(gs, group) +Stem stem = StemFinder.findByName(gs, "basis:sis:prog_status:year", true) +assignObjectTypeForStem(stem, "basis", "SIS", "Students grouped by program status and expected grad year") -/* Add groups to global_deny */ -GroupFinder.findByName(gs, "ref:iam:global_deny", true).addMember(GroupFinder.findByName(gs, "ref:security:locked_by_ciso", true).toSubject()) -GroupFinder.findByName(gs, "ref:iam:global_deny", true).addMember(GroupFinder.findByName(gs, "ref:iam:closure", true).toSubject()) +// Ref All Employee By Role Loader +def group = new GroupSave(gs).assignName("etc:loader:ref:refEmployeeRoleLoader").assignCreateParentStemsIfNotExist(true).assignDisplayName("etc:loader:Reference:refEmployeeRoleLoader").save() +GroupType loaderType = GroupTypeFinder.find("grouperLoader", false) +group.addType(loaderType, false) +group.setAttribute(GrouperLoader.GROUPER_LOADER_DB_NAME, "grouper") +group.setAttribute(GrouperLoader.GROUPER_LOADER_TYPE, "SQL_GROUP_LIST") +group.setAttribute(GrouperLoader.GROUPER_LOADER_SCHEDULE_TYPE, "CRON") +group.setAttribute(GrouperLoader.GROUPER_LOADER_QUARTZ_CRON, "0 0 6 * * ?") +//group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUPS_LIKE, "ref:role:emp:%") +group.setAttribute(GrouperLoader.GROUPER_LOADER_QUERY, '''SELECT name AS subject_identifier, + 'g:gsa' AS subject_source_id, + concat('ref:role:emp:',extension) AS group_name + FROM grouper_groups + WHERE name LIKE 'basis:hr:employee:dept:%' ''') +group.setAttribute(GrouperLoader.GROUPER_LOADER_GROUP_QUERY, '''SELECT DISTINCT concat('ref:role:emp:',extension) AS group_name, + concat('ref:role:Employee by Role:','All ',UPPER(substring(extension,1,1)),lower(substring(extension,2))) AS group_display_name +FROM grouper_groups +WHERE name LIKE 'basis:hr:employee:dept:%' ''') -/* Provisioner */ +GrouperLoaderType.validateAndScheduleSqlLoad(group, null, false) +GrouperLoader.runJobOnceForGroup(gs, group) +Stem stem = StemFinder.findByName(gs, "ref:role:emp", true) +assignObjectTypeForStem(stem, "ref", "HR, IAM", "All employees by role") -import edu.internet2.middleware.grouper.grouperUi.beans.config.GrouperDbConfig -def config = new GrouperDbConfig().configFileName("grouper-loader.properties") +/***** Run the types daemon to make sure the tags are up to date *****/ -config.propertyName("otherJob.groupOfNames_full_sync.class").value('''edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob''').store() -config.propertyName("otherJob.groupOfNames_full_sync.provisionerConfigId").value('''groupOfNames''').store() -config.propertyName("otherJob.groupOfNames_full_sync.quartzCron").value('''0 0 4 * * ?''').store() +println "Running OTHER_JOB_grouperObjectTypeDaemon" +OtherJobBase.OtherJobInput otherJobInput = new OtherJobBase.OtherJobInput() +//Which one of these to run? otherJobInput.setJobName("OTHER_JOB_grouperObjectTypeDaemon") +otherJobInput.setJobName("OTHER_JOB_objectTypesFullSyncDaemon") +otherJobInput.setHib3GrouperLoaderLog(new Hib3GrouperLoaderLog()) +otherJobInput.setGrouperSession(gs) +//new GrouperObjectTypesDaemonLogic().run(otherJobInput) + + +// Ad-hoc group for Transfer Students (just create the ad-hoc folder for now, they will create the group in the UI) + +def adhocStem = new StemSave(gs).assignName("basis:adhoc"). + assignCreateParentStemsIfNotExist(true). + assignDescription("Basis groups not loader jobs; could be a batch job using a web service call, an import from the UI, etc."). + assignDisplayName("basis:Ad Hoc"). + save() + + +/***** Provisioners *****/ + +GrouperDbConfig config = new GrouperDbConfig().configFileName("grouper-loader.properties") + +GrouperDbConfig textConfig = new GrouperDbConfig().configFileName("grouper.text.en.us.properties") +/* eduPersonAffiliation provisioner -- exercise 201.3 */ + +config.propertyName("provisioner.eduPersonAffiliation.canFullSync").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.class").value('''edu.internet2.middleware.grouper.app.ldapProvisioning.LdapSync''').store() +config.propertyName("provisioner.eduPersonAffiliation.debugLog").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.deleteMemberships").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.deleteMembershipsIfGrouperDeleted").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.deleteMembershipsIfNotExistInGrouper").value('''false''').store() +config.propertyName("provisioner.eduPersonAffiliation.hasTargetEntityLink").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.insertMemberships").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.ldapExternalSystemConfigId").value('''demo''').store() +config.propertyName("provisioner.eduPersonAffiliation.logAllObjectsVerbose").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.numberOfEntityAttributes").value('''3''').store() +config.propertyName("provisioner.eduPersonAffiliation.operateOnGrouperEntities").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.operateOnGrouperMemberships").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.provisioningType").value('''entityAttributes''').store() +config.propertyName("provisioner.eduPersonAffiliation.selectEntities").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.selectMemberships").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.showAdvanced").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.showProvisioningDiagnostics").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.subjectSourcesToProvision").value('''eduLDAP''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.fieldName").value('''name''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.isFieldElseAttribute").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.select").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.translateExpression").value('''${'uid=' + grouperProvisioningEntity.subjectId + ',ou=people,dc=internet2,dc=edu'}''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.translateExpressionType").value('''translationScript''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.translateToMemberSyncField").value('''memberToId2''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.0.valueType").value('''string''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.isFieldElseAttribute").value('''false''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.matchingId").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.name").value('''uid''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.searchAttribute").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.select").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.translateExpressionType").value('''grouperProvisioningEntityField''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.translateFromGrouperProvisioningEntityField").value('''subjectId''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.1.valueType").value('''string''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.isFieldElseAttribute").value('''false''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.membershipAttribute").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.multiValued").value('''true''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.name").value('''eduPersonAffiliation''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.translateFromGroupSyncField").value('''groupExtension''').store() +config.propertyName("provisioner.eduPersonAffiliation.targetEntityAttribute.2.valueType").value('''string''').store() +config.propertyName("provisioner.eduPersonAffiliation.userSearchAllFilter").value('''(objectClass=eduPerson)''').store() +config.propertyName("provisioner.eduPersonAffiliation.userSearchBaseDn").value('''ou=people,dc=internet2,dc=edu''').store() + +config.propertyName("otherJob.ePA_full_sync.class").value('''edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob''').store() +config.propertyName("otherJob.ePA_full_sync.provisionerConfigId").value('''eduPersonAffiliation''').store() +config.propertyName("otherJob.ePA_full_sync.quartzCron").value('''0 0 4 * * ?''').store() + + +/* eduPersonEntitlement provisioner -- exercise 201.4 */ + +config.propertyName("provisioner.eduPersonEntitlement.class").value('''edu.internet2.middleware.grouper.app.ldapProvisioning.LdapSync''').store() +config.propertyName("provisioner.eduPersonEntitlement.configureMetadata").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.deleteMemberships").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.deleteMembershipsIfNotExistInGrouper").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.insertMemberships").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.ldapExternalSystemConfigId").value('''demo''').store() +config.propertyName("provisioner.eduPersonEntitlement.metadata.0.formElementType").value('''text''').store() +config.propertyName("provisioner.eduPersonEntitlement.metadata.0.name").value('''md_entitlementValue''').store() +config.propertyName("provisioner.eduPersonEntitlement.metadata.0.showForGroup").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.metadata.0.valueType").value('''string''').store() +config.propertyName("provisioner.eduPersonEntitlement.numberOfEntityAttributes").value('''3''').store() +config.propertyName("provisioner.eduPersonEntitlement.numberOfGroupAttributes").value('''1''').store() +config.propertyName("provisioner.eduPersonEntitlement.numberOfMetadata").value('''1''').store() +config.propertyName("provisioner.eduPersonEntitlement.operateOnGrouperEntities").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.operateOnGrouperGroups").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.operateOnGrouperMemberships").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.provisioningType").value('''entityAttributes''').store() +config.propertyName("provisioner.eduPersonEntitlement.selectEntities").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.selectMemberships").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.showAdvanced").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.subjectSourcesToProvision").value('''eduLDAP''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.fieldName").value('''name''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.isFieldElseAttribute").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.select").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.translateExpression").value('''${'uid=' + grouperProvisioningEntity.subjectId + ',ou=people,dc=internet2,dc=edu'}''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.translateExpressionType").value('''translationScript''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.0.valueType").value('''string''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.isFieldElseAttribute").value('''false''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.matchingId").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.name").value('''uid''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.searchAttribute").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.select").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.translateExpressionType").value('''grouperProvisioningEntityField''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.translateFromGrouperProvisioningEntityField").value('''subjectId''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.1.valueType").value('''string''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.isFieldElseAttribute").value('''false''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.membershipAttribute").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.multiValued").value('''true''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.name").value('''eduPersonEntitlement''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.translateFromGroupSyncField").value('''groupFromId2''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetEntityAttribute.2.valueType").value('''string''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.isFieldElseAttribute").value('''false''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.name").value('''entitlement''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.translateExpression").value('''${grouperUtil.defaultIfBlank(grouperProvisioningGroup.retrieveAttributeValueString('md_entitlementValue') , grouperProvisioningGroup.extension )}''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.translateExpressionType").value('''translationScript''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.translateGrouperToGroupSyncField").value('''groupFromId2''').store() +config.propertyName("provisioner.eduPersonEntitlement.targetGroupAttribute.0.valueType").value('''string''').store() +config.propertyName("provisioner.eduPersonEntitlement.userSearchAllFilter").value('''(uid=*)''').store() +config.propertyName("provisioner.eduPersonEntitlement.userSearchBaseDn").value('''ou=people,dc=internet2,dc=edu''').store() + +textConfig.propertyName("md_entitlementValue_eduPersonEntitlement_label").value('''Entitlement String''').store() + +md_entitlementValue_eduPersonEntitlement_label = Entitlement String + +/* for this exercise, they will create a full sync provisioner in the UI */ + + +/* groupOfNames provisioner -- exercise 40x */ config.propertyName("provisioner.groupOfNames.canFullSync").value('''true''').store() config.propertyName("provisioner.groupOfNames.class").value('''edu.internet2.middleware.grouper.app.ldapProvisioning.LdapSync''').store() @@ -324,6 +459,10 @@ config.propertyName("provisioner.groupOfNames.userSearchAllFilter").value('''(&( config.propertyName("provisioner.groupOfNames.userSearchBaseDn").value('''ou=people,dc=internet2,dc=edu''').store() config.propertyName("provisioner.groupOfNames.userSearchFilter").value('''(&(objectClass=person)(uid=${targetEntity.retrieveAttributeValue('uid')}))''').store() +config.propertyName("otherJob.groupOfNames_full_sync.class").value('''edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob''').store() +config.propertyName("otherJob.groupOfNames_full_sync.provisionerConfigId").value('''groupOfNames''').store() +config.propertyName("otherJob.groupOfNames_full_sync.quartzCron").value('''0 0 4 * * ?''').store() + /* TODO @@ -337,8 +476,42 @@ bug: stop logging grouperUiUserData for audit */ -def g = GroupFinder.findByName(gs, "ref:security:locked_by_ciso", true) -def g2 = GroupFinder.findByName(gs, "basis:hr:job:10902:staff", true) +/***** Add IAM staff to the wheel group *****/ + +Group iamStaff = GroupFinder.findByName(gs, "basis:hr:employee:dept:10904:staff", true) +Group sysadminGroup = GroupFinder.findByName(gs, "etc:sysadmingroup", true) +sysadminGroup.addMember(iamStaff.toSubject(), false) + +/***** Add groups to global_deny *****/ + +GroupFinder.findByName(gs, "ref:iam:global_deny", true).addMember( + GroupFinder.findByName(gs, "ref:security:locked_by_ciso", true).toSubject()) +GroupFinder.findByName(gs, "ref:iam:global_deny", true).addMember( + GroupFinder.findByName(gs, "ref:iam:closure", true).toSubject()) + +/***** Add READ|UPDATE for ISO staff on the Global Deny group *****/ + +Group g = GroupFinder.findByName(gs, "ref:security:locked_by_ciso", true) +Group g2 = GroupFinder.findByName(gs, "basis:hr:employee:dept:10902:staff", true) g.grantPriv(g2.toSubject(), Privilege.READ, false) g.grantPriv(g2.toSubject(), Privilege.UPDATE, false) + + +/***** Create an All faculty/Staff group to be used as a member filter *****/ + +def group = new GroupSave(gs).assignName("ref:role:all_facstaff").assignDisplayExtension("All Faculty/Staff").save() +["ref:role:emp:staff", "ref:role:emp:faculty"].each { + Subject s = SubjectFinder.findByIdentifierAndSource(it, "g:gsa", true) + group.addMember(s, false) +} + + +/***** Schedule jobs is an upgrade task for 2.5.55 ****/ + +GrouperLoader.scheduleJobs() + +/* TODO + * - Groups not picking up object types from parent folder, even after running object type daemon + * - Check the groupOfNames provisioner for grouper authoritative -- it is deleting vpn_users + */ diff --git a/ex101/ex101.1.1/container_files/seed-data/sisData.sql b/ex101/ex101.1.1/container_files/seed-data/sisData.sql index 021d4df..0b277bd 100644 --- a/ex101/ex101.1.1/container_files/seed-data/sisData.sql +++ b/ex101/ex101.1.1/container_files/seed-data/sisData.sql @@ -10895,6 +10895,7 @@ create table sis_acad_careers ( insert into sis_acad_careers (acad_career_id, description, dept_id) values ('UGRD', 'Undergraduate', 20000), ('NDP', 'Non-degree Program', 20000), +('ES','Exchange Student',20000), ('GRD', 'Graduate School', 30000), ('GNDP', 'Graduate School - Non-degree Program', 30000), ('SPM', 'School of Policy and Management', 45000), @@ -10922,8 +10923,6 @@ insert into sis_prog_status (prog_status_id, description) values ; - - /************* sis_stu_programs *************/ create table sis_stu_programs ( @@ -10936,1659 +10935,1656 @@ create table sis_stu_programs ( ); insert into sis_stu_programs (person_id, acad_career_id, grad_year_expected, school_id, acad_dept_id, prog_status_id) values -(800000002, 'UGRD', 2025, 'AS', 'SOC', 'LA'), -(800000004, 'UGRD', 2022, 'AS', 'ENGL', 'AC'), -(800000005, 'UGRD', 2021, 'AS', 'GERM', 'CM'), -(800000006, 'UGRD', 2021, 'AS', 'ENV', 'CM'), -(800000007, 'UGRD', 2025, 'AS', 'PSCI', 'AC'), -(800000008, 'UGRD', 2023, 'AS', 'EALC', 'AC'), -(800000011, 'UGRD', 2024, 'AS', 'MAT', 'AC'), -(800000012, 'UGRD', 2023, 'AS', 'POLI', 'AC'), -(800000013, 'UGRD', 2024, 'AS', 'ENGL', 'AC'), -(800000017, 'UGRD', 2021, 'AS', 'GSS', 'CM'), -(800000018, 'UGRD', 2021, 'AS', 'HUM', 'CM'), -(800000022, 'UGRD', 2024, 'AS', 'ROML', 'AC'), -(800000027, 'UGRD', 2022, 'AS', 'HIST', 'AC'), -(800000028, 'UGRD', 2023, 'AS', 'WRI', 'AC'), -(800000031, 'UGRD', 2023, 'AS', 'GERM', 'AC'), -(800000032, 'UGRD', 2022, 'AS', 'MAT', 'AC'), -(800000033, 'NDP', NULL, 'AS', 'LIT', 'ES'), -(800000034, 'UGRD', 2021, 'AS', 'THEA', 'CM'), -(800000036, 'UGRD', 2025, 'AS', 'GSS', 'LA'), -(800000038, 'UGRD', 2025, 'AS', 'MAT', 'AC'), -(800000040, 'UGRD', 2023, 'AS', 'LING', 'AC'), -(800000041, 'UGRD', 2022, 'AS', 'EALC', 'AC'), -(800000042, 'UGRD', 2021, 'AS', 'HUM', 'CM'), -(800000044, 'UGRD', 2024, 'AS', 'CS', 'AC'), -(800000047, 'UGRD', 2025, 'AS', 'LIT', 'AC'), -(800000049, 'UGRD', 2023, 'AS', 'ARCH', 'AC'), -(800000052, 'UGRD', 2025, 'AS', 'GERM', 'AC'), -(800000054, 'UGRD', 2023, 'AS', 'GHP', 'AC'), -(800000055, 'UGRD', 2023, 'AS', 'SOC', 'AC'), -(800000056, 'UGRD', 2025, 'AS', 'ART', 'AC'), -(800000057, 'UGRD', 2022, 'AS', 'GHP', 'AC'), -(800000058, 'UGRD', 2025, 'AS', 'ROML', 'PM'), -(800000059, 'UGRD', 2024, 'AS', 'SOC', 'AC'), -(800000060, 'UGRD', 2025, 'AS', 'ROML', 'AC'), -(800000063, 'UGRD', 2024, 'AS', 'STAT', 'AC'), -(800000064, 'UGRD', 2023, 'AS', 'APCS', 'AC'), -(800000065, 'UGRD', 2022, 'AS', 'SLAV', 'AC'), -(800000066, 'UGRD', 2023, 'AS', 'REL', 'AC'), -(800000067, 'UGRD', 2024, 'AS', 'GVMT', 'AC'), -(800000069, 'UGRD', 2024, 'AS', 'HIST', 'AC'), -(800000070, 'UGRD', 2021, 'AS', 'ECOM', 'CM'), -(800000074, 'UGRD', 2025, 'AS', 'AAAS', 'AC'), -(800000076, 'UGRD', 2023, 'AS', 'PSYC', 'AC'), -(800000078, 'UGRD', 2025, 'AS', 'AS', 'PM'), -(800000080, 'UGRD', 2024, 'AS', 'GSS', 'AC'), -(800000082, 'UGRD', 2023, 'AS', 'PHY', 'AC'), -(800000085, 'NDP', NULL, 'AS', 'BIOS', 'AC'), -(800000088, 'NDP', NULL, 'AS', 'STAT', 'AC'), -(800000093, 'UGRD', 2023, 'AS', 'ENV', 'AC'), -(800000096, 'UGRD', 2021, 'AS', 'SLAV', 'CM'), -(800000097, 'UGRD', 2024, 'AS', 'SOC', 'AC'), -(800000105, 'UGRD', 2023, 'AS', 'BPHY', 'AC'), -(800000106, 'UGRD', 2022, 'AS', 'CELT', 'AC'), -(800000107, 'UGRD', 2022, 'AS', 'MUS', 'XO'), -(800000108, 'UGRD', 2022, 'AS', 'APCS', 'AC'), -(800000111, 'UGRD', 2022, 'AS', 'CLSS', 'AC'), -(800000112, 'UGRD', 2024, 'AS', 'MUS', 'AC'), -(800000113, 'UGRD', 2024, 'AS', 'PHIL', 'AC'), -(800000116, 'UGRD', 2025, 'AS', 'MCB', 'AC'), -(800000123, 'UGRD', 2021, 'AS', 'CPLT', 'CM'), -(800000125, 'NDP', NULL, 'AS', 'MEDS', 'AC'), -(800000126, 'UGRD', 2021, 'AS', 'CELT', 'CM'), -(800000129, 'UGRD', 2021, 'AS', 'ENGL', 'CM'), -(800000132, 'UGRD', 2021, 'AS', 'MEDS', 'CM'), -(800000136, 'UGRD', 2022, 'AS', 'STAT', 'AC'), -(800000137, 'UGRD', 2023, 'AS', 'PSYC', 'AC'), -(800000141, 'UGRD', 2022, 'AS', 'REL', 'AC'), -(800000143, 'UGRD', 2025, 'AS', 'ENGL', 'PM'), -(800000144, 'UGRD', 2023, 'AS', 'GHP', 'AC'), -(800000147, 'UGRD', 2025, 'AS', 'CHEM', 'AC'), -(800000148, 'UGRD', 2025, 'AS', 'GSS', 'AC'), -(800000150, 'UGRD', 2021, 'AS', 'REL', 'CM'), -(800000154, 'UGRD', 2022, 'AS', 'CS', 'AC'), -(800000157, 'UGRD', 2021, 'AS', 'ENGL', 'CM'), -(800000158, 'UGRD', 2023, 'AS', 'GVMT', 'AC'), -(800000159, 'UGRD', 2022, 'AS', 'ENV', 'AC'), -(800000160, 'UGRD', 2024, 'AS', 'MCB', 'AC'), -(800000161, 'UGRD', 2021, 'AS', 'MAT', 'CM'), -(800000165, 'UGRD', 2022, 'AS', 'HIST', 'AC'), -(800000166, 'UGRD', 2021, 'AS', 'CS', 'CM'), -(800000167, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800000169, 'UGRD', 2021, 'AS', 'MEDS', 'CM'), -(800000172, 'UGRD', 2021, 'AS', 'SOC', 'CM'), -(800000173, 'UGRD', 2023, 'AS', 'ENV', 'AC'), -(800000177, 'UGRD', 2024, 'AS', 'ENG', 'AC'), -(800000178, 'UGRD', 2025, 'AS', 'POLI', 'PM'), -(800000180, 'UGRD', 2025, 'AS', 'POLI', 'AC'), -(800000181, 'UGRD', 2021, 'AS', 'BPHY', 'CM'), -(800000184, 'UGRD', 2021, 'AS', 'ROML', 'CM'), -(800000188, 'UGRD', 2022, 'AS', 'APHY', 'AC'), -(800000189, 'UGRD', 2023, 'AS', 'APCS', 'AC'), -(800000192, 'UGRD', 2023, 'AS', 'MES', 'AC'), -(800000193, 'UGRD', 2022, 'AS', 'REL', 'AC'), -(800000195, 'UGRD', 2023, 'AS', 'GHP', 'AC'), -(800000197, 'UGRD', 2025, 'AS', 'SLAV', 'AC'), -(800000198, 'UGRD', 2021, 'AS', 'AAAS', 'CM'), -(800000200, 'UGRD', 2021, 'AS', 'MEDS', 'CM'), -(800000202, 'UGRD', 2021, 'AS', 'MES', 'CM'), -(800000206, 'UGRD', 2022, 'AS', 'MES', 'AC'), -(800000210, 'UGRD', 2025, 'AS', 'NELC', 'AC'), -(800000211, 'UGRD', 2021, 'AS', 'CELT', 'CM'), -(800000212, 'UGRD', 2021, 'AS', 'NELC', 'CM'), -(800000213, 'UGRD', 2023, 'AS', 'PHY', 'AC'), -(800000214, 'UGRD', 2024, 'AS', 'PSYC', 'AC'), -(800000215, 'UGRD', 2024, 'AS', 'GERM', 'AC'), -(800000216, 'UGRD', 2023, 'AS', 'WRI', 'AC'), -(800000219, 'UGRD', 2022, 'AS', 'ASTR', 'AC'), -(800000220, 'UGRD', 2023, 'AS', 'APCS', 'AC'), -(800000225, 'UGRD', 2024, 'AS', 'ENG', 'AC'), -(800000226, 'UGRD', 2025, 'AS', 'ENV', 'AC'), -(800000231, 'UGRD', 2022, 'AS', 'HIST', 'AC'), -(800000233, 'UGRD', 2023, 'AS', 'MES', 'AC'), -(800000236, 'UGRD', 2022, 'AS', 'GHP', 'XO'), -(800000238, 'UGRD', 2021, 'AS', 'WRI', 'CM'), -(800000241, 'UGRD', 2025, 'AS', 'ENG', 'AC'), -(800000242, 'NDP', NULL, 'AS', 'MEDS', 'AC'), -(800000246, 'UGRD', 2024, 'AS', 'LING', 'AC'), -(800000248, 'UGRD', 2024, 'AS', 'CHEM', 'AC'), -(800000255, 'UGRD', 2023, 'AS', 'LIT', 'AC'), -(800000256, 'UGRD', 2025, 'AS', 'CHEM', 'AC'), -(800000264, 'UGRD', 2021, 'AS', 'SOC', 'CM'), -(800000267, 'UGRD', 2024, 'AS', 'WRI', 'AC'), -(800000268, 'UGRD', 2025, 'AS', 'ARCH', 'LA'), -(800000270, 'UGRD', 2022, 'AS', 'REL', 'AC'), -(800000271, 'UGRD', 2022, 'AS', 'SAS', 'AC'), -(800000272, 'UGRD', 2023, 'AS', 'PHIL', 'AC'), -(800000273, 'UGRD', 2022, 'AS', 'BIOS', 'AC'), -(800000275, 'UGRD', 2025, 'AS', 'PSYC', 'AC'), -(800000277, 'UGRD', 2021, 'AS', 'SAS', 'CM'), -(800000279, 'UGRD', 2022, 'AS', 'HUM', 'AC'), -(800000280, 'UGRD', 2021, 'AS', 'MAT', 'CM'), -(800000282, 'UGRD', 2022, 'AS', 'MES', 'AC'), -(800000284, 'UGRD', 2025, 'AS', 'CS', 'AC'), -(800000288, 'UGRD', 2024, 'AS', 'POLI', 'AC'), -(800000290, 'UGRD', 2025, 'AS', 'SLAV', 'AC'), -(800000291, 'UGRD', 2021, 'AS', 'REL', 'CM'), -(800000293, 'UGRD', 2022, 'AS', 'HUM', 'AC'), -(800000294, 'UGRD', 2024, 'AS', 'ECOM', 'AC'), -(800000295, 'UGRD', 2022, 'AS', 'PSYC', 'AC'), -(800000296, 'UGRD', 2025, 'AS', 'POLI', 'AC'), -(800000297, 'UGRD', 2025, 'AS', 'PSCI', 'AC'), -(800000299, 'UGRD', 2025, 'AS', 'APCS', 'AC'), -(800000302, 'UGRD', 2021, 'AS', 'CELT', 'CM'), -(800000306, 'UGRD', 2022, 'AS', 'ASTR', 'AC'), -(800000309, 'UGRD', 2025, 'AS', 'GERM', 'AC'), -(800000310, 'UGRD', 2025, 'AS', 'GVMT', 'AC'), -(800000313, 'UGRD', 2023, 'AS', 'GVMT', 'AC'), -(800000315, 'UGRD', 2022, 'AS', 'HIST', 'XP'), -(800000316, 'UGRD', 2024, 'AS', 'ASTR', 'AC'), -(800000317, 'UGRD', 2024, 'AS', 'CPLT', 'AC'), -(800000321, 'UGRD', 2022, 'AS', 'NELC', 'AC'), -(800000322, 'UGRD', 2023, 'AS', 'APHY', 'AC'), -(800000326, 'UGRD', 2024, 'AS', 'MES', 'AC'), -(800000327, 'UGRD', 2023, 'AS', 'CELT', 'AC'), -(800000330, 'UGRD', 2025, 'AS', 'ENG', 'AC'), -(800000332, 'UGRD', 2022, 'AS', 'LING', 'AC'), -(800000333, 'NDP', NULL, 'AS', 'THEA', 'ES'), -(800000343, 'UGRD', 2025, 'AS', 'CS', 'AC'), -(800000346, 'UGRD', 2025, 'AS', 'PHIL', 'AC'), -(800000350, 'UGRD', 2024, 'AS', 'MCB', 'AC'), -(800000354, 'UGRD', 2025, 'AS', 'LIT', 'AC'), -(800000356, 'UGRD', 2025, 'AS', 'SAS', 'AC'), -(800000359, 'UGRD', 2024, 'AS', 'PSCI', 'AC'), -(800000362, 'UGRD', 2023, 'AS', 'BIOL', 'AC'), -(800000365, 'UGRD', 2022, 'AS', 'AAAS', 'AC'), -(800000367, 'UGRD', 2022, 'AS', 'POLI', 'AC'), -(800000368, 'UGRD', 2022, 'AS', 'ART', 'AC'), -(800000369, 'UGRD', 2025, 'AS', 'STAT', 'AC'), -(800000371, 'UGRD', 2025, 'AS', 'POLI', 'LA'), -(800000372, 'UGRD', 2024, 'AS', 'WRI', 'AC'), -(800000373, 'UGRD', 2021, 'AS', 'MAT', 'CM'), -(800000374, 'UGRD', 2021, 'AS', 'THEA', 'CM'), -(800000375, 'UGRD', 2023, 'AS', 'CELT', 'AC'), -(800000380, 'UGRD', 2021, 'AS', 'PSCI', 'CM'), -(800000381, 'UGRD', 2024, 'AS', 'ART', 'AC'), -(800000385, 'UGRD', 2021, 'AS', 'EALC', 'CM'), -(800000387, 'UGRD', 2025, 'AS', 'MCB', 'AC'), -(800000388, 'UGRD', 2021, 'AS', 'ENV', 'CM'), -(800000390, 'UGRD', 2023, 'AS', 'ASTR', 'AC'), -(800000393, 'UGRD', 2024, 'AS', 'CLSS', 'AC'), -(800000394, 'UGRD', 2025, 'AS', 'REL', 'AC'), -(800000398, 'UGRD', 2025, 'AS', 'ART', 'AC'), -(800000400, 'UGRD', 2024, 'AS', 'GVMT', 'AC'), -(800000402, 'UGRD', 2024, 'AS', 'CPLT', 'AC'), -(800000403, 'UGRD', 2023, 'AS', 'APCS', 'AC'), -(800000404, 'UGRD', 2024, 'AS', 'BIOL', 'AC'), -(800000406, 'UGRD', 2025, 'AS', 'GHP', 'AC'), -(800000409, 'UGRD', 2024, 'AS', 'CHEM', 'AC'), -(800000410, 'UGRD', 2021, 'AS', 'ANTH', 'CM'), -(800000411, 'UGRD', 2023, 'AS', 'CHEM', 'AC'), -(800000412, 'UGRD', 2021, 'AS', 'ENGL', 'CM'), -(800000417, 'UGRD', 2025, 'AS', 'ART', 'AC'), -(800000418, 'UGRD', 2024, 'AS', 'MEDS', 'AC'), -(800000419, 'UGRD', 2023, 'AS', 'AS', 'AC'), -(800000421, 'UGRD', 2024, 'AS', 'CS', 'AC'), -(800000424, 'UGRD', 2023, 'AS', 'ENV', 'AC'), -(800000425, 'UGRD', 2023, 'AS', 'PSYC', 'AC'), -(800000427, 'UGRD', 2021, 'AS', 'AAAS', 'CM'), -(800000429, 'UGRD', 2023, 'AS', 'AMAT', 'XP'), -(800000431, 'UGRD', 2024, 'AS', 'SOCS', 'AC'), -(800000433, 'NDP', NULL, 'AS', 'SOCS', 'AC'), -(800000434, 'UGRD', 2021, 'AS', 'HIST', 'CM'), -(800000436, 'UGRD', 2021, 'AS', 'ECOM', 'CM'), -(800000438, 'UGRD', 2025, 'AS', 'GSS', 'AC'), -(800000442, 'UGRD', 2021, 'AS', 'PSCI', 'CM'), -(800000445, 'NDP', NULL, 'AS', 'THEA', 'AC'), -(800000450, 'UGRD', 2022, 'AS', 'AAAS', 'AC'), -(800000451, 'UGRD', 2023, 'AS', 'ENGL', 'AC'), -(800000458, 'UGRD', 2024, 'AS', 'MAT', 'AC'), -(800000464, 'UGRD', 2021, 'AS', 'ENG', 'CM'), -(800000466, 'UGRD', 2023, 'AS', 'CS', 'AC'), -(800000469, 'UGRD', 2025, 'AS', 'LING', 'AC'), -(800000471, 'UGRD', 2023, 'AS', 'AAAS', 'AC'), -(800000473, 'UGRD', 2024, 'AS', 'HUM', 'AC'), -(800000474, 'UGRD', 2023, 'AS', 'ECOM', 'AC'), -(800000478, 'UGRD', 2022, 'AS', 'SLAV', 'AC'), -(800000479, 'NDP', NULL, 'AS', 'APHY', 'AC'), -(800000480, 'UGRD', 2024, 'AS', 'ENG', 'AC'), -(800000485, 'UGRD', 2022, 'AS', 'CPLT', 'RS'), -(800000486, 'UGRD', 2023, 'AS', 'ARCH', 'AC'), -(800000489, 'UGRD', 2022, 'AS', 'PHIL', 'AC'), -(800000491, 'UGRD', 2024, 'AS', 'AMAT', 'AC'), -(800000492, 'UGRD', 2022, 'AS', 'MAT', 'XP'), -(800000494, 'UGRD', 2023, 'AS', 'CHEM', 'AC'), -(800000497, 'UGRD', 2023, 'AS', 'MAT', 'AC'), -(800000499, 'UGRD', 2025, 'AS', 'STAT', 'AC'), -(800000500, 'UGRD', 2023, 'AS', 'CPLT', 'AC'), -(800000502, 'UGRD', 2022, 'AS', 'STAT', 'AC'), -(800000503, 'UGRD', 2022, 'AS', 'APCS', 'AC'), -(800000506, 'UGRD', 2022, 'AS', 'EALC', 'AC'), -(800000509, 'UGRD', 2025, 'AS', 'MUS', 'AC'), -(800000512, 'UGRD', 2021, 'AS', 'APCS', 'CM'), -(800000514, 'UGRD', 2023, 'AS', 'PSYC', 'AC'), -(800000515, 'UGRD', 2025, 'AS', 'ARCH', 'AC'), -(800000518, 'UGRD', 2024, 'AS', 'POLI', 'AC'), -(800000520, 'UGRD', 2025, 'AS', 'LIT', 'AC'), -(800000521, 'UGRD', 2022, 'AS', 'SLAV', 'AC'), -(800000527, 'UGRD', 2021, 'AS', 'GHP', 'CM'), -(800000529, 'UGRD', 2023, 'AS', 'BIOS', 'RS'), -(800000531, 'UGRD', 2024, 'AS', 'ART', 'AC'), -(800000534, 'UGRD', 2023, 'AS', 'ENG', 'AC'), -(800000538, 'UGRD', 2023, 'AS', 'PSCI', 'AC'), -(800000539, 'UGRD', 2021, 'AS', 'HIST', 'CM'), -(800000540, 'UGRD', 2023, 'AS', 'LIT', 'AC'), -(800000542, 'UGRD', 2025, 'AS', 'PHIL', 'AC'), -(800000543, 'UGRD', 2023, 'AS', 'BIOL', 'AC'), -(800000545, 'UGRD', 2024, 'AS', 'ANTH', 'AC'), -(800000547, 'UGRD', 2024, 'AS', 'POLI', 'AC'), -(800000548, 'UGRD', 2025, 'AS', 'MUS', 'AC'), -(800000549, 'UGRD', 2021, 'AS', 'SAS', 'CM'), -(800000553, 'NDP', NULL, 'AS', 'GSS', 'ES'), -(800000554, 'UGRD', 2023, 'AS', 'MEDS', 'AC'), -(800000555, 'UGRD', 2025, 'AS', 'ARCH', 'AC'), -(800000556, 'UGRD', 2021, 'AS', 'PHIL', 'CM'), -(800000557, 'UGRD', 2022, 'AS', 'BIOL', 'AC'), -(800000558, 'UGRD', 2021, 'AS', 'GVMT', 'CM'), -(800000564, 'UGRD', 2025, 'AS', 'APHY', 'AC'), -(800000565, 'UGRD', 2023, 'AS', 'MAT', 'AC'), -(800000566, 'UGRD', 2025, 'AS', 'AS', 'AC'), -(800000568, 'UGRD', 2025, 'AS', 'THEA', 'AC'), -(800000569, 'UGRD', 2021, 'AS', 'ENV', 'CM'), -(800000570, 'UGRD', 2023, 'AS', 'CS', 'AC'), -(800000571, 'UGRD', 2023, 'AS', 'GERM', 'AC'), -(800000572, 'UGRD', 2025, 'AS', 'APHY', 'AC'), -(800000573, 'UGRD', 2025, 'AS', 'HIST', 'AC'), -(800000574, 'UGRD', 2021, 'AS', 'EALC', 'CM'), -(800000575, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800000576, 'UGRD', 2021, 'AS', 'STAT', 'CM'), -(800000577, 'UGRD', 2025, 'AS', 'ASTR', 'AC'), -(800000579, 'UGRD', 2023, 'AS', 'LING', 'AC'), -(800000580, 'UGRD', 2023, 'AS', 'ASTR', 'AC'), -(800000581, 'UGRD', 2022, 'AS', 'MUS', 'AC'), -(800000584, 'UGRD', 2022, 'AS', 'ASTR', 'AC'), -(800000585, 'UGRD', 2024, 'AS', 'GHP', 'AC'), -(800000586, 'UGRD', 2022, 'AS', 'CHEM', 'AC'), -(800000588, 'UGRD', 2024, 'AS', 'GHP', 'AC'), -(800000590, 'UGRD', 2021, 'AS', 'WRI', 'CM'), -(800000591, 'UGRD', 2021, 'AS', 'ART', 'CM'), -(800000592, 'UGRD', 2024, 'AS', 'ENGL', 'AC'), -(800000593, 'UGRD', 2022, 'AS', 'CS', 'AC'), -(800000595, 'UGRD', 2023, 'AS', 'GERM', 'AC'), -(800000596, 'UGRD', 2025, 'AS', 'ECOM', 'AC'), -(800000597, 'UGRD', 2025, 'AS', 'GHP', 'AC'), -(800000602, 'UGRD', 2025, 'AS', 'GVMT', 'AC'), -(800000603, 'UGRD', 2025, 'AS', 'HUM', 'AC'), -(800000606, 'UGRD', 2021, 'AS', 'BIOS', 'CM'), -(800000607, 'UGRD', 2022, 'AS', 'LING', 'AC'), -(800000610, 'UGRD', 2024, 'AS', 'REL', 'AC'), -(800000611, 'UGRD', 2022, 'AS', 'AMAT', 'AC'), -(800000615, 'UGRD', 2024, 'AS', 'ASTR', 'AC'), -(800000616, 'UGRD', 2024, 'AS', 'ECOM', 'AC'), -(800000621, 'UGRD', 2025, 'AS', 'APHY', 'LA'), -(800000622, 'UGRD', 2023, 'AS', 'ENGL', 'AC'), -(800000623, 'UGRD', 2025, 'AS', 'CPLT', 'AC'), -(800000624, 'UGRD', 2022, 'AS', 'STAT', 'AC'), -(800000625, 'UGRD', 2024, 'AS', 'CELT', 'AC'), -(800000626, 'UGRD', 2021, 'AS', 'AS', 'CM'), -(800000627, 'UGRD', 2022, 'AS', 'GVMT', 'AC'), -(800000628, 'UGRD', 2023, 'AS', 'BIOL', 'AC'), -(800000630, 'UGRD', 2022, 'AS', 'SOC', 'AC'), -(800000631, 'UGRD', 2025, 'AS', 'GHP', 'AC'), -(800000632, 'UGRD', 2024, 'AS', 'PSCI', 'AC'), -(800000634, 'UGRD', 2024, 'AS', 'BPHY', 'AC'), -(800000635, 'UGRD', 2024, 'AS', 'SOCS', 'AC'), -(800000636, 'UGRD', 2025, 'AS', 'MEDS', 'AC'), -(800000637, 'UGRD', 2024, 'AS', 'PSYC', 'AC'), -(800000641, 'UGRD', 2024, 'AS', 'GHP', 'AC'), -(800000643, 'UGRD', 2025, 'AS', 'HIST', 'AC'), -(800000644, 'UGRD', 2022, 'AS', 'CLSS', 'AC'), -(800000646, 'UGRD', 2022, 'AS', 'ROML', 'AC'), -(800000652, 'UGRD', 2025, 'AS', 'SAS', 'AC'), -(800000655, 'UGRD', 2022, 'AS', 'MAT', 'AC'), -(800000656, 'UGRD', 2025, 'AS', 'POLI', 'AC'), -(800000657, 'UGRD', 2024, 'AS', 'REL', 'AC'), -(800000658, 'UGRD', 2021, 'AS', 'PHY', 'CM'), -(800000660, 'UGRD', 2025, 'AS', 'APHY', 'AC'), -(800000662, 'UGRD', 2022, 'AS', 'ANTH', 'AC'), -(800000663, 'UGRD', 2024, 'AS', 'REL', 'AC'), -(800000664, 'NDP', NULL, 'AS', 'GSS', 'AC'), -(800000665, 'UGRD', 2024, 'AS', 'PSYC', 'AC'), -(800000666, 'UGRD', 2022, 'AS', 'AMAT', 'AC'), -(800000671, 'UGRD', 2025, 'AS', 'GVMT', 'AC'), -(800000672, 'UGRD', 2022, 'AS', 'PHY', 'AC'), -(800000673, 'UGRD', 2024, 'AS', 'ROML', 'AC'), -(800000676, 'UGRD', 2021, 'AS', 'BIOS', 'CM'), -(800000679, 'UGRD', 2024, 'AS', 'GSS', 'AC'), -(800000680, 'UGRD', 2021, 'AS', 'BIOL', 'CM'), -(800000682, 'UGRD', 2025, 'AS', 'POLI', 'AC'), -(800000685, 'UGRD', 2021, 'AS', 'AMAT', 'CM'), -(800000688, 'UGRD', 2024, 'AS', 'AAAS', 'AC'), -(800000694, 'UGRD', 2022, 'AS', 'ARCH', 'AC'), -(800000701, 'UGRD', 2024, 'AS', 'BIOS', 'AC'), -(800000703, 'UGRD', 2025, 'AS', 'CLSS', 'LA'), -(800000705, 'UGRD', 2025, 'AS', 'CS', 'AC'), -(800000707, 'UGRD', 2021, 'AS', 'ENG', 'CM'), -(800000708, 'NDP', NULL, 'AS', 'ENG', 'AC'), -(800000709, 'UGRD', 2023, 'AS', 'CELT', 'AC'), -(800000710, 'UGRD', 2025, 'AS', 'NELC', 'AC'), -(800000711, 'UGRD', 2021, 'AS', 'AS', 'CM'), -(800000712, 'UGRD', 2023, 'AS', 'GERM', 'AC'), -(800000714, 'UGRD', 2024, 'AS', 'LING', 'AC'), -(800000716, 'UGRD', 2021, 'AS', 'CLSS', 'CM'), -(800000717, 'UGRD', 2025, 'AS', 'BIOL', 'AC'), -(800000718, 'UGRD', 2025, 'AS', 'CPLT', 'AC'), -(800000719, 'UGRD', 2022, 'AS', 'ENG', 'AC'), -(800000721, 'UGRD', 2025, 'AS', 'APCS', 'AC'), -(800000723, 'UGRD', 2022, 'AS', 'SOC', 'AC'), -(800000726, 'UGRD', 2023, 'AS', 'AMAT', 'AC'), -(800000727, 'UGRD', 2025, 'AS', 'AS', 'AC'), -(800000728, 'UGRD', 2022, 'AS', 'GERM', 'AC'), -(800000729, 'UGRD', 2025, 'AS', 'GERM', 'AC'), -(800000733, 'UGRD', 2021, 'AS', 'POLI', 'CM'), -(800000734, 'UGRD', 2021, 'AS', 'APCS', 'CM'), -(800000737, 'UGRD', 2023, 'AS', 'SOC', 'AC'), -(800000738, 'UGRD', 2025, 'AS', 'GHP', 'AC'), -(800000739, 'UGRD', 2021, 'AS', 'CLSS', 'CM'), -(800000740, 'UGRD', 2024, 'AS', 'AS', 'AC'), -(800000741, 'UGRD', 2021, 'AS', 'MUS', 'CM'), -(800000743, 'UGRD', 2024, 'AS', 'CPLT', 'AC'), -(800000744, 'UGRD', 2023, 'AS', 'PHY', 'AC'), -(800000746, 'NDP', NULL, 'AS', 'AMAT', 'ES'), -(800000747, 'UGRD', 2023, 'AS', 'CS', 'AC'), -(800000748, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800000749, 'UGRD', 2022, 'AS', 'GERM', 'AC'), -(800000754, 'UGRD', 2022, 'AS', 'ENV', 'AC'), -(800000755, 'UGRD', 2024, 'AS', 'SOC', 'AC'), -(800000759, 'UGRD', 2021, 'AS', 'CLSS', 'CM'), -(800000761, 'UGRD', 2023, 'AS', 'MEDS', 'AC'), -(800000762, 'UGRD', 2022, 'AS', 'ART', 'AC'), -(800000765, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800000766, 'UGRD', 2022, 'AS', 'GERM', 'AC'), -(800000767, 'UGRD', 2025, 'AS', 'POLI', 'AC'), -(800000769, 'UGRD', 2023, 'AS', 'WRI', 'AC'), -(800000770, 'UGRD', 2023, 'AS', 'PSCI', 'AC'), -(800000772, 'UGRD', 2025, 'AS', 'CLSS', 'AC'), -(800000773, 'UGRD', 2024, 'AS', 'REL', 'AC'), -(800000776, 'UGRD', 2024, 'AS', 'PHIL', 'AC'), -(800000778, 'UGRD', 2024, 'AS', 'ENV', 'AC'), -(800000782, 'UGRD', 2024, 'AS', 'LIT', 'AC'), -(800000785, 'UGRD', 2025, 'AS', 'ENV', 'XO'), -(800000787, 'UGRD', 2024, 'AS', 'BIOS', 'AC'), -(800000790, 'UGRD', 2022, 'AS', 'WRI', 'AC'), -(800000791, 'UGRD', 2023, 'AS', 'LING', 'AC'), -(800000793, 'UGRD', 2021, 'AS', 'PSCI', 'CM'), -(800000798, 'UGRD', 2022, 'AS', 'BIOS', 'AC'), -(800000799, 'UGRD', 2023, 'AS', 'BPHY', 'AC'), -(800000801, 'UGRD', 2024, 'AS', 'REL', 'AC'), -(800000803, 'UGRD', 2022, 'AS', 'BPHY', 'AC'), -(800000804, 'UGRD', 2023, 'AS', 'ROML', 'AC'), -(800000806, 'UGRD', 2025, 'AS', 'ENGL', 'LA'), -(800000807, 'NDP', NULL, 'AS', 'CS', 'ES'), -(800000808, 'UGRD', 2022, 'AS', 'MEDS', 'AC'), -(800000809, 'UGRD', 2025, 'AS', 'ECOM', 'AC'), -(800000811, 'UGRD', 2021, 'AS', 'GVMT', 'CM'), -(800000813, 'UGRD', 2023, 'AS', 'THEA', 'XP'), -(800000815, 'UGRD', 2021, 'AS', 'CELT', 'CM'), -(800000818, 'UGRD', 2023, 'AS', 'BPHY', 'AC'), -(800000819, 'UGRD', 2025, 'AS', 'BPHY', 'AC'), -(800000821, 'UGRD', 2024, 'AS', 'PSYC', 'AC'), -(800000826, 'UGRD', 2022, 'AS', 'GSS', 'AC'), -(800000827, 'UGRD', 2022, 'AS', 'PHIL', 'AC'), -(800000828, 'UGRD', 2022, 'AS', 'CPLT', 'AC'), -(800000830, 'UGRD', 2021, 'AS', 'AMAT', 'CM'), -(800000835, 'UGRD', 2024, 'AS', 'HUM', 'AC'), -(800000836, 'UGRD', 2025, 'AS', 'SOC', 'XP'), -(800000837, 'UGRD', 2021, 'AS', 'CS', 'CM'), -(800000840, 'UGRD', 2022, 'AS', 'CHEM', 'AC'), -(800000841, 'UGRD', 2025, 'AS', 'MAT', 'AC'), -(800000843, 'UGRD', 2024, 'AS', 'ENV', 'AC'), -(800000845, 'UGRD', 2024, 'AS', 'PSYC', 'AC'), -(800000846, 'UGRD', 2025, 'AS', 'HIST', 'AC'), -(800000847, 'UGRD', 2021, 'AS', 'CS', 'CM'), -(800000848, 'NDP', NULL, 'AS', 'CS', 'AC'), -(800000849, 'UGRD', 2021, 'AS', 'ENG', 'CM'), -(800000850, 'UGRD', 2025, 'AS', 'AMAT', 'AC'), -(800000852, 'UGRD', 2025, 'AS', 'APCS', 'AC'), -(800000855, 'UGRD', 2021, 'AS', 'NELC', 'CM'), -(800000859, 'UGRD', 2024, 'AS', 'HUM', 'AC'), -(800000861, 'NDP', NULL, 'AS', 'HIST', 'AC'), -(800000862, 'UGRD', 2025, 'AS', 'CHEM', 'AC'), -(800000864, 'UGRD', 2024, 'AS', 'EALC', 'AC'), -(800000867, 'UGRD', 2021, 'AS', 'SAS', 'CM'), -(800000868, 'UGRD', 2021, 'AS', 'APHY', 'CM'), -(800000871, 'UGRD', 2024, 'AS', 'BPHY', 'AC'), -(800000874, 'UGRD', 2024, 'AS', 'CLSS', 'AC'), -(800000876, 'UGRD', 2025, 'AS', 'LIT', 'AC'), -(800000877, 'UGRD', 2022, 'AS', 'ROML', 'AC'), -(800000878, 'UGRD', 2025, 'AS', 'ECOM', 'AC'), -(800000879, 'UGRD', 2022, 'AS', 'THEA', 'AC'), -(800000880, 'UGRD', 2025, 'AS', 'SLAV', 'AC'), -(800000881, 'UGRD', 2022, 'AS', 'ROML', 'AC'), -(800000882, 'UGRD', 2025, 'AS', 'ART', 'AC'), -(800000885, 'UGRD', 2021, 'AS', 'GERM', 'CM'), -(800000887, 'UGRD', 2025, 'AS', 'MUS', 'AC'), -(800000889, 'UGRD', 2024, 'AS', 'GHP', 'AC'), -(800000891, 'UGRD', 2022, 'AS', 'CPLT', 'AC'), -(800000892, 'UGRD', 2025, 'AS', 'ASTR', 'AC'), -(800000896, 'UGRD', 2021, 'AS', 'NELC', 'CM'), -(800000900, 'UGRD', 2025, 'AS', 'THEA', 'PM'), -(800000902, 'UGRD', 2023, 'AS', 'WRI', 'AC'), -(800000903, 'UGRD', 2024, 'AS', 'ARCH', 'AC'), -(800000904, 'UGRD', 2025, 'AS', 'PSCI', 'AC'), -(800000905, 'UGRD', 2024, 'AS', 'MEDS', 'AC'), -(800000907, 'UGRD', 2021, 'AS', 'CLSS', 'CM'), -(800000908, 'UGRD', 2024, 'AS', 'BIOS', 'AC'), -(800000909, 'UGRD', 2021, 'AS', 'APHY', 'CM'), -(800000910, 'UGRD', 2023, 'AS', 'MCB', 'AC'), -(800000911, 'UGRD', 2022, 'AS', 'PSYC', 'AC'), -(800000914, 'UGRD', 2022, 'AS', 'BIOS', 'AC'), -(800000915, 'UGRD', 2022, 'AS', 'THEA', 'AC'), -(800000917, 'UGRD', 2024, 'AS', 'NELC', 'AC'), -(800000920, 'UGRD', 2022, 'AS', 'POLI', 'AC'), -(800000922, 'UGRD', 2022, 'AS', 'HUM', 'AC'), -(800000923, 'UGRD', 2022, 'AS', 'LING', 'AC'), -(800000924, 'UGRD', 2023, 'AS', 'SOC', 'AC'), -(800000925, 'UGRD', 2023, 'AS', 'ECOM', 'AC'), -(800000930, 'UGRD', 2023, 'AS', 'THEA', 'AC'), -(800000932, 'NDP', NULL, 'AS', 'MUS', 'ES'), -(800000938, 'UGRD', 2025, 'AS', 'HUM', 'AC'), -(800000940, 'UGRD', 2024, 'AS', 'APHY', 'AC'), -(800000941, 'UGRD', 2025, 'AS', 'GHP', 'RS'), -(800000942, 'UGRD', 2025, 'AS', 'EALC', 'AC'), -(800000944, 'UGRD', 2023, 'AS', 'PSCI', 'AC'), -(800000945, 'UGRD', 2022, 'AS', 'GSS', 'AC'), -(800000947, 'UGRD', 2025, 'AS', 'CHEM', 'AC'), -(800000948, 'UGRD', 2022, 'AS', 'PHIL', 'AC'), -(800000951, 'UGRD', 2024, 'AS', 'BPHY', 'AC'), -(800000952, 'UGRD', 2025, 'AS', 'ENGL', 'AC'), -(800000953, 'UGRD', 2021, 'AS', 'MAT', 'CM'), -(800000960, 'UGRD', 2025, 'AS', 'CLSS', 'AC'), -(800000961, 'UGRD', 2022, 'AS', 'ROML', 'AC'), -(800000963, 'UGRD', 2025, 'AS', 'HUM', 'AC'), -(800000968, 'UGRD', 2023, 'AS', 'MAT', 'AC'), -(800000971, 'UGRD', 2021, 'AS', 'ENG', 'CM'), -(800000974, 'UGRD', 2021, 'AS', 'GERM', 'CM'), -(800000977, 'UGRD', 2024, 'AS', 'APHY', 'AC'), -(800000979, 'UGRD', 2022, 'AS', 'GSS', 'AC'), -(800000981, 'UGRD', 2024, 'AS', 'AMAT', 'AC'), -(800000984, 'UGRD', 2022, 'AS', 'PHIL', 'AC'), -(800000985, 'UGRD', 2021, 'AS', 'NELC', 'CM'), -(800000986, 'UGRD', 2025, 'AS', 'APHY', 'AC'), -(800000987, 'UGRD', 2024, 'AS', 'CPLT', 'AC'), -(800000989, 'UGRD', 2024, 'AS', 'APCS', 'AC'), -(800000991, 'UGRD', 2022, 'AS', 'AS', 'AC'), -(800000993, 'UGRD', 2024, 'AS', 'ENV', 'AC'), -(800000995, 'UGRD', 2025, 'AS', 'BIOL', 'AC'), -(800000996, 'UGRD', 2024, 'AS', 'HUM', 'AC'), -(800000997, 'UGRD', 2021, 'AS', 'CPLT', 'CM'), -(800000998, 'UGRD', 2025, 'AS', 'PSYC', 'AC'), -(800001000, 'UGRD', 2021, 'AS', 'ANTH', 'CM'), -(800001003, 'UGRD', 2021, 'AS', 'CPLT', 'CM'), -(800001006, 'UGRD', 2021, 'AS', 'PSCI', 'CM'), -(800001008, 'UGRD', 2021, 'AS', 'THEA', 'CM'), -(800001010, 'UGRD', 2025, 'AS', 'REL', 'AC'), -(800001011, 'UGRD', 2022, 'AS', 'ROML', 'AC'), -(800001012, 'UGRD', 2025, 'AS', 'APHY', 'AC'), -(800001014, 'UGRD', 2025, 'AS', 'CHEM', 'AC'), -(800001015, 'UGRD', 2023, 'AS', 'THEA', 'AC'), -(800001016, 'UGRD', 2023, 'AS', 'ROML', 'AC'), -(800001019, 'UGRD', 2024, 'AS', 'PHIL', 'AC'), -(800001021, 'UGRD', 2023, 'AS', 'GERM', 'AC'), -(800001023, 'NDP', NULL, 'AS', 'GVMT', 'AC'), -(800001029, 'UGRD', 2025, 'AS', 'APCS', 'AC'), -(800001030, 'UGRD', 2021, 'AS', 'STAT', 'CM'), -(800001034, 'UGRD', 2024, 'AS', 'HIST', 'AC'), -(800001036, 'UGRD', 2021, 'AS', 'AS', 'CM'), -(800001038, 'UGRD', 2024, 'AS', 'PHY', 'AC'), -(800001044, 'NDP', NULL, 'AS', 'PSCI', 'ES'), -(800001047, 'UGRD', 2021, 'AS', 'PSCI', 'CM'), -(800001048, 'UGRD', 2023, 'AS', 'ENG', 'AC'), -(800001050, 'UGRD', 2025, 'AS', 'ANTH', 'AC'), -(800001053, 'UGRD', 2023, 'AS', 'HUM', 'AC'), -(800001058, 'UGRD', 2025, 'AS', 'HIST', 'AC'), -(800001059, 'UGRD', 2024, 'AS', 'NELC', 'AC'), -(800001061, 'UGRD', 2021, 'AS', 'HUM', 'CM'), -(800001063, 'UGRD', 2021, 'AS', 'BPHY', 'CM'), -(800001067, 'UGRD', 2025, 'AS', 'AAAS', 'AC'), -(800001070, 'UGRD', 2021, 'AS', 'BIOS', 'CM'), -(800001073, 'UGRD', 2021, 'AS', 'THEA', 'CM'), -(800001074, 'UGRD', 2024, 'AS', 'SOCS', 'AC'), -(800001075, 'UGRD', 2024, 'AS', 'WRI', 'AC'), -(800001076, 'UGRD', 2022, 'AS', 'ENG', 'AC'), -(800001077, 'UGRD', 2025, 'AS', 'MEDS', 'AC'), -(800001078, 'UGRD', 2022, 'AS', 'MES', 'AC'), -(800001085, 'UGRD', 2025, 'AS', 'PHY', 'AC'), -(800001090, 'UGRD', 2022, 'AS', 'APCS', 'AC'), -(800001091, 'UGRD', 2024, 'AS', 'SLAV', 'AC'), -(800001092, 'UGRD', 2021, 'AS', 'STAT', 'CM'), -(800001094, 'UGRD', 2024, 'AS', 'EALC', 'AC'), -(800001095, 'UGRD', 2022, 'AS', 'AMAT', 'AC'), -(800001096, 'UGRD', 2023, 'AS', 'PSCI', 'AC'), -(800001098, 'UGRD', 2022, 'AS', 'MUS', 'AC'), -(800001100, 'UGRD', 2024, 'AS', 'ENGL', 'AC'), -(800001102, 'UGRD', 2022, 'AS', 'ANTH', 'AC'), -(800001104, 'UGRD', 2024, 'AS', 'CPLT', 'AC'), -(800001106, 'UGRD', 2023, 'AS', 'MCB', 'AC'), -(800001107, 'UGRD', 2021, 'AS', 'MCB', 'CM'), -(800001112, 'UGRD', 2021, 'AS', 'WRI', 'CM'), -(800001113, 'UGRD', 2021, 'AS', 'LING', 'CM'), -(800001114, 'UGRD', 2025, 'AS', 'SLAV', 'AC'), -(800001116, 'UGRD', 2022, 'AS', 'HUM', 'AC'), -(800001117, 'UGRD', 2023, 'AS', 'CPLT', 'AC'), -(800001118, 'UGRD', 2022, 'AS', 'GSS', 'AC'), -(800001123, 'UGRD', 2024, 'AS', 'ENV', 'AC'), -(800001124, 'UGRD', 2022, 'AS', 'BPHY', 'AC'), -(800001127, 'UGRD', 2023, 'AS', 'MUS', 'AC'), -(800001128, 'UGRD', 2023, 'AS', 'LIT', 'AC'), -(800001129, 'UGRD', 2021, 'AS', 'BIOS', 'CM'), -(800001130, 'UGRD', 2024, 'AS', 'WRI', 'AC'), -(800001131, 'NDP', NULL, 'AS', 'MUS', 'AC'), -(800001132, 'UGRD', 2024, 'AS', 'BPHY', 'AC'), -(800001133, 'UGRD', 2024, 'AS', 'PSYC', 'AC'), -(800001135, 'UGRD', 2021, 'AS', 'ART', 'CM'), -(800001138, 'UGRD', 2023, 'AS', 'SOCS', 'AC'), -(800001140, 'UGRD', 2021, 'AS', 'BIOS', 'CM'), -(800001143, 'UGRD', 2024, 'AS', 'ENGL', 'AC'), -(800001144, 'UGRD', 2022, 'AS', 'GERM', 'AC'), -(800001148, 'UGRD', 2022, 'AS', 'ECOM', 'AC'), -(800001149, 'UGRD', 2021, 'AS', 'CELT', 'CM'), -(800001150, 'UGRD', 2021, 'AS', 'AAAS', 'CM'), -(800001153, 'UGRD', 2025, 'AS', 'BPHY', 'AC'), -(800001154, 'UGRD', 2024, 'AS', 'AS', 'AC'), -(800001156, 'UGRD', 2024, 'AS', 'MUS', 'AC'), -(800001159, 'UGRD', 2021, 'AS', 'MUS', 'CM'), -(800001160, 'UGRD', 2022, 'AS', 'ENGL', 'AC'), -(800001164, 'UGRD', 2024, 'AS', 'GVMT', 'AC'), -(800001165, 'UGRD', 2021, 'AS', 'POLI', 'CM'), -(800001166, 'UGRD', 2023, 'AS', 'EALC', 'AC'), -(800001167, 'UGRD', 2023, 'AS', 'GERM', 'AC'), -(800001168, 'UGRD', 2021, 'AS', 'ASTR', 'CM'), -(800001171, 'UGRD', 2024, 'AS', 'MUS', 'AC'), -(800001172, 'UGRD', 2024, 'AS', 'HIST', 'AC'), -(800001174, 'UGRD', 2024, 'AS', 'LING', 'AC'), -(800001176, 'UGRD', 2021, 'AS', 'WRI', 'CM'), -(800001180, 'UGRD', 2025, 'AS', 'CS', 'AC'), -(800001181, 'UGRD', 2023, 'AS', 'LING', 'AC'), -(800001182, 'UGRD', 2024, 'AS', 'PHY', 'AC'), -(800001183, 'UGRD', 2022, 'AS', 'ARCH', 'AC'), -(800001184, 'UGRD', 2024, 'AS', 'ASTR', 'AC'), -(800001185, 'UGRD', 2022, 'AS', 'BPHY', 'AC'), -(800001187, 'UGRD', 2024, 'AS', 'HIST', 'AC'), -(800001189, 'UGRD', 2022, 'AS', 'CS', 'AC'), -(800001190, 'UGRD', 2025, 'AS', 'MES', 'AC'), -(800001192, 'UGRD', 2022, 'AS', 'THEA', 'AC'), -(800001195, 'UGRD', 2021, 'AS', 'AAAS', 'CM'), -(800001198, 'UGRD', 2023, 'AS', 'STAT', 'AC'), -(800001199, 'UGRD', 2025, 'AS', 'SOCS', 'AC'), -(800001200, 'UGRD', 2024, 'AS', 'CS', 'XO'), -(800001203, 'UGRD', 2025, 'AS', 'MEDS', 'LA'), -(800001205, 'UGRD', 2022, 'AS', 'AMAT', 'AC'), -(800001206, 'UGRD', 2023, 'AS', 'LIT', 'AC'), -(800001207, 'UGRD', 2023, 'AS', 'POLI', 'AC'), -(800001208, 'UGRD', 2025, 'AS', 'APHY', 'LA'), -(800001209, 'UGRD', 2024, 'AS', 'ENG', 'AC'), -(800001211, 'UGRD', 2022, 'AS', 'LIT', 'AC'), -(800001213, 'UGRD', 2025, 'AS', 'ASTR', 'AC'), -(800001214, 'UGRD', 2024, 'AS', 'APHY', 'AC'), -(800001216, 'UGRD', 2024, 'AS', 'MAT', 'AC'), -(800001217, 'UGRD', 2022, 'AS', 'AS', 'AC'), -(800001220, 'UGRD', 2021, 'AS', 'AAAS', 'CM'), -(800001222, 'UGRD', 2023, 'AS', 'WRI', 'AC'), -(800001225, 'UGRD', 2022, 'AS', 'SLAV', 'AC'), -(800001226, 'UGRD', 2023, 'AS', 'WRI', 'AC'), -(800001229, 'UGRD', 2025, 'AS', 'GERM', 'AC'), -(800001230, 'UGRD', 2025, 'AS', 'HIST', 'AC'), -(800001231, 'UGRD', 2023, 'AS', 'HIST', 'AC'), -(800001232, 'UGRD', 2024, 'AS', 'CELT', 'AC'), -(800001233, 'UGRD', 2022, 'AS', 'SAS', 'AC'), -(800001234, 'UGRD', 2023, 'AS', 'GHP', 'AC'), -(800001238, 'UGRD', 2022, 'AS', 'EALC', 'AC'), -(800001239, 'UGRD', 2024, 'AS', 'SOCS', 'AC'), -(800001240, 'UGRD', 2024, 'AS', 'BPHY', 'AC'), -(800001244, 'UGRD', 2024, 'AS', 'MEDS', 'AC'), -(800001245, 'UGRD', 2022, 'AS', 'ART', 'XP'), -(800001246, 'UGRD', 2021, 'AS', 'CS', 'CM'), -(800001248, 'UGRD', 2023, 'AS', 'POLI', 'AC'), -(800001250, 'NDP', NULL, 'AS', 'REL', 'AC'), -(800001251, 'UGRD', 2024, 'AS', 'BIOS', 'AC'), -(800001252, 'UGRD', 2024, 'AS', 'PSYC', 'AC'), -(800001257, 'UGRD', 2025, 'AS', 'REL', 'AC'), -(800001258, 'UGRD', 2023, 'AS', 'ARCH', 'AC'), -(800001260, 'UGRD', 2025, 'AS', 'ASTR', 'AC'), -(800001262, 'UGRD', 2025, 'AS', 'PHY', 'LA'), -(800001270, 'UGRD', 2024, 'AS', 'PSCI', 'AC'), -(800001271, 'UGRD', 2022, 'AS', 'AMAT', 'AC'), -(800001272, 'UGRD', 2022, 'AS', 'SAS', 'AC'), -(800001275, 'UGRD', 2023, 'AS', 'ANTH', 'AC'), -(800001276, 'UGRD', 2022, 'AS', 'REL', 'AC'), -(800001277, 'UGRD', 2022, 'AS', 'SOCS', 'AC'), -(800001279, 'UGRD', 2023, 'AS', 'MUS', 'AC'), -(800001280, 'UGRD', 2021, 'AS', 'MCB', 'CM'), -(800001282, 'UGRD', 2022, 'AS', 'ANTH', 'AC'), -(800001283, 'NDP', NULL, 'AS', 'THEA', 'ES'), -(800001285, 'UGRD', 2023, 'AS', 'ASTR', 'AC'), -(800001290, 'UGRD', 2021, 'AS', 'ENG', 'CM'), -(800001291, 'UGRD', 2022, 'AS', 'AAAS', 'AC'), -(800001296, 'UGRD', 2024, 'AS', 'GHP', 'AC'), -(800001303, 'UGRD', 2024, 'AS', 'HUM', 'AC'), -(800001304, 'UGRD', 2024, 'AS', 'SOCS', 'AC'), -(800001305, 'UGRD', 2024, 'AS', 'HUM', 'AC'), -(800001306, 'UGRD', 2021, 'AS', 'SLAV', 'CM'), -(800001308, 'UGRD', 2023, 'AS', 'GERM', 'AC'), -(800001309, 'UGRD', 2025, 'AS', 'APHY', 'AC'), -(800001310, 'UGRD', 2024, 'AS', 'ARCH', 'AC'), -(800001311, 'UGRD', 2024, 'AS', 'ENG', 'AC'), -(800001313, 'UGRD', 2025, 'AS', 'POLI', 'AC'), -(800001314, 'UGRD', 2023, 'AS', 'ENGL', 'AC'), -(800001315, 'UGRD', 2024, 'AS', 'SAS', 'AC'), -(800001316, 'UGRD', 2024, 'AS', 'MCB', 'AC'), -(800001318, 'UGRD', 2024, 'AS', 'MEDS', 'AC'), -(800001322, 'UGRD', 2024, 'AS', 'LING', 'AC'), -(800001323, 'UGRD', 2023, 'AS', 'CHEM', 'AC'), -(800001324, 'UGRD', 2024, 'AS', 'ENG', 'AC'), -(800001325, 'UGRD', 2024, 'AS', 'AS', 'AC'), -(800001326, 'UGRD', 2025, 'AS', 'APCS', 'AC'), -(800001329, 'UGRD', 2023, 'AS', 'MCB', 'AC'), -(800001332, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800001334, 'UGRD', 2025, 'AS', 'SOC', 'AC'), -(800001337, 'UGRD', 2024, 'AS', 'APCS', 'AC'), -(800001339, 'UGRD', 2025, 'AS', 'EALC', 'AC'), -(800001341, 'UGRD', 2022, 'AS', 'POLI', 'AC'), -(800001342, 'UGRD', 2023, 'AS', 'GSS', 'AC'), -(800001343, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800001345, 'UGRD', 2025, 'AS', 'CHEM', 'AC'), -(800001350, 'UGRD', 2025, 'AS', 'HUM', 'AC'), -(800001351, 'UGRD', 2022, 'AS', 'ART', 'RS'), -(800001354, 'UGRD', 2021, 'AS', 'AAAS', 'CM'), -(800001358, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800001360, 'UGRD', 2024, 'AS', 'SOC', 'AC'), -(800001363, 'UGRD', 2025, 'AS', 'ROML', 'AC'), -(800001367, 'UGRD', 2023, 'AS', 'SOC', 'AC'), -(800001369, 'UGRD', 2021, 'AS', 'MCB', 'CM'), -(800001370, 'UGRD', 2022, 'AS', 'CPLT', 'AC'), -(800001371, 'UGRD', 2023, 'AS', 'ECOM', 'AC'), -(800001372, 'UGRD', 2024, 'AS', 'HIST', 'AC'), -(800001373, 'UGRD', 2025, 'AS', 'CS', 'AC'), -(800001374, 'UGRD', 2025, 'AS', 'BIOS', 'AC'), -(800001375, 'UGRD', 2021, 'AS', 'SOCS', 'CM'), -(800001377, 'UGRD', 2023, 'AS', 'HUM', 'AC'), -(800001378, 'UGRD', 2024, 'AS', 'GVMT', 'AC'), -(800001379, 'UGRD', 2021, 'AS', 'CS', 'CM'), -(800001381, 'UGRD', 2021, 'AS', 'ROML', 'CM'), -(800001383, 'UGRD', 2021, 'AS', 'PHIL', 'CM'), -(800001393, 'UGRD', 2025, 'AS', 'MUS', 'AC'), -(800001395, 'UGRD', 2021, 'AS', 'ANTH', 'CM'), -(800001397, 'UGRD', 2024, 'AS', 'BIOL', 'AC'), -(800001399, 'UGRD', 2024, 'AS', 'ARCH', 'AC'), -(800001400, 'UGRD', 2021, 'AS', 'HUM', 'CM'), -(800001401, 'UGRD', 2023, 'AS', 'AS', 'AC'), -(800001402, 'UGRD', 2025, 'AS', 'AS', 'AC'), -(800001407, 'UGRD', 2025, 'AS', 'CELT', 'RS'), -(800001409, 'UGRD', 2023, 'AS', 'PHY', 'AC'), -(800001410, 'UGRD', 2021, 'AS', 'SAS', 'CM'), -(800001412, 'UGRD', 2024, 'AS', 'LIT', 'AC'), -(800001414, 'UGRD', 2022, 'AS', 'MAT', 'AC'), -(800001418, 'UGRD', 2022, 'AS', 'PSYC', 'AC'), -(800001420, 'UGRD', 2025, 'AS', 'ASTR', 'AC'), -(800001421, 'UGRD', 2025, 'AS', 'ART', 'AC'), -(800001422, 'UGRD', 2022, 'AS', 'ASTR', 'AC'), -(800001426, 'UGRD', 2025, 'AS', 'SOCS', 'AC'), -(800001428, 'UGRD', 2024, 'AS', 'AS', 'AC'), -(800001429, 'UGRD', 2025, 'AS', 'AMAT', 'AC'), -(800001431, 'UGRD', 2025, 'AS', 'BIOL', 'AC'), -(800001432, 'UGRD', 2025, 'AS', 'APCS', 'PM'), -(800001433, 'UGRD', 2022, 'AS', 'ANTH', 'AC'), -(800001434, 'UGRD', 2024, 'AS', 'HIST', 'AC'), -(800001439, 'UGRD', 2024, 'AS', 'GSS', 'AC'), -(800001440, 'UGRD', 2022, 'AS', 'LIT', 'AC'), -(800001442, 'UGRD', 2025, 'AS', 'ART', 'AC'), -(800001443, 'UGRD', 2023, 'AS', 'APCS', 'AC'), -(800001444, 'UGRD', 2021, 'AS', 'LIT', 'CM'), -(800001447, 'UGRD', 2025, 'AS', 'BIOS', 'AC'), -(800001450, 'UGRD', 2023, 'AS', 'SOCS', 'AC'), -(800001451, 'UGRD', 2022, 'AS', 'GERM', 'AC'), -(800001454, 'UGRD', 2025, 'AS', 'ROML', 'AC'), -(800001462, 'UGRD', 2021, 'AS', 'HIST', 'CM'), -(800001463, 'UGRD', 2021, 'AS', 'CELT', 'CM'), -(800001464, 'UGRD', 2022, 'AS', 'MCB', 'AC'), -(800001466, 'UGRD', 2025, 'AS', 'MEDS', 'AC'), -(800001468, 'NDP', NULL, 'AS', 'MEDS', 'AC'), -(800001469, 'UGRD', 2023, 'AS', 'ARCH', 'AC'), -(800001471, 'UGRD', 2022, 'AS', 'CELT', 'AC'), -(800001473, 'UGRD', 2022, 'AS', 'PHIL', 'AC'), -(800001474, 'UGRD', 2023, 'AS', 'ENV', 'AC'), -(800001475, 'UGRD', 2025, 'AS', 'GHP', 'AC'), -(800001476, 'UGRD', 2022, 'AS', 'CLSS', 'AC'), -(800001477, 'UGRD', 2025, 'AS', 'MCB', 'AC'), -(800001478, 'UGRD', 2025, 'AS', 'EALC', 'AC'), -(800001479, 'UGRD', 2021, 'AS', 'ENV', 'CM'), -(800001480, 'UGRD', 2023, 'AS', 'CELT', 'AC'), -(800001481, 'UGRD', 2024, 'AS', 'POLI', 'AC'), -(800001484, 'UGRD', 2024, 'AS', 'AS', 'AC'), -(800001488, 'UGRD', 2025, 'AS', 'EALC', 'AC'), -(800001492, 'UGRD', 2025, 'AS', 'PHIL', 'PM'), -(800001499, 'UGRD', 2022, 'AS', 'LING', 'AC'), -(800001500, 'UGRD', 2021, 'AS', 'CELT', 'CM'), -(800001501, 'UGRD', 2024, 'AS', 'AMAT', 'AC'), -(800001502, 'UGRD', 2025, 'AS', 'SOC', 'PM'), -(800001503, 'UGRD', 2023, 'AS', 'MAT', 'AC'), -(800001504, 'UGRD', 2022, 'AS', 'THEA', 'AC'), -(800001505, 'NDP', NULL, 'AS', 'SOCS', 'AC'), -(800001506, 'UGRD', 2021, 'AS', 'ENGL', 'CM'), -(800001508, 'UGRD', 2021, 'AS', 'AMAT', 'CM'), -(800001509, 'UGRD', 2024, 'AS', 'CHEM', 'AC'), -(800001511, 'UGRD', 2021, 'AS', 'SOCS', 'CM'), -(800001512, 'UGRD', 2025, 'AS', 'EALC', 'LA'), -(800001518, 'UGRD', 2024, 'AS', 'BIOS', 'AC'), -(800001519, 'UGRD', 2023, 'AS', 'CPLT', 'AC'), -(800001523, 'UGRD', 2021, 'AS', 'ROML', 'CM'), -(800001524, 'UGRD', 2025, 'AS', 'ASTR', 'AC'), -(800001526, 'UGRD', 2022, 'AS', 'POLI', 'AC'), -(800001528, 'UGRD', 2022, 'AS', 'STAT', 'AC'), -(800001529, 'UGRD', 2024, 'AS', 'PHIL', 'AC'), -(800001531, 'UGRD', 2025, 'AS', 'PHIL', 'AC'), -(800001532, 'UGRD', 2024, 'AS', 'AAAS', 'AC'), -(800001536, 'UGRD', 2024, 'AS', 'POLI', 'AC'), -(800001537, 'UGRD', 2025, 'AS', 'SOCS', 'AC'), -(800001540, 'UGRD', 2023, 'AS', 'CELT', 'AC'), -(800001541, 'UGRD', 2021, 'AS', 'ART', 'CM'), -(800001542, 'UGRD', 2021, 'AS', 'SLAV', 'CM'), -(800001545, 'UGRD', 2025, 'AS', 'HUM', 'AC'), -(800001546, 'UGRD', 2023, 'AS', 'SAS', 'AC'), -(800001548, 'UGRD', 2022, 'AS', 'APHY', 'AC'), -(800001550, 'UGRD', 2022, 'AS', 'LING', 'AC'), -(800001552, 'UGRD', 2023, 'AS', 'SOC', 'AC'), -(800001554, 'UGRD', 2024, 'AS', 'REL', 'AC'), -(800001556, 'UGRD', 2021, 'AS', 'CHEM', 'CM'), -(800001559, 'UGRD', 2022, 'AS', 'GHP', 'AC'), -(800001561, 'UGRD', 2025, 'AS', 'NELC', 'AC'), -(800001562, 'UGRD', 2022, 'AS', 'ASTR', 'AC'), -(800001564, 'NDP', NULL, 'AS', 'MES', 'ES'), -(800001566, 'UGRD', 2025, 'AS', 'LIT', 'AC'), -(800001572, 'UGRD', 2025, 'AS', 'AS', 'AC'), -(800001573, 'UGRD', 2023, 'AS', 'CPLT', 'AC'), -(800001581, 'UGRD', 2022, 'AS', 'CHEM', 'AC'), -(800001582, 'UGRD', 2021, 'AS', 'MES', 'CM'), -(800001583, 'UGRD', 2025, 'AS', 'ECOM', 'AC'), -(800001584, 'UGRD', 2022, 'AS', 'BIOL', 'AC'), -(800001585, 'NDP', NULL, 'AS', 'AMAT', 'ES'), -(800001588, 'UGRD', 2024, 'AS', 'PSYC', 'AC'), -(800001589, 'UGRD', 2024, 'AS', 'GVMT', 'XP'), -(800001591, 'UGRD', 2025, 'AS', 'AMAT', 'AC'), -(800001592, 'UGRD', 2024, 'AS', 'BIOL', 'AC'), -(800001594, 'UGRD', 2021, 'AS', 'ENGL', 'CM'), -(800001596, 'NDP', NULL, 'AS', 'GHP', 'AC'), -(800001599, 'NDP', NULL, 'AS', 'BIOS', 'AC'), -(800001601, 'UGRD', 2021, 'AS', 'GERM', 'CM'), -(800001605, 'UGRD', 2023, 'AS', 'APHY', 'AC'), -(800001606, 'UGRD', 2025, 'AS', 'GERM', 'AC'), -(800001607, 'UGRD', 2021, 'AS', 'STAT', 'CM'), -(800001608, 'UGRD', 2021, 'AS', 'PHY', 'CM'), -(800001609, 'UGRD', 2022, 'AS', 'STAT', 'AC'), -(800001610, 'UGRD', 2022, 'AS', 'PHIL', 'AC'), -(800001611, 'UGRD', 2023, 'AS', 'AMAT', 'AC'), -(800001612, 'UGRD', 2023, 'AS', 'GVMT', 'AC'), -(800001613, 'UGRD', 2023, 'AS', 'MES', 'AC'), -(800001614, 'UGRD', 2023, 'AS', 'ECOM', 'AC'), -(800001616, 'NDP', NULL, 'AS', 'REL', 'AC'), -(800001617, 'UGRD', 2021, 'AS', 'ARCH', 'CM'), -(800001619, 'UGRD', 2025, 'AS', 'ROML', 'LA'), -(800001620, 'UGRD', 2021, 'AS', 'BIOS', 'CM'), -(800001621, 'UGRD', 2021, 'AS', 'MCB', 'CM'), -(800001622, 'UGRD', 2025, 'AS', 'LIT', 'AC'), -(800001623, 'UGRD', 2022, 'AS', 'BPHY', 'AC'), -(800001625, 'UGRD', 2022, 'AS', 'CLSS', 'AC'), -(800001626, 'UGRD', 2023, 'AS', 'AS', 'AC'), -(800001630, 'UGRD', 2025, 'AS', 'SAS', 'AC'), -(800001631, 'UGRD', 2024, 'AS', 'GHP', 'AC'), -(800001633, 'UGRD', 2024, 'AS', 'SOC', 'AC'), -(800001635, 'UGRD', 2022, 'AS', 'PHY', 'AC'), -(800001637, 'UGRD', 2021, 'AS', 'CELT', 'CM'), -(800001639, 'UGRD', 2022, 'AS', 'ARCH', 'AC'), -(800001640, 'UGRD', 2025, 'AS', 'ENG', 'AC'), -(800001641, 'UGRD', 2025, 'AS', 'CHEM', 'AC'), -(800001643, 'UGRD', 2023, 'AS', 'ENV', 'AC'), -(800001644, 'UGRD', 2025, 'AS', 'MEDS', 'AC'), -(800001645, 'UGRD', 2023, 'AS', 'BIOS', 'AC'), -(800001646, 'UGRD', 2021, 'AS', 'AS', 'CM'), -(800001647, 'UGRD', 2021, 'AS', 'CELT', 'CM'), -(800001648, 'UGRD', 2022, 'AS', 'GSS', 'AC'), -(800001652, 'UGRD', 2024, 'AS', 'BIOL', 'XO'), -(800001653, 'UGRD', 2023, 'AS', 'MES', 'AC'), -(800001657, 'UGRD', 2024, 'AS', 'GSS', 'AC'), -(800001659, 'UGRD', 2025, 'AS', 'CS', 'AC'), -(800001661, 'NDP', NULL, 'AS', 'EALC', 'ES'), -(800001662, 'UGRD', 2025, 'AS', 'SLAV', 'AC'), -(800001665, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800001670, 'UGRD', 2025, 'AS', 'CELT', 'AC'), -(800001671, 'UGRD', 2021, 'AS', 'GSS', 'CM'), -(800001673, 'UGRD', 2022, 'AS', 'ENV', 'XO'), -(800001674, 'UGRD', 2025, 'AS', 'MEDS', 'AC'), -(800001675, 'UGRD', 2025, 'AS', 'CLSS', 'AC'), -(800001677, 'UGRD', 2021, 'AS', 'SLAV', 'CM'), -(800001678, 'UGRD', 2022, 'AS', 'CELT', 'AC'), -(800001679, 'UGRD', 2021, 'AS', 'CELT', 'CM'), -(800001680, 'UGRD', 2021, 'AS', 'BIOL', 'CM'), -(800001683, 'UGRD', 2025, 'AS', 'MUS', 'AC'), -(800001689, 'UGRD', 2023, 'AS', 'AAAS', 'AC'), -(800001691, 'UGRD', 2021, 'AS', 'AMAT', 'CM'), -(800001692, 'UGRD', 2025, 'AS', 'HUM', 'AC'), -(800001694, 'UGRD', 2023, 'AS', 'MES', 'AC'), -(800001695, 'UGRD', 2022, 'AS', 'APCS', 'AC'), -(800001696, 'UGRD', 2024, 'AS', 'BPHY', 'AC'), -(800001697, 'UGRD', 2025, 'AS', 'ART', 'AC'), -(800001698, 'UGRD', 2025, 'AS', 'HIST', 'AC'), -(800001699, 'NDP', NULL, 'AS', 'APCS', 'AC'), -(800001703, 'UGRD', 2021, 'AS', 'SOC', 'CM'), -(800001704, 'UGRD', 2024, 'AS', 'AAAS', 'AC'), -(800001705, 'UGRD', 2023, 'AS', 'LING', 'AC'), -(800001706, 'NDP', NULL, 'AS', 'GVMT', 'AC'), -(800001707, 'UGRD', 2024, 'AS', 'MEDS', 'AC'), -(800001710, 'UGRD', 2023, 'AS', 'CHEM', 'AC'), -(800001711, 'UGRD', 2021, 'AS', 'WRI', 'CM'), -(800001712, 'NDP', NULL, 'AS', 'MES', 'ES'), -(800001713, 'UGRD', 2025, 'AS', 'NELC', 'AC'), -(800001716, 'NDP', NULL, 'AS', 'ASTR', 'ES'), -(800001717, 'UGRD', 2021, 'AS', 'ART', 'CM'), -(800001718, 'UGRD', 2025, 'AS', 'PHIL', 'AC'), -(800001719, 'UGRD', 2021, 'AS', 'MAT', 'CM'), -(800001720, 'UGRD', 2021, 'AS', 'APHY', 'CM'), -(800001721, 'UGRD', 2023, 'AS', 'BIOL', 'AC'), -(800001723, 'UGRD', 2025, 'AS', 'APHY', 'AC'), -(800001724, 'UGRD', 2024, 'AS', 'SAS', 'AC'), -(800001725, 'UGRD', 2022, 'AS', 'LIT', 'AC'), -(800001729, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800001730, 'UGRD', 2023, 'AS', 'CLSS', 'AC'), -(800001732, 'UGRD', 2025, 'AS', 'BIOS', 'AC'), -(800001735, 'UGRD', 2025, 'AS', 'AMAT', 'AC'), -(800001738, 'UGRD', 2024, 'AS', 'CS', 'AC'), -(800001741, 'UGRD', 2023, 'AS', 'AAAS', 'AC'), -(800001743, 'UGRD', 2025, 'AS', 'ROML', 'LA'), -(800001744, 'UGRD', 2025, 'AS', 'ANTH', 'LA'), -(800001745, 'UGRD', 2025, 'AS', 'PSYC', 'AC'), -(800001747, 'UGRD', 2021, 'AS', 'EALC', 'CM'), -(800001748, 'UGRD', 2025, 'AS', 'SOCS', 'AC'), -(800001750, 'UGRD', 2023, 'AS', 'HUM', 'AC'), -(800001751, 'UGRD', 2025, 'AS', 'SLAV', 'AC'), -(800001754, 'UGRD', 2025, 'AS', 'ECOM', 'AC'), -(800001759, 'UGRD', 2025, 'AS', 'BIOL', 'AC'), -(800001761, 'UGRD', 2025, 'AS', 'MUS', 'AC'), -(800001763, 'UGRD', 2021, 'AS', 'BIOL', 'CM'), -(800001765, 'UGRD', 2022, 'AS', 'ANTH', 'AC'), -(800001766, 'UGRD', 2021, 'AS', 'ENGL', 'CM'), -(800001767, 'UGRD', 2025, 'AS', 'THEA', 'AC'), -(800001768, 'UGRD', 2025, 'AS', 'HUM', 'AC'), -(800001769, 'UGRD', 2024, 'AS', 'ARCH', 'AC'), -(800001771, 'UGRD', 2023, 'AS', 'BIOL', 'AC'), -(800001773, 'UGRD', 2025, 'AS', 'HIST', 'AC'), -(800001774, 'UGRD', 2024, 'AS', 'MCB', 'AC'), -(800001777, 'UGRD', 2022, 'AS', 'AMAT', 'AC'), -(800001779, 'UGRD', 2022, 'AS', 'LING', 'AC'), -(800001782, 'UGRD', 2023, 'AS', 'ENG', 'AC'), -(800001783, 'UGRD', 2025, 'AS', 'SLAV', 'AC'), -(800001785, 'UGRD', 2022, 'AS', 'PSCI', 'AC'), -(800001787, 'UGRD', 2023, 'AS', 'MCB', 'AC'), -(800001789, 'NDP', NULL, 'AS', 'MAT', 'ES'), -(800001791, 'UGRD', 2022, 'AS', 'REL', 'AC'), -(800001792, 'UGRD', 2025, 'AS', 'APHY', 'AC'), -(800001793, 'UGRD', 2024, 'AS', 'REL', 'AC'), -(800001794, 'UGRD', 2021, 'AS', 'SLAV', 'CM'), -(800001796, 'UGRD', 2025, 'AS', 'ENGL', 'AC'), -(800001797, 'NDP', NULL, 'AS', 'CLSS', 'AC'), -(800001798, 'UGRD', 2022, 'AS', 'PSYC', 'AC'), -(800001799, 'UGRD', 2022, 'AS', 'EALC', 'AC'), -(800001800, 'UGRD', 2023, 'AS', 'MAT', 'AC'), -(800001801, 'UGRD', 2024, 'AS', 'THEA', 'AC'), -(800001802, 'UGRD', 2022, 'AS', 'APHY', 'AC'), -(800001805, 'UGRD', 2021, 'AS', 'MES', 'CM'), -(800001809, 'UGRD', 2021, 'AS', 'BPHY', 'CM'), -(800001811, 'NDP', NULL, 'AS', 'CLSS', 'AC'), -(800001813, 'UGRD', 2022, 'AS', 'PHY', 'AC'), -(800001814, 'UGRD', 2023, 'AS', 'CHEM', 'AC'), -(800001815, 'UGRD', 2023, 'AS', 'CHEM', 'AC'), -(800001816, 'UGRD', 2025, 'AS', 'SAS', 'AC'), -(800001817, 'UGRD', 2022, 'AS', 'PHY', 'AC'), -(800001818, 'UGRD', 2021, 'AS', 'SOC', 'CM'), -(800001819, 'UGRD', 2022, 'AS', 'APCS', 'AC'), -(800001820, 'UGRD', 2025, 'AS', 'EALC', 'AC'), -(800001824, 'NDP', NULL, 'AS', 'SOCS', 'AC'), -(800001831, 'UGRD', 2022, 'AS', 'MUS', 'AC'), -(800001832, 'UGRD', 2025, 'AS', 'ART', 'AC'), -(800001835, 'UGRD', 2024, 'AS', 'LING', 'AC'), -(800001837, 'UGRD', 2024, 'AS', 'LING', 'AC'), -(800001840, 'UGRD', 2025, 'AS', 'APCS', 'AC'), -(800001841, 'UGRD', 2024, 'AS', 'ART', 'AC'), -(800001844, 'UGRD', 2021, 'AS', 'MES', 'CM'), -(800001846, 'UGRD', 2025, 'AS', 'POLI', 'AC'), -(800001849, 'UGRD', 2023, 'AS', 'LING', 'AC'), -(800001850, 'UGRD', 2022, 'AS', 'CPLT', 'AC'), -(800001853, 'UGRD', 2025, 'AS', 'CS', 'XO'), -(800001854, 'UGRD', 2025, 'AS', 'ENG', 'PM'), -(800001857, 'UGRD', 2024, 'AS', 'CS', 'AC'), -(800001859, 'UGRD', 2023, 'AS', 'MES', 'AC'), -(800001861, 'UGRD', 2022, 'AS', 'SOCS', 'AC'), -(800001865, 'UGRD', 2022, 'AS', 'PHIL', 'AC'), -(800001866, 'UGRD', 2022, 'AS', 'GVMT', 'AC'), -(800001869, 'UGRD', 2025, 'AS', 'ENV', 'PM'), -(800001870, 'UGRD', 2021, 'AS', 'MUS', 'CM'), -(800001872, 'UGRD', 2023, 'AS', 'HUM', 'AC'), -(800001876, 'UGRD', 2022, 'AS', 'MCB', 'AC'), -(800001877, 'UGRD', 2022, 'AS', 'PSCI', 'AC'), -(800001880, 'UGRD', 2023, 'AS', 'GERM', 'AC'), -(800001881, 'UGRD', 2023, 'AS', 'LING', 'AC'), -(800001882, 'UGRD', 2021, 'AS', 'GVMT', 'CM'), -(800001884, 'UGRD', 2021, 'AS', 'ANTH', 'CM'), -(800001891, 'UGRD', 2025, 'AS', 'MES', 'AC'), -(800001892, 'UGRD', 2021, 'AS', 'THEA', 'CM'), -(800001895, 'UGRD', 2025, 'AS', 'ENG', 'AC'), -(800001896, 'UGRD', 2025, 'AS', 'GHP', 'AC'), -(800001898, 'UGRD', 2024, 'AS', 'PHY', 'AC'), -(800001899, 'UGRD', 2022, 'AS', 'GERM', 'AC'), -(800001900, 'UGRD', 2022, 'AS', 'CPLT', 'AC'), -(800001901, 'UGRD', 2024, 'AS', 'CHEM', 'AC'), -(800001903, 'UGRD', 2023, 'AS', 'SOC', 'AC'), -(800001905, 'UGRD', 2025, 'AS', 'ASTR', 'AC'), -(800001907, 'UGRD', 2021, 'AS', 'WRI', 'CM'), -(800001910, 'UGRD', 2025, 'AS', 'ARCH', 'AC'), -(800001911, 'UGRD', 2025, 'AS', 'AMAT', 'XP'), -(800001912, 'UGRD', 2025, 'AS', 'AS', 'LA'), -(800001914, 'UGRD', 2022, 'AS', 'HIST', 'AC'), -(800001915, 'UGRD', 2022, 'AS', 'WRI', 'AC'), -(800001916, 'UGRD', 2023, 'AS', 'ENV', 'AC'), -(800001917, 'UGRD', 2024, 'AS', 'MES', 'AC'), -(800001918, 'UGRD', 2025, 'AS', 'LIT', 'AC'), -(800001919, 'UGRD', 2025, 'AS', 'MUS', 'AC'), -(800001920, 'UGRD', 2025, 'AS', 'CELT', 'AC'), -(800001921, 'UGRD', 2021, 'AS', 'APHY', 'CM'), -(800001923, 'UGRD', 2021, 'AS', 'MAT', 'CM'), -(800001924, 'UGRD', 2021, 'AS', 'LING', 'CM'), -(800001927, 'UGRD', 2025, 'AS', 'GSS', 'AC'), -(800001928, 'UGRD', 2021, 'AS', 'REL', 'CM'), -(800001929, 'UGRD', 2021, 'AS', 'LING', 'CM'), -(800001932, 'UGRD', 2025, 'AS', 'THEA', 'AC'), -(800001937, 'UGRD', 2025, 'AS', 'GVMT', 'AC'), -(800001938, 'NDP', NULL, 'AS', 'APHY', 'ES'), -(800001940, 'UGRD', 2022, 'AS', 'ASTR', 'AC'), -(800001941, 'UGRD', 2023, 'AS', 'ARCH', 'AC'), -(800001944, 'UGRD', 2021, 'AS', 'MUS', 'CM'), -(800001949, 'UGRD', 2021, 'AS', 'CELT', 'CM'), -(800001951, 'UGRD', 2023, 'AS', 'CPLT', 'AC'), -(800001952, 'UGRD', 2023, 'AS', 'ARCH', 'AC'), -(800001954, 'UGRD', 2021, 'AS', 'PHY', 'CM'), -(800001955, 'UGRD', 2024, 'AS', 'ARCH', 'AC'), -(800001956, 'UGRD', 2024, 'AS', 'ANTH', 'AC'), -(800001957, 'UGRD', 2025, 'AS', 'ROML', 'LA'), -(800001958, 'UGRD', 2023, 'AS', 'PHY', 'AC'), -(800001960, 'UGRD', 2025, 'AS', 'ARCH', 'AC'), -(800001961, 'UGRD', 2023, 'AS', 'SLAV', 'AC'), -(800001965, 'UGRD', 2025, 'AS', 'GSS', 'LA'), -(800001967, 'UGRD', 2024, 'AS', 'AAAS', 'AC'), -(800001968, 'UGRD', 2025, 'AS', 'STAT', 'AC'), -(800001969, 'UGRD', 2025, 'AS', 'HIST', 'AC'), -(800001974, 'UGRD', 2024, 'AS', 'PHIL', 'AC'), -(800001976, 'UGRD', 2022, 'AS', 'BPHY', 'AC'), -(800001977, 'UGRD', 2023, 'AS', 'BIOS', 'AC'), -(800001981, 'UGRD', 2025, 'AS', 'LIT', 'AC'), -(800001982, 'UGRD', 2021, 'AS', 'ANTH', 'CM'), -(800001983, 'UGRD', 2022, 'AS', 'PHY', 'AC'), -(800001984, 'UGRD', 2023, 'AS', 'CLSS', 'AC'), -(800001986, 'UGRD', 2025, 'AS', 'CPLT', 'AC'), -(800001987, 'UGRD', 2022, 'AS', 'SLAV', 'AC'), -(800001989, 'UGRD', 2024, 'AS', 'ART', 'AC'), -(800001990, 'UGRD', 2021, 'AS', 'ARCH', 'CM'), -(800001991, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800001992, 'UGRD', 2024, 'AS', 'MAT', 'AC'), -(800001993, 'UGRD', 2022, 'AS', 'LIT', 'AC'), -(800001994, 'UGRD', 2024, 'AS', 'WRI', 'AC'), -(800001995, 'UGRD', 2025, 'AS', 'STAT', 'AC'), -(800001997, 'UGRD', 2022, 'AS', 'AAAS', 'AC'), -(800001998, 'UGRD', 2021, 'AS', 'ANTH', 'CM'), -(800002001, 'UGRD', 2022, 'AS', 'ECOM', 'AC'), -(800002003, 'UGRD', 2022, 'AS', 'EALC', 'AC'), -(800002004, 'UGRD', 2022, 'AS', 'CS', 'AC'), -(800002005, 'UGRD', 2022, 'AS', 'ENG', 'AC'), -(800002006, 'UGRD', 2023, 'AS', 'APHY', 'AC'), -(800002007, 'UGRD', 2021, 'AS', 'MCB', 'CM'), -(800002008, 'UGRD', 2021, 'AS', 'PSYC', 'CM'), -(800002011, 'UGRD', 2022, 'AS', 'PSYC', 'AC'), -(800002014, 'UGRD', 2021, 'AS', 'PHIL', 'CM'), -(800002017, 'NDP', NULL, 'AS', 'BIOL', 'AC'), -(800002018, 'UGRD', 2022, 'AS', 'HIST', 'AC'), -(800002020, 'UGRD', 2023, 'AS', 'STAT', 'AC'), -(800002024, 'NDP', NULL, 'AS', 'GERM', 'ES'), -(800002025, 'UGRD', 2025, 'AS', 'BPHY', 'AC'), -(800002026, 'UGRD', 2022, 'AS', 'GSS', 'AC'), -(800002027, 'UGRD', 2024, 'AS', 'CPLT', 'AC'), -(800002028, 'UGRD', 2021, 'AS', 'APHY', 'CM'), -(800002029, 'UGRD', 2023, 'AS', 'AS', 'AC'), -(800002030, 'UGRD', 2024, 'AS', 'AS', 'AC'), -(800002031, 'UGRD', 2023, 'AS', 'MAT', 'XO'), -(800002032, 'UGRD', 2025, 'AS', 'BIOS', 'LA'), -(800002033, 'UGRD', 2023, 'AS', 'LING', 'AC'), -(800002034, 'UGRD', 2025, 'AS', 'PSYC', 'AC'), -(800002035, 'UGRD', 2024, 'AS', 'WRI', 'AC'), -(800002042, 'UGRD', 2024, 'AS', 'EALC', 'AC'), -(800002044, 'UGRD', 2023, 'AS', 'PSCI', 'AC'), -(800002045, 'UGRD', 2021, 'AS', 'AAAS', 'CM'), -(800002050, 'UGRD', 2022, 'AS', 'THEA', 'AC'), -(800002053, 'UGRD', 2021, 'AS', 'PSCI', 'CM'), -(800002054, 'UGRD', 2025, 'AS', 'PHIL', 'AC'), -(800002056, 'UGRD', 2023, 'AS', 'ENG', 'AC'), -(800002060, 'UGRD', 2024, 'AS', 'ROML', 'AC'), -(800002062, 'UGRD', 2024, 'AS', 'SOCS', 'AC'), -(800002064, 'UGRD', 2024, 'AS', 'ROML', 'AC'), -(800002065, 'UGRD', 2021, 'AS', 'EALC', 'CM'), -(800002068, 'UGRD', 2021, 'AS', 'MCB', 'CM'), -(800002070, 'UGRD', 2021, 'AS', 'HUM', 'CM'), -(800002071, 'UGRD', 2021, 'AS', 'APHY', 'CM'), -(800002074, 'UGRD', 2024, 'AS', 'PSYC', 'AC'), -(800002077, 'UGRD', 2025, 'AS', 'SOC', 'AC'), -(800002078, 'UGRD', 2021, 'AS', 'APCS', 'CM'), -(800002080, 'UGRD', 2022, 'AS', 'SAS', 'AC'), -(800002086, 'UGRD', 2021, 'AS', 'MEDS', 'CM'), -(800002089, 'UGRD', 2025, 'AS', 'PHIL', 'AC'), -(800002090, 'UGRD', 2024, 'AS', 'MEDS', 'AC'), -(800002091, 'UGRD', 2022, 'AS', 'ECOM', 'AC'), -(800002095, 'UGRD', 2025, 'AS', 'CS', 'AC'), -(800002097, 'UGRD', 2021, 'AS', 'GSS', 'CM'), -(800002101, 'UGRD', 2023, 'AS', 'SOC', 'AC'), -(800002102, 'UGRD', 2023, 'AS', 'SOC', 'AC'), -(800002103, 'UGRD', 2023, 'AS', 'BPHY', 'AC'), -(800002105, 'UGRD', 2021, 'AS', 'SOC', 'CM'), -(800002107, 'UGRD', 2025, 'AS', 'BPHY', 'AC'), -(800002111, 'UGRD', 2024, 'AS', 'HIST', 'AC'), -(800002112, 'UGRD', 2024, 'AS', 'GSS', 'AC'), -(800002113, 'UGRD', 2024, 'AS', 'ANTH', 'AC'), -(800002115, 'UGRD', 2023, 'AS', 'SLAV', 'AC'), -(800002117, 'UGRD', 2024, 'AS', 'CLSS', 'AC'), -(800002119, 'UGRD', 2022, 'AS', 'ENGL', 'AC'), -(800002120, 'UGRD', 2023, 'AS', 'ENV', 'AC'), -(800002123, 'UGRD', 2023, 'AS', 'POLI', 'AC'), -(800002124, 'UGRD', 2024, 'AS', 'ARCH', 'AC'), -(800002133, 'UGRD', 2022, 'AS', 'SLAV', 'AC'), -(800002134, 'UGRD', 2024, 'AS', 'CPLT', 'AC'), -(800002135, 'UGRD', 2022, 'AS', 'SOCS', 'AC'), -(800002136, 'UGRD', 2021, 'AS', 'THEA', 'CM'), -(800002137, 'UGRD', 2023, 'AS', 'MES', 'AC'), -(800002140, 'UGRD', 2025, 'AS', 'BIOS', 'AC'), -(800002143, 'UGRD', 2023, 'AS', 'CLSS', 'AC'), -(800002145, 'NDP', NULL, 'AS', 'MUS', 'ES'), -(800002146, 'UGRD', 2021, 'AS', 'MES', 'CM'), -(800002148, 'UGRD', 2024, 'AS', 'PSYC', 'AC'), -(800002149, 'NDP', NULL, 'AS', 'PSYC', 'AC'), -(800002151, 'UGRD', 2021, 'AS', 'SAS', 'CM'), -(800002152, 'UGRD', 2023, 'AS', 'PHY', 'AC'), -(800002153, 'UGRD', 2025, 'AS', 'ANTH', 'LA'), -(800002154, 'UGRD', 2021, 'AS', 'ECOM', 'CM'), -(800002155, 'UGRD', 2025, 'AS', 'GSS', 'AC'), -(800002159, 'UGRD', 2024, 'AS', 'POLI', 'AC'), -(800002160, 'UGRD', 2023, 'AS', 'CLSS', 'AC'), -(800002161, 'UGRD', 2022, 'AS', 'PSCI', 'AC'), -(800002162, 'UGRD', 2025, 'AS', 'THEA', 'AC'), -(800002163, 'UGRD', 2023, 'AS', 'POLI', 'AC'), -(800002165, 'UGRD', 2025, 'AS', 'GERM', 'AC'), -(800002166, 'UGRD', 2025, 'AS', 'MES', 'AC'), -(800002167, 'UGRD', 2021, 'AS', 'ARCH', 'CM'), -(800002169, 'UGRD', 2025, 'AS', 'GHP', 'AC'), -(800002172, 'UGRD', 2023, 'AS', 'CPLT', 'AC'), -(800002174, 'UGRD', 2025, 'AS', 'BIOS', 'AC'), -(800002175, 'UGRD', 2023, 'AS', 'ANTH', 'AC'), -(800002177, 'UGRD', 2021, 'AS', 'ROML', 'CM'), -(800002178, 'UGRD', 2025, 'AS', 'SOC', 'AC'), -(800002179, 'UGRD', 2021, 'AS', 'ENGL', 'CM'), -(800002182, 'UGRD', 2025, 'AS', 'APCS', 'AC'), -(800002183, 'UGRD', 2021, 'AS', 'NELC', 'CM'), -(800002184, 'UGRD', 2024, 'AS', 'GSS', 'AC'), -(800002185, 'UGRD', 2025, 'AS', 'ENGL', 'AC'), -(800002186, 'UGRD', 2021, 'AS', 'STAT', 'CM'), -(800002195, 'UGRD', 2021, 'AS', 'LIT', 'CM'), -(800002196, 'UGRD', 2024, 'AS', 'ARCH', 'AC'), -(800002197, 'UGRD', 2022, 'AS', 'SLAV', 'AC'), -(800002198, 'UGRD', 2021, 'AS', 'ASTR', 'CM'), -(800002200, 'UGRD', 2024, 'AS', 'CPLT', 'AC'), -(800002201, 'UGRD', 2025, 'AS', 'MCB', 'AC'), -(800002202, 'UGRD', 2024, 'AS', 'EALC', 'AC'), -(800002203, 'UGRD', 2021, 'AS', 'ROML', 'CM'), -(800002204, 'UGRD', 2025, 'AS', 'ROML', 'AC'), -(800002205, 'UGRD', 2025, 'AS', 'NELC', 'AC'), -(800002207, 'UGRD', 2022, 'AS', 'STAT', 'AC'), -(800002208, 'UGRD', 2023, 'AS', 'SLAV', 'XP'), -(800002209, 'UGRD', 2023, 'AS', 'APCS', 'AC'), -(800002211, 'UGRD', 2025, 'AS', 'ANTH', 'AC'), -(800002213, 'UGRD', 2021, 'AS', 'CS', 'CM'), -(800002214, 'UGRD', 2023, 'AS', 'GVMT', 'AC'), -(800002215, 'UGRD', 2021, 'AS', 'THEA', 'CM'), -(800002217, 'UGRD', 2025, 'AS', 'PSCI', 'AC'), -(800002219, 'UGRD', 2025, 'AS', 'PHY', 'AC'), -(800002221, 'UGRD', 2025, 'AS', 'CELT', 'AC'), -(800002222, 'UGRD', 2021, 'AS', 'MUS', 'CM'), -(800002224, 'UGRD', 2023, 'AS', 'WRI', 'AC'), -(800002225, 'UGRD', 2021, 'AS', 'LING', 'CM'), -(800002226, 'UGRD', 2021, 'AS', 'ENGL', 'CM'), -(800002227, 'UGRD', 2024, 'AS', 'ASTR', 'XO'), -(800002228, 'UGRD', 2021, 'AS', 'ECOM', 'CM'), -(800002229, 'UGRD', 2022, 'AS', 'BPHY', 'AC'), -(800002233, 'UGRD', 2023, 'AS', 'LIT', 'AC'), -(800002239, 'UGRD', 2023, 'AS', 'GSS', 'AC'), -(800002240, 'UGRD', 2023, 'AS', 'WRI', 'AC'), -(800002241, 'UGRD', 2023, 'AS', 'SLAV', 'AC'), -(800002242, 'UGRD', 2024, 'AS', 'ANTH', 'AC'), -(800002243, 'UGRD', 2024, 'AS', 'AS', 'AC'), -(800002244, 'UGRD', 2021, 'AS', 'ENV', 'CM'), -(800002246, 'UGRD', 2023, 'AS', 'MUS', 'AC'), -(800002248, 'UGRD', 2025, 'AS', 'MES', 'AC'), -(800002249, 'UGRD', 2022, 'AS', 'LIT', 'AC'), -(800002251, 'UGRD', 2021, 'AS', 'ARCH', 'CM'), -(800002253, 'UGRD', 2023, 'AS', 'MUS', 'AC'), -(800002255, 'UGRD', 2022, 'AS', 'SAS', 'AC'), -(800002257, 'UGRD', 2022, 'AS', 'ARCH', 'AC'), -(800002262, 'UGRD', 2022, 'AS', 'ASTR', 'AC'), -(800002263, 'UGRD', 2021, 'AS', 'ARCH', 'CM'), -(800002264, 'UGRD', 2025, 'AS', 'NELC', 'AC'), -(800002266, 'UGRD', 2022, 'AS', 'PHIL', 'AC'), -(800002267, 'UGRD', 2023, 'AS', 'ECOM', 'AC'), -(800002268, 'UGRD', 2025, 'AS', 'WRI', 'AC'), -(800002269, 'UGRD', 2023, 'AS', 'PHIL', 'AC'), -(800002270, 'UGRD', 2024, 'AS', 'ANTH', 'AC'), -(800002274, 'UGRD', 2024, 'AS', 'CLSS', 'AC'), -(800002276, 'UGRD', 2024, 'AS', 'AAAS', 'AC'), -(800002277, 'UGRD', 2024, 'AS', 'MAT', 'AC'), -(800002281, 'UGRD', 2021, 'AS', 'ECOM', 'CM'), -(800002284, 'UGRD', 2024, 'AS', 'LING', 'AC'), -(800002292, 'UGRD', 2022, 'AS', 'ANTH', 'AC'), -(800002293, 'UGRD', 2021, 'AS', 'POLI', 'CM'), -(800002297, 'UGRD', 2023, 'AS', 'STAT', 'AC'), -(800002299, 'UGRD', 2022, 'AS', 'PSYC', 'AC'), -(800002300, 'UGRD', 2022, 'AS', 'EALC', 'AC'), -(800002301, 'UGRD', 2022, 'AS', 'AAAS', 'AC'), -(800002302, 'UGRD', 2021, 'AS', 'MEDS', 'CM'), -(800002304, 'UGRD', 2024, 'AS', 'ANTH', 'AC'), -(800002305, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800002306, 'UGRD', 2021, 'AS', 'MUS', 'CM'), -(800002307, 'NDP', NULL, 'AS', 'MCB', 'AC'), -(800002309, 'UGRD', 2025, 'AS', 'BIOS', 'LA'), -(800002310, 'UGRD', 2025, 'AS', 'APCS', 'LA'), -(800002311, 'UGRD', 2025, 'AS', 'AMAT', 'AC'), -(800002313, 'UGRD', 2021, 'AS', 'ARCH', 'CM'), -(800002314, 'UGRD', 2023, 'AS', 'SAS', 'AC'), -(800002315, 'UGRD', 2022, 'AS', 'ECOM', 'AC'), -(800002316, 'UGRD', 2024, 'AS', 'PSCI', 'RS'), -(800002318, 'UGRD', 2022, 'AS', 'APHY', 'AC'), -(800002320, 'UGRD', 2024, 'AS', 'BIOS', 'AC'), -(800002322, 'UGRD', 2025, 'AS', 'MUS', 'AC'), -(800002326, 'UGRD', 2025, 'AS', 'SAS', 'AC'), -(800002328, 'UGRD', 2023, 'AS', 'ENV', 'AC'), -(800002330, 'UGRD', 2021, 'AS', 'BIOL', 'CM'), -(800002331, 'UGRD', 2021, 'AS', 'SOCS', 'CM'), -(800002337, 'UGRD', 2021, 'AS', 'BIOS', 'CM'), -(800002338, 'UGRD', 2024, 'AS', 'THEA', 'AC'), -(800002340, 'UGRD', 2023, 'AS', 'ROML', 'AC'), -(800002341, 'UGRD', 2023, 'AS', 'BPHY', 'AC'), -(800002342, 'UGRD', 2021, 'AS', 'PSCI', 'CM'), -(800002343, 'UGRD', 2024, 'AS', 'MCB', 'AC'), -(800002346, 'UGRD', 2022, 'AS', 'STAT', 'AC'), -(800002351, 'UGRD', 2024, 'AS', 'AMAT', 'AC'), -(800002352, 'UGRD', 2022, 'AS', 'LING', 'AC'), -(800002353, 'UGRD', 2021, 'AS', 'CLSS', 'CM'), -(800002354, 'UGRD', 2021, 'AS', 'STAT', 'CM'), -(800002355, 'UGRD', 2023, 'AS', 'ENV', 'AC'), -(800002358, 'UGRD', 2023, 'AS', 'AS', 'AC'), -(800002360, 'UGRD', 2024, 'AS', 'WRI', 'AC'), -(800002361, 'UGRD', 2022, 'AS', 'MAT', 'AC'), -(800002363, 'UGRD', 2024, 'AS', 'NELC', 'XP'), -(800002364, 'UGRD', 2023, 'AS', 'MES', 'AC'), -(800002365, 'UGRD', 2023, 'AS', 'MAT', 'AC'), -(800002369, 'UGRD', 2022, 'AS', 'CS', 'AC'), -(800002370, 'UGRD', 2022, 'AS', 'CELT', 'AC'), -(800002371, 'UGRD', 2022, 'AS', 'NELC', 'AC'), -(800002373, 'UGRD', 2025, 'AS', 'STAT', 'AC'), -(800002375, 'UGRD', 2025, 'AS', 'REL', 'AC'), -(800002378, 'UGRD', 2024, 'AS', 'MAT', 'AC'), -(800002379, 'NDP', NULL, 'AS', 'SAS', 'ES'), -(800002382, 'UGRD', 2021, 'AS', 'ASTR', 'CM'), -(800002384, 'UGRD', 2021, 'AS', 'MES', 'CM'), -(800002388, 'UGRD', 2021, 'AS', 'ASTR', 'CM'), -(800002393, 'UGRD', 2022, 'AS', 'SOCS', 'AC'), -(800002395, 'UGRD', 2025, 'AS', 'ENV', 'AC'), -(800002397, 'UGRD', 2022, 'AS', 'MUS', 'AC'), -(800002399, 'UGRD', 2025, 'AS', 'WRI', 'LA'), -(800002400, 'UGRD', 2021, 'AS', 'GVMT', 'CM'), -(800002401, 'UGRD', 2021, 'AS', 'HUM', 'CM'), -(800002403, 'UGRD', 2023, 'AS', 'PHIL', 'AC'), -(800002404, 'UGRD', 2023, 'AS', 'GHP', 'AC'), -(800002405, 'UGRD', 2021, 'AS', 'THEA', 'CM'), -(800002406, 'UGRD', 2023, 'AS', 'PSYC', 'AC'), -(800002408, 'UGRD', 2024, 'AS', 'ASTR', 'AC'), -(800002410, 'UGRD', 2025, 'AS', 'ART', 'PM'), -(800002412, 'UGRD', 2022, 'AS', 'BIOS', 'AC'), -(800002414, 'UGRD', 2024, 'AS', 'EALC', 'AC'), -(800002416, 'UGRD', 2024, 'AS', 'AS', 'AC'), -(800002417, 'UGRD', 2025, 'AS', 'GSS', 'AC'), -(800002418, 'UGRD', 2025, 'AS', 'PHIL', 'AC'), -(800002420, 'UGRD', 2022, 'AS', 'CHEM', 'AC'), -(800002422, 'UGRD', 2025, 'AS', 'LING', 'AC'), -(800002425, 'UGRD', 2024, 'AS', 'AS', 'AC'), -(800002426, 'UGRD', 2023, 'AS', 'ARCH', 'XO'), -(800002427, 'UGRD', 2025, 'AS', 'STAT', 'AC'), -(800002428, 'UGRD', 2021, 'AS', 'MES', 'CM'), -(800002429, 'UGRD', 2023, 'AS', 'MAT', 'AC'), -(800002431, 'UGRD', 2025, 'AS', 'GSS', 'XO'), -(800002433, 'UGRD', 2021, 'AS', 'BIOL', 'CM'), -(800002434, 'UGRD', 2024, 'AS', 'BPHY', 'AC'), -(800002435, 'UGRD', 2022, 'AS', 'APCS', 'AC'), -(800002438, 'UGRD', 2022, 'AS', 'THEA', 'AC'), -(800002442, 'UGRD', 2022, 'AS', 'ENV', 'AC'), -(800002443, 'UGRD', 2022, 'AS', 'ASTR', 'AC'), -(800002445, 'UGRD', 2021, 'AS', 'EALC', 'CM'), -(800002447, 'UGRD', 2023, 'AS', 'ROML', 'AC'), -(800002449, 'UGRD', 2023, 'AS', 'GVMT', 'AC'), -(800002450, 'UGRD', 2025, 'AS', 'AAAS', 'AC'), -(800002451, 'UGRD', 2025, 'AS', 'CELT', 'AC'), -(800002452, 'NDP', NULL, 'AS', 'THEA', 'AC'), -(800002453, 'UGRD', 2023, 'AS', 'ENGL', 'AC'), -(800002455, 'UGRD', 2025, 'AS', 'BIOL', 'AC'), -(800002456, 'UGRD', 2024, 'AS', 'PHY', 'AC'), -(800002458, 'UGRD', 2023, 'AS', 'ROML', 'AC'), -(800002461, 'UGRD', 2024, 'AS', 'AMAT', 'AC'), -(800002463, 'UGRD', 2024, 'AS', 'HIST', 'AC'), -(800002464, 'UGRD', 2022, 'AS', 'ENGL', 'AC'), -(800002465, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800002469, 'UGRD', 2021, 'AS', 'WRI', 'CM'), -(800002470, 'UGRD', 2025, 'AS', 'WRI', 'AC'), -(800002471, 'UGRD', 2023, 'AS', 'ANTH', 'AC'), -(800002475, 'UGRD', 2025, 'AS', 'POLI', 'AC'), -(800002476, 'NDP', NULL, 'AS', 'STAT', 'ES'), -(800002477, 'UGRD', 2022, 'AS', 'AS', 'AC'), -(800002479, 'UGRD', 2022, 'AS', 'ASTR', 'AC'), -(800002480, 'UGRD', 2024, 'AS', 'AS', 'AC'), -(800002481, 'UGRD', 2023, 'AS', 'SLAV', 'AC'), -(800002482, 'UGRD', 2025, 'AS', 'HUM', 'AC'), -(800002487, 'UGRD', 2021, 'AS', 'AMAT', 'CM'), -(800002491, 'UGRD', 2024, 'AS', 'GSS', 'AC'), -(800002492, 'UGRD', 2025, 'AS', 'ANTH', 'AC'), -(800002493, 'UGRD', 2024, 'AS', 'ROML', 'AC'), -(800002494, 'UGRD', 2021, 'AS', 'HUM', 'CM'), -(800002500, 'UGRD', 2021, 'AS', 'PSYC', 'CM'), -(800002501, 'UGRD', 2023, 'AS', 'CHEM', 'AC'), -(800002502, 'UGRD', 2025, 'AS', 'REL', 'AC'), -(800002503, 'UGRD', 2024, 'AS', 'AMAT', 'AC'), -(800002507, 'UGRD', 2022, 'AS', 'GERM', 'AC'), -(800002509, 'UGRD', 2021, 'AS', 'ANTH', 'CM'), -(800002511, 'UGRD', 2022, 'AS', 'AAAS', 'AC'), -(800002514, 'UGRD', 2022, 'AS', 'ENGL', 'AC'), -(800002515, 'NDP', NULL, 'AS', 'GHP', 'AC'), -(800002516, 'UGRD', 2022, 'AS', 'PSCI', 'AC'), -(800002517, 'UGRD', 2025, 'AS', 'AS', 'AC'), -(800002518, 'UGRD', 2021, 'AS', 'STAT', 'CM'), -(800002519, 'UGRD', 2021, 'AS', 'APHY', 'CM'), -(800002523, 'UGRD', 2023, 'AS', 'BIOL', 'AC'), -(800002524, 'UGRD', 2024, 'AS', 'SOCS', 'AC'), -(800002525, 'UGRD', 2025, 'AS', 'BIOL', 'AC'), -(800002526, 'UGRD', 2024, 'AS', 'ENG', 'AC'), -(800002527, 'UGRD', 2021, 'AS', 'GSS', 'CM'), -(800002528, 'UGRD', 2022, 'AS', 'PHY', 'AC'), -(800002530, 'UGRD', 2021, 'AS', 'LIT', 'CM'), -(800002531, 'UGRD', 2025, 'AS', 'MEDS', 'AC'), -(800002533, 'UGRD', 2021, 'AS', 'BIOS', 'CM'), -(800002534, 'UGRD', 2021, 'AS', 'ART', 'CM'), -(800002536, 'UGRD', 2025, 'AS', 'GHP', 'AC'), -(800002537, 'UGRD', 2024, 'AS', 'CHEM', 'AC'), -(800002539, 'UGRD', 2023, 'AS', 'EALC', 'AC'), -(800002540, 'UGRD', 2021, 'AS', 'APCS', 'CM'), -(800002541, 'UGRD', 2023, 'AS', 'ART', 'AC'), -(800002543, 'UGRD', 2021, 'AS', 'GVMT', 'CM'), -(800002548, 'UGRD', 2022, 'AS', 'APHY', 'AC'), -(800002549, 'UGRD', 2024, 'AS', 'AAAS', 'AC'), -(800002551, 'UGRD', 2022, 'AS', 'SOCS', 'AC'), -(800002556, 'UGRD', 2025, 'AS', 'ENGL', 'AC'), -(800002557, 'UGRD', 2025, 'AS', 'MAT', 'AC'), -(800002559, 'UGRD', 2023, 'AS', 'THEA', 'AC'), -(800002560, 'UGRD', 2021, 'AS', 'CS', 'CM'), -(800002561, 'UGRD', 2024, 'AS', 'SOC', 'AC'), -(800002562, 'UGRD', 2024, 'AS', 'ENG', 'AC'), -(800002569, 'UGRD', 2025, 'AS', 'THEA', 'AC'), -(800002570, 'UGRD', 2021, 'AS', 'PHY', 'CM'), -(800002574, 'UGRD', 2022, 'AS', 'MUS', 'AC'), -(800002575, 'UGRD', 2021, 'AS', 'MAT', 'CM'), -(800002576, 'UGRD', 2022, 'AS', 'ECOM', 'AC'), -(800002577, 'UGRD', 2021, 'AS', 'ECOM', 'CM'), -(800002578, 'UGRD', 2021, 'AS', 'MES', 'CM'), -(800002579, 'UGRD', 2021, 'AS', 'ROML', 'CM'), -(800002581, 'UGRD', 2022, 'AS', 'THEA', 'XO'), -(800002582, 'UGRD', 2023, 'AS', 'ANTH', 'AC'), -(800002583, 'UGRD', 2025, 'AS', 'CPLT', 'AC'), -(800002584, 'UGRD', 2025, 'AS', 'LIT', 'AC'), -(800002586, 'UGRD', 2025, 'AS', 'ROML', 'AC'), -(800002587, 'UGRD', 2025, 'AS', 'CHEM', 'AC'), -(800002588, 'UGRD', 2022, 'AS', 'APCS', 'AC'), -(800002589, 'UGRD', 2022, 'AS', 'BIOL', 'AC'), -(800002591, 'UGRD', 2022, 'AS', 'POLI', 'AC'), -(800002594, 'UGRD', 2024, 'AS', 'POLI', 'AC'), -(800002595, 'UGRD', 2025, 'AS', 'PHIL', 'AC'), -(800002597, 'UGRD', 2025, 'AS', 'PHIL', 'LA'), -(800002598, 'UGRD', 2021, 'AS', 'CLSS', 'CM'), -(800002599, 'UGRD', 2022, 'AS', 'CPLT', 'AC'), -(800002600, 'UGRD', 2025, 'AS', 'BIOL', 'AC'), -(800002604, 'UGRD', 2024, 'AS', 'REL', 'AC'), -(800002605, 'UGRD', 2022, 'AS', 'ENV', 'AC'), -(800002606, 'UGRD', 2024, 'AS', 'ENGL', 'AC'), -(800002607, 'UGRD', 2024, 'AS', 'REL', 'AC'), -(800002609, 'UGRD', 2022, 'AS', 'CPLT', 'AC'), -(800002611, 'UGRD', 2025, 'AS', 'MCB', 'AC'), -(800002613, 'UGRD', 2022, 'AS', 'PSCI', 'AC'), -(800002616, 'UGRD', 2023, 'AS', 'APHY', 'AC'), -(800002617, 'UGRD', 2024, 'AS', 'PHY', 'AC'), -(800002618, 'UGRD', 2024, 'AS', 'WRI', 'AC'), -(800002619, 'UGRD', 2023, 'AS', 'HIST', 'AC'), -(800002620, 'NDP', NULL, 'AS', 'ECOM', 'ES'), -(800002621, 'UGRD', 2023, 'AS', 'BIOS', 'AC'), -(800002623, 'UGRD', 2022, 'AS', 'AS', 'AC'), -(800002627, 'UGRD', 2025, 'AS', 'MCB', 'AC'), -(800002629, 'UGRD', 2025, 'AS', 'ART', 'AC'), -(800002630, 'UGRD', 2023, 'AS', 'MES', 'AC'), -(800002631, 'UGRD', 2025, 'AS', 'WRI', 'AC'), -(800002634, 'UGRD', 2025, 'AS', 'BIOL', 'PM'), -(800002635, 'UGRD', 2022, 'AS', 'REL', 'AC'), -(800002637, 'UGRD', 2022, 'AS', 'SAS', 'AC'), -(800002638, 'UGRD', 2024, 'AS', 'BIOL', 'AC'), -(800002639, 'UGRD', 2021, 'AS', 'LIT', 'CM'), -(800002644, 'NDP', NULL, 'AS', 'SOC', 'ES'), -(800002645, 'UGRD', 2024, 'AS', 'PSCI', 'AC'), -(800002651, 'UGRD', 2021, 'AS', 'PHY', 'CM'), -(800002653, 'UGRD', 2025, 'AS', 'APHY', 'AC'), -(800002655, 'UGRD', 2025, 'AS', 'SAS', 'AC'), -(800002657, 'UGRD', 2024, 'AS', 'THEA', 'AC'), -(800002658, 'NDP', NULL, 'AS', 'STAT', 'AC'), -(800002659, 'UGRD', 2021, 'AS', 'PHY', 'CM'), -(800002660, 'UGRD', 2021, 'AS', 'GHP', 'CM'), -(800002661, 'UGRD', 2025, 'AS', 'WRI', 'AC'), -(800002662, 'UGRD', 2023, 'AS', 'EALC', 'AC'), -(800002664, 'UGRD', 2022, 'AS', 'AAAS', 'AC'), -(800002666, 'UGRD', 2021, 'AS', 'EALC', 'CM'), -(800002672, 'UGRD', 2025, 'AS', 'AMAT', 'AC'), -(800002675, 'UGRD', 2023, 'AS', 'BIOL', 'XO'), -(800002676, 'UGRD', 2023, 'AS', 'HIST', 'AC'), -(800002677, 'UGRD', 2022, 'AS', 'ENGL', 'AC'), -(800002679, 'UGRD', 2021, 'AS', 'ROML', 'CM'), -(800002683, 'UGRD', 2021, 'AS', 'ENV', 'CM'), -(800002684, 'UGRD', 2021, 'AS', 'SOC', 'CM'), -(800002686, 'UGRD', 2024, 'AS', 'LING', 'XP'), -(800002687, 'UGRD', 2025, 'AS', 'MCB', 'AC'), -(800002689, 'UGRD', 2024, 'AS', 'MES', 'AC'), -(800002691, 'UGRD', 2022, 'AS', 'BPHY', 'AC'), -(800002692, 'UGRD', 2022, 'AS', 'REL', 'AC'), -(800002693, 'UGRD', 2024, 'AS', 'ROML', 'AC'), -(800002695, 'UGRD', 2025, 'AS', 'CLSS', 'AC'), -(800002697, 'UGRD', 2022, 'AS', 'GHP', 'AC'), -(800002698, 'UGRD', 2021, 'AS', 'MEDS', 'CM'), -(800002701, 'UGRD', 2025, 'AS', 'ENV', 'AC'), -(800002710, 'UGRD', 2022, 'AS', 'BIOS', 'AC'), -(800002711, 'UGRD', 2025, 'AS', 'CPLT', 'LA'), -(800002712, 'UGRD', 2021, 'AS', 'ART', 'CM'), -(800002713, 'UGRD', 2025, 'AS', 'REL', 'LA'), -(800002714, 'UGRD', 2023, 'AS', 'GVMT', 'AC'), -(800002715, 'UGRD', 2024, 'AS', 'WRI', 'AC'), -(800002718, 'UGRD', 2022, 'AS', 'AMAT', 'AC'), -(800002719, 'UGRD', 2023, 'AS', 'AMAT', 'AC'), -(800002720, 'UGRD', 2021, 'AS', 'MAT', 'CM'), -(800002722, 'UGRD', 2023, 'AS', 'SOCS', 'AC'), -(800002723, 'UGRD', 2021, 'AS', 'APCS', 'CM'), -(800002726, 'UGRD', 2024, 'AS', 'CHEM', 'AC'), -(800002727, 'UGRD', 2024, 'AS', 'CS', 'AC'), -(800002729, 'UGRD', 2024, 'AS', 'ASTR', 'RS'), -(800002731, 'UGRD', 2025, 'AS', 'HIST', 'AC'), -(800002732, 'UGRD', 2023, 'AS', 'EALC', 'AC'), -(800002741, 'UGRD', 2021, 'AS', 'REL', 'CM'), -(800002743, 'UGRD', 2021, 'AS', 'SOCS', 'CM'), -(800002747, 'UGRD', 2021, 'AS', 'STAT', 'CM'), -(800002748, 'UGRD', 2023, 'AS', 'POLI', 'AC'), -(800002749, 'UGRD', 2025, 'AS', 'CLSS', 'AC'), -(800002752, 'UGRD', 2023, 'AS', 'ECOM', 'XO'), -(800002753, 'UGRD', 2022, 'AS', 'GERM', 'AC'), -(800002756, 'UGRD', 2021, 'AS', 'CS', 'CM'), -(800002759, 'UGRD', 2021, 'AS', 'GHP', 'CM'), -(800002760, 'UGRD', 2023, 'AS', 'SAS', 'AC'), -(800002762, 'UGRD', 2024, 'AS', 'PSCI', 'AC'), -(800002766, 'UGRD', 2024, 'AS', 'GSS', 'AC'), -(800002767, 'UGRD', 2025, 'AS', 'AS', 'AC'), -(800002768, 'UGRD', 2025, 'AS', 'ENV', 'AC'), -(800002770, 'UGRD', 2025, 'AS', 'SAS', 'AC'), -(800002771, 'UGRD', 2023, 'AS', 'ENV', 'AC'), -(800002775, 'UGRD', 2021, 'AS', 'MEDS', 'CM'), -(800002776, 'UGRD', 2021, 'AS', 'SOC', 'CM'), -(800002778, 'UGRD', 2022, 'AS', 'ECOM', 'AC'), -(800002779, 'UGRD', 2021, 'AS', 'ASTR', 'CM'), -(800002781, 'UGRD', 2021, 'AS', 'AS', 'CM'), -(800002783, 'UGRD', 2024, 'AS', 'PSCI', 'AC'), -(800002784, 'UGRD', 2023, 'AS', 'ECOM', 'AC'), -(800002785, 'UGRD', 2023, 'AS', 'GSS', 'AC'), -(800002786, 'UGRD', 2024, 'AS', 'ENG', 'AC'), -(800002788, 'UGRD', 2021, 'AS', 'CLSS', 'CM'), -(800002790, 'UGRD', 2025, 'AS', 'CLSS', 'AC'), -(800002791, 'UGRD', 2024, 'AS', 'MCB', 'AC'), -(800002795, 'UGRD', 2021, 'AS', 'MES', 'CM'), -(800002799, 'UGRD', 2021, 'AS', 'GVMT', 'CM'), -(800002800, 'UGRD', 2025, 'AS', 'EALC', 'AC'), -(800002802, 'UGRD', 2021, 'AS', 'LIT', 'CM'), -(800002803, 'UGRD', 2022, 'AS', 'THEA', 'AC'), -(800002808, 'UGRD', 2022, 'AS', 'ARCH', 'AC'), -(800002809, 'UGRD', 2025, 'AS', 'ANTH', 'AC'), -(800002810, 'UGRD', 2023, 'AS', 'SOC', 'AC'), -(800002812, 'UGRD', 2025, 'AS', 'LING', 'PM'), -(800002813, 'UGRD', 2025, 'AS', 'GHP', 'LA'), -(800002815, 'UGRD', 2025, 'AS', 'BIOS', 'AC'), -(800002817, 'UGRD', 2025, 'AS', 'GVMT', 'AC'), -(800002818, 'UGRD', 2021, 'AS', 'STAT', 'CM'), -(800002821, 'UGRD', 2023, 'AS', 'ART', 'AC'), -(800002822, 'UGRD', 2025, 'AS', 'AAAS', 'PM'), -(800002827, 'UGRD', 2022, 'AS', 'CELT', 'AC'), -(800002829, 'UGRD', 2025, 'AS', 'SLAV', 'AC'), -(800002830, 'UGRD', 2022, 'AS', 'SAS', 'AC'), -(800002832, 'UGRD', 2023, 'AS', 'NELC', 'AC'), -(800002833, 'UGRD', 2023, 'AS', 'GERM', 'AC'), -(800002835, 'UGRD', 2022, 'AS', 'MUS', 'AC'), -(800002838, 'UGRD', 2025, 'AS', 'PSYC', 'AC'), -(800002845, 'UGRD', 2021, 'AS', 'ECOM', 'CM'), -(800002846, 'UGRD', 2021, 'AS', 'POLI', 'CM'), -(800002848, 'UGRD', 2023, 'AS', 'SAS', 'AC'), -(800002852, 'UGRD', 2022, 'AS', 'PHY', 'AC'), -(800002854, 'UGRD', 2025, 'AS', 'BPHY', 'AC'), -(800002861, 'UGRD', 2023, 'AS', 'HUM', 'AC'), -(800002862, 'UGRD', 2024, 'AS', 'CHEM', 'AC'), -(800002863, 'UGRD', 2025, 'AS', 'ANTH', 'RS'), -(800002864, 'UGRD', 2025, 'AS', 'ANTH', 'PM'), -(800002865, 'UGRD', 2021, 'AS', 'ENGL', 'CM'), -(800002868, 'UGRD', 2024, 'AS', 'ROML', 'AC'), -(800002869, 'UGRD', 2025, 'AS', 'ASTR', 'AC'), -(800002871, 'UGRD', 2023, 'AS', 'ART', 'AC'), -(800002872, 'UGRD', 2022, 'AS', 'GVMT', 'AC'), -(800002878, 'UGRD', 2025, 'AS', 'ART', 'AC'), -(800002879, 'UGRD', 2022, 'AS', 'ASTR', 'AC'), -(800002880, 'UGRD', 2024, 'AS', 'ANTH', 'AC'), -(800002881, 'UGRD', 2022, 'AS', 'MES', 'AC'), -(800002882, 'UGRD', 2022, 'AS', 'SOC', 'AC'), -(800002884, 'UGRD', 2025, 'AS', 'CPLT', 'AC'), -(800002885, 'NDP', NULL, 'AS', 'MES', 'ES'), -(800002886, 'UGRD', 2023, 'AS', 'CLSS', 'RS'), -(800002889, 'UGRD', 2022, 'AS', 'SOCS', 'AC'), -(800002891, 'UGRD', 2021, 'AS', 'GSS', 'CM'), -(800002894, 'UGRD', 2025, 'AS', 'APCS', 'AC'), -(800002896, 'UGRD', 2024, 'AS', 'SAS', 'AC'), -(800002898, 'UGRD', 2024, 'AS', 'REL', 'AC'), -(800002899, 'UGRD', 2022, 'AS', 'AMAT', 'AC'), -(800002900, 'UGRD', 2023, 'AS', 'AAAS', 'AC'), -(800002901, 'UGRD', 2025, 'AS', 'BPHY', 'AC'), -(800002904, 'UGRD', 2021, 'AS', 'SOC', 'CM'), -(800002905, 'UGRD', 2023, 'AS', 'SAS', 'AC'), -(800002911, 'UGRD', 2024, 'AS', 'ENG', 'AC'), -(800002913, 'NDP', NULL, 'AS', 'SOCS', 'AC'), -(800002914, 'UGRD', 2021, 'AS', 'SOC', 'CM'), -(800002915, 'UGRD', 2025, 'AS', 'LIT', 'AC'), -(800002919, 'UGRD', 2025, 'AS', 'MUS', 'LA'), -(800002920, 'UGRD', 2024, 'AS', 'PHY', 'AC'), -(800002921, 'UGRD', 2022, 'AS', 'SAS', 'AC'), -(800002922, 'UGRD', 2025, 'AS', 'PHY', 'AC'), -(800002923, 'UGRD', 2023, 'AS', 'LING', 'AC'), -(800002924, 'UGRD', 2025, 'AS', 'NELC', 'AC'), -(800002925, 'UGRD', 2024, 'AS', 'ENG', 'AC'), -(800002926, 'UGRD', 2024, 'AS', 'SLAV', 'AC'), -(800002927, 'UGRD', 2025, 'AS', 'ART', 'AC'), -(800002928, 'UGRD', 2021, 'AS', 'CELT', 'CM'), -(800002930, 'UGRD', 2023, 'AS', 'EALC', 'AC'), -(800002932, 'UGRD', 2022, 'AS', 'MUS', 'AC'), -(800002933, 'UGRD', 2025, 'AS', 'MES', 'AC'), -(800002939, 'UGRD', 2023, 'AS', 'BIOL', 'AC'), -(800002941, 'UGRD', 2021, 'AS', 'ENV', 'CM'), -(800002943, 'UGRD', 2024, 'AS', 'APHY', 'AC'), -(800002945, 'UGRD', 2024, 'AS', 'CLSS', 'AC'), -(800002948, 'UGRD', 2025, 'AS', 'ART', 'AC'), -(800002949, 'UGRD', 2025, 'AS', 'STAT', 'AC'), -(800002952, 'UGRD', 2022, 'AS', 'GERM', 'AC'), -(800002953, 'UGRD', 2022, 'AS', 'STAT', 'AC'), -(800002956, 'UGRD', 2025, 'AS', 'MEDS', 'AC'), -(800002957, 'UGRD', 2025, 'AS', 'SAS', 'LA'), -(800002960, 'NDP', NULL, 'AS', 'ARCH', 'ES'), -(800002963, 'UGRD', 2022, 'AS', 'LING', 'AC'), -(800002967, 'UGRD', 2025, 'AS', 'ENV', 'AC'), -(800002971, 'UGRD', 2022, 'AS', 'SOCS', 'AC'), -(800002972, 'UGRD', 2021, 'AS', 'ENG', 'CM'), -(800002974, 'UGRD', 2022, 'AS', 'GVMT', 'AC'), -(800002976, 'UGRD', 2025, 'AS', 'GSS', 'AC'), -(800002977, 'UGRD', 2021, 'AS', 'MCB', 'CM'), -(800002979, 'UGRD', 2024, 'AS', 'ENGL', 'AC'), -(800002981, 'UGRD', 2025, 'AS', 'LIT', 'AC'), -(800002984, 'UGRD', 2022, 'AS', 'GERM', 'AC'), -(800002985, 'UGRD', 2022, 'AS', 'ENGL', 'AC'), -(800002987, 'UGRD', 2023, 'AS', 'BIOL', 'AC'), -(800002988, 'UGRD', 2022, 'AS', 'MEDS', 'AC'), -(800002989, 'UGRD', 2021, 'AS', 'BIOL', 'CM'), -(800002991, 'UGRD', 2025, 'AS', 'MCB', 'AC'), -(800002994, 'UGRD', 2025, 'AS', 'MCB', 'AC'), -(800002998, 'UGRD', 2025, 'AS', 'PHY', 'AC'), -(800000428, 'SB', 2025, 'BUS', NULL, 'AC'), -(800000441, 'SB', 2024, 'BUS', NULL, 'AC'), -(800000463, 'SB', 2023, 'BUS', NULL, 'AC'), -(800000550, 'SB', 2023, 'BUS', NULL, 'AC'), -(800000720, 'SB', 2024, 'BUS', NULL, 'AC'), -(800000781, 'SB', 2025, 'BUS', NULL, 'AC'), -(800000822, 'SB', 2024, 'BUS', NULL, 'AC'), -(800001064, 'SB', 2024, 'BUS', NULL, 'AC'), -(800001122, 'SB', 2022, 'BUS', NULL, 'AC'), -(800001273, 'SB', 2025, 'BUS', NULL, 'AC'), -(800001287, 'SB', 2023, 'BUS', NULL, 'AC'), -(800001396, 'SB', 2023, 'BUS', NULL, 'AC'), -(800001513, 'SB', 2023, 'BUS', NULL, 'AC'), -(800001715, 'SB', 2025, 'BUS', NULL, 'AC'), -(800001740, 'SB', 2024, 'BUS', NULL, 'AC'), -(800001858, 'SB', 2024, 'BUS', NULL, 'AC'), -(800002010, 'SB', 2022, 'BUS', NULL, 'AC'), -(800002312, 'SB', 2022, 'BUS', NULL, 'AC'), -(800002483, 'SB', 2023, 'BUS', NULL, 'AC'), -(800002622, 'SB', 2024, 'BUS', NULL, 'AC'), -(800002652, 'SB', 2024, 'BUS', NULL, 'AC'), -(800002707, 'SB', 2021, 'BUS', NULL, 'CM'), -(800002737, 'SB', 2024, 'BUS', NULL, 'AC'), -(800002982, 'SB', 2022, 'BUS', NULL, 'AC'), -(800002993, 'SB', 2021, 'BUS', NULL, 'CM'), -(800000039, 'GRAD', 2025, 'GRD', 'GS', 'AC'), -(800000075, 'GRAD', 2021, 'GRD', 'GS', 'CM'), -(800000155, 'GRAD', 2024, 'GRD', 'GS', 'AC'), -(800000237, 'GRAD', 2023, 'GRD', 'GS', 'AC'), -(800000338, 'GRAD', 2023, 'GRD', 'GS', 'AC'), -(800000339, 'GRAD', 2022, 'GRD', 'GS', 'AC'), -(800000461, 'GRAD', 2022, 'GRD', 'GS', 'AC'), -(800000642, 'GRAD', 2025, 'GRD', 'GS', 'AC'), -(800000645, 'GRAD', 2024, 'GRD', 'GS', 'AC'), -(800000687, 'GNDP', NULL, 'GRD', 'GS', 'AC'), -(800000696, 'GRAD', 2023, 'GRD', 'GS', 'AC'), -(800000725, 'GNDP', NULL, 'GRD', 'GS', 'AC'), -(800000730, 'GRAD', 2021, 'GRD', 'GS', 'CM'), -(800000732, 'GRAD', 2021, 'GRD', 'GS', 'CM'), -(800000975, 'GRAD', 2021, 'GRD', 'GS', 'CM'), -(800000990, 'GRAD', 2024, 'GRD', 'GS', 'AC'), -(800001110, 'GRAD', 2021, 'GRD', 'GS', 'CM'), -(800001157, 'GRAD', 2023, 'GRD', 'GS', 'AC'), -(800001330, 'GRAD', 2021, 'GRD', 'GS', 'CM'), -(800001348, 'GRAD', 2024, 'GRD', 'GS', 'AC'), -(800001416, 'GRAD', 2025, 'GRD', 'GS', 'AC'), -(800001424, 'GRAD', 2022, 'GRD', 'GS', 'AC'), -(800001507, 'GRAD', 2024, 'GRD', 'GS', 'AC'), -(800001520, 'GRAD', 2025, 'GRD', 'GS', 'AC'), -(800001571, 'GNDP', NULL, 'GRD', 'GS', 'AC'), -(800001579, 'GRAD', 2021, 'GRD', 'GS', 'CM'), -(800001733, 'GRAD', 2022, 'GRD', 'GS', 'AC'), -(800001795, 'GRAD', 2024, 'GRD', 'GS', 'AC'), -(800001852, 'GRAD', 2024, 'GRD', 'GS', 'AC'), -(800001860, 'GRAD', 2024, 'GRD', 'GS', 'AC'), -(800001926, 'GRAD', 2021, 'GRD', 'GS', 'CM'), -(800001933, 'GRAD', 2025, 'GRD', 'GS', 'AC'), -(800002072, 'GRAD', 2025, 'GRD', 'GS', 'AC'), -(800002081, 'GRAD', 2025, 'GRD', 'GS', 'AC'), -(800002087, 'GRAD', 2025, 'GRD', 'GS', 'AC'), -(800002324, 'GRAD', 2023, 'GRD', 'GS', 'AC'), -(800002359, 'GRAD', 2023, 'GRD', 'GS', 'AC'), -(800002444, 'GRAD', 2023, 'GRD', 'GS', 'AC'), -(800002603, 'GRAD', 2025, 'GRD', 'GS', 'AC'), -(800002663, 'GRAD', 2023, 'GRD', 'GS', 'AC'), -(800002703, 'GRAD', 2024, 'GRD', 'GS', 'AC'), -(800002738, 'GRAD', 2021, 'GRD', 'GS', 'CM'), -(800002777, 'GRAD', 2024, 'GRD', 'GS', 'AC'), -(800002814, 'GRAD', 2025, 'GRD', 'GS', 'AC'), -(800002834, 'GRAD', 2024, 'GRD', 'GS', 'AC'), -(800002867, 'GRAD', 2022, 'GRD', 'GS', 'AC'), -(800000094, 'SCS', 2021, 'SCS', NULL, 'CM'), -(800000170, 'SCS', 2025, 'SCS', NULL, 'AC'), -(800000348, 'SCS', 2023, 'SCS', NULL, 'AC'), -(800000467, 'SCS', 2023, 'SCS', NULL, 'AC'), -(800000490, 'SCS', 2025, 'SCS', NULL, 'AC'), -(800000495, 'SCS', 2025, 'SCS', NULL, 'AC'), -(800000692, 'SCS', 2022, 'SCS', NULL, 'AC'), -(800000724, 'SCS', 2021, 'SCS', NULL, 'CM'), -(800000890, 'SCS', 2025, 'SCS', NULL, 'AC'), -(800001017, 'SCS', 2024, 'SCS', NULL, 'AC'), -(800001338, 'SCS', 2022, 'SCS', NULL, 'AC'), -(800001538, 'SCS', 2022, 'SCS', NULL, 'AC'), -(800001574, 'SCS', 2023, 'SCS', NULL, 'AC'), -(800001586, 'SCS', 2022, 'SCS', NULL, 'AC'), -(800001593, 'SCS', 2021, 'SCS', NULL, 'CM'), -(800001667, 'SCS', 2025, 'SCS', NULL, 'AC'), -(800001687, 'SCS', 2024, 'SCS', NULL, 'AC'), -(800001756, 'SCS', 2024, 'SCS', NULL, 'AC'), -(800001988, 'SCS', 2025, 'SCS', NULL, 'AC'), -(800002052, 'SCS', 2021, 'SCS', NULL, 'CM'), -(800002278, 'SCS', 2021, 'SCS', NULL, 'CM'), -(800002490, 'SCS', 2022, 'SCS', NULL, 'AC'), -(800002673, 'SCS', 2025, 'SCS', NULL, 'AC'), -(800000086, 'SPM', 2023, 'SPM', NULL, 'AC'), -(800000099, 'SPM', 2022, 'SPM', NULL, 'AC'), -(800000102, 'SPM', 2023, 'SPM', NULL, 'AC'), -(800000768, 'SPM', 2022, 'SPM', NULL, 'AC'), -(800000832, 'SPM', 2023, 'SPM', NULL, 'AC'), -(800000886, 'SPM', 2022, 'SPM', NULL, 'AC'), -(800000936, 'SPM', 2024, 'SPM', NULL, 'AC'), -(800001004, 'SPM', 2022, 'SPM', NULL, 'AC'), -(800001049, 'SPM', 2025, 'SPM', NULL, 'AC'), -(800001436, 'SPM', 2022, 'SPM', NULL, 'AC'), -(800001491, 'SPM', 2023, 'SPM', NULL, 'AC'), -(800001496, 'SPM', 2023, 'SPM', NULL, 'AC'), -(800001569, 'SPM', 2021, 'SPM', NULL, 'CM'), -(800001996, 'SPM', 2024, 'SPM', NULL, 'AC'), -(800002083, 'SPM', 2021, 'SPM', NULL, 'CM'), -(800002138, 'SPM', 2021, 'SPM', NULL, 'CM'), -(800002187, 'SPM', 2022, 'SPM', NULL, 'AC'), -(800002199, 'SPM', 2021, 'SPM', NULL, 'CM'), -(800002258, 'SPM', 2023, 'SPM', NULL, 'AC'), -(800002357, 'SPM', 2025, 'SPM', NULL, 'AC'), -(800002387, 'SPM', 2022, 'SPM', NULL, 'AC'), -(800002478, 'SPM', 2023, 'SPM', NULL, 'AC'), -(800002553, 'SPM', 2021, 'SPM', NULL, 'CM'), -(800002596, 'SPM', 2024, 'SPM', NULL, 'AC') -; +('800000002','UGRD','2025','AS','SOC','LA'), +('800000004','UGRD','2022','AS','ENGL','AC'), +('800000005','UGRD','2021','AS','GERM','CM'), +('800000006','UGRD','2021','AS','ENV','CM'), +('800000007','UGRD','2025','AS','PSCI','AC'), +('800000008','UGRD','2023','AS','EALC','AC'), +('800000011','UGRD','2024','AS','MAT','AC'), +('800000012','UGRD','2023','AS','POLI','AC'), +('800000013','UGRD','2024','AS','ENGL','AC'), +('800000017','UGRD','2021','AS','GSS','CM'), +('800000018','UGRD','2021','AS','HUM','CM'), +('800000022','UGRD','2024','AS','ROML','AC'), +('800000027','UGRD','2022','AS','HIST','AC'), +('800000028','UGRD','2023','AS','WRI','AC'), +('800000031','UGRD','2023','AS','GERM','AC'), +('800000032','UGRD','2022','AS','MAT','AC'), +('800000033','ES',NULL,'AS','LIT','ES'), +('800000034','UGRD','2021','AS','THEA','CM'), +('800000036','UGRD','2025','AS','GSS','LA'), +('800000038','UGRD','2025','AS','MAT','AC'), +('800000039','GRAD','2025','GRD','GS','AC'), +('800000040','UGRD','2023','AS','LING','AC'), +('800000041','UGRD','2022','AS','EALC','AC'), +('800000042','UGRD','2021','AS','HUM','CM'), +('800000044','UGRD','2024','AS','CS','AC'), +('800000047','UGRD','2025','AS','LIT','AC'), +('800000049','UGRD','2023','AS','ARCH','AC'), +('800000052','UGRD','2025','AS','GERM','AC'), +('800000054','UGRD','2023','AS','GHP','AC'), +('800000055','UGRD','2023','AS','SOC','AC'), +('800000056','UGRD','2025','AS','ART','AC'), +('800000057','UGRD','2022','AS','GHP','AC'), +('800000058','UGRD','2025','AS','ROML','PM'), +('800000059','UGRD','2024','AS','SOC','AC'), +('800000060','UGRD','2025','AS','ROML','AC'), +('800000063','UGRD','2024','AS','STAT','AC'), +('800000064','UGRD','2023','AS','APCS','AC'), +('800000065','UGRD','2022','AS','SLAV','AC'), +('800000066','UGRD','2023','AS','REL','AC'), +('800000067','UGRD','2024','AS','GVMT','AC'), +('800000069','UGRD','2024','AS','HIST','AC'), +('800000070','UGRD','2021','AS','ECOM','CM'), +('800000074','UGRD','2025','AS','AAAS','AC'), +('800000075','GRAD','2021','GRD','GS','CM'), +('800000076','UGRD','2023','AS','PSYC','AC'), +('800000078','UGRD','2025','AS','AS','PM'), +('800000080','UGRD','2024','AS','GSS','AC'), +('800000082','UGRD','2023','AS','PHY','AC'), +('800000085','NDP',NULL,'AS','BIOS','AC'), +('800000086','SPM','2023','SPM',NULL,'AC'), +('800000088','NDP',NULL,'AS','STAT','AC'), +('800000093','UGRD','2023','AS','ENV','AC'), +('800000094','SCS','2021','SCS',NULL,'CM'), +('800000096','UGRD','2021','AS','SLAV','CM'), +('800000097','UGRD','2024','AS','SOC','AC'), +('800000099','SPM','2022','SPM',NULL,'AC'), +('800000102','SPM','2023','SPM',NULL,'AC'), +('800000105','UGRD','2023','AS','BPHY','AC'), +('800000106','UGRD','2022','AS','CELT','AC'), +('800000107','UGRD','2022','AS','MUS','XO'), +('800000108','UGRD','2022','AS','APCS','AC'), +('800000111','UGRD','2022','AS','CLSS','AC'), +('800000112','UGRD','2024','AS','MUS','AC'), +('800000113','UGRD','2024','AS','PHIL','AC'), +('800000116','UGRD','2025','AS','MCB','AC'), +('800000123','UGRD','2021','AS','CPLT','CM'), +('800000125','NDP',NULL,'AS','MEDS','AC'), +('800000126','UGRD','2021','AS','CELT','CM'), +('800000129','UGRD','2021','AS','ENGL','CM'), +('800000132','UGRD','2021','AS','MEDS','CM'), +('800000136','UGRD','2022','AS','STAT','AC'), +('800000137','UGRD','2023','AS','PSYC','AC'), +('800000141','UGRD','2022','AS','REL','AC'), +('800000143','UGRD','2025','AS','ENGL','PM'), +('800000144','UGRD','2023','AS','GHP','AC'), +('800000147','UGRD','2025','AS','CHEM','AC'), +('800000148','UGRD','2025','AS','GSS','AC'), +('800000150','UGRD','2021','AS','REL','CM'), +('800000154','UGRD','2022','AS','CS','AC'), +('800000155','GRAD','2024','GRD','GS','AC'), +('800000157','UGRD','2021','AS','ENGL','CM'), +('800000158','UGRD','2023','AS','GVMT','AC'), +('800000159','UGRD','2022','AS','ENV','AC'), +('800000160','UGRD','2024','AS','MCB','AC'), +('800000161','UGRD','2021','AS','MAT','CM'), +('800000165','UGRD','2022','AS','HIST','AC'), +('800000166','UGRD','2021','AS','CS','CM'), +('800000167','UGRD','2023','AS','NELC','AC'), +('800000169','UGRD','2021','AS','MEDS','CM'), +('800000170','SCS','2025','SCS',NULL,'AC'), +('800000172','UGRD','2021','AS','SOC','CM'), +('800000173','UGRD','2023','AS','ENV','AC'), +('800000177','UGRD','2024','AS','ENG','AC'), +('800000178','UGRD','2025','AS','POLI','PM'), +('800000180','UGRD','2025','AS','POLI','AC'), +('800000181','UGRD','2021','AS','BPHY','CM'), +('800000184','UGRD','2021','AS','ROML','CM'), +('800000188','UGRD','2022','AS','APHY','AC'), +('800000189','UGRD','2023','AS','APCS','AC'), +('800000192','UGRD','2023','AS','MES','AC'), +('800000193','UGRD','2022','AS','REL','AC'), +('800000195','UGRD','2023','AS','GHP','AC'), +('800000197','UGRD','2025','AS','SLAV','AC'), +('800000198','UGRD','2021','AS','AAAS','CM'), +('800000200','UGRD','2021','AS','MEDS','CM'), +('800000202','UGRD','2021','AS','MES','CM'), +('800000206','UGRD','2022','AS','MES','AC'), +('800000210','UGRD','2025','AS','NELC','AC'), +('800000211','UGRD','2021','AS','CELT','CM'), +('800000212','UGRD','2021','AS','NELC','CM'), +('800000213','UGRD','2023','AS','PHY','AC'), +('800000214','UGRD','2024','AS','PSYC','AC'), +('800000215','UGRD','2024','AS','GERM','AC'), +('800000216','UGRD','2023','AS','WRI','AC'), +('800000219','UGRD','2022','AS','ASTR','AC'), +('800000220','UGRD','2023','AS','APCS','AC'), +('800000225','UGRD','2024','AS','ENG','AC'), +('800000226','UGRD','2025','AS','ENV','AC'), +('800000231','UGRD','2022','AS','HIST','AC'), +('800000233','UGRD','2023','AS','MES','AC'), +('800000236','UGRD','2022','AS','GHP','XO'), +('800000237','GRAD','2023','GRD','GS','AC'), +('800000238','UGRD','2021','AS','WRI','CM'), +('800000241','UGRD','2025','AS','ENG','AC'), +('800000242','NDP',NULL,'AS','MEDS','AC'), +('800000246','UGRD','2024','AS','LING','AC'), +('800000248','UGRD','2024','AS','CHEM','AC'), +('800000255','UGRD','2023','AS','LIT','AC'), +('800000256','UGRD','2025','AS','CHEM','AC'), +('800000264','UGRD','2021','AS','SOC','CM'), +('800000267','UGRD','2024','AS','WRI','AC'), +('800000268','UGRD','2025','AS','ARCH','LA'), +('800000270','UGRD','2022','AS','REL','AC'), +('800000271','UGRD','2022','AS','SAS','AC'), +('800000272','UGRD','2023','AS','PHIL','AC'), +('800000273','UGRD','2022','AS','BIOS','AC'), +('800000275','UGRD','2025','AS','PSYC','AC'), +('800000277','UGRD','2021','AS','SAS','CM'), +('800000279','UGRD','2022','AS','HUM','AC'), +('800000280','UGRD','2021','AS','MAT','CM'), +('800000282','UGRD','2022','AS','MES','AC'), +('800000284','UGRD','2025','AS','CS','AC'), +('800000288','UGRD','2024','AS','POLI','AC'), +('800000290','UGRD','2025','AS','SLAV','AC'), +('800000291','UGRD','2021','AS','REL','CM'), +('800000293','UGRD','2022','AS','HUM','AC'), +('800000294','UGRD','2024','AS','ECOM','AC'), +('800000295','UGRD','2022','AS','PSYC','AC'), +('800000296','UGRD','2025','AS','POLI','AC'), +('800000297','UGRD','2025','AS','PSCI','AC'), +('800000299','UGRD','2025','AS','APCS','AC'), +('800000302','UGRD','2021','AS','CELT','CM'), +('800000306','UGRD','2022','AS','ASTR','AC'), +('800000309','UGRD','2025','AS','GERM','AC'), +('800000310','UGRD','2025','AS','GVMT','AC'), +('800000313','UGRD','2023','AS','GVMT','AC'), +('800000315','UGRD','2022','AS','HIST','XP'), +('800000316','UGRD','2024','AS','ASTR','AC'), +('800000317','UGRD','2024','AS','CPLT','AC'), +('800000321','UGRD','2022','AS','NELC','AC'), +('800000322','UGRD','2023','AS','APHY','AC'), +('800000326','UGRD','2024','AS','MES','AC'), +('800000327','UGRD','2023','AS','CELT','AC'), +('800000330','UGRD','2025','AS','ENG','AC'), +('800000332','UGRD','2022','AS','LING','AC'), +('800000333','ES',NULL,'AS','THEA','ES'), +('800000338','GRAD','2023','GRD','GS','AC'), +('800000339','GRAD','2022','GRD','GS','AC'), +('800000343','UGRD','2025','AS','CS','AC'), +('800000346','UGRD','2025','AS','PHIL','AC'), +('800000348','SCS','2023','SCS',NULL,'AC'), +('800000350','UGRD','2024','AS','MCB','AC'), +('800000354','UGRD','2025','AS','LIT','AC'), +('800000356','UGRD','2025','AS','SAS','AC'), +('800000359','UGRD','2024','AS','PSCI','AC'), +('800000362','UGRD','2023','AS','BIOL','AC'), +('800000365','UGRD','2022','AS','AAAS','AC'), +('800000367','UGRD','2022','AS','POLI','AC'), +('800000368','UGRD','2022','AS','ART','AC'), +('800000369','UGRD','2025','AS','STAT','AC'), +('800000371','UGRD','2025','AS','POLI','LA'), +('800000372','UGRD','2024','AS','WRI','AC'), +('800000373','UGRD','2021','AS','MAT','CM'), +('800000374','UGRD','2021','AS','THEA','CM'), +('800000375','UGRD','2023','AS','CELT','AC'), +('800000380','UGRD','2021','AS','PSCI','CM'), +('800000381','UGRD','2024','AS','ART','AC'), +('800000385','UGRD','2021','AS','EALC','CM'), +('800000387','UGRD','2025','AS','MCB','AC'), +('800000388','UGRD','2021','AS','ENV','CM'), +('800000390','UGRD','2023','AS','ASTR','AC'), +('800000393','UGRD','2024','AS','CLSS','AC'), +('800000394','UGRD','2025','AS','REL','AC'), +('800000398','UGRD','2025','AS','ART','AC'), +('800000400','UGRD','2024','AS','GVMT','AC'), +('800000402','UGRD','2024','AS','CPLT','AC'), +('800000403','UGRD','2023','AS','APCS','AC'), +('800000404','UGRD','2024','AS','BIOL','AC'), +('800000406','UGRD','2025','AS','GHP','AC'), +('800000409','UGRD','2024','AS','CHEM','AC'), +('800000410','UGRD','2021','AS','ANTH','CM'), +('800000411','UGRD','2023','AS','CHEM','AC'), +('800000412','UGRD','2021','AS','ENGL','CM'), +('800000417','UGRD','2025','AS','ART','AC'), +('800000418','UGRD','2024','AS','MEDS','AC'), +('800000419','UGRD','2023','AS','AS','AC'), +('800000421','UGRD','2024','AS','CS','AC'), +('800000424','UGRD','2023','AS','ENV','AC'), +('800000425','UGRD','2023','AS','PSYC','AC'), +('800000427','UGRD','2021','AS','AAAS','CM'), +('800000428','SB','2025','BUS',NULL,'AC'), +('800000429','UGRD','2023','AS','AMAT','XP'), +('800000431','UGRD','2024','AS','SOCS','AC'), +('800000433','NDP',NULL,'AS','SOCS','AC'), +('800000434','UGRD','2021','AS','HIST','CM'), +('800000436','UGRD','2021','AS','ECOM','CM'), +('800000438','UGRD','2025','AS','GSS','AC'), +('800000441','SB','2024','BUS',NULL,'AC'), +('800000442','UGRD','2021','AS','PSCI','CM'), +('800000445','NDP',NULL,'AS','THEA','AC'), +('800000450','UGRD','2022','AS','AAAS','AC'), +('800000451','UGRD','2023','AS','ENGL','AC'), +('800000458','UGRD','2024','AS','MAT','AC'), +('800000461','GRAD','2022','GRD','GS','AC'), +('800000463','SB','2023','BUS',NULL,'AC'), +('800000464','UGRD','2021','AS','ENG','CM'), +('800000466','UGRD','2023','AS','CS','AC'), +('800000467','SCS','2023','SCS',NULL,'AC'), +('800000469','UGRD','2025','AS','LING','AC'), +('800000471','UGRD','2023','AS','AAAS','AC'), +('800000473','UGRD','2024','AS','HUM','AC'), +('800000474','UGRD','2023','AS','ECOM','AC'), +('800000478','UGRD','2022','AS','SLAV','AC'), +('800000479','NDP',NULL,'AS','APHY','AC'), +('800000480','UGRD','2024','AS','ENG','AC'), +('800000485','UGRD','2022','AS','CPLT','RS'), +('800000486','UGRD','2023','AS','ARCH','AC'), +('800000489','UGRD','2022','AS','PHIL','AC'), +('800000490','SCS','2025','SCS',NULL,'AC'), +('800000491','UGRD','2024','AS','AMAT','AC'), +('800000492','UGRD','2022','AS','MAT','XP'), +('800000494','UGRD','2023','AS','CHEM','AC'), +('800000495','SCS','2025','SCS',NULL,'AC'), +('800000497','UGRD','2023','AS','MAT','AC'), +('800000499','UGRD','2025','AS','STAT','AC'), +('800000500','UGRD','2023','AS','CPLT','AC'), +('800000502','UGRD','2022','AS','STAT','AC'), +('800000503','UGRD','2022','AS','APCS','AC'), +('800000506','UGRD','2022','AS','EALC','AC'), +('800000509','UGRD','2025','AS','MUS','AC'), +('800000512','UGRD','2021','AS','APCS','CM'), +('800000514','UGRD','2023','AS','PSYC','AC'), +('800000515','UGRD','2025','AS','ARCH','AC'), +('800000518','UGRD','2024','AS','POLI','AC'), +('800000520','UGRD','2025','AS','LIT','AC'), +('800000521','UGRD','2022','AS','SLAV','AC'), +('800000527','UGRD','2021','AS','GHP','CM'), +('800000529','UGRD','2023','AS','BIOS','RS'), +('800000531','UGRD','2024','AS','ART','AC'), +('800000534','UGRD','2023','AS','ENG','AC'), +('800000538','UGRD','2023','AS','PSCI','AC'), +('800000539','UGRD','2021','AS','HIST','CM'), +('800000540','UGRD','2023','AS','LIT','AC'), +('800000542','UGRD','2025','AS','PHIL','AC'), +('800000543','UGRD','2023','AS','BIOL','AC'), +('800000545','UGRD','2024','AS','ANTH','AC'), +('800000547','UGRD','2024','AS','POLI','AC'), +('800000548','UGRD','2025','AS','MUS','AC'), +('800000549','UGRD','2021','AS','SAS','CM'), +('800000550','SB','2023','BUS',NULL,'AC'), +('800000553','ES',NULL,'AS','GSS','ES'), +('800000554','UGRD','2023','AS','MEDS','AC'), +('800000555','UGRD','2025','AS','ARCH','AC'), +('800000556','UGRD','2021','AS','PHIL','CM'), +('800000557','UGRD','2022','AS','BIOL','AC'), +('800000558','UGRD','2021','AS','GVMT','CM'), +('800000564','UGRD','2025','AS','APHY','AC'), +('800000565','UGRD','2023','AS','MAT','AC'), +('800000566','UGRD','2025','AS','AS','AC'), +('800000568','UGRD','2025','AS','THEA','AC'), +('800000569','UGRD','2021','AS','ENV','CM'), +('800000570','UGRD','2023','AS','CS','AC'), +('800000571','UGRD','2023','AS','GERM','AC'), +('800000572','UGRD','2025','AS','APHY','AC'), +('800000573','UGRD','2025','AS','HIST','AC'), +('800000574','UGRD','2021','AS','EALC','CM'), +('800000575','UGRD','2023','AS','NELC','AC'), +('800000576','UGRD','2021','AS','STAT','CM'), +('800000577','UGRD','2025','AS','ASTR','AC'), +('800000579','UGRD','2023','AS','LING','AC'), +('800000580','UGRD','2023','AS','ASTR','AC'), +('800000581','UGRD','2022','AS','MUS','AC'), +('800000584','UGRD','2022','AS','ASTR','AC'), +('800000585','UGRD','2024','AS','GHP','AC'), +('800000586','UGRD','2022','AS','CHEM','AC'), +('800000588','UGRD','2024','AS','GHP','AC'), +('800000590','UGRD','2021','AS','WRI','CM'), +('800000591','UGRD','2021','AS','ART','CM'), +('800000592','UGRD','2024','AS','ENGL','AC'), +('800000593','UGRD','2022','AS','CS','AC'), +('800000595','UGRD','2023','AS','GERM','AC'), +('800000596','UGRD','2025','AS','ECOM','AC'), +('800000597','UGRD','2025','AS','GHP','AC'), +('800000602','UGRD','2025','AS','GVMT','AC'), +('800000603','UGRD','2025','AS','HUM','AC'), +('800000606','UGRD','2021','AS','BIOS','CM'), +('800000607','UGRD','2022','AS','LING','AC'), +('800000610','UGRD','2024','AS','REL','AC'), +('800000611','UGRD','2022','AS','AMAT','AC'), +('800000615','UGRD','2024','AS','ASTR','AC'), +('800000616','UGRD','2024','AS','ECOM','AC'), +('800000621','UGRD','2025','AS','APHY','LA'), +('800000622','UGRD','2023','AS','ENGL','AC'), +('800000623','UGRD','2025','AS','CPLT','AC'), +('800000624','UGRD','2022','AS','STAT','AC'), +('800000625','UGRD','2024','AS','CELT','AC'), +('800000626','UGRD','2021','AS','AS','CM'), +('800000627','UGRD','2022','AS','GVMT','AC'), +('800000628','UGRD','2023','AS','BIOL','AC'), +('800000630','UGRD','2022','AS','SOC','AC'), +('800000631','UGRD','2025','AS','GHP','AC'), +('800000632','UGRD','2024','AS','PSCI','AC'), +('800000634','UGRD','2024','AS','BPHY','AC'), +('800000635','UGRD','2024','AS','SOCS','AC'), +('800000636','UGRD','2025','AS','MEDS','AC'), +('800000637','UGRD','2024','AS','PSYC','AC'), +('800000641','UGRD','2024','AS','GHP','AC'), +('800000642','GRAD','2025','GRD','GS','AC'), +('800000643','UGRD','2025','AS','HIST','AC'), +('800000644','UGRD','2022','AS','CLSS','AC'), +('800000645','GRAD','2024','GRD','GS','AC'), +('800000646','UGRD','2022','AS','ROML','AC'), +('800000652','UGRD','2025','AS','SAS','AC'), +('800000655','UGRD','2022','AS','MAT','AC'), +('800000656','UGRD','2025','AS','POLI','AC'), +('800000657','UGRD','2024','AS','REL','AC'), +('800000658','UGRD','2021','AS','PHY','CM'), +('800000660','UGRD','2025','AS','APHY','AC'), +('800000662','UGRD','2022','AS','ANTH','AC'), +('800000663','UGRD','2024','AS','REL','AC'), +('800000664','NDP',NULL,'AS','GSS','AC'), +('800000665','UGRD','2024','AS','PSYC','AC'), +('800000666','UGRD','2022','AS','AMAT','AC'), +('800000671','UGRD','2025','AS','GVMT','AC'), +('800000672','UGRD','2022','AS','PHY','AC'), +('800000673','UGRD','2024','AS','ROML','AC'), +('800000676','UGRD','2021','AS','BIOS','CM'), +('800000679','UGRD','2024','AS','GSS','AC'), +('800000680','UGRD','2021','AS','BIOL','CM'), +('800000682','UGRD','2025','AS','POLI','AC'), +('800000685','UGRD','2021','AS','AMAT','CM'), +('800000687','GNDP',NULL,'GRD','GS','AC'), +('800000688','UGRD','2024','AS','AAAS','AC'), +('800000692','SCS','2022','SCS',NULL,'AC'), +('800000694','UGRD','2022','AS','ARCH','AC'), +('800000696','GRAD','2023','GRD','GS','AC'), +('800000701','UGRD','2024','AS','BIOS','AC'), +('800000703','UGRD','2025','AS','CLSS','LA'), +('800000705','UGRD','2025','AS','CS','AC'), +('800000707','UGRD','2021','AS','ENG','CM'), +('800000708','NDP',NULL,'AS','ENG','AC'), +('800000709','UGRD','2023','AS','CELT','AC'), +('800000710','UGRD','2025','AS','NELC','AC'), +('800000711','UGRD','2021','AS','AS','CM'), +('800000712','UGRD','2023','AS','GERM','AC'), +('800000714','UGRD','2024','AS','LING','AC'), +('800000716','UGRD','2021','AS','CLSS','CM'), +('800000717','UGRD','2025','AS','BIOL','AC'), +('800000718','UGRD','2025','AS','CPLT','AC'), +('800000719','UGRD','2022','AS','ENG','AC'), +('800000720','SB','2024','BUS',NULL,'AC'), +('800000721','UGRD','2025','AS','APCS','AC'), +('800000723','UGRD','2022','AS','SOC','AC'), +('800000724','SCS','2021','SCS',NULL,'CM'), +('800000725','GNDP',NULL,'GRD','GS','AC'), +('800000726','UGRD','2023','AS','AMAT','AC'), +('800000727','UGRD','2025','AS','AS','AC'), +('800000728','UGRD','2022','AS','GERM','AC'), +('800000729','UGRD','2025','AS','GERM','AC'), +('800000730','GRAD','2021','GRD','GS','CM'), +('800000732','GRAD','2021','GRD','GS','CM'), +('800000733','UGRD','2021','AS','POLI','CM'), +('800000734','UGRD','2021','AS','APCS','CM'), +('800000737','UGRD','2023','AS','SOC','AC'), +('800000738','UGRD','2025','AS','GHP','AC'), +('800000739','UGRD','2021','AS','CLSS','CM'), +('800000740','UGRD','2024','AS','AS','AC'), +('800000741','UGRD','2021','AS','MUS','CM'), +('800000743','UGRD','2024','AS','CPLT','AC'), +('800000744','UGRD','2023','AS','PHY','AC'), +('800000746','ES',NULL,'AS','AMAT','ES'), +('800000747','UGRD','2023','AS','CS','AC'), +('800000748','UGRD','2023','AS','NELC','AC'), +('800000749','UGRD','2022','AS','GERM','AC'), +('800000754','UGRD','2022','AS','ENV','AC'), +('800000755','UGRD','2024','AS','SOC','AC'), +('800000759','UGRD','2021','AS','CLSS','CM'), +('800000761','UGRD','2023','AS','MEDS','AC'), +('800000762','UGRD','2022','AS','ART','AC'), +('800000765','UGRD','2023','AS','NELC','AC'), +('800000766','UGRD','2022','AS','GERM','AC'), +('800000767','UGRD','2025','AS','POLI','AC'), +('800000768','SPM','2022','SPM',NULL,'AC'), +('800000769','UGRD','2023','AS','WRI','AC'), +('800000770','UGRD','2023','AS','PSCI','AC'), +('800000772','UGRD','2025','AS','CLSS','AC'), +('800000773','UGRD','2024','AS','REL','AC'), +('800000776','UGRD','2024','AS','PHIL','AC'), +('800000778','UGRD','2024','AS','ENV','AC'), +('800000781','SB','2025','BUS',NULL,'AC'), +('800000782','UGRD','2024','AS','LIT','AC'), +('800000785','UGRD','2025','AS','ENV','XO'), +('800000787','UGRD','2024','AS','BIOS','AC'), +('800000790','UGRD','2022','AS','WRI','AC'), +('800000791','UGRD','2023','AS','LING','AC'), +('800000793','UGRD','2021','AS','PSCI','CM'), +('800000798','UGRD','2022','AS','BIOS','AC'), +('800000799','UGRD','2023','AS','BPHY','AC'), +('800000801','UGRD','2024','AS','REL','AC'), +('800000803','UGRD','2022','AS','BPHY','AC'), +('800000804','UGRD','2023','AS','ROML','AC'), +('800000806','UGRD','2025','AS','ENGL','LA'), +('800000807','ES',NULL,'AS','CS','ES'), +('800000808','UGRD','2022','AS','MEDS','AC'), +('800000809','UGRD','2025','AS','ECOM','AC'), +('800000811','UGRD','2021','AS','GVMT','CM'), +('800000813','UGRD','2023','AS','THEA','XP'), +('800000815','UGRD','2021','AS','CELT','CM'), +('800000818','UGRD','2023','AS','BPHY','AC'), +('800000819','UGRD','2025','AS','BPHY','AC'), +('800000821','UGRD','2024','AS','PSYC','AC'), +('800000822','SB','2024','BUS',NULL,'AC'), +('800000826','UGRD','2022','AS','GSS','AC'), +('800000827','UGRD','2022','AS','PHIL','AC'), +('800000828','UGRD','2022','AS','CPLT','AC'), +('800000830','UGRD','2021','AS','AMAT','CM'), +('800000832','SPM','2023','SPM',NULL,'AC'), +('800000835','UGRD','2024','AS','HUM','AC'), +('800000836','UGRD','2025','AS','SOC','XP'), +('800000837','UGRD','2021','AS','CS','CM'), +('800000840','UGRD','2022','AS','CHEM','AC'), +('800000841','UGRD','2025','AS','MAT','AC'), +('800000843','UGRD','2024','AS','ENV','AC'), +('800000845','UGRD','2024','AS','PSYC','AC'), +('800000846','UGRD','2025','AS','HIST','AC'), +('800000847','UGRD','2021','AS','CS','CM'), +('800000848','NDP',NULL,'AS','CS','AC'), +('800000849','UGRD','2021','AS','ENG','CM'), +('800000850','UGRD','2025','AS','AMAT','AC'), +('800000852','UGRD','2025','AS','APCS','AC'), +('800000855','UGRD','2021','AS','NELC','CM'), +('800000859','UGRD','2024','AS','HUM','AC'), +('800000861','NDP',NULL,'AS','HIST','AC'), +('800000862','UGRD','2025','AS','CHEM','AC'), +('800000864','UGRD','2024','AS','EALC','AC'), +('800000867','UGRD','2021','AS','SAS','CM'), +('800000868','UGRD','2021','AS','APHY','CM'), +('800000871','UGRD','2024','AS','BPHY','AC'), +('800000874','UGRD','2024','AS','CLSS','AC'), +('800000876','UGRD','2025','AS','LIT','AC'), +('800000877','UGRD','2022','AS','ROML','AC'), +('800000878','UGRD','2025','AS','ECOM','AC'), +('800000879','UGRD','2022','AS','THEA','AC'), +('800000880','UGRD','2025','AS','SLAV','AC'), +('800000881','UGRD','2022','AS','ROML','AC'), +('800000882','UGRD','2025','AS','ART','AC'), +('800000885','UGRD','2021','AS','GERM','CM'), +('800000886','SPM','2022','SPM',NULL,'AC'), +('800000887','UGRD','2025','AS','MUS','AC'), +('800000889','UGRD','2024','AS','GHP','AC'), +('800000890','SCS','2025','SCS',NULL,'AC'), +('800000891','UGRD','2022','AS','CPLT','AC'), +('800000892','UGRD','2025','AS','ASTR','AC'), +('800000896','UGRD','2021','AS','NELC','CM'), +('800000900','UGRD','2025','AS','THEA','PM'), +('800000902','UGRD','2023','AS','WRI','AC'), +('800000903','UGRD','2024','AS','ARCH','AC'), +('800000904','UGRD','2025','AS','PSCI','AC'), +('800000905','UGRD','2024','AS','MEDS','AC'), +('800000907','UGRD','2021','AS','CLSS','CM'), +('800000908','UGRD','2024','AS','BIOS','AC'), +('800000909','UGRD','2021','AS','APHY','CM'), +('800000910','UGRD','2023','AS','MCB','AC'), +('800000911','UGRD','2022','AS','PSYC','AC'), +('800000914','UGRD','2022','AS','BIOS','AC'), +('800000915','UGRD','2022','AS','THEA','AC'), +('800000917','UGRD','2024','AS','NELC','AC'), +('800000920','UGRD','2022','AS','POLI','AC'), +('800000922','UGRD','2022','AS','HUM','AC'), +('800000923','UGRD','2022','AS','LING','AC'), +('800000924','UGRD','2023','AS','SOC','AC'), +('800000925','UGRD','2023','AS','ECOM','AC'), +('800000930','UGRD','2023','AS','THEA','AC'), +('800000932','ES',NULL,'AS','MUS','ES'), +('800000936','SPM','2024','SPM',NULL,'AC'), +('800000938','UGRD','2025','AS','HUM','AC'), +('800000940','UGRD','2024','AS','APHY','AC'), +('800000941','UGRD','2025','AS','GHP','RS'), +('800000942','UGRD','2025','AS','EALC','AC'), +('800000944','UGRD','2023','AS','PSCI','AC'), +('800000945','UGRD','2022','AS','GSS','AC'), +('800000947','UGRD','2025','AS','CHEM','AC'), +('800000948','UGRD','2022','AS','PHIL','AC'), +('800000951','UGRD','2024','AS','BPHY','AC'), +('800000952','UGRD','2025','AS','ENGL','AC'), +('800000953','UGRD','2021','AS','MAT','CM'), +('800000960','UGRD','2025','AS','CLSS','AC'), +('800000961','UGRD','2022','AS','ROML','AC'), +('800000963','UGRD','2025','AS','HUM','AC'), +('800000968','UGRD','2023','AS','MAT','AC'), +('800000971','UGRD','2021','AS','ENG','CM'), +('800000974','UGRD','2021','AS','GERM','CM'), +('800000975','GRAD','2021','GRD','GS','CM'), +('800000977','UGRD','2024','AS','APHY','AC'), +('800000979','UGRD','2022','AS','GSS','AC'), +('800000981','UGRD','2024','AS','AMAT','AC'), +('800000984','UGRD','2022','AS','PHIL','AC'), +('800000985','UGRD','2021','AS','NELC','CM'), +('800000986','UGRD','2025','AS','APHY','AC'), +('800000987','UGRD','2024','AS','CPLT','AC'), +('800000989','UGRD','2024','AS','APCS','AC'), +('800000990','GRAD','2024','GRD','GS','AC'), +('800000991','UGRD','2022','AS','AS','AC'), +('800000993','UGRD','2024','AS','ENV','AC'), +('800000995','UGRD','2025','AS','BIOL','AC'), +('800000996','UGRD','2024','AS','HUM','AC'), +('800000997','UGRD','2021','AS','CPLT','CM'), +('800000998','UGRD','2025','AS','PSYC','AC'), +('800001000','UGRD','2021','AS','ANTH','CM'), +('800001003','UGRD','2021','AS','CPLT','CM'), +('800001004','SPM','2022','SPM',NULL,'AC'), +('800001006','UGRD','2021','AS','PSCI','CM'), +('800001008','UGRD','2021','AS','THEA','CM'), +('800001010','UGRD','2025','AS','REL','AC'), +('800001011','UGRD','2022','AS','ROML','AC'), +('800001012','UGRD','2025','AS','APHY','AC'), +('800001014','UGRD','2025','AS','CHEM','AC'), +('800001015','UGRD','2023','AS','THEA','AC'), +('800001016','UGRD','2023','AS','ROML','AC'), +('800001017','SCS','2024','SCS',NULL,'AC'), +('800001019','UGRD','2024','AS','PHIL','AC'), +('800001021','UGRD','2023','AS','GERM','AC'), +('800001023','NDP',NULL,'AS','GVMT','AC'), +('800001029','UGRD','2025','AS','APCS','AC'), +('800001030','UGRD','2021','AS','STAT','CM'), +('800001034','UGRD','2024','AS','HIST','AC'), +('800001036','UGRD','2021','AS','AS','CM'), +('800001038','UGRD','2024','AS','PHY','AC'), +('800001044','ES',NULL,'AS','PSCI','ES'), +('800001047','UGRD','2021','AS','PSCI','CM'), +('800001048','UGRD','2023','AS','ENG','AC'), +('800001049','SPM','2025','SPM',NULL,'AC'), +('800001050','UGRD','2025','AS','ANTH','AC'), +('800001053','UGRD','2023','AS','HUM','AC'), +('800001058','UGRD','2025','AS','HIST','AC'), +('800001059','UGRD','2024','AS','NELC','AC'), +('800001061','UGRD','2021','AS','HUM','CM'), +('800001063','UGRD','2021','AS','BPHY','CM'), +('800001064','SB','2024','BUS',NULL,'AC'), +('800001067','UGRD','2025','AS','AAAS','AC'), +('800001070','UGRD','2021','AS','BIOS','CM'), +('800001073','UGRD','2021','AS','THEA','CM'), +('800001074','UGRD','2024','AS','SOCS','AC'), +('800001075','UGRD','2024','AS','WRI','AC'), +('800001076','UGRD','2022','AS','ENG','AC'), +('800001077','UGRD','2025','AS','MEDS','AC'), +('800001078','UGRD','2022','AS','MES','AC'), +('800001085','UGRD','2025','AS','PHY','AC'), +('800001090','UGRD','2022','AS','APCS','AC'), +('800001091','UGRD','2024','AS','SLAV','AC'), +('800001092','UGRD','2021','AS','STAT','CM'), +('800001094','UGRD','2024','AS','EALC','AC'), +('800001095','UGRD','2022','AS','AMAT','AC'), +('800001096','UGRD','2023','AS','PSCI','AC'), +('800001098','UGRD','2022','AS','MUS','AC'), +('800001100','UGRD','2024','AS','ENGL','AC'), +('800001102','UGRD','2022','AS','ANTH','AC'), +('800001104','UGRD','2024','AS','CPLT','AC'), +('800001106','UGRD','2023','AS','MCB','AC'), +('800001107','UGRD','2021','AS','MCB','CM'), +('800001110','GRAD','2021','GRD','GS','CM'), +('800001112','UGRD','2021','AS','WRI','CM'), +('800001113','UGRD','2021','AS','LING','CM'), +('800001114','UGRD','2025','AS','SLAV','AC'), +('800001116','UGRD','2022','AS','HUM','AC'), +('800001117','UGRD','2023','AS','CPLT','AC'), +('800001118','UGRD','2022','AS','GSS','AC'), +('800001122','SB','2022','BUS',NULL,'AC'), +('800001123','UGRD','2024','AS','ENV','AC'), +('800001124','UGRD','2022','AS','BPHY','AC'), +('800001127','UGRD','2023','AS','MUS','AC'), +('800001128','UGRD','2023','AS','LIT','AC'), +('800001129','UGRD','2021','AS','BIOS','CM'), +('800001130','UGRD','2024','AS','WRI','AC'), +('800001131','NDP',NULL,'AS','MUS','AC'), +('800001132','UGRD','2024','AS','BPHY','AC'), +('800001133','UGRD','2024','AS','PSYC','AC'), +('800001135','UGRD','2021','AS','ART','CM'), +('800001138','UGRD','2023','AS','SOCS','AC'), +('800001140','UGRD','2021','AS','BIOS','CM'), +('800001143','UGRD','2024','AS','ENGL','AC'), +('800001144','UGRD','2022','AS','GERM','AC'), +('800001148','UGRD','2022','AS','ECOM','AC'), +('800001149','UGRD','2021','AS','CELT','CM'), +('800001150','UGRD','2021','AS','AAAS','CM'), +('800001153','UGRD','2025','AS','BPHY','AC'), +('800001154','UGRD','2024','AS','AS','AC'), +('800001156','UGRD','2024','AS','MUS','AC'), +('800001157','GRAD','2023','GRD','GS','AC'), +('800001159','UGRD','2021','AS','MUS','CM'), +('800001160','UGRD','2022','AS','ENGL','AC'), +('800001164','UGRD','2024','AS','GVMT','AC'), +('800001165','UGRD','2021','AS','POLI','CM'), +('800001166','UGRD','2023','AS','EALC','AC'), +('800001167','UGRD','2023','AS','GERM','AC'), +('800001168','UGRD','2021','AS','ASTR','CM'), +('800001171','UGRD','2024','AS','MUS','AC'), +('800001172','UGRD','2024','AS','HIST','AC'), +('800001174','UGRD','2024','AS','LING','AC'), +('800001176','UGRD','2021','AS','WRI','CM'), +('800001180','UGRD','2025','AS','CS','AC'), +('800001181','UGRD','2023','AS','LING','AC'), +('800001182','UGRD','2024','AS','PHY','AC'), +('800001183','UGRD','2022','AS','ARCH','AC'), +('800001184','UGRD','2024','AS','ASTR','AC'), +('800001185','UGRD','2022','AS','BPHY','AC'), +('800001187','UGRD','2024','AS','HIST','AC'), +('800001189','UGRD','2022','AS','CS','AC'), +('800001190','UGRD','2025','AS','MES','AC'), +('800001192','UGRD','2022','AS','THEA','AC'), +('800001195','UGRD','2021','AS','AAAS','CM'), +('800001198','UGRD','2023','AS','STAT','AC'), +('800001199','UGRD','2025','AS','SOCS','AC'), +('800001200','UGRD','2024','AS','CS','XO'), +('800001203','UGRD','2025','AS','MEDS','LA'), +('800001205','UGRD','2022','AS','AMAT','AC'), +('800001206','UGRD','2023','AS','LIT','AC'), +('800001207','UGRD','2023','AS','POLI','AC'), +('800001208','UGRD','2025','AS','APHY','LA'), +('800001209','UGRD','2024','AS','ENG','AC'), +('800001211','UGRD','2022','AS','LIT','AC'), +('800001213','UGRD','2025','AS','ASTR','AC'), +('800001214','UGRD','2024','AS','APHY','AC'), +('800001216','UGRD','2024','AS','MAT','AC'), +('800001217','UGRD','2022','AS','AS','AC'), +('800001220','UGRD','2021','AS','AAAS','CM'), +('800001222','UGRD','2023','AS','WRI','AC'), +('800001225','UGRD','2022','AS','SLAV','AC'), +('800001226','UGRD','2023','AS','WRI','AC'), +('800001229','UGRD','2025','AS','GERM','AC'), +('800001230','UGRD','2025','AS','HIST','AC'), +('800001231','UGRD','2023','AS','HIST','AC'), +('800001232','UGRD','2024','AS','CELT','AC'), +('800001233','UGRD','2022','AS','SAS','AC'), +('800001234','UGRD','2023','AS','GHP','AC'), +('800001238','UGRD','2022','AS','EALC','AC'), +('800001239','UGRD','2024','AS','SOCS','AC'), +('800001240','UGRD','2024','AS','BPHY','AC'), +('800001244','UGRD','2024','AS','MEDS','AC'), +('800001245','UGRD','2022','AS','ART','XP'), +('800001246','UGRD','2021','AS','CS','CM'), +('800001248','UGRD','2023','AS','POLI','AC'), +('800001250','NDP',NULL,'AS','REL','AC'), +('800001251','UGRD','2024','AS','BIOS','AC'), +('800001252','UGRD','2024','AS','PSYC','AC'), +('800001257','UGRD','2025','AS','REL','AC'), +('800001258','UGRD','2023','AS','ARCH','AC'), +('800001260','UGRD','2025','AS','ASTR','AC'), +('800001262','UGRD','2025','AS','PHY','LA'), +('800001270','UGRD','2024','AS','PSCI','AC'), +('800001271','UGRD','2022','AS','AMAT','AC'), +('800001272','UGRD','2022','AS','SAS','AC'), +('800001273','SB','2025','BUS',NULL,'AC'), +('800001275','UGRD','2023','AS','ANTH','AC'), +('800001276','UGRD','2022','AS','REL','AC'), +('800001277','UGRD','2022','AS','SOCS','AC'), +('800001279','UGRD','2023','AS','MUS','AC'), +('800001280','UGRD','2021','AS','MCB','CM'), +('800001282','UGRD','2022','AS','ANTH','AC'), +('800001283','ES',NULL,'AS','THEA','ES'), +('800001285','UGRD','2023','AS','ASTR','AC'), +('800001287','SB','2023','BUS',NULL,'AC'), +('800001290','UGRD','2021','AS','ENG','CM'), +('800001291','UGRD','2022','AS','AAAS','AC'), +('800001296','UGRD','2024','AS','GHP','AC'), +('800001303','UGRD','2024','AS','HUM','AC'), +('800001304','UGRD','2024','AS','SOCS','AC'), +('800001305','UGRD','2024','AS','HUM','AC'), +('800001306','UGRD','2021','AS','SLAV','CM'), +('800001308','UGRD','2023','AS','GERM','AC'), +('800001309','UGRD','2025','AS','APHY','AC'), +('800001310','UGRD','2024','AS','ARCH','AC'), +('800001311','UGRD','2024','AS','ENG','AC'), +('800001313','UGRD','2025','AS','POLI','AC'), +('800001314','UGRD','2023','AS','ENGL','AC'), +('800001315','UGRD','2024','AS','SAS','AC'), +('800001316','UGRD','2024','AS','MCB','AC'), +('800001318','UGRD','2024','AS','MEDS','AC'), +('800001322','UGRD','2024','AS','LING','AC'), +('800001323','UGRD','2023','AS','CHEM','AC'), +('800001324','UGRD','2024','AS','ENG','AC'), +('800001325','UGRD','2024','AS','AS','AC'), +('800001326','UGRD','2025','AS','APCS','AC'), +('800001329','UGRD','2023','AS','MCB','AC'), +('800001330','GRAD','2021','GRD','GS','CM'), +('800001332','UGRD','2023','AS','NELC','AC'), +('800001334','UGRD','2025','AS','SOC','AC'), +('800001337','UGRD','2024','AS','APCS','AC'), +('800001338','SCS','2022','SCS',NULL,'AC'), +('800001339','UGRD','2025','AS','EALC','AC'), +('800001341','UGRD','2022','AS','POLI','AC'), +('800001342','UGRD','2023','AS','GSS','AC'), +('800001343','UGRD','2023','AS','NELC','AC'), +('800001345','UGRD','2025','AS','CHEM','AC'), +('800001348','GRAD','2024','GRD','GS','AC'), +('800001350','UGRD','2025','AS','HUM','AC'), +('800001351','UGRD','2022','AS','ART','RS'), +('800001354','UGRD','2021','AS','AAAS','CM'), +('800001358','UGRD','2023','AS','NELC','AC'), +('800001360','UGRD','2024','AS','SOC','AC'), +('800001363','UGRD','2025','AS','ROML','AC'), +('800001367','UGRD','2023','AS','SOC','AC'), +('800001369','UGRD','2021','AS','MCB','CM'), +('800001370','UGRD','2022','AS','CPLT','AC'), +('800001371','UGRD','2023','AS','ECOM','AC'), +('800001372','UGRD','2024','AS','HIST','AC'), +('800001373','UGRD','2025','AS','CS','AC'), +('800001374','UGRD','2025','AS','BIOS','AC'), +('800001375','UGRD','2021','AS','SOCS','CM'), +('800001377','UGRD','2023','AS','HUM','AC'), +('800001378','UGRD','2024','AS','GVMT','AC'), +('800001379','UGRD','2021','AS','CS','CM'), +('800001381','UGRD','2021','AS','ROML','CM'), +('800001383','UGRD','2021','AS','PHIL','CM'), +('800001393','UGRD','2025','AS','MUS','AC'), +('800001395','UGRD','2021','AS','ANTH','CM'), +('800001396','SB','2023','BUS',NULL,'AC'), +('800001397','UGRD','2024','AS','BIOL','AC'), +('800001399','UGRD','2024','AS','ARCH','AC'), +('800001400','UGRD','2021','AS','HUM','CM'), +('800001401','UGRD','2023','AS','AS','AC'), +('800001402','UGRD','2025','AS','AS','AC'), +('800001407','UGRD','2025','AS','CELT','RS'), +('800001409','UGRD','2023','AS','PHY','AC'), +('800001410','UGRD','2021','AS','SAS','CM'), +('800001412','UGRD','2024','AS','LIT','AC'), +('800001414','UGRD','2022','AS','MAT','AC'), +('800001416','GRAD','2025','GRD','GS','AC'), +('800001418','UGRD','2022','AS','PSYC','AC'), +('800001420','UGRD','2025','AS','ASTR','AC'), +('800001421','UGRD','2025','AS','ART','AC'), +('800001422','UGRD','2022','AS','ASTR','AC'), +('800001424','GRAD','2022','GRD','GS','AC'), +('800001426','UGRD','2025','AS','SOCS','AC'), +('800001428','UGRD','2024','AS','AS','AC'), +('800001429','UGRD','2025','AS','AMAT','AC'), +('800001431','UGRD','2025','AS','BIOL','AC'), +('800001432','UGRD','2025','AS','APCS','PM'), +('800001433','UGRD','2022','AS','ANTH','AC'), +('800001434','UGRD','2024','AS','HIST','AC'), +('800001436','SPM','2022','SPM',NULL,'AC'), +('800001439','UGRD','2024','AS','GSS','AC'), +('800001440','UGRD','2022','AS','LIT','AC'), +('800001442','UGRD','2025','AS','ART','AC'), +('800001443','UGRD','2023','AS','APCS','AC'), +('800001444','UGRD','2021','AS','LIT','CM'), +('800001447','UGRD','2025','AS','BIOS','AC'), +('800001450','UGRD','2023','AS','SOCS','AC'), +('800001451','UGRD','2022','AS','GERM','AC'), +('800001454','UGRD','2025','AS','ROML','AC'), +('800001462','UGRD','2021','AS','HIST','CM'), +('800001463','UGRD','2021','AS','CELT','CM'), +('800001464','UGRD','2022','AS','MCB','AC'), +('800001466','UGRD','2025','AS','MEDS','AC'), +('800001468','NDP',NULL,'AS','MEDS','AC'), +('800001469','UGRD','2023','AS','ARCH','AC'), +('800001471','UGRD','2022','AS','CELT','AC'), +('800001473','UGRD','2022','AS','PHIL','AC'), +('800001474','UGRD','2023','AS','ENV','AC'), +('800001475','UGRD','2025','AS','GHP','AC'), +('800001476','UGRD','2022','AS','CLSS','AC'), +('800001477','UGRD','2025','AS','MCB','AC'), +('800001478','UGRD','2025','AS','EALC','AC'), +('800001479','UGRD','2021','AS','ENV','CM'), +('800001480','UGRD','2023','AS','CELT','AC'), +('800001481','UGRD','2024','AS','POLI','AC'), +('800001484','UGRD','2024','AS','AS','AC'), +('800001488','UGRD','2025','AS','EALC','AC'), +('800001491','SPM','2023','SPM',NULL,'AC'), +('800001492','UGRD','2025','AS','PHIL','PM'), +('800001496','SPM','2023','SPM',NULL,'AC'), +('800001499','UGRD','2022','AS','LING','AC'), +('800001500','UGRD','2021','AS','CELT','CM'), +('800001501','UGRD','2024','AS','AMAT','AC'), +('800001502','UGRD','2025','AS','SOC','PM'), +('800001503','UGRD','2023','AS','MAT','AC'), +('800001504','UGRD','2022','AS','THEA','AC'), +('800001505','NDP',NULL,'AS','SOCS','AC'), +('800001506','UGRD','2021','AS','ENGL','CM'), +('800001507','GRAD','2024','GRD','GS','AC'), +('800001508','UGRD','2021','AS','AMAT','CM'), +('800001509','UGRD','2024','AS','CHEM','AC'), +('800001511','UGRD','2021','AS','SOCS','CM'), +('800001512','UGRD','2025','AS','EALC','LA'), +('800001513','SB','2023','BUS',NULL,'AC'), +('800001518','UGRD','2024','AS','BIOS','AC'), +('800001519','UGRD','2023','AS','CPLT','AC'), +('800001520','GRAD','2025','GRD','GS','AC'), +('800001523','UGRD','2021','AS','ROML','CM'), +('800001524','UGRD','2025','AS','ASTR','AC'), +('800001526','UGRD','2022','AS','POLI','AC'), +('800001528','UGRD','2022','AS','STAT','AC'), +('800001529','UGRD','2024','AS','PHIL','AC'), +('800001531','UGRD','2025','AS','PHIL','AC'), +('800001532','UGRD','2024','AS','AAAS','AC'), +('800001536','UGRD','2024','AS','POLI','AC'), +('800001537','UGRD','2025','AS','SOCS','AC'), +('800001538','SCS','2022','SCS',NULL,'AC'), +('800001540','UGRD','2023','AS','CELT','AC'), +('800001541','UGRD','2021','AS','ART','CM'), +('800001542','UGRD','2021','AS','SLAV','CM'), +('800001545','UGRD','2025','AS','HUM','AC'), +('800001546','UGRD','2023','AS','SAS','AC'), +('800001548','UGRD','2022','AS','APHY','AC'), +('800001550','UGRD','2022','AS','LING','AC'), +('800001552','UGRD','2023','AS','SOC','AC'), +('800001554','UGRD','2024','AS','REL','AC'), +('800001556','UGRD','2021','AS','CHEM','CM'), +('800001559','UGRD','2022','AS','GHP','AC'), +('800001561','UGRD','2025','AS','NELC','AC'), +('800001562','UGRD','2022','AS','ASTR','AC'), +('800001564','ES',NULL,'AS','MES','ES'), +('800001566','UGRD','2025','AS','LIT','AC'), +('800001569','SPM','2021','SPM',NULL,'CM'), +('800001571','GNDP',NULL,'GRD','GS','AC'), +('800001572','UGRD','2025','AS','AS','AC'), +('800001573','UGRD','2023','AS','CPLT','AC'), +('800001574','SCS','2023','SCS',NULL,'AC'), +('800001579','GRAD','2021','GRD','GS','CM'), +('800001581','UGRD','2022','AS','CHEM','AC'), +('800001582','UGRD','2021','AS','MES','CM'), +('800001583','UGRD','2025','AS','ECOM','AC'), +('800001584','UGRD','2022','AS','BIOL','AC'), +('800001585','ES',NULL,'AS','AMAT','ES'), +('800001586','SCS','2022','SCS',NULL,'AC'), +('800001588','UGRD','2024','AS','PSYC','AC'), +('800001589','UGRD','2024','AS','GVMT','XP'), +('800001591','UGRD','2025','AS','AMAT','AC'), +('800001592','UGRD','2024','AS','BIOL','AC'), +('800001593','SCS','2021','SCS',NULL,'CM'), +('800001594','UGRD','2021','AS','ENGL','CM'), +('800001596','NDP',NULL,'AS','GHP','AC'), +('800001599','NDP',NULL,'AS','BIOS','AC'), +('800001601','UGRD','2021','AS','GERM','CM'), +('800001605','UGRD','2023','AS','APHY','AC'), +('800001606','UGRD','2025','AS','GERM','AC'), +('800001607','UGRD','2021','AS','STAT','CM'), +('800001608','UGRD','2021','AS','PHY','CM'), +('800001609','UGRD','2022','AS','STAT','AC'), +('800001610','UGRD','2022','AS','PHIL','AC'), +('800001611','UGRD','2023','AS','AMAT','AC'), +('800001612','UGRD','2023','AS','GVMT','AC'), +('800001613','UGRD','2023','AS','MES','AC'), +('800001614','UGRD','2023','AS','ECOM','AC'), +('800001616','NDP',NULL,'AS','REL','AC'), +('800001617','UGRD','2021','AS','ARCH','CM'), +('800001619','UGRD','2025','AS','ROML','LA'), +('800001620','UGRD','2021','AS','BIOS','CM'), +('800001621','UGRD','2021','AS','MCB','CM'), +('800001622','UGRD','2025','AS','LIT','AC'), +('800001623','UGRD','2022','AS','BPHY','AC'), +('800001625','UGRD','2022','AS','CLSS','AC'), +('800001626','UGRD','2023','AS','AS','AC'), +('800001630','UGRD','2025','AS','SAS','AC'), +('800001631','UGRD','2024','AS','GHP','AC'), +('800001633','UGRD','2024','AS','SOC','AC'), +('800001635','UGRD','2022','AS','PHY','AC'), +('800001637','UGRD','2021','AS','CELT','CM'), +('800001639','UGRD','2022','AS','ARCH','AC'), +('800001640','UGRD','2025','AS','ENG','AC'), +('800001641','UGRD','2025','AS','CHEM','AC'), +('800001643','UGRD','2023','AS','ENV','AC'), +('800001644','UGRD','2025','AS','MEDS','AC'), +('800001645','UGRD','2023','AS','BIOS','AC'), +('800001646','UGRD','2021','AS','AS','CM'), +('800001647','UGRD','2021','AS','CELT','CM'), +('800001648','UGRD','2022','AS','GSS','AC'), +('800001652','UGRD','2024','AS','BIOL','XO'), +('800001653','UGRD','2023','AS','MES','AC'), +('800001657','UGRD','2024','AS','GSS','AC'), +('800001659','UGRD','2025','AS','CS','AC'), +('800001661','ES',NULL,'AS','EALC','ES'), +('800001662','UGRD','2025','AS','SLAV','AC'), +('800001665','UGRD','2023','AS','NELC','AC'), +('800001667','SCS','2025','SCS',NULL,'AC'), +('800001670','UGRD','2025','AS','CELT','AC'), +('800001671','UGRD','2021','AS','GSS','CM'), +('800001673','UGRD','2022','AS','ENV','XO'), +('800001674','UGRD','2025','AS','MEDS','AC'), +('800001675','UGRD','2025','AS','CLSS','AC'), +('800001677','UGRD','2021','AS','SLAV','CM'), +('800001678','UGRD','2022','AS','CELT','AC'), +('800001679','UGRD','2021','AS','CELT','CM'), +('800001680','UGRD','2021','AS','BIOL','CM'), +('800001683','UGRD','2025','AS','MUS','AC'), +('800001687','SCS','2024','SCS',NULL,'AC'), +('800001689','UGRD','2023','AS','AAAS','AC'), +('800001691','UGRD','2021','AS','AMAT','CM'), +('800001692','UGRD','2025','AS','HUM','AC'), +('800001694','UGRD','2023','AS','MES','AC'), +('800001695','UGRD','2022','AS','APCS','AC'), +('800001696','UGRD','2024','AS','BPHY','AC'), +('800001697','UGRD','2025','AS','ART','AC'), +('800001698','UGRD','2025','AS','HIST','AC'), +('800001699','NDP',NULL,'AS','APCS','AC'), +('800001703','UGRD','2021','AS','SOC','CM'), +('800001704','UGRD','2024','AS','AAAS','AC'), +('800001705','UGRD','2023','AS','LING','AC'), +('800001706','NDP',NULL,'AS','GVMT','AC'), +('800001707','UGRD','2024','AS','MEDS','AC'), +('800001710','UGRD','2023','AS','CHEM','AC'), +('800001711','UGRD','2021','AS','WRI','CM'), +('800001712','ES',NULL,'AS','MES','ES'), +('800001713','UGRD','2025','AS','NELC','AC'), +('800001715','SB','2025','BUS',NULL,'AC'), +('800001716','ES',NULL,'AS','ASTR','ES'), +('800001717','UGRD','2021','AS','ART','CM'), +('800001718','UGRD','2025','AS','PHIL','AC'), +('800001719','UGRD','2021','AS','MAT','CM'), +('800001720','UGRD','2021','AS','APHY','CM'), +('800001721','UGRD','2023','AS','BIOL','AC'), +('800001723','UGRD','2025','AS','APHY','AC'), +('800001724','UGRD','2024','AS','SAS','AC'), +('800001725','UGRD','2022','AS','LIT','AC'), +('800001729','UGRD','2023','AS','NELC','AC'), +('800001730','UGRD','2023','AS','CLSS','AC'), +('800001732','UGRD','2025','AS','BIOS','AC'), +('800001733','GRAD','2022','GRD','GS','AC'), +('800001735','UGRD','2025','AS','AMAT','AC'), +('800001738','UGRD','2024','AS','CS','AC'), +('800001740','SB','2024','BUS',NULL,'AC'), +('800001741','UGRD','2023','AS','AAAS','AC'), +('800001743','UGRD','2025','AS','ROML','LA'), +('800001744','UGRD','2025','AS','ANTH','LA'), +('800001745','UGRD','2025','AS','PSYC','AC'), +('800001747','UGRD','2021','AS','EALC','CM'), +('800001748','UGRD','2025','AS','SOCS','AC'), +('800001750','UGRD','2023','AS','HUM','AC'), +('800001751','UGRD','2025','AS','SLAV','AC'), +('800001754','UGRD','2025','AS','ECOM','AC'), +('800001756','SCS','2024','SCS',NULL,'AC'), +('800001759','UGRD','2025','AS','BIOL','AC'), +('800001761','UGRD','2025','AS','MUS','AC'), +('800001763','UGRD','2021','AS','BIOL','CM'), +('800001765','UGRD','2022','AS','ANTH','AC'), +('800001766','UGRD','2021','AS','ENGL','CM'), +('800001767','UGRD','2025','AS','THEA','AC'), +('800001768','UGRD','2025','AS','HUM','AC'), +('800001769','UGRD','2024','AS','ARCH','AC'), +('800001771','UGRD','2023','AS','BIOL','AC'), +('800001773','UGRD','2025','AS','HIST','AC'), +('800001774','UGRD','2024','AS','MCB','AC'), +('800001777','UGRD','2022','AS','AMAT','AC'), +('800001779','UGRD','2022','AS','LING','AC'), +('800001782','UGRD','2023','AS','ENG','AC'), +('800001783','UGRD','2025','AS','SLAV','AC'), +('800001785','UGRD','2022','AS','PSCI','AC'), +('800001787','UGRD','2023','AS','MCB','AC'), +('800001789','ES',NULL,'AS','MAT','ES'), +('800001791','UGRD','2022','AS','REL','AC'), +('800001792','UGRD','2025','AS','APHY','AC'), +('800001793','UGRD','2024','AS','REL','AC'), +('800001794','UGRD','2021','AS','SLAV','CM'), +('800001795','GRAD','2024','GRD','GS','AC'), +('800001796','UGRD','2025','AS','ENGL','AC'), +('800001797','NDP',NULL,'AS','CLSS','AC'), +('800001798','UGRD','2022','AS','PSYC','AC'), +('800001799','UGRD','2022','AS','EALC','AC'), +('800001800','UGRD','2023','AS','MAT','AC'), +('800001801','UGRD','2024','AS','THEA','AC'), +('800001802','UGRD','2022','AS','APHY','AC'), +('800001805','UGRD','2021','AS','MES','CM'), +('800001809','UGRD','2021','AS','BPHY','CM'), +('800001811','NDP',NULL,'AS','CLSS','AC'), +('800001813','UGRD','2022','AS','PHY','AC'), +('800001814','UGRD','2023','AS','CHEM','AC'), +('800001815','UGRD','2023','AS','CHEM','AC'), +('800001816','UGRD','2025','AS','SAS','AC'), +('800001817','UGRD','2022','AS','PHY','AC'), +('800001818','UGRD','2021','AS','SOC','CM'), +('800001819','UGRD','2022','AS','APCS','AC'), +('800001820','UGRD','2025','AS','EALC','AC'), +('800001824','NDP',NULL,'AS','SOCS','AC'), +('800001831','UGRD','2022','AS','MUS','AC'), +('800001832','UGRD','2025','AS','ART','AC'), +('800001835','UGRD','2024','AS','LING','AC'), +('800001837','UGRD','2024','AS','LING','AC'), +('800001840','UGRD','2025','AS','APCS','AC'), +('800001841','UGRD','2024','AS','ART','AC'), +('800001844','UGRD','2021','AS','MES','CM'), +('800001846','UGRD','2025','AS','POLI','AC'), +('800001849','UGRD','2023','AS','LING','AC'), +('800001850','UGRD','2022','AS','CPLT','AC'), +('800001852','GRAD','2024','GRD','GS','AC'), +('800001853','UGRD','2025','AS','CS','XO'), +('800001854','UGRD','2025','AS','ENG','PM'), +('800001857','UGRD','2024','AS','CS','AC'), +('800001858','SB','2024','BUS',NULL,'AC'), +('800001859','UGRD','2023','AS','MES','AC'), +('800001860','GRAD','2024','GRD','GS','AC'), +('800001861','UGRD','2022','AS','SOCS','AC'), +('800001865','UGRD','2022','AS','PHIL','AC'), +('800001866','UGRD','2022','AS','GVMT','AC'), +('800001869','UGRD','2025','AS','ENV','PM'), +('800001870','UGRD','2021','AS','MUS','CM'), +('800001872','UGRD','2023','AS','HUM','AC'), +('800001876','UGRD','2022','AS','MCB','AC'), +('800001877','UGRD','2022','AS','PSCI','AC'), +('800001880','UGRD','2023','AS','GERM','AC'), +('800001881','UGRD','2023','AS','LING','AC'), +('800001882','UGRD','2021','AS','GVMT','CM'), +('800001884','UGRD','2021','AS','ANTH','CM'), +('800001891','UGRD','2025','AS','MES','AC'), +('800001892','UGRD','2021','AS','THEA','CM'), +('800001895','UGRD','2025','AS','ENG','AC'), +('800001896','UGRD','2025','AS','GHP','AC'), +('800001898','UGRD','2024','AS','PHY','AC'), +('800001899','UGRD','2022','AS','GERM','AC'), +('800001900','UGRD','2022','AS','CPLT','AC'), +('800001901','UGRD','2024','AS','CHEM','AC'), +('800001903','UGRD','2023','AS','SOC','AC'), +('800001905','UGRD','2025','AS','ASTR','AC'), +('800001907','UGRD','2021','AS','WRI','CM'), +('800001910','UGRD','2025','AS','ARCH','AC'), +('800001911','UGRD','2025','AS','AMAT','XP'), +('800001912','UGRD','2025','AS','AS','LA'), +('800001914','UGRD','2022','AS','HIST','AC'), +('800001915','UGRD','2022','AS','WRI','AC'), +('800001916','UGRD','2023','AS','ENV','AC'), +('800001917','UGRD','2024','AS','MES','AC'), +('800001918','UGRD','2025','AS','LIT','AC'), +('800001919','UGRD','2025','AS','MUS','AC'), +('800001920','UGRD','2025','AS','CELT','AC'), +('800001921','UGRD','2021','AS','APHY','CM'), +('800001923','UGRD','2021','AS','MAT','CM'), +('800001924','UGRD','2021','AS','LING','CM'), +('800001926','GRAD','2021','GRD','GS','CM'), +('800001927','UGRD','2025','AS','GSS','AC'), +('800001928','UGRD','2021','AS','REL','CM'), +('800001929','UGRD','2021','AS','LING','CM'), +('800001932','UGRD','2025','AS','THEA','AC'), +('800001933','GRAD','2025','GRD','GS','AC'), +('800001937','UGRD','2025','AS','GVMT','AC'), +('800001938','ES',NULL,'AS','APHY','ES'), +('800001940','UGRD','2022','AS','ASTR','AC'), +('800001941','UGRD','2023','AS','ARCH','AC'), +('800001944','UGRD','2021','AS','MUS','CM'), +('800001949','UGRD','2021','AS','CELT','CM'), +('800001951','UGRD','2023','AS','CPLT','AC'), +('800001952','UGRD','2023','AS','ARCH','AC'), +('800001954','UGRD','2021','AS','PHY','CM'), +('800001955','UGRD','2024','AS','ARCH','AC'), +('800001956','UGRD','2024','AS','ANTH','AC'), +('800001957','UGRD','2025','AS','ROML','LA'), +('800001958','UGRD','2023','AS','PHY','AC'), +('800001960','UGRD','2025','AS','ARCH','AC'), +('800001961','UGRD','2023','AS','SLAV','AC'), +('800001965','UGRD','2025','AS','GSS','LA'), +('800001967','UGRD','2024','AS','AAAS','AC'), +('800001968','UGRD','2025','AS','STAT','AC'), +('800001969','UGRD','2025','AS','HIST','AC'), +('800001974','UGRD','2024','AS','PHIL','AC'), +('800001976','UGRD','2022','AS','BPHY','AC'), +('800001977','UGRD','2023','AS','BIOS','AC'), +('800001981','UGRD','2025','AS','LIT','AC'), +('800001982','UGRD','2021','AS','ANTH','CM'), +('800001983','UGRD','2022','AS','PHY','AC'), +('800001984','UGRD','2023','AS','CLSS','AC'), +('800001986','UGRD','2025','AS','CPLT','AC'), +('800001987','UGRD','2022','AS','SLAV','AC'), +('800001988','SCS','2025','SCS',NULL,'AC'), +('800001989','UGRD','2024','AS','ART','AC'), +('800001990','UGRD','2021','AS','ARCH','CM'), +('800001991','UGRD','2023','AS','NELC','AC'), +('800001992','UGRD','2024','AS','MAT','AC'), +('800001993','UGRD','2022','AS','LIT','AC'), +('800001994','UGRD','2024','AS','WRI','AC'), +('800001995','UGRD','2025','AS','STAT','AC'), +('800001996','SPM','2024','SPM',NULL,'AC'), +('800001997','UGRD','2022','AS','AAAS','AC'), +('800001998','UGRD','2021','AS','ANTH','CM'), +('800002001','UGRD','2022','AS','ECOM','AC'), +('800002003','UGRD','2022','AS','EALC','AC'), +('800002004','UGRD','2022','AS','CS','AC'), +('800002005','UGRD','2022','AS','ENG','AC'), +('800002006','UGRD','2023','AS','APHY','AC'), +('800002007','UGRD','2021','AS','MCB','CM'), +('800002008','UGRD','2021','AS','PSYC','CM'), +('800002010','SB','2022','BUS',NULL,'AC'), +('800002011','UGRD','2022','AS','PSYC','AC'), +('800002014','UGRD','2021','AS','PHIL','CM'), +('800002017','NDP',NULL,'AS','BIOL','AC'), +('800002018','UGRD','2022','AS','HIST','AC'), +('800002020','UGRD','2023','AS','STAT','AC'), +('800002024','ES',NULL,'AS','GERM','ES'), +('800002025','UGRD','2025','AS','BPHY','AC'), +('800002026','UGRD','2022','AS','GSS','AC'), +('800002027','UGRD','2024','AS','CPLT','AC'), +('800002028','UGRD','2021','AS','APHY','CM'), +('800002029','UGRD','2023','AS','AS','AC'), +('800002030','UGRD','2024','AS','AS','AC'), +('800002031','UGRD','2023','AS','MAT','XO'), +('800002032','UGRD','2025','AS','BIOS','LA'), +('800002033','UGRD','2023','AS','LING','AC'), +('800002034','UGRD','2025','AS','PSYC','AC'), +('800002035','UGRD','2024','AS','WRI','AC'), +('800002042','UGRD','2024','AS','EALC','AC'), +('800002044','UGRD','2023','AS','PSCI','AC'), +('800002045','UGRD','2021','AS','AAAS','CM'), +('800002050','UGRD','2022','AS','THEA','AC'), +('800002052','SCS','2021','SCS',NULL,'CM'), +('800002053','UGRD','2021','AS','PSCI','CM'), +('800002054','UGRD','2025','AS','PHIL','AC'), +('800002056','UGRD','2023','AS','ENG','AC'), +('800002060','UGRD','2024','AS','ROML','AC'), +('800002062','UGRD','2024','AS','SOCS','AC'), +('800002064','UGRD','2024','AS','ROML','AC'), +('800002065','UGRD','2021','AS','EALC','CM'), +('800002068','UGRD','2021','AS','MCB','CM'), +('800002070','UGRD','2021','AS','HUM','CM'), +('800002071','UGRD','2021','AS','APHY','CM'), +('800002072','GRAD','2025','GRD','GS','AC'), +('800002074','UGRD','2024','AS','PSYC','AC'), +('800002077','UGRD','2025','AS','SOC','AC'), +('800002078','UGRD','2021','AS','APCS','CM'), +('800002080','UGRD','2022','AS','SAS','AC'), +('800002081','GRAD','2025','GRD','GS','AC'), +('800002083','SPM','2021','SPM',NULL,'CM'), +('800002086','UGRD','2021','AS','MEDS','CM'), +('800002087','GRAD','2025','GRD','GS','AC'), +('800002089','UGRD','2025','AS','PHIL','AC'), +('800002090','UGRD','2024','AS','MEDS','AC'), +('800002091','UGRD','2022','AS','ECOM','AC'), +('800002095','UGRD','2025','AS','CS','AC'), +('800002097','UGRD','2021','AS','GSS','CM'), +('800002101','UGRD','2023','AS','SOC','AC'), +('800002102','UGRD','2023','AS','SOC','AC'), +('800002103','UGRD','2023','AS','BPHY','AC'), +('800002105','UGRD','2021','AS','SOC','CM'), +('800002107','UGRD','2025','AS','BPHY','AC'), +('800002111','UGRD','2024','AS','HIST','AC'), +('800002112','UGRD','2024','AS','GSS','AC'), +('800002113','UGRD','2024','AS','ANTH','AC'), +('800002115','UGRD','2023','AS','SLAV','AC'), +('800002117','UGRD','2024','AS','CLSS','AC'), +('800002119','UGRD','2022','AS','ENGL','AC'), +('800002120','UGRD','2023','AS','ENV','AC'), +('800002123','UGRD','2023','AS','POLI','AC'), +('800002124','UGRD','2024','AS','ARCH','AC'), +('800002133','UGRD','2022','AS','SLAV','AC'), +('800002134','UGRD','2024','AS','CPLT','AC'), +('800002135','UGRD','2022','AS','SOCS','AC'), +('800002136','UGRD','2021','AS','THEA','CM'), +('800002137','UGRD','2023','AS','MES','AC'), +('800002138','SPM','2021','SPM',NULL,'CM'), +('800002140','UGRD','2025','AS','BIOS','AC'), +('800002143','UGRD','2023','AS','CLSS','AC'), +('800002145','ES',NULL,'AS','MUS','ES'), +('800002146','UGRD','2021','AS','MES','CM'), +('800002148','UGRD','2024','AS','PSYC','AC'), +('800002149','NDP',NULL,'AS','PSYC','AC'), +('800002151','UGRD','2021','AS','SAS','CM'), +('800002152','UGRD','2023','AS','PHY','AC'), +('800002153','UGRD','2025','AS','ANTH','LA'), +('800002154','UGRD','2021','AS','ECOM','CM'), +('800002155','UGRD','2025','AS','GSS','AC'), +('800002159','UGRD','2024','AS','POLI','AC'), +('800002160','UGRD','2023','AS','CLSS','AC'), +('800002161','UGRD','2022','AS','PSCI','AC'), +('800002162','UGRD','2025','AS','THEA','AC'), +('800002163','UGRD','2023','AS','POLI','AC'), +('800002165','UGRD','2025','AS','GERM','AC'), +('800002166','UGRD','2025','AS','MES','AC'), +('800002167','UGRD','2021','AS','ARCH','CM'), +('800002169','UGRD','2025','AS','GHP','AC'), +('800002172','UGRD','2023','AS','CPLT','AC'), +('800002174','UGRD','2025','AS','BIOS','AC'), +('800002175','UGRD','2023','AS','ANTH','AC'), +('800002177','UGRD','2021','AS','ROML','CM'), +('800002178','UGRD','2025','AS','SOC','AC'), +('800002179','UGRD','2021','AS','ENGL','CM'), +('800002182','UGRD','2025','AS','APCS','AC'), +('800002183','UGRD','2021','AS','NELC','CM'), +('800002184','UGRD','2024','AS','GSS','AC'), +('800002185','UGRD','2025','AS','ENGL','AC'), +('800002186','UGRD','2021','AS','STAT','CM'), +('800002187','SPM','2022','SPM',NULL,'AC'), +('800002195','UGRD','2021','AS','LIT','CM'), +('800002196','UGRD','2024','AS','ARCH','AC'), +('800002197','UGRD','2022','AS','SLAV','AC'), +('800002198','UGRD','2021','AS','ASTR','CM'), +('800002199','SPM','2021','SPM',NULL,'CM'), +('800002200','UGRD','2024','AS','CPLT','AC'), +('800002201','UGRD','2025','AS','MCB','AC'), +('800002202','UGRD','2024','AS','EALC','AC'), +('800002203','UGRD','2021','AS','ROML','CM'), +('800002204','UGRD','2025','AS','ROML','AC'), +('800002205','UGRD','2025','AS','NELC','AC'), +('800002207','UGRD','2022','AS','STAT','AC'), +('800002208','UGRD','2023','AS','SLAV','XP'), +('800002209','UGRD','2023','AS','APCS','AC'), +('800002211','UGRD','2025','AS','ANTH','AC'), +('800002213','UGRD','2021','AS','CS','CM'), +('800002214','UGRD','2023','AS','GVMT','AC'), +('800002215','UGRD','2021','AS','THEA','CM'), +('800002217','UGRD','2025','AS','PSCI','AC'), +('800002219','UGRD','2025','AS','PHY','AC'), +('800002221','UGRD','2025','AS','CELT','AC'), +('800002222','UGRD','2021','AS','MUS','CM'), +('800002224','UGRD','2023','AS','WRI','AC'), +('800002225','UGRD','2021','AS','LING','CM'), +('800002226','UGRD','2021','AS','ENGL','CM'), +('800002227','UGRD','2024','AS','ASTR','XO'), +('800002228','UGRD','2021','AS','ECOM','CM'), +('800002229','UGRD','2022','AS','BPHY','AC'), +('800002233','UGRD','2023','AS','LIT','AC'), +('800002239','UGRD','2023','AS','GSS','AC'), +('800002240','UGRD','2023','AS','WRI','AC'), +('800002241','UGRD','2023','AS','SLAV','AC'), +('800002242','UGRD','2024','AS','ANTH','AC'), +('800002243','UGRD','2024','AS','AS','AC'), +('800002244','UGRD','2021','AS','ENV','CM'), +('800002246','UGRD','2023','AS','MUS','AC'), +('800002248','UGRD','2025','AS','MES','AC'), +('800002249','UGRD','2022','AS','LIT','AC'), +('800002251','UGRD','2021','AS','ARCH','CM'), +('800002253','UGRD','2023','AS','MUS','AC'), +('800002255','UGRD','2022','AS','SAS','AC'), +('800002257','UGRD','2022','AS','ARCH','AC'), +('800002258','SPM','2023','SPM',NULL,'AC'), +('800002262','UGRD','2022','AS','ASTR','AC'), +('800002263','UGRD','2021','AS','ARCH','CM'), +('800002264','UGRD','2025','AS','NELC','AC'), +('800002266','UGRD','2022','AS','PHIL','AC'), +('800002267','UGRD','2023','AS','ECOM','AC'), +('800002268','UGRD','2025','AS','WRI','AC'), +('800002269','UGRD','2023','AS','PHIL','AC'), +('800002270','UGRD','2024','AS','ANTH','AC'), +('800002274','UGRD','2024','AS','CLSS','AC'), +('800002276','UGRD','2024','AS','AAAS','AC'), +('800002277','UGRD','2024','AS','MAT','AC'), +('800002278','SCS','2021','SCS',NULL,'CM'), +('800002281','UGRD','2021','AS','ECOM','CM'), +('800002284','UGRD','2024','AS','LING','AC'), +('800002292','UGRD','2022','AS','ANTH','AC'), +('800002293','UGRD','2021','AS','POLI','CM'), +('800002297','UGRD','2023','AS','STAT','AC'), +('800002299','UGRD','2022','AS','PSYC','AC'), +('800002300','UGRD','2022','AS','EALC','AC'), +('800002301','UGRD','2022','AS','AAAS','AC'), +('800002302','UGRD','2021','AS','MEDS','CM'), +('800002304','UGRD','2024','AS','ANTH','AC'), +('800002305','UGRD','2023','AS','NELC','AC'), +('800002306','UGRD','2021','AS','MUS','CM'), +('800002307','NDP',NULL,'AS','MCB','AC'), +('800002309','UGRD','2025','AS','BIOS','LA'), +('800002310','UGRD','2025','AS','APCS','LA'), +('800002311','UGRD','2025','AS','AMAT','AC'), +('800002312','SB','2022','BUS',NULL,'AC'), +('800002313','UGRD','2021','AS','ARCH','CM'), +('800002314','UGRD','2023','AS','SAS','AC'), +('800002315','UGRD','2022','AS','ECOM','AC'), +('800002316','UGRD','2024','AS','PSCI','RS'), +('800002318','UGRD','2022','AS','APHY','AC'), +('800002320','UGRD','2024','AS','BIOS','AC'), +('800002322','UGRD','2025','AS','MUS','AC'), +('800002324','GRAD','2023','GRD','GS','AC'), +('800002326','UGRD','2025','AS','SAS','AC'), +('800002328','UGRD','2023','AS','ENV','AC'), +('800002330','UGRD','2021','AS','BIOL','CM'), +('800002331','UGRD','2021','AS','SOCS','CM'), +('800002337','UGRD','2021','AS','BIOS','CM'), +('800002338','UGRD','2024','AS','THEA','AC'), +('800002340','UGRD','2023','AS','ROML','AC'), +('800002341','UGRD','2023','AS','BPHY','AC'), +('800002342','UGRD','2021','AS','PSCI','CM'), +('800002343','UGRD','2024','AS','MCB','AC'), +('800002346','UGRD','2022','AS','STAT','AC'), +('800002351','UGRD','2024','AS','AMAT','AC'), +('800002352','UGRD','2022','AS','LING','AC'), +('800002353','UGRD','2021','AS','CLSS','CM'), +('800002354','UGRD','2021','AS','STAT','CM'), +('800002355','UGRD','2023','AS','ENV','AC'), +('800002357','SPM','2025','SPM',NULL,'AC'), +('800002358','UGRD','2023','AS','AS','AC'), +('800002359','GRAD','2023','GRD','GS','AC'), +('800002360','UGRD','2024','AS','WRI','AC'), +('800002361','UGRD','2022','AS','MAT','AC'), +('800002363','UGRD','2024','AS','NELC','XP'), +('800002364','UGRD','2023','AS','MES','AC'), +('800002365','UGRD','2023','AS','MAT','AC'), +('800002369','UGRD','2022','AS','CS','AC'), +('800002370','UGRD','2022','AS','CELT','AC'), +('800002371','UGRD','2022','AS','NELC','AC'), +('800002373','UGRD','2025','AS','STAT','AC'), +('800002375','UGRD','2025','AS','REL','AC'), +('800002378','UGRD','2024','AS','MAT','AC'), +('800002379','ES',NULL,'AS','SAS','ES'), +('800002382','UGRD','2021','AS','ASTR','CM'), +('800002384','UGRD','2021','AS','MES','CM'), +('800002387','SPM','2022','SPM',NULL,'AC'), +('800002388','UGRD','2021','AS','ASTR','CM'), +('800002393','UGRD','2022','AS','SOCS','AC'), +('800002395','UGRD','2025','AS','ENV','AC'), +('800002397','UGRD','2022','AS','MUS','AC'), +('800002399','UGRD','2025','AS','WRI','LA'), +('800002400','UGRD','2021','AS','GVMT','CM'), +('800002401','UGRD','2021','AS','HUM','CM'), +('800002403','UGRD','2023','AS','PHIL','AC'), +('800002404','UGRD','2023','AS','GHP','AC'), +('800002405','UGRD','2021','AS','THEA','CM'), +('800002406','UGRD','2023','AS','PSYC','AC'), +('800002408','UGRD','2024','AS','ASTR','AC'), +('800002410','UGRD','2025','AS','ART','PM'), +('800002412','UGRD','2022','AS','BIOS','AC'), +('800002414','UGRD','2024','AS','EALC','AC'), +('800002416','UGRD','2024','AS','AS','AC'), +('800002417','UGRD','2025','AS','GSS','AC'), +('800002418','UGRD','2025','AS','PHIL','AC'), +('800002420','UGRD','2022','AS','CHEM','AC'), +('800002422','UGRD','2025','AS','LING','AC'), +('800002425','UGRD','2024','AS','AS','AC'), +('800002426','UGRD','2023','AS','ARCH','XO'), +('800002427','UGRD','2025','AS','STAT','AC'), +('800002428','UGRD','2021','AS','MES','CM'), +('800002429','UGRD','2023','AS','MAT','AC'), +('800002431','UGRD','2025','AS','GSS','XO'), +('800002433','UGRD','2021','AS','BIOL','CM'), +('800002434','UGRD','2024','AS','BPHY','AC'), +('800002435','UGRD','2022','AS','APCS','AC'), +('800002438','UGRD','2022','AS','THEA','AC'), +('800002442','UGRD','2022','AS','ENV','AC'), +('800002443','UGRD','2022','AS','ASTR','AC'), +('800002444','GRAD','2023','GRD','GS','AC'), +('800002445','UGRD','2021','AS','EALC','CM'), +('800002447','UGRD','2023','AS','ROML','AC'), +('800002449','UGRD','2023','AS','GVMT','AC'), +('800002450','UGRD','2025','AS','AAAS','AC'), +('800002451','UGRD','2025','AS','CELT','AC'), +('800002452','NDP',NULL,'AS','THEA','AC'), +('800002453','UGRD','2023','AS','ENGL','AC'), +('800002455','UGRD','2025','AS','BIOL','AC'), +('800002456','UGRD','2024','AS','PHY','AC'), +('800002458','UGRD','2023','AS','ROML','AC'), +('800002461','UGRD','2024','AS','AMAT','AC'), +('800002463','UGRD','2024','AS','HIST','AC'), +('800002464','UGRD','2022','AS','ENGL','AC'), +('800002465','UGRD','2023','AS','NELC','AC'), +('800002469','UGRD','2021','AS','WRI','CM'), +('800002470','UGRD','2025','AS','WRI','AC'), +('800002471','UGRD','2023','AS','ANTH','AC'), +('800002475','UGRD','2025','AS','POLI','AC'), +('800002476','ES',NULL,'AS','STAT','ES'), +('800002477','UGRD','2022','AS','AS','AC'), +('800002478','SPM','2023','SPM',NULL,'AC'), +('800002479','UGRD','2022','AS','ASTR','AC'), +('800002480','UGRD','2024','AS','AS','AC'), +('800002481','UGRD','2023','AS','SLAV','AC'), +('800002482','UGRD','2025','AS','HUM','AC'), +('800002483','SB','2023','BUS',NULL,'AC'), +('800002487','UGRD','2021','AS','AMAT','CM'), +('800002490','SCS','2022','SCS',NULL,'AC'), +('800002491','UGRD','2024','AS','GSS','AC'), +('800002492','UGRD','2025','AS','ANTH','AC'), +('800002493','UGRD','2024','AS','ROML','AC'), +('800002494','UGRD','2021','AS','HUM','CM'), +('800002500','UGRD','2021','AS','PSYC','CM'), +('800002501','UGRD','2023','AS','CHEM','AC'), +('800002502','UGRD','2025','AS','REL','AC'), +('800002503','UGRD','2024','AS','AMAT','AC'), +('800002507','UGRD','2022','AS','GERM','AC'), +('800002509','UGRD','2021','AS','ANTH','CM'), +('800002511','UGRD','2022','AS','AAAS','AC'), +('800002514','UGRD','2022','AS','ENGL','AC'), +('800002515','NDP',NULL,'AS','GHP','AC'), +('800002516','UGRD','2022','AS','PSCI','AC'), +('800002517','UGRD','2025','AS','AS','AC'), +('800002518','UGRD','2021','AS','STAT','CM'), +('800002519','UGRD','2021','AS','APHY','CM'), +('800002523','UGRD','2023','AS','BIOL','AC'), +('800002524','UGRD','2024','AS','SOCS','AC'), +('800002525','UGRD','2025','AS','BIOL','AC'), +('800002526','UGRD','2024','AS','ENG','AC'), +('800002527','UGRD','2021','AS','GSS','CM'), +('800002528','UGRD','2022','AS','PHY','AC'), +('800002530','UGRD','2021','AS','LIT','CM'), +('800002531','UGRD','2025','AS','MEDS','AC'), +('800002533','UGRD','2021','AS','BIOS','CM'), +('800002534','UGRD','2021','AS','ART','CM'), +('800002536','UGRD','2025','AS','GHP','AC'), +('800002537','UGRD','2024','AS','CHEM','AC'), +('800002539','UGRD','2023','AS','EALC','AC'), +('800002540','UGRD','2021','AS','APCS','CM'), +('800002541','UGRD','2023','AS','ART','AC'), +('800002543','UGRD','2021','AS','GVMT','CM'), +('800002548','UGRD','2022','AS','APHY','AC'), +('800002549','UGRD','2024','AS','AAAS','AC'), +('800002551','UGRD','2022','AS','SOCS','AC'), +('800002553','SPM','2021','SPM',NULL,'CM'), +('800002556','UGRD','2025','AS','ENGL','AC'), +('800002557','UGRD','2025','AS','MAT','AC'), +('800002559','UGRD','2023','AS','THEA','AC'), +('800002560','UGRD','2021','AS','CS','CM'), +('800002561','UGRD','2024','AS','SOC','AC'), +('800002562','UGRD','2024','AS','ENG','AC'), +('800002569','UGRD','2025','AS','THEA','AC'), +('800002570','UGRD','2021','AS','PHY','CM'), +('800002574','UGRD','2022','AS','MUS','AC'), +('800002575','UGRD','2021','AS','MAT','CM'), +('800002576','UGRD','2022','AS','ECOM','AC'), +('800002577','UGRD','2021','AS','ECOM','CM'), +('800002578','UGRD','2021','AS','MES','CM'), +('800002579','UGRD','2021','AS','ROML','CM'), +('800002581','UGRD','2022','AS','THEA','XO'), +('800002582','UGRD','2023','AS','ANTH','AC'), +('800002583','UGRD','2025','AS','CPLT','AC'), +('800002584','UGRD','2025','AS','LIT','AC'), +('800002586','UGRD','2025','AS','ROML','AC'), +('800002587','UGRD','2025','AS','CHEM','AC'), +('800002588','UGRD','2022','AS','APCS','AC'), +('800002589','UGRD','2022','AS','BIOL','AC'), +('800002591','UGRD','2022','AS','POLI','AC'), +('800002594','UGRD','2024','AS','POLI','AC'), +('800002595','UGRD','2025','AS','PHIL','AC'), +('800002596','SPM','2024','SPM',NULL,'AC'), +('800002597','UGRD','2025','AS','PHIL','LA'), +('800002598','UGRD','2021','AS','CLSS','CM'), +('800002599','UGRD','2022','AS','CPLT','AC'), +('800002600','UGRD','2025','AS','BIOL','AC'), +('800002603','GRAD','2025','GRD','GS','AC'), +('800002604','UGRD','2024','AS','REL','AC'), +('800002605','UGRD','2022','AS','ENV','AC'), +('800002606','UGRD','2024','AS','ENGL','AC'), +('800002607','UGRD','2024','AS','REL','AC'), +('800002609','UGRD','2022','AS','CPLT','AC'), +('800002611','UGRD','2025','AS','MCB','AC'), +('800002613','UGRD','2022','AS','PSCI','AC'), +('800002616','UGRD','2023','AS','APHY','AC'), +('800002617','UGRD','2024','AS','PHY','AC'), +('800002618','UGRD','2024','AS','WRI','AC'), +('800002619','UGRD','2023','AS','HIST','AC'), +('800002620','ES',NULL,'AS','ECOM','ES'), +('800002621','UGRD','2023','AS','BIOS','AC'), +('800002622','SB','2024','BUS',NULL,'AC'), +('800002623','UGRD','2022','AS','AS','AC'), +('800002627','UGRD','2025','AS','MCB','AC'), +('800002629','UGRD','2025','AS','ART','AC'), +('800002630','UGRD','2023','AS','MES','AC'), +('800002631','UGRD','2025','AS','WRI','AC'), +('800002634','UGRD','2025','AS','BIOL','PM'), +('800002635','UGRD','2022','AS','REL','AC'), +('800002637','UGRD','2022','AS','SAS','AC'), +('800002638','UGRD','2024','AS','BIOL','AC'), +('800002639','UGRD','2021','AS','LIT','CM'), +('800002644','ES',NULL,'AS','SOC','ES'), +('800002645','UGRD','2024','AS','PSCI','AC'), +('800002651','UGRD','2021','AS','PHY','CM'), +('800002652','SB','2024','BUS',NULL,'AC'), +('800002653','UGRD','2025','AS','APHY','AC'), +('800002655','UGRD','2025','AS','SAS','AC'), +('800002657','UGRD','2024','AS','THEA','AC'), +('800002658','NDP',NULL,'AS','STAT','AC'), +('800002659','UGRD','2021','AS','PHY','CM'), +('800002660','UGRD','2021','AS','GHP','CM'), +('800002661','UGRD','2025','AS','WRI','AC'), +('800002662','UGRD','2023','AS','EALC','AC'), +('800002663','GRAD','2023','GRD','GS','AC'), +('800002664','UGRD','2022','AS','AAAS','AC'), +('800002666','UGRD','2021','AS','EALC','CM'), +('800002672','UGRD','2025','AS','AMAT','AC'), +('800002673','SCS','2025','SCS',NULL,'AC'), +('800002675','UGRD','2023','AS','BIOL','XO'), +('800002676','UGRD','2023','AS','HIST','AC'), +('800002677','UGRD','2022','AS','ENGL','AC'), +('800002679','UGRD','2021','AS','ROML','CM'), +('800002683','UGRD','2021','AS','ENV','CM'), +('800002684','UGRD','2021','AS','SOC','CM'), +('800002686','UGRD','2024','AS','LING','XP'), +('800002687','UGRD','2025','AS','MCB','AC'), +('800002689','UGRD','2024','AS','MES','AC'), +('800002691','UGRD','2022','AS','BPHY','AC'), +('800002692','UGRD','2022','AS','REL','AC'), +('800002693','UGRD','2024','AS','ROML','AC'), +('800002695','UGRD','2025','AS','CLSS','AC'), +('800002697','UGRD','2022','AS','GHP','AC'), +('800002698','UGRD','2021','AS','MEDS','CM'), +('800002701','UGRD','2025','AS','ENV','AC'), +('800002703','GRAD','2024','GRD','GS','AC'), +('800002707','SB','2021','BUS',NULL,'CM'), +('800002710','UGRD','2022','AS','BIOS','AC'), +('800002711','UGRD','2025','AS','CPLT','LA'), +('800002712','UGRD','2021','AS','ART','CM'), +('800002713','UGRD','2025','AS','REL','LA'), +('800002714','UGRD','2023','AS','GVMT','AC'), +('800002715','UGRD','2024','AS','WRI','AC'), +('800002718','UGRD','2022','AS','AMAT','AC'), +('800002719','UGRD','2023','AS','AMAT','AC'), +('800002720','UGRD','2021','AS','MAT','CM'), +('800002722','UGRD','2023','AS','SOCS','AC'), +('800002723','UGRD','2021','AS','APCS','CM'), +('800002726','UGRD','2024','AS','CHEM','AC'), +('800002727','UGRD','2024','AS','CS','AC'), +('800002729','UGRD','2024','AS','ASTR','RS'), +('800002731','UGRD','2025','AS','HIST','AC'), +('800002732','UGRD','2023','AS','EALC','AC'), +('800002737','SB','2024','BUS',NULL,'AC'), +('800002738','GRAD','2021','GRD','GS','CM'), +('800002741','UGRD','2021','AS','REL','CM'), +('800002743','UGRD','2021','AS','SOCS','CM'), +('800002747','UGRD','2021','AS','STAT','CM'), +('800002748','UGRD','2023','AS','POLI','AC'), +('800002749','UGRD','2025','AS','CLSS','AC'), +('800002752','UGRD','2023','AS','ECOM','XO'), +('800002753','UGRD','2022','AS','GERM','AC'), +('800002756','UGRD','2021','AS','CS','CM'), +('800002759','UGRD','2021','AS','GHP','CM'), +('800002760','UGRD','2023','AS','SAS','AC'), +('800002762','UGRD','2024','AS','PSCI','AC'), +('800002766','UGRD','2024','AS','GSS','AC'), +('800002767','UGRD','2025','AS','AS','AC'), +('800002768','UGRD','2025','AS','ENV','AC'), +('800002770','UGRD','2025','AS','SAS','AC'), +('800002771','UGRD','2023','AS','ENV','AC'), +('800002775','UGRD','2021','AS','MEDS','CM'), +('800002776','UGRD','2021','AS','SOC','CM'), +('800002777','GRAD','2024','GRD','GS','AC'), +('800002778','UGRD','2022','AS','ECOM','AC'), +('800002779','UGRD','2021','AS','ASTR','CM'), +('800002781','UGRD','2021','AS','AS','CM'), +('800002783','UGRD','2024','AS','PSCI','AC'), +('800002784','UGRD','2023','AS','ECOM','AC'), +('800002785','UGRD','2023','AS','GSS','AC'), +('800002786','UGRD','2024','AS','ENG','AC'), +('800002788','UGRD','2021','AS','CLSS','CM'), +('800002790','UGRD','2025','AS','CLSS','AC'), +('800002791','UGRD','2024','AS','MCB','AC'), +('800002795','UGRD','2021','AS','MES','CM'), +('800002799','UGRD','2021','AS','GVMT','CM'), +('800002800','UGRD','2025','AS','EALC','AC'), +('800002802','UGRD','2021','AS','LIT','CM'), +('800002803','UGRD','2022','AS','THEA','AC'), +('800002808','UGRD','2022','AS','ARCH','AC'), +('800002809','UGRD','2025','AS','ANTH','AC'), +('800002810','UGRD','2023','AS','SOC','AC'), +('800002812','UGRD','2025','AS','LING','PM'), +('800002813','UGRD','2025','AS','GHP','LA'), +('800002814','GRAD','2025','GRD','GS','AC'), +('800002815','UGRD','2025','AS','BIOS','AC'), +('800002817','UGRD','2025','AS','GVMT','AC'), +('800002818','UGRD','2021','AS','STAT','CM'), +('800002821','UGRD','2023','AS','ART','AC'), +('800002822','UGRD','2025','AS','AAAS','PM'), +('800002827','UGRD','2022','AS','CELT','AC'), +('800002829','UGRD','2025','AS','SLAV','AC'), +('800002830','UGRD','2022','AS','SAS','AC'), +('800002832','UGRD','2023','AS','NELC','AC'), +('800002833','UGRD','2023','AS','GERM','AC'), +('800002834','GRAD','2024','GRD','GS','AC'), +('800002835','UGRD','2022','AS','MUS','AC'), +('800002838','UGRD','2025','AS','PSYC','AC'), +('800002845','UGRD','2021','AS','ECOM','CM'), +('800002846','UGRD','2021','AS','POLI','CM'), +('800002848','UGRD','2023','AS','SAS','AC'), +('800002852','UGRD','2022','AS','PHY','AC'), +('800002854','UGRD','2025','AS','BPHY','AC'), +('800002861','UGRD','2023','AS','HUM','AC'), +('800002862','UGRD','2024','AS','CHEM','AC'), +('800002863','UGRD','2025','AS','ANTH','RS'), +('800002864','UGRD','2025','AS','ANTH','PM'), +('800002865','UGRD','2021','AS','ENGL','CM'), +('800002867','GRAD','2022','GRD','GS','AC'), +('800002868','UGRD','2024','AS','ROML','AC'), +('800002869','UGRD','2025','AS','ASTR','AC'), +('800002871','UGRD','2023','AS','ART','AC'), +('800002872','UGRD','2022','AS','GVMT','AC'), +('800002878','UGRD','2025','AS','ART','AC'), +('800002879','UGRD','2022','AS','ASTR','AC'), +('800002880','UGRD','2024','AS','ANTH','AC'), +('800002881','UGRD','2022','AS','MES','AC'), +('800002882','UGRD','2022','AS','SOC','AC'), +('800002884','UGRD','2025','AS','CPLT','AC'), +('800002885','ES',NULL,'AS','MES','ES'), +('800002886','UGRD','2023','AS','CLSS','RS'), +('800002889','UGRD','2022','AS','SOCS','AC'), +('800002891','UGRD','2021','AS','GSS','CM'), +('800002894','UGRD','2025','AS','APCS','AC'), +('800002896','UGRD','2024','AS','SAS','AC'), +('800002898','UGRD','2024','AS','REL','AC'), +('800002899','UGRD','2022','AS','AMAT','AC'), +('800002900','UGRD','2023','AS','AAAS','AC'), +('800002901','UGRD','2025','AS','BPHY','AC'), +('800002904','UGRD','2021','AS','SOC','CM'), +('800002905','UGRD','2023','AS','SAS','AC'), +('800002911','UGRD','2024','AS','ENG','AC'), +('800002913','NDP',NULL,'AS','SOCS','AC'), +('800002914','UGRD','2021','AS','SOC','CM'), +('800002915','UGRD','2025','AS','LIT','AC'), +('800002919','UGRD','2025','AS','MUS','LA'), +('800002920','UGRD','2024','AS','PHY','AC'), +('800002921','UGRD','2022','AS','SAS','AC'), +('800002922','UGRD','2025','AS','PHY','AC'), +('800002923','UGRD','2023','AS','LING','AC'), +('800002924','UGRD','2025','AS','NELC','AC'), +('800002925','UGRD','2024','AS','ENG','AC'), +('800002926','UGRD','2024','AS','SLAV','AC'), +('800002927','UGRD','2025','AS','ART','AC'), +('800002928','UGRD','2021','AS','CELT','CM'), +('800002930','UGRD','2023','AS','EALC','AC'), +('800002932','UGRD','2022','AS','MUS','AC'), +('800002933','UGRD','2025','AS','MES','AC'), +('800002939','UGRD','2023','AS','BIOL','AC'), +('800002941','UGRD','2021','AS','ENV','CM'), +('800002943','UGRD','2024','AS','APHY','AC'), +('800002945','UGRD','2024','AS','CLSS','AC'), +('800002948','UGRD','2025','AS','ART','AC'), +('800002949','UGRD','2025','AS','STAT','AC'), +('800002952','UGRD','2022','AS','GERM','AC'), +('800002953','UGRD','2022','AS','STAT','AC'), +('800002956','UGRD','2025','AS','MEDS','AC'), +('800002957','UGRD','2025','AS','SAS','LA'), +('800002960','ES',NULL,'AS','ARCH','ES'), +('800002963','UGRD','2022','AS','LING','AC'), +('800002967','UGRD','2025','AS','ENV','AC'), +('800002971','UGRD','2022','AS','SOCS','AC'), +('800002972','UGRD','2021','AS','ENG','CM'), +('800002974','UGRD','2022','AS','GVMT','AC'), +('800002976','UGRD','2025','AS','GSS','AC'), +('800002977','UGRD','2021','AS','MCB','CM'), +('800002979','UGRD','2024','AS','ENGL','AC'), +('800002981','UGRD','2025','AS','LIT','AC'), +('800002982','SB','2022','BUS',NULL,'AC'), +('800002984','UGRD','2022','AS','GERM','AC'), +('800002985','UGRD','2022','AS','ENGL','AC'), +('800002987','UGRD','2023','AS','BIOL','AC'), +('800002988','UGRD','2022','AS','MEDS','AC'), +('800002989','UGRD','2021','AS','BIOL','CM'), +('800002991','UGRD','2025','AS','MCB','AC'), +('800002993','SB','2021','BUS',NULL,'CM'), +('800002994','UGRD','2025','AS','MCB','AC'), +('800002998','UGRD','2025','AS','PHY','AC'); commit; - - diff --git a/ex201/ex201.1.end/Dockerfile b/ex201/ex201.1.end/Dockerfile index 02068fb..587e20f 100644 --- a/ex201/ex201.1.end/Dockerfile +++ b/ex201/ex201.1.end/Dockerfile @@ -1,5 +1,5 @@ ARG VERSION_TAG -FROM tier/gte:201.1.1-$VERSION_TAG +FROM tier/gte:101.1.1-$VERSION_TAG LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \ Vendor="TIER" \ diff --git a/ex201/ex201.1.end/container_files/seed-data/bootstrap.gsh b/ex201/ex201.1.end/container_files/seed-data/bootstrap.gsh index 66a9921..fe48133 100644 --- a/ex201/ex201.1.end/container_files/seed-data/bootstrap.gsh +++ b/ex201/ex201.1.end/container_files/seed-data/bootstrap.gsh @@ -1,7 +1,23 @@ gs = GrouperSession.startRootSession(); -delStem("201.1.1") + addRootStem("201.1.end", "201.1.end") + + + + + + + + + + + + + + + + // ex201.1.1 // addStem("ref", "student", "student") studentGroup = addGroup("ref:student", "students", "students"); diff --git a/ex201/ex201.end/Dockerfile b/ex201/ex201.end/Dockerfile new file mode 100644 index 0000000..c20f84a --- /dev/null +++ b/ex201/ex201.end/Dockerfile @@ -0,0 +1,29 @@ +ARG VERSION_TAG +FROM tier/gte:101.1.1-$VERSION_TAG + +LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \ + Vendor="TIER" \ + ImageType="Grouper Training" \ + ImageName=$imagename \ + ImageOS=centos7 + +ENV USERTOKEN=gte-201.end + +COPY container_files/seed-data/ /seed-data/ + +# && setupFiles +RUN . /usr/local/bin/library.sh \ + && prep_conf && prep_finish; \ + (/usr/sbin/slapd -h "ldap:/// ldaps:/// ldapi:///" -u ldap &) \ + && while ! curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to start; sleep 1; done; \ + (mysqld_safe & ) \ + && while ! curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to start; sleep 3; done; \ + cd /opt/grouper/grouperWebapp/WEB-INF \ + && ldapadd -x -D cn=root,dc=internet2,dc=edu -w password -f /seed-data/users.ldif \ + && mysql grouper < /seed-data/sisData.sql \ + && if [ ! -f /usr/local/bin/java ]; then ln -s /usr/lib/jvm/java-1.8.0-amazon-corretto/bin/java /usr/local/bin/java; fi \ + && sudo --preserve-env=PATH -u tomcat bin/gsh.sh /seed-data/bootstrap.gsh \ + && pkill -HUP slapd \ + && while curl -s ldap://localhost:389 > /dev/null; do echo waiting for ldap to stop; sleep 1; done; \ + pkill -u mysql mysqld \ + && while curl -s localhost:3306 > /dev/null; do echo waiting for mysqld to stop; sleep 1; done diff --git a/ex201/ex201.end/container_files/seed-data/bootstrap.gsh b/ex201/ex201.end/container_files/seed-data/bootstrap.gsh new file mode 100644 index 0000000..8592c70 --- /dev/null +++ b/ex201/ex201.end/container_files/seed-data/bootstrap.gsh @@ -0,0 +1,323 @@ +import edu.internet2.middleware.grouper.grouperUi.beans.ui.GrouperNewServiceTemplateLogic +import edu.internet2.middleware.grouper.grouperUi.beans.ui.GrouperTemplatePolicyGroupLogic +import edu.internet2.middleware.grouper.grouperUi.beans.ui.ServiceAction +import edu.internet2.middleware.grouper.grouperUi.beans.ui.StemTemplateContainer +import edu.internet2.middleware.grouper.app.grouperTypes.* +import edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningAttributeNames +import edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningSettings +import edu.internet2.middleware.grouper.cfg.dbConfig.GrouperDbConfig + +/***** START Defaults that may need to be changed for each class *****/ + +Range<Integer> ACTIVE_CLASS_YEARS = 2022..2025 +int RECENT_GRADUATE_YEAR = 2021 +java.util.Calendar cal = Calendar.getInstance() +cal.set(2021, Calendar.DECEMBER, 31, 17, 0, 0) +java.util.Date RECENT_GRAD_END_DATE = cal.time + +/***** END Defaults that may need to be changed for each class *****/ + + +GrouperSession gs = GrouperSession.startRootSession() + +/* Creating a class for methods helps with gsh from the command line, which can't do functions called from other functions */ +class HelperMethods { + static void assignObjectTypeForGroup(Group g, String type, String owner=null, String description=null) { + new GdgTypeGroupSave(). + assignGroup(g). + assignType(type). + assignDataOwner(owner). + assignMemberDescription(description). + assignSaveMode(SaveMode.INSERT_OR_UPDATE). + assignReplaceAllSettings(true). + save() + } + + static void assignObjectTypeForStem(Stem s, String type, String owner=null, String description=null) { + new GdgTypeStemSave(). + assignStem(s). + assignType(type). + assignDataOwner(owner). + assignMemberDescription(description). + assignSaveMode(SaveMode.INSERT_OR_UPDATE). + assignReplaceAllSettings(true). + save() + } + + static void addSubjectWithCount(Group g, Subject s) { + int countBefore = g.members.findAll {it.subjectType.name == "person"}.size() + g.addMember(s, false) + int countAfter = g.members.findAll {it.subjectType.name == "person"}.size() + println "\tAdd ${s.name} to ${g.name}: ${countBefore} -> ${countAfter} (${countAfter - countBefore})" + } + + static void newApplicationTemplate(Stem parentStem, String templateKey, String templateFriendlyName, String templateDescription, List<String> myServiceActionIds = []) { + def stemTemplateContainer = new StemTemplateContainer() + stemTemplateContainer.templateKey = templateKey + stemTemplateContainer.templateFriendlyName = templateFriendlyName + stemTemplateContainer.templateDescription = templateDescription + + GrouperNewServiceTemplateLogic templateLogic = new GrouperNewServiceTemplateLogic() + templateLogic.stemId = parentStem.uuid + templateLogic.stemTemplateContainer = stemTemplateContainer + + List<ServiceAction> selectedServiceActions = [] + if (myServiceActionIds == null || myServiceActionIds.isEmpty()) { + selectedServiceActions = templateLogic.getServiceActions() + } else { + Map<String, ServiceAction> allPolicyServiceActionMap = templateLogic.getServiceActions().collectEntries { [it.id, it] } + selectedServiceActions = myServiceActionIds.collect { allPolicyServiceActionMap[it] } + } + templateLogic.validate(selectedServiceActions) + + selectedServiceActions.each {serviceAction -> + serviceAction.getServiceActionType().createTemplateItem(serviceAction) + } + String errorKey = templateLogic.postCreateSelectedActions(selectedServiceActions) + if (errorKey != null) { + println "Creating policy group returned error: ${errorKey}" + } + } + + static void newPolicyTemplate(Stem parentStem, String templateKey, String templateFriendlyName, String templateDescription, List<String> myServiceActionIds = []) { + // note that this doesn't work < 2.5.56 due to dependence on the UI + def policyStemTemplateContainer = new StemTemplateContainer() + policyStemTemplateContainer.templateKey = templateKey + policyStemTemplateContainer.templateFriendlyName = templateFriendlyName + policyStemTemplateContainer.templateDescription = templateDescription + + GrouperTemplatePolicyGroupLogic policyTemplateLogic = new GrouperTemplatePolicyGroupLogic() + policyTemplateLogic.stemId = parentStem.uuid + policyTemplateLogic.stemTemplateContainer = policyStemTemplateContainer + + // simulate checking certain boxes in the ui + List<ServiceAction> selectedServiceActions = [] + if (myServiceActionIds == null || myServiceActionIds.isEmpty()) { + selectedServiceActions = policyTemplateLogic.getServiceActions() + } else { + Map<String, ServiceAction> allPolicyServiceActionMap = policyTemplateLogic.getServiceActions().collectEntries { [it.id, it] } + selectedServiceActions = myServiceActionIds.collect { allPolicyServiceActionMap[it] } + } + + policyTemplateLogic.validate(selectedServiceActions) + selectedServiceActions.each { serviceAction -> + serviceAction.getServiceActionType().createTemplateItem(serviceAction) + } + String policyErrorKey = policyTemplateLogic.postCreateSelectedActions(selectedServiceActions) + if (policyErrorKey != null) { + println "Creating policy group returned error: ${policyErrorKey}" + } + } + + static void provisionObject(AttributeAssignable object, String provisioningTargetId) { + AttributeDefName provisioningMarkerAttributeDefName = GrouperProvisioningAttributeNames.retrieveAttributeDefNameBase() + AttributeDefName provisioningDirectAttributeDefName = GrouperProvisioningAttributeNames.retrieveAttributeDefNameDirectAssignment() + AttributeDefName provisioningTargetAttributeDefName = GrouperProvisioningAttributeNames.retrieveAttributeDefNameTarget() + AttributeDefName provisioningStemScopeAttributeDefName = GrouperProvisioningAttributeNames.retrieveAttributeDefNameStemScope() + AttributeDefName provisioningDoProvisionAttributeDefName = GrouperProvisioningAttributeNames.retrieveAttributeDefNameDoProvision() + // GRP-3592 no method for provisioningMetadataJson + AttributeDefName provisioningMdJsonAttributeDefName = AttributeDefNameFinder.findByName( + GrouperProvisioningSettings.provisioningConfigStemName() + ":" + GrouperProvisioningAttributeNames.PROVISIONING_METADATA_JSON, true) + + + AttributeAssign aa = object.getAttributeDelegate().addAttribute(provisioningMarkerAttributeDefName).getAttributeAssign() + aa.getAttributeValueDelegate().assignValue(provisioningDirectAttributeDefName.getName(), "true") + aa.getAttributeValueDelegate().assignValue(provisioningTargetAttributeDefName.getName(), provisioningTargetId) + aa.getAttributeValueDelegate().assignValue(provisioningDoProvisionAttributeDefName.getName(), "false") + aa.getAttributeValueDelegate().assignValue(provisioningStemScopeAttributeDefName.getName(), "sub") + aa.getAttributeValueDelegate().assignValue(provisioningMdJsonAttributeDefName.getName(), '''{"md_grouper_allowPolicyGroupOverride":true}''') + + } +} + + +new StemSave(gs).assignName("201_end"). + assignDisplayExtension("201.end"). + assignCreateParentStemsIfNotExist(true). + save() + + +/***** 201.1.1 Basis and Reference Groups (I) *****/ + +Group studentGroup = new GroupSave(gs).assignName("ref:student:students"). + assignDisplayExtension("students"). + assignCreateParentStemsIfNotExist(true). + assignDescription($/This group contains contains all students for the purpose of access control. Members automatically get access to a broad selection of student services. You can view where this group is in use by selecting "This group's memberships in other groups" under the "More" tab/$). + save() + +HelperMethods.assignObjectTypeForGroup(studentGroup, "ref", "Registrar", "All student subjects for the purpose of access control") + +println "Adding student terms" +(ACTIVE_CLASS_YEARS).each { term -> + def classSubject = GroupFinder.findByName(gs, "basis:sis:prog_status:year:ac:${term}", true).toSubject() + HelperMethods.addSubjectWithCount(studentGroup, classSubject) +} + +//Add recent graduates and set expiration to a future date +def classSubject = GroupFinder.findByName(gs, "basis:sis:prog_status:year:cm:${RECENT_GRADUATE_YEAR}", true).toSubject() +HelperMethods.addSubjectWithCount(studentGroup, classSubject) + +studentGroup.addOrEditMember(classSubject, true, true, null, RECENT_GRAD_END_DATE, false); + + +/***** 201.1.2 Basis and Reference Groups (II) *****/ + +/* Add Students with no class year */ +classSubject = GroupFinder.findByName(gs, "basis:sis:prog_status:year:ac:no_year", true).toSubject() +HelperMethods.addSubjectWithCount(studentGroup, classSubject) + +/* Add Exchange students */ +classSubject = GroupFinder.findByName(gs, "basis:sis:prog_status:all:es", true).toSubject() +HelperMethods.addSubjectWithCount(studentGroup, classSubject) + + +/* Create adhoc transfer student group and add members */ + +Stem xferStudentStem = new StemSave(gs).assignName("basis:adhoc:student").save() +Group xferStudentGroup = new GroupSave(gs).assignName("${xferStudentStem.name}:transfer_student").save() +HelperMethods.assignObjectTypeForGroup(xferStudentGroup, "basis") +HelperMethods.assignObjectTypeForGroup(xferStudentGroup, "manual") + +['whawkins', 'hyoung', 'jmejia'].each { + Subject s = SubjectFinder.findByIdentifier(it, true) + xferStudentGroup.addMember(s, false) +} + +/* Add transfer students to All Students */ +classSubject = xferStudentGroup.toSubject() +HelperMethods.addSubjectWithCount(studentGroup, classSubject) + +/* Add transfer students to All Students */ +classSubject = GroupFinder.findByName(gs, "basis:sis:prog_status:all:la", true).toSubject() +HelperMethods.addSubjectWithCount(studentGroup, classSubject) + + + +/***** 201.2 Access Policy Groups *****/ + +/* New application Template */ + +HelperMethods.newApplicationTemplate(StemFinder.findByName(gs, "app", true), + "gitlab", + "GitLab", + "Access policy for the ITS GitLab version control system", + null) + + +/* New policy Template */ + +Stem policyStem = StemFinder.findByName(gs, "app:gitlab:service:policy", true) +ArrayList<String> myServiceActionIds = [ + 'policyGroupCreate', + 'policyGroupType', + 'policyGroupAllowGroupCreate', + 'allowIntermediatgeGroupType', + //'policyGroupAllowManualGroupCreate', + //'policyGroupAddManualToAllow', + //'allowManualGroupType', + 'policyGroupDenyGroupCreate', + 'denyIntermediatgeGroupType', + 'policyGroupLockoutGroup_0', + //'policyGroupDenyManualGroupCreate', + //'policyGroupAddManualToDeny', + //'denyManualGroupType', +] + +HelperMethods.newPolicyTemplate(policyStem, + "gitlab_access", + "GitLab", + "Access policy for the ITS GitLab version control system", + myServiceActionIds +) + +/* Add members to gitlab_access_allow */ +Group gitlabAccessAllow = GroupFinder.findByName(gs, "app:gitlab:service:policy:gitlab_access_allow", true) +["ref:role:emp:staff", "ref:role:emp:faculty", "basis:hr:employee:dept:10901:affiliate"].each { + Subject s = SubjectFinder.findByIdentifierAndSource(it, "g:gsa", true) + HelperMethods.addSubjectWithCount(gitlabAccessAllow, s) +} + + + +/***** 201.3 eduPersonAffiliation *****/ + +HelperMethods.newApplicationTemplate(StemFinder.findByName(gs, "app", true), + "eduPersonAffiliation", + "eduPersonAffiliation", + "eduPersonAffiliation (defined in eduPerson 1.0); OID: 1.3.6.1.4.1.5923.1.1.1.1 Specifies the person's relationship(s) to the institution in broad categories such as student, faculty, staff, alum, etc.", + null) + +Stem policyStem = StemFinder.findByName(gs, "app:eduPersonAffiliation:service:policy", true) +HelperMethods.assignObjectTypeForStem(policyStem, "policy") + +[ + "ePA_student": ["ref:student:students"], + "ePA_staff": ["ref:role:emp:staff"], + "ePA_faculty": ["ref:role:emp:faculty"], + "ePA_member": ["${policyStem.name}:ePA_student", "${policyStem.name}:ePA_staff", "${policyStem.name}:ePA_faculty"] +].each { policyName, memberNames -> + Group group = new GroupSave(gs).assignName("${policyStem.name}:${policyName}").save() + memberNames.each { memberName -> + Subject subject = SubjectFinder.findByIdentifierAndSource(memberName, "g:gsa", true) + group.addMember(subject, false) + } +} + +/* Provisioning - the edupersonAffiliation provisioner should already be set up in 101.1.1 */ +HelperMethods.provisionObject(policyStem, "eduPersonAffiliation") + + + +/***** 201.4 eduPersonEntitlement *****/ + +HelperMethods.newApplicationTemplate(StemFinder.findByName(gs, "app", true), + "wiki", + "wiki", + "Student wiki", + null) + +Stem policyStem = StemFinder.findByName(gs, "app:wiki:service:policy", true) +ArrayList<String> myServiceActionIds = [ + 'policyGroupCreate', + 'policyGroupType', + 'policyGroupAllowGroupCreate', + 'allowIntermediatgeGroupType', + //'policyGroupAllowManualGroupCreate', + //'policyGroupAddManualToAllow', + //'allowManualGroupType', + 'policyGroupDenyGroupCreate', + 'denyIntermediatgeGroupType', + 'policyGroupLockoutGroup_0', + //'policyGroupDenyManualGroupCreate', + //'policyGroupAddManualToDeny', + //'denyManualGroupType', + //'policyGroupRequireGroup_0' +] + +HelperMethods.newPolicyTemplate(policyStem, + "wiki_user", + "wiki_user", + "Access policy for student wiki", + myServiceActionIds +) + +Group group = GroupFinder.findByName(gs, "${policyStem.name}:wiki_user_allow", true) +Subject subject = SubjectFinder.findByIdentifierAndSource("ref:student:students", "g:gsa", true) +HelperMethods.addSubjectWithCount(group, subject) + +/* Provisioning - students will configure a full sync provisioner in the UI */ + +GrouperDbConfig config = new GrouperDbConfig().configFileName("grouper-loader.properties") + +config.propertyName("otherJob.eduPersonEntitlement_full_sync.class").value('''edu.internet2.middleware.grouper.app.provisioning.GrouperProvisioningFullSyncJob''').store() +config.propertyName("otherJob.eduPersonEntitlement_full_sync.provisionerConfigId").value('''eduPersonEntitlement''').store() +config.propertyName("otherJob.eduPersonEntitlement_full_sync.quartzCron").value('''0 0 4 * * ?''').store() + + + + +/* Provisioning - the edupersonAffiliation provisioner should already be set up in 101.1.1 */ +HelperMethods.provisionObject(policyStem, "eduPersonAffiliation") + +/* TODO ePA and ePT full sync provisioners are not working */ + diff --git a/ex201/ex201.end/container_files/seed-data/sisData.sql b/ex201/ex201.end/container_files/seed-data/sisData.sql new file mode 100644 index 0000000..e69de29 diff --git a/ex201/ex201.end/container_files/seed-data/users.ldif b/ex201/ex201.end/container_files/seed-data/users.ldif new file mode 100644 index 0000000..e69de29 diff --git a/ex201/manualBuild.sh b/ex201/manualBuild.sh index c32b34e..8bab16c 100755 --- a/ex201/manualBuild.sh +++ b/ex201/manualBuild.sh @@ -1,15 +1,15 @@ source ../buildVersion.sh echo "Building gte:201 version ${VERSION_TAG}" -docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.1.1-${VERSION_TAG} ex201.1.1 \ -&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.1.end-${VERSION_TAG} ex201.1.end \ -&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.2.1-${VERSION_TAG} ex201.2.1 \ -&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.2.end-${VERSION_TAG} ex201.2.end \ -&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.3.1-${VERSION_TAG} ex201.3.1 \ -&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.3.end-${VERSION_TAG} ex201.3.end \ -&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.4.1-${VERSION_TAG} ex201.4.1 \ -&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.4.end-${VERSION_TAG} ex201.4.end \ -&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.5.1-${VERSION_TAG} ex201.5.1 \ -&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.5.end-${VERSION_TAG} ex201.5.end +docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.end-${VERSION_TAG} ex201.end \ +#&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.1.end-${VERSION_TAG} ex201.1.end \ +#&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.2.1-${VERSION_TAG} ex201.2.1 \ +#&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.2.end-${VERSION_TAG} ex201.2.end \ +#&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.3.1-${VERSION_TAG} ex201.3.1 \ +#&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.3.end-${VERSION_TAG} ex201.3.end \ +#&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.4.1-${VERSION_TAG} ex201.4.1 \ +#&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.4.end-${VERSION_TAG} ex201.4.end \ +#&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.5.1-${VERSION_TAG} ex201.5.1 \ +#&& docker build --build-arg VERSION_TAG=${VERSION_TAG} --tag=tier/gte:201.5.end-${VERSION_TAG} ex201.5.end if [[ "$OSTYPE" == "darwin"* ]]; then say exercises for 201 build complete diff --git a/manualBuild.sh b/manualBuild.sh index 32ec591..1749643 100755 --- a/manualBuild.sh +++ b/manualBuild.sh @@ -7,10 +7,10 @@ pushd ex101 ./manualBuild.sh popd -# pushd ex201 -# ./manualBuild.sh -# popd -# + pushd ex201 + ./manualBuild.sh + popd + # pushd ex211 # ./manualBuild.sh # popd