Introduction
For this assignment, I used the data set “Students’ Academic Performance Data set” from Kaggle. This is an educational data set which is collected from learning management system (LMS) called Kalboard 360. The data is collected using a learning activity tracker tool which is called experience API. The data set contains 480 student records of which 305 are male and 175 are female. There are a total of 16 variables in this data set that are classified into three major categories: (1) Demographic features such as gender and nationality, (2) Academic background features such as educational stage, grade level and section, (3) Behavioral Features such as raised hand in class, viewing resources, answering survey by parents, and school satisfaction.
Research Question and Hypotheses
The purpose of this analysis is to examine how males and females differ in terms of using resources, raising their hands, academic performance, etc. using ggplot extensions. I created visualizations using ggplot extensions to demonstrate the relationship between various variables which I hypothesize affects student success in school. I believe students who visit resources the most often will obtain high grade marks because this enables students to refresh their minds about the course content. Students who are serious and want to perform well in a course will continue to go back to the resources to learn much as possible about the course requirements and assignments. The number of times students visit resources will be positively correlated with high grade marks. I also believe students who raise their hands the most in school will have high grades because the more questions students ask or the more questions they answer during school demonstrate the level of understanding of students in different subjects. I will investigate the strength of the relationship between the number of times students raised their hands in class with the number of times they visit resources. Discussion groups is another interesting variable I explored because participation is an important part of the overall grade. I want to see the relationship between males and females who participate in discussion groups and view announcements often to their overall grades and see if this affects their success. Lastly, I will explore the relationship between participation is discussion groups and raised hands among males and females.
Defining Variables
grades1: grade level of the student (Ordered Categorical Dependent Variable)
The students are classified into three numerical intervals based on their total grade/mark:
Low-Level: interval includes values from 0 to 69,
Middle-Level: interval includes values from 70 to 89,
High-Level: interval includes values from 90-100.
visitedresources: how many times the student visits a course content(numeric:0-100)
raisedhands: how many times the student raises his/her hand in the classroom (numeric:0-100)
discussiongroups: how many times the student participate in discussion groups (numeric:0-100)
gender: whether the student is male of female
Importing and previewing the data set
library(readr)
Student_Academic_Data<-read_csv("C:\\Users\\Sangita Roy\\Desktop\\Student_Academic_Data.csv")
head(Student_Academic_Data)
nrow(Student_Academic_Data)
[1] 480
Cleaning up the data set
library(dplyr)
Student_Data1<- Student_Academic_Data %>%
rename(Nationality=NationalITy,
visitedresources=VisITedResources,
Grades=Class) %>%
mutate(grades1= factor(Grades, ordered=TRUE, levels=c("L", "M", "H")),
gender = as.factor(gender),
StudentAbsenceDays=as.factor(StudentAbsenceDays),
StageID=as.factor(StageID)) %>%
mutate(Relation=as.factor(Relation))
head(Student_Data1)
References
Amrieh, E. A., Hamtini, T., & Aljarah, I. (2016). Mining Educational Data to Predict Student’s academic Performance using Ensemble Methods. International Journal of Database Theory and Application, 9(8), 119-136.
Amrieh, E. A., Hamtini, T., & Aljarah, I. (2015, November). Preprocessing and analyzing educational data set using X-API for improving student’s performance. In Applied Electrical Engineering and Computing Technologies (AEECT), 2015 IEEE Jordan Conference on (pp. 1-5). IEEE.
LS0tDQp0aXRsZTogIlZpc3VhbGl6YXRpb25zIG9mIERpZmZlcmVuY2VzIGluIFN0dWRlbnQgQWNhZGVtaWMgQWNoaWV2ZW1lbnQiDQphdXRob3I6ICJTYW5naXRhIFJveSINCmRhdGU6ICJBcHJpbCAxNSwgMjAxOCINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMjKipJbnRyb2R1Y3Rpb24qKg0KDQpGb3IgdGhpcyBhc3NpZ25tZW50LCBJIHVzZWQgdGhlIGRhdGEgc2V0ICJTdHVkZW50cycgQWNhZGVtaWMgUGVyZm9ybWFuY2UgRGF0YSBzZXQiIGZyb20gS2FnZ2xlLiBUaGlzIGlzIGFuIGVkdWNhdGlvbmFsIGRhdGEgc2V0IHdoaWNoIGlzIGNvbGxlY3RlZCBmcm9tIGxlYXJuaW5nIG1hbmFnZW1lbnQgc3lzdGVtIChMTVMpIGNhbGxlZCBLYWxib2FyZCAzNjAuIFRoZSBkYXRhIGlzIGNvbGxlY3RlZCB1c2luZyBhIGxlYXJuaW5nIGFjdGl2aXR5IHRyYWNrZXIgdG9vbCB3aGljaCBpcyBjYWxsZWQgZXhwZXJpZW5jZSBBUEkuIFRoZSBkYXRhIHNldCBjb250YWlucyA0ODAgc3R1ZGVudCByZWNvcmRzIG9mIHdoaWNoIDMwNSBhcmUgbWFsZSBhbmQgMTc1IGFyZSBmZW1hbGUuIFRoZXJlIGFyZSBhIHRvdGFsIG9mIDE2IHZhcmlhYmxlcyBpbiB0aGlzIGRhdGEgc2V0IHRoYXQgYXJlIGNsYXNzaWZpZWQgaW50byB0aHJlZSBtYWpvciBjYXRlZ29yaWVzOiAoMSkgRGVtb2dyYXBoaWMgZmVhdHVyZXMgc3VjaCBhcyBnZW5kZXIgYW5kIG5hdGlvbmFsaXR5LCAoMikgQWNhZGVtaWMgYmFja2dyb3VuZCBmZWF0dXJlcyBzdWNoIGFzIGVkdWNhdGlvbmFsIHN0YWdlLCBncmFkZSBsZXZlbCBhbmQgc2VjdGlvbiwgKDMpIEJlaGF2aW9yYWwgRmVhdHVyZXMgc3VjaCBhcyByYWlzZWQgaGFuZCBpbiBjbGFzcywgdmlld2luZyByZXNvdXJjZXMsIGFuc3dlcmluZyBzdXJ2ZXkgYnkgcGFyZW50cywgYW5kIHNjaG9vbCBzYXRpc2ZhY3Rpb24uDQoNCg0KIyMqKlJlc2VhcmNoIFF1ZXN0aW9uIGFuZCBIeXBvdGhlc2VzKioNClRoZSBwdXJwb3NlIG9mIHRoaXMgYW5hbHlzaXMgaXMgdG8gZXhhbWluZSBob3cgbWFsZXMgYW5kIGZlbWFsZXMgZGlmZmVyIGluIHRlcm1zIG9mIHVzaW5nIHJlc291cmNlcywgcmFpc2luZyB0aGVpciBoYW5kcywgYWNhZGVtaWMgcGVyZm9ybWFuY2UsIGV0Yy4gdXNpbmcgZ2dwbG90IGV4dGVuc2lvbnMuIEkgY3JlYXRlZCB2aXN1YWxpemF0aW9ucyB1c2luZyBnZ3Bsb3QgZXh0ZW5zaW9ucyB0byBkZW1vbnN0cmF0ZSB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdmFyaW91cyB2YXJpYWJsZXMgd2hpY2ggSSBoeXBvdGhlc2l6ZSBhZmZlY3RzIHN0dWRlbnQgc3VjY2VzcyBpbiBzY2hvb2wuIEkgYmVsaWV2ZSBzdHVkZW50cyB3aG8gdmlzaXQgcmVzb3VyY2VzIHRoZSBtb3N0IG9mdGVuIHdpbGwgb2J0YWluIGhpZ2ggZ3JhZGUgbWFya3MgYmVjYXVzZSB0aGlzIGVuYWJsZXMgc3R1ZGVudHMgdG8gcmVmcmVzaCB0aGVpciBtaW5kcyBhYm91dCB0aGUgY291cnNlIGNvbnRlbnQuIFN0dWRlbnRzIHdobyBhcmUgc2VyaW91cyBhbmQgd2FudCB0byBwZXJmb3JtIHdlbGwgaW4gYSBjb3Vyc2Ugd2lsbCBjb250aW51ZSB0byBnbyBiYWNrIHRvIHRoZSByZXNvdXJjZXMgdG8gbGVhcm4gbXVjaCBhcyBwb3NzaWJsZSBhYm91dCB0aGUgY291cnNlIHJlcXVpcmVtZW50cyBhbmQgYXNzaWdubWVudHMuIFRoZSBudW1iZXIgb2YgdGltZXMgc3R1ZGVudHMgdmlzaXQgcmVzb3VyY2VzIHdpbGwgYmUgcG9zaXRpdmVseSBjb3JyZWxhdGVkIHdpdGggaGlnaCBncmFkZSBtYXJrcy4gSSBhbHNvIGJlbGlldmUgc3R1ZGVudHMgd2hvIHJhaXNlIHRoZWlyIGhhbmRzIHRoZSBtb3N0IGluIHNjaG9vbCB3aWxsIGhhdmUgaGlnaCBncmFkZXMgYmVjYXVzZSB0aGUgbW9yZSBxdWVzdGlvbnMgc3R1ZGVudHMgYXNrIG9yIHRoZSBtb3JlIHF1ZXN0aW9ucyB0aGV5IGFuc3dlciBkdXJpbmcgc2Nob29sIGRlbW9uc3RyYXRlIHRoZSBsZXZlbCBvZiB1bmRlcnN0YW5kaW5nIG9mIHN0dWRlbnRzIGluIGRpZmZlcmVudCBzdWJqZWN0cy4gSSB3aWxsIGludmVzdGlnYXRlIHRoZSBzdHJlbmd0aCBvZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIG51bWJlciBvZiB0aW1lcyBzdHVkZW50cyByYWlzZWQgdGhlaXIgaGFuZHMgaW4gY2xhc3Mgd2l0aCB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoZXkgdmlzaXQgcmVzb3VyY2VzLiBEaXNjdXNzaW9uIGdyb3VwcyBpcyBhbm90aGVyIGludGVyZXN0aW5nIHZhcmlhYmxlIEkgZXhwbG9yZWQgYmVjYXVzZSBwYXJ0aWNpcGF0aW9uIGlzIGFuIGltcG9ydGFudCBwYXJ0IG9mIHRoZSBvdmVyYWxsIGdyYWRlLiBJIHdhbnQgdG8gc2VlIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBtYWxlcyBhbmQgZmVtYWxlcyB3aG8gcGFydGljaXBhdGUgaW4gZGlzY3Vzc2lvbiBncm91cHMgYW5kIHZpZXcgYW5ub3VuY2VtZW50cyBvZnRlbiB0byB0aGVpciBvdmVyYWxsIGdyYWRlcyBhbmQgc2VlIGlmIHRoaXMgYWZmZWN0cyB0aGVpciBzdWNjZXNzLiBMYXN0bHksIEkgd2lsbCBleHBsb3JlIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBwYXJ0aWNpcGF0aW9uIGlzIGRpc2N1c3Npb24gZ3JvdXBzIGFuZCByYWlzZWQgaGFuZHMgYW1vbmcgbWFsZXMgYW5kIGZlbWFsZXMuIA0KDQoNCiMjRGVmaW5pbmcgVmFyaWFibGVzDQoNCioqZ3JhZGVzMSoqOiBncmFkZSBsZXZlbCBvZiB0aGUgc3R1ZGVudCAoT3JkZXJlZCBDYXRlZ29yaWNhbCBEZXBlbmRlbnQgVmFyaWFibGUpIA0KDQpUaGUgc3R1ZGVudHMgYXJlIGNsYXNzaWZpZWQgaW50byB0aHJlZSBudW1lcmljYWwgaW50ZXJ2YWxzIGJhc2VkIG9uIHRoZWlyIHRvdGFsIGdyYWRlL21hcms6DQoNCkxvdy1MZXZlbDogaW50ZXJ2YWwgaW5jbHVkZXMgdmFsdWVzIGZyb20gMCB0byA2OSwNCg0KTWlkZGxlLUxldmVsOiBpbnRlcnZhbCBpbmNsdWRlcyB2YWx1ZXMgZnJvbSA3MCB0byA4OSwNCg0KSGlnaC1MZXZlbDogaW50ZXJ2YWwgaW5jbHVkZXMgdmFsdWVzIGZyb20gOTAtMTAwLg0KDQoNCioqdmlzaXRlZHJlc291cmNlcyoqOiBob3cgbWFueSB0aW1lcyB0aGUgc3R1ZGVudCB2aXNpdHMgYSBjb3Vyc2UgDQpjb250ZW50KG51bWVyaWM6MC0xMDApDQoNCioqcmFpc2VkaGFuZHMqKjogaG93IG1hbnkgdGltZXMgdGhlIHN0dWRlbnQgcmFpc2VzIGhpcy9oZXIgaGFuZCBpbiB0aGUgY2xhc3Nyb29tIChudW1lcmljOjAtMTAwKQ0KDQoqKmRpc2N1c3Npb25ncm91cHMqKjogaG93IG1hbnkgdGltZXMgdGhlIHN0dWRlbnQgcGFydGljaXBhdGUgaW4gZGlzY3Vzc2lvbiBncm91cHMgKG51bWVyaWM6MC0xMDApDQoNCioqZ2VuZGVyKio6IHdoZXRoZXIgdGhlIHN0dWRlbnQgaXMgbWFsZSBvZiBmZW1hbGUNCg0KDQojI0ltcG9ydGluZyBhbmQgcHJldmlld2luZyB0aGUgZGF0YSBzZXQNCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KHJlYWRyKQ0KU3R1ZGVudF9BY2FkZW1pY19EYXRhPC1yZWFkX2NzdigiQzpcXFVzZXJzXFxTYW5naXRhIFJveVxcRGVza3RvcFxcU3R1ZGVudF9BY2FkZW1pY19EYXRhLmNzdiIpDQpoZWFkKFN0dWRlbnRfQWNhZGVtaWNfRGF0YSkNCm5yb3coU3R1ZGVudF9BY2FkZW1pY19EYXRhKQ0KYGBgDQoNCg0KIyNDbGVhbmluZyB1cCB0aGUgZGF0YSBzZXQNCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KGRwbHlyKQ0KU3R1ZGVudF9EYXRhMTwtIFN0dWRlbnRfQWNhZGVtaWNfRGF0YSAlPiUgDQogIHJlbmFtZShOYXRpb25hbGl0eT1OYXRpb25hbElUeSwNCiAgdmlzaXRlZHJlc291cmNlcz1WaXNJVGVkUmVzb3VyY2VzLA0KICBHcmFkZXM9Q2xhc3MpICU+JQ0KICBtdXRhdGUoZ3JhZGVzMT0gZmFjdG9yKEdyYWRlcywgb3JkZXJlZD1UUlVFLCBsZXZlbHM9YygiTCIsICJNIiwgIkgiKSksDQogICAgICAgICBnZW5kZXIgPSBhcy5mYWN0b3IoZ2VuZGVyKSwNCiAgICAgICAgIFN0dWRlbnRBYnNlbmNlRGF5cz1hcy5mYWN0b3IoU3R1ZGVudEFic2VuY2VEYXlzKSwNCiAgICAgICAgIFN0YWdlSUQ9YXMuZmFjdG9yKFN0YWdlSUQpKSAlPiUNCiAgbXV0YXRlKFJlbGF0aW9uPWFzLmZhY3RvcihSZWxhdGlvbikpDQoNCiAgaGVhZChTdHVkZW50X0RhdGExKQ0KYGBgDQoNCiMjIFZpZXdpbmcgdGhlIGRpZmZlcmVuY2VzIGluIHN0dWRlbnQgcGVyZm9ybWFuY2UgYmFzZWQgb24gdGhlIGF2ZXJhZ2UgbnVtYmVyIG9mIGhhbmRzIHJhaXNlZCBpbiBjbGFzcw0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCmxpYnJhcnkoZ2dwbG90MikNCmdncGxvdChkYXRhPVN0dWRlbnRfRGF0YTEpK2dlb21fY29sKGFlcyh4PWdyYWRlczEsIHk9bWVhbihyYWlzZWRoYW5kcyksIGZpbGw9Z3JhZGVzMSkpDQpgYGANCg0KIyMjR3JvdXBpbmcgdGhlIGRhdGEgYnkgZ2VuZGVyIGFuZCBncmFkZXMNCiMjI1N1bW1hcml6aW5nIHRoZSBkYXRhIGJ5IHRoZSBhdmVyYWdlIG51bWJlciBvZiBoYW5kcyByYWlzZWQsIGFubm91bmNlbWVudHMgdmlld2VkLCBwYXJ0aWNpcGF0aW9uIGluIGRpc2N1c3Npb24gZ3JvdXBzLCBhbmQgdmlzaXRlZCByZXNvdXJjZXMNCmBgYHtyfQ0Kc3R1ZGVudDI8LVN0dWRlbnRfRGF0YTElPiUNCiAgZ3JvdXBfYnkoZ2VuZGVyLCBncmFkZXMxKSU+JQ0KICAgc3VtbWFyaXplKE49bigpLCByYWlzZWRoYW5kcz1tZWFuKHJhaXNlZGhhbmRzKSwNCiAgICAgICAgICAgIEFubm91bmNlbWVudHNWaWV3PW1lYW4oQW5ub3VuY2VtZW50c1ZpZXcpLCANCiAgICAgICAgICAgIGRpc2N1c3Npb249bWVhbihEaXNjdXNzaW9uKSwNCiAgICAgICAgICAgIHJlc291cmNlcz1tZWFuKHZpc2l0ZWRyZXNvdXJjZXMpKQ0KcHJpbnQoc3R1ZGVudDIpDQpgYGANCg0KIyMjR2VuZGVyIGRpZmZlcmVuY2VzIGluIGFjYWRlbWljIHBlcmZvcm1hbmNlLCBudW1iZXIgb2YgdGltZXMgaGFuZHMgcmFpc2VkLCBhbm5vdW5jZW1lbnRzIHZpZXdlZCwgcGFydGljaXBhdGlvbiBpbiBkaXNjdXNzaW9uIGdyb3VwcywgYW5kIHZpZXdlZCByZXNvdXJjZXMNCmBgYHtyfQ0Kc3R1ZGVudEY8LXN0dWRlbnQyJT4lDQogIGZpbHRlcihnZW5kZXI9PSJGIiklPiUNCm11dGF0ZShwZXJjZW50PU4vc3VtKC4kTikqMTAwKQ0KcHJpbnQoc3R1ZGVudEYpDQoNCnN0dWRlbnRNPC1zdHVkZW50MiU+JQ0KICBmaWx0ZXIoZ2VuZGVyPT0iTSIpJT4lDQogIG11dGF0ZShwZXJjZW50PU4vc3VtKC4kTikqMTAwKQ0KcHJpbnQoc3R1ZGVudE0pDQoNCmBgYA0KDQojIyMgR2VuZGVyIGRpZmZlcmVuY2VzIGluIHN0dWRlbnQgYWNhZGVtaWMgcGVyZm9ybWFuY2UNCmBgYHtyIGZpZy5oZWlnaHQ9NiwgZmlnLndpZHRoPTgsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KGNvd3Bsb3QpDQpmZW1hbGVncmFkZXM8LWdncGxvdChkYXRhPXN0dWRlbnRGKStnZW9tX2NvbChhZXMoeD1ncmFkZXMxLCB5PXBlcmNlbnQsIGZpbGw9Z3JhZGVzMSkpDQoNCm1hbGVncmFkZXM8LWdncGxvdChkYXRhPXN0dWRlbnRNKStnZW9tX2NvbChhZXMoeD1ncmFkZXMxLCB5PXBlcmNlbnQsIGZpbGw9Z3JhZGVzMSkpDQpwbG90X2dyaWQoZmVtYWxlZ3JhZGVzLCBtYWxlZ3JhZGVzLCBsYWJlbHM9YygiZmVtYWxlcyIsICJtYWxlcyIpKQ0KYGBgDQoNCg0KIyMjR2VuZGVyIGRpZmZlcmVuY2VzIGluIHN0dWRlbnQgcGVyZm9ybWFuY2UgYmFzZWQgb24gdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBudW1iZXIgb2YgcmFpc2VkIGhhbmRzIGFuZCB2aXNpdGVkIHJlc291cmNlcyANCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KGdndGhlbWVzKQ0KZ2dwbG90KGRhdGE9U3R1ZGVudF9EYXRhMSkrDQogIGdlb21fcG9pbnQoYWVzKHg9cmFpc2VkaGFuZHMsIHk9dmlzaXRlZHJlc291cmNlcywgY29sb3I9Z3JhZGVzMSkpKw0KICBmYWNldF93cmFwKH5nZW5kZXIpKw0KICB0aGVtZV9zb2xhcml6ZWQoKQ0KICANCmBgYA0KDQojIyNHZW5kZXIgZGlmZmVyZW5jZXMgaW4gc3R1ZGVudCBwZXJmb3JtYW5jZSBiYXNlZCBvbiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIG51bWJlciBvZiBhbm5vdW5jZW1lbnRzIHZpZXdlZCBhbmQgcGFydGljaXBhdGlvbiBpbiBkaXNjdXNzaW9uIGdyb3VwcyANCmBgYHtyfQ0KZ2dwbG90KGRhdGE9U3R1ZGVudF9EYXRhMSkrDQogIGdlb21fcG9pbnQoYWVzKHg9QW5ub3VuY2VtZW50c1ZpZXcsIHk9RGlzY3Vzc2lvbiwgY29sb3I9Z3JhZGVzMSkpKw0KICBmYWNldF93cmFwKH5nZW5kZXIpKw0KICB0aGVtZV9ncmV5KCkNCmBgYA0KDQojIyNHZW5kZXIgZGlmZmVyZW5jZXMgaW4gc3R1ZGVudCBwZXJmb3JtYW5jZSBiYXNlZCBvbiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGhlIG51bWJlciBvZiByYWlzZWQgaGFuZHMgYW5kIHBhcnRpY2lwYXRpb24gaW4gZGlzY3Vzc2lvbiBncm91cHMgDQpgYGB7cn0NCmdncGxvdChkYXRhPVN0dWRlbnRfRGF0YTEpKw0KICBnZW9tX3BvaW50KGFlcyh4PXJhaXNlZGhhbmRzLCB5PURpc2N1c3Npb24sIGNvbG9yPWdyYWRlczEpKSsNCiAgZmFjZXRfd3JhcCh+Z2VuZGVyKSsNCiAgdGhlbWVfaWdyYXkoKQ0KYGBgDQoNCg0KDQoNCiMjKipSZWZlcmVuY2VzKioNCkFtcmllaCwgRS4gQS4sIEhhbXRpbmksIFQuLCAmIEFsamFyYWgsIEkuICgyMDE2KS4gTWluaW5nIEVkdWNhdGlvbmFsIERhdGEgdG8gUHJlZGljdCBTdHVkZW50J3MgYWNhZGVtaWMgUGVyZm9ybWFuY2UgdXNpbmcgRW5zZW1ibGUgTWV0aG9kcy4gSW50ZXJuYXRpb25hbCBKb3VybmFsIG9mIERhdGFiYXNlIFRoZW9yeSBhbmQgQXBwbGljYXRpb24sIDkoOCksIDExOS0xMzYuDQoNCkFtcmllaCwgRS4gQS4sIEhhbXRpbmksIFQuLCAmIEFsamFyYWgsIEkuICgyMDE1LCBOb3ZlbWJlcikuIFByZXByb2Nlc3NpbmcgYW5kIGFuYWx5emluZyBlZHVjYXRpb25hbCBkYXRhIHNldCB1c2luZyBYLUFQSSBmb3IgaW1wcm92aW5nIHN0dWRlbnQncyBwZXJmb3JtYW5jZS4gSW4gQXBwbGllZCBFbGVjdHJpY2FsIEVuZ2luZWVyaW5nIGFuZCBDb21wdXRpbmcgVGVjaG5vbG9naWVzIChBRUVDVCksIDIwMTUgSUVFRSBKb3JkYW4gQ29uZmVyZW5jZSBvbiAocHAuIDEtNSkuIElFRUUu