1 Independent Projects

Anyone in the lab is able (and encouraged!) to pursue an independent project—or a collaborative project with others, as long as they are on the IRB for that project and are meeting their regular lab expectations. You are encouraged to think about what research questions you have, what you are curious about, and what you want to know the answer to. If you are unsure what are the kinds of questions you could ask, you are encouraged to examine prior lab publications and prior Honors theses by students in the lab (located at the following location on the lab drive: \\lc-rs-store24.hpc.uiowa.edu\lss_itpetersen\Lab\Publications\). You may also meet with other members of the lab, including undergraduate RAs, graduate students, lab staff, and Dr. Petersen, to hone your research question(s) and hypotheses, to learn how to conduct and interpret the analyses, and to learn how to write about/present your findings, etc. Note: work related to independent projects is expected to take place *outside* of your regular 10 hours in the lab.

If you are interested, you may pursue an Honors project and thesis, as long as you have a full year available (and the time necessary) to conduct the project and you meet the other expectations for Honors projects described here. However, you may also pursue an independent project without pursuing an Honors project/thesis. Regardless of which path your pursue, you are encouraged to present your findings at the UI Undergraduate Research Festival or other conferences.

Please read all of the sections below; they provide resources to help you succeed in your independent project and provide important expectations regarding data confidentiality etc.

2 Overview of Honors Options

Students may pursue Honors in the Psychology major through lab-related work, either through a thesis or a non-thesis route. For more information, see here: https://psychology.uiowa.edu/undergraduate/honors-psychology. In general, students complete Honors theses during their senior year, after they have firm footing in the lab (i.e., they have spent at least 1–2 semesters in the lab). Because the non-thesis capstones requires additional coursework, students may pursue this option earlier than their senior year. Please meet with Dr. Petersen to help decide which might make the most sense given your goals. You are also encouraged to meet with the Lab Coordinator and graduate students.

3 Expectations

3.1 Non-Thesis Honors

If you are interested in conducting a non-thesis Honors, it is your responsibility to contact Dr. Petersen. You are expected to send Dr. Petersen a draft of the Pre-Launch Agreement for approval, and to incorporate any edits/feedback from Dr. Petersen before submitting. The Pre-Launch Agreement should be written so that it will be able to be understood by a general audience (because people outside the lab will review your pre-launch agreement). As a result, you should not use lab- or study-specific terms or abbreviations without defining them and saying why they are important. Dr. Petersen’s decision whether to approve your proposal will depend on factors such as whether you are meeting your regular lab expectations, whether you have the time necessary, and your motivation.

You are expected to follow the Department requirements for Honors in Psychology, including meeting all deadlines: https://psychology.uiowa.edu/undergraduate/honors-psychology

3.2 Honors Thesis

The Honors Thesis process is (at least) a year-long process (including summer) that must be initiated in collaboration with Dr. Petersen. During this process, you are encouraged to register for PSY:4990 or HONR:4990 (Honors Thesis or Project) to account for the time commitment this project requires. If you are interested in conducting an Honors thesis, it is your responsibility to contact Dr. Petersen to set up a meeting (see below). Dr. Petersen’s decision whether to approve your proposal will depend on factors such as whether you are meeting your regular lab expectations, whether you have the time necessary, the quality of your research question and hypotheses, your motivation, and whether you have the skills and aptitude necessary for successfully completing the project.

To help keep you on track to finish your project and thesis on this timeline, Dr. Petersen expects you to meet with him once per month. It is your responsibility to schedule the monthly meetings. In addition, it is your responsibility to pair with a graduate student in the lab and to meet regularly (at least monthly) with them to get feedback on your ideas and writing, help with analysis, etc.

The first half of the year is spent formulating a research question and hypotheses (based on the research literature), and writing the Introduction and Method sections of the thesis. The second half of the year is spent performing the data analysis to answer the research question, writing the Results and Discussion sections of the thesis, and presenting the findings at a poster conference (see below). The more reading you do, before the “thesis year” begins, and the more you think about what you are interested in, what questions you have, and what gaps are in the literature that you can address with the lab’s data, the more prepared you will be to complete your thesis on this timeline. Note: work related to Honors theses is expected to take place *outside* of your regular 10 hours in the lab. You can get academic credit for your thesis research via the course entitled “Honors Thesis Research” (PSY:4990).

Dr. Petersen expects you to present a research poster on your thesis findings at the UI ICRU Undergraduate Research Festival during the final semester in which you complete your thesis. It is your responsibility to keep track of the registration deadlines for the Undergraduate Research Festival so you do not miss it!

You are expected to follow the Department requirements for Honors theses and for Honors in Psychology, including meeting all deadlines: https://psychology.uiowa.edu/undergraduate/honors-psychology

You must have two readers of the thesis who are familiar with the topic. One reader will be Dr. Petersen. You will work with Dr. Petersen to identify a second reader. The reader should be in the Department of Psychological and Brain Sciences. You should work with your readers to schedule your thesis defense. Your defense should take place no later than Finals week so you can get Honors credit when you graduate etc. You must send the completed final draft of your thesis to both Dr. Petersen and the second reader at least one week prior to your defense. Read the Cover Page Instructions for how to create your cover page, what you need to have signed at your defense, and what you need to submit.

UI Undergraduate Research Festival: https://our.research.uiowa.edu/events-0/undergraduate-research-festivals

4 Resources

For more information on the School Readiness Study, you are encouraged to read papers from the project, view the available measures, examine the Data Dictionary, and see the pre-registered hypotheses. These resources are available on the project page for the School Readiness Study.

There are many helpful resources on the lab drive for thesis projects, including resources for data analysis, example theses, example posters, cover page instructions, and helpful readings. You can find these resources at the following location on the lab drive: \\lc-rs-store24.hpc.uiowa.edu\lss_itpetersen\Lab\Miscellaneous\Honors Thesis\

We also have a page the clarifies the difference between mediation and moderation here.

For information on which statistical test to use, see the statistical decision tree in the lab’s Data Analysis Guides. For information on how to use software for data analysis, see our data analysis guides:

In conducting your Honors thesis, you are expected to obtain and use the following must-have general resources:

  1. “Writing Empirical Research Reports: A Basic Guide for Students of the Social and Behavioral Sciences”, 8th Edition (Fred Pyrczak)
    https://www.amazon.com/Writing-Empirical-Research-Reports-Behavioral/dp/1936523361
  2. “Publication Manual of the American Psychological Association”, 7th Edition
    https://www.amazon.com/Publication-Manual-American-Psychological-Association/dp/143383216X
  3. “Discovering Statistics using SPSS”, 5th Edition (Andy Field)
    https://www.amazon.com/Discovering-Statistics-Using-IBM-SPSS/dp/1526436566
  4. EndNote or Zotero—software for organizing your articles and for writing your References section
    https://its.uiowa.edu/endnote
    https://www.zotero.org

Please note that we do not want these resources to be financial barriers to completing an Honors thesis. You may be able to find many of these at the library, and Dr. Petersen may be able to lend you a copy, as well. Please talk with Dr. Petersen if these resources would be a financial barrier.

5 Steps to Get Started

5.1 Non-Thesis Honors

Before you meet with Dr. Petersen, send Dr. Petersen a draft of your pre-launch agreement form.

5.2 Honors Thesis

Before you meet with Dr. Petersen to come up with a thesis idea, (1) think about what you would like to study, (2) begin to read up on it, and (3) send Dr. Petersen a short document (1–2 paragraphs) describing the following:

  1. what you are interested in studying
  2. why you are interested in studying it
  3. what you have learned in doing reading on the topic (provide citations)
  4. what specific research question(s) you have
  5. what measure(s) in our lab’s study you are interested in using for each construct
  6. what your hypotheses are

Do not spend too much time on the preliminary document, because it will important for you to be flexible to the possibility that you may end up examining a different question. Following the steps above will help structure your conversation with Dr. Petersen in the most efficient way.

In addition, send Dr. Petersen a draft of your pre-launch agreement form before you meet with him.

6 Accessing the Lab Drive

Your member folder on the lab drive (\Lab\Members\) should be used for all thesis-related work. This is where you will find your data file(s), and where you should save all writing and analysis files. Please organize all thesis-related files into subfolders within your member folder using this structure:

\Lab\Members\[Your HawkID]\Thesis\...subfolders below…
                          \Analysis\ -- put analysis scripts (SPSS, R, etc.) here
                          \Conference Abstract\ -- put your conference abstract here
                          \Data\ -- put data files here
                          \Figures\ -- put figures here
                          \Output\ -- put saved output files here
                          \Poster\ -- put your poster here
                          \Presentation\ -- put your presentation here
                          \Tables\ -- put your tables here
                          \Thesis\ -- put your Thesis document here (i.e., your paper)

To access the lab drive off-campus, you will need to set up VPN. For instructions to set up VPN, see here.

7 Accessing Articles through the UI Libraries

You should be able to access many, if not most, articles using Google Scholar. Other databases include PsycInfo and PubMed. However, even if an article is not freely available online and the university does not provide access to the journal, you should be able to obtain the PDF of any scientific article. If the PDF of article is not available on Google Scholar, you can easily get article PDFs through the university library system. First, see if the university has access to the electronic/online version of the journal by searching the name of the journal in Infohawk. For instance, here is a search for the journal Developmental Neuropsychology:
https://search.lib.uiowa.edu/primo-explore/search?query=any,contains,Developmental%20Neuropsychology&search_scope=default_scope&vid=01IOWA

If the university does not have access to the journal, you can access the PDF of any article, book chapter, or even the inter-library loan of any book through the UI Document Delivery System.

8 Working on Your Thesis

The easiest way to work on your thesis is to work on it in the lab. If you must work on your thesis outside of the lab, you may either 1) VPN into the lab drive or 2) “remote in” to a lab computer. For instructions how to do each, see the RA Remote Participation page.

9 Statistical Analysis Software

You can use whatever statistical software you prefer for your project. Students in the lab frequently use SPSS or jamovi, though you are also welcome to use R or other software. SPSS and jamovi have point-and-click interfaces and thus are the easiest to learn and are the most commonly used for theses in the lab. Unlike SPSS, however, jamovi is free, so you will be able to use it freely after you leave the university. R is also free, but it is code-based and has a steep learning curve. The key goal is for your research to be reproducible (by you and others), so—regardless of which software you use—having analysis scripts that can reproduce your findings is important. Please follow the Data Analysis Guide for the software package that you use to ensure you create analysis scripts for reproducibility:

10 Access SPSS/R for Data Analysis

You can access SPSS and R through an online platform called UI Virtual Desktop. You can use Virtual Desktop on campus or from home, but if you are off-campus, VPN is required. For instructions to set up VPN, see here. Follow the steps below to set up Virtual Desktop for the first time.

  1. Connect to VPN using Cisco AnyConnect.
  2. Go to: https://virtualdesktop.uiowa.edu/Citrix/VirtualDesktopWeb
  3. If this is your first time accessing Virtual Desktop on your computer, you will need to install an application called Citrix Receiver. In the process of logging into Virtual Desktop, you will encounter a window that prompts you to install Citrix Receiver. Follow the prompts on the screen to install the application.
    1. Note: You must finish the installation before you can progress to the next window
  4. Follow the prompts on the screen to finish logging into Virtual Desktop.
  5. Once you are logged in, click the “Apps” tab at the top of the screen. Scroll down and click “Map Network Drive.” This will prompt a new window.
  6. In the empty “Folder” textbox type the lab drive path: \\lc-rs-store24.hpc.uiowa.edu\lss_itpetersen\Lab\
  7. Click the “Finish” button at the bottom of the window.
  8. Now, navigate back through the “Apps” section of Virtual Desktop to find SPSS or R, and click it to open.
  9. To open your data file in SPSS, click “Open another file…” under “Recent Files.”
  10. In the new window, click the drop-down menu under “Look in:” and click the lab drive.
  11. Click the “Members” folder and open your member folder to find your data files. Once you have selected your data file, click “Open.”
  12. Then, you are ready to analyze your data!

11 Important

Lab data must remain on the lab drive. Please make sure NOT to move lab data off the lab drive or onto a personal computer. It is important that you do not save any visit videos or lab files of any kind to your personal computer, or take screenshots, Snapchats, etc. of any lab-related documents.

12 Writing Guidelines

Make sure to follow the lab’s writing guidelines. You are also encouraged to take advantage of the UI Writing Center.

13 Presenting Work at Conferences

You are expected to present a research poster on your thesis findings at the UI Undergraduate Research Festival. You are encouraged (but not required) to additionally present your research at other conferences, as well. There are regional, national, and international conferences. Presenting your work at conferences provides important importunities for professional development. First, it helps people get important experiences in how to communicate research (visually and in conversation). Second, it helps people network with other researchers who are interested in similar questions. Third, it makes people more competitive for graduate school.

If you would you like to put together a conference submission (abstract), it is your responsibility to put together a draft of the abstract. We have example conference abstracts at the following location on the lab drive: \\lc-rs-store24.hpc.uiowa.edu\lss_itpetersen\Lab\Publications\Conference Abstracts\. Feel free to let Dr. Petersen, the Lab Coordinator, and graduate students know what you need (e.g., data, help with analysis, etc.) to help you put together your abstract. We are happy to help you in the process. If your conference submission is accepted, you will need to put together a poster. We have example conference posters at the following location on the lab drive: \\lc-rs-store24.hpc.uiowa.edu\lss_itpetersen\Lab\Publications\Posters\. You must send your draft to Dr. Petersen before you submit it because (1) he is a co-author and is signing off on it by allowing it to be submitted, and (2) he wants to give helpful feedback to give it the best chance of being accepted.

Below is a list of potentially relevant conferences:

  • Society for Research in Child Development (SRCD): This international conference is the most commonly attended conference by members of the lab.
  • International Society for Research in Child and Adolescent Psychopathology (ISRCAP)
  • International Society for the Study of Behavioral Development (ISSBD)
  • Occasional Temperament Conference (OTC)
  • Flux: a conference that deals with developmental cognitive neuroscience
  • Society for Research in Psychopathology (SRP)
  • International Congress of Infant Studies (ICIS)
  • Society for Research on Adolescence (SRA)
  • American Academy of Child and Adolescent Psychiatry (AACAP)
  • Association for Psychological Science (APS)
  • American Psychological Association (APA)
  • Midwestern Psychological Association (MPA)
  • Society for Psychophysiological Research (SPR)
  • National Council for Undergraduate Research (NCUR)
  • Social and Affective Neuroscience Society (SANS)
  • Society for Neuroscience (SFN)
  • Cognitive Development Society (CDS)
  • International Meeting of the Psychometric Society (IMPS)
  • Modern Modeling Methods (MMM)
  • World Association for Infant Mental Health (WAIMH)
  • International Association for Youth Mental Health (IAYMH)

14 Publishing

It is not common (or expected) to publish a thesis. However, there may be opportunities to publish your thesis if you are interested. Please talk to Dr. Petersen if you are interested in pursuing this.

Various options may include:

Publishing the thesis in a peer-reviewed journal will likely take extensive additional time and work to prepare the thesis to be publication-ready in terms of format and quality. Thus, it may require close collaboration with a graduate student who is willing to support this endeavor.

LS0tCnRpdGxlOiAiSG9ub3JzIEluIFBzeWNob2xvZ3k6IEV4cGVjdGF0aW9ucyBhbmQgUmVzb3VyY2VzIgotLS0KCmBgYHtyIHNldHVwLCBpbmNsdWRlID0gRkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldCgKICBlY2hvID0gVFJVRSwKICBlcnJvciA9IFRSVUUsCiAgY29tbWVudCA9ICIiKQpgYGAKCiMgSW5kZXBlbmRlbnQgUHJvamVjdHMgeyNpbmRlcGVuZGVudFByb2plY3RzfQoKQW55b25lIGluIHRoZSBsYWIgaXMgYWJsZSAoYW5kIGVuY291cmFnZWQhKSB0byBwdXJzdWUgYW4gaW5kZXBlbmRlbnQgcHJvamVjdOKAlG9yIGEgY29sbGFib3JhdGl2ZSBwcm9qZWN0IHdpdGggb3RoZXJzLCBhcyBsb25nIGFzIHRoZXkgYXJlIG9uIHRoZSBJUkIgZm9yIHRoYXQgcHJvamVjdCBhbmQgYXJlIG1lZXRpbmcgdGhlaXIgcmVndWxhciBsYWIgZXhwZWN0YXRpb25zLgpZb3UgYXJlIGVuY291cmFnZWQgdG8gdGhpbmsgYWJvdXQgd2hhdCByZXNlYXJjaCBxdWVzdGlvbnMgeW91IGhhdmUsIHdoYXQgeW91IGFyZSBjdXJpb3VzIGFib3V0LCBhbmQgd2hhdCB5b3Ugd2FudCB0byBrbm93IHRoZSBhbnN3ZXIgdG8uCklmIHlvdSBhcmUgdW5zdXJlIHdoYXQgYXJlIHRoZSBraW5kcyBvZiBxdWVzdGlvbnMgeW91IGNvdWxkIGFzaywgeW91IGFyZSBlbmNvdXJhZ2VkIHRvIGV4YW1pbmUgcHJpb3IgW2xhYiBwdWJsaWNhdGlvbnNdKGh0dHBzOi8vZGV2ZWxvcG1lbnRhbC1wc3ljaG9wYXRob2xvZ3kubGFiLnVpb3dhLmVkdS9wdWJsaWNhdGlvbnMpIGFuZCBwcmlvciBIb25vcnMgdGhlc2VzIGJ5IHN0dWRlbnRzIGluIHRoZSBsYWIgKGxvY2F0ZWQgYXQgdGhlIGZvbGxvd2luZyBsb2NhdGlvbiBvbiB0aGUgbGFiIGRyaXZlOiBgXFxsYy1ycy1zdG9yZTI0LmhwYy51aW93YS5lZHVcbHNzX2l0cGV0ZXJzZW5cTGFiXFB1YmxpY2F0aW9uc1xgKS4KWW91IG1heSBhbHNvIG1lZXQgd2l0aCBvdGhlciBtZW1iZXJzIG9mIHRoZSBsYWIsIGluY2x1ZGluZyB1bmRlcmdyYWR1YXRlIFJBcywgZ3JhZHVhdGUgc3R1ZGVudHMsIGxhYiBzdGFmZiwgYW5kIERyLiBQZXRlcnNlbiwgdG8gaG9uZSB5b3VyIHJlc2VhcmNoIHF1ZXN0aW9uKHMpIGFuZCBoeXBvdGhlc2VzLCB0byBsZWFybiBob3cgdG8gY29uZHVjdCBhbmQgaW50ZXJwcmV0IHRoZSBhbmFseXNlcywgYW5kIHRvIGxlYXJuIGhvdyB0byB3cml0ZSBhYm91dC9wcmVzZW50IHlvdXIgZmluZGluZ3MsIGV0Yy4KTm90ZTogd29yayByZWxhdGVkIHRvIGluZGVwZW5kZW50IHByb2plY3RzIGlzIGV4cGVjdGVkIHRvIHRha2UgcGxhY2UgXCpvdXRzaWRlXCogb2YgeW91ciByZWd1bGFyIDEwIGhvdXJzIGluIHRoZSBsYWIuCgpJZiB5b3UgYXJlIGludGVyZXN0ZWQsIHlvdSBtYXkgcHVyc3VlIGFuIEhvbm9ycyBwcm9qZWN0IGFuZCB0aGVzaXMsIGFzIGxvbmcgYXMgeW91IGhhdmUgYSBmdWxsIHllYXIgYXZhaWxhYmxlIChhbmQgdGhlIHRpbWUgbmVjZXNzYXJ5KSB0byBjb25kdWN0IHRoZSBwcm9qZWN0IGFuZCB5b3UgbWVldCB0aGUgb3RoZXIgZXhwZWN0YXRpb25zIGZvciBIb25vcnMgcHJvamVjdHMgZGVzY3JpYmVkIFtoZXJlXSgjZXhwZWN0YXRpb25zLXRoZXNpcykuCkhvd2V2ZXIsIHlvdSBtYXkgYWxzbyBwdXJzdWUgYW4gaW5kZXBlbmRlbnQgcHJvamVjdCB3aXRob3V0IHB1cnN1aW5nIGFuIEhvbm9ycyBwcm9qZWN0L3RoZXNpcy4KUmVnYXJkbGVzcyBvZiB3aGljaCBwYXRoIHlvdXIgcHVyc3VlLCB5b3UgYXJlIGVuY291cmFnZWQgdG8gcHJlc2VudCB5b3VyIGZpbmRpbmdzIGF0IHRoZSBVSSBVbmRlcmdyYWR1YXRlIFJlc2VhcmNoIEZlc3RpdmFsIG9yIG90aGVyIFtjb25mZXJlbmNlc10oI2NvbmZlcmVuY2VzKS4KClBsZWFzZSByZWFkIGFsbCBvZiB0aGUgc2VjdGlvbnMgYmVsb3c7IHRoZXkgcHJvdmlkZSByZXNvdXJjZXMgdG8gaGVscCB5b3Ugc3VjY2VlZCBpbiB5b3VyIGluZGVwZW5kZW50IHByb2plY3QgYW5kIHByb3ZpZGUgaW1wb3J0YW50IGV4cGVjdGF0aW9ucyByZWdhcmRpbmcgZGF0YSBjb25maWRlbnRpYWxpdHkgZXRjLgoKIyBPdmVydmlldyBvZiBIb25vcnMgT3B0aW9ucyB7I29wdGlvbnN9CgpTdHVkZW50cyBtYXkgcHVyc3VlIEhvbm9ycyBpbiB0aGUgUHN5Y2hvbG9neSBtYWpvciB0aHJvdWdoIGxhYi1yZWxhdGVkIHdvcmssIGVpdGhlciB0aHJvdWdoIGEgdGhlc2lzIG9yIGEgbm9uLXRoZXNpcyByb3V0ZS4KRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBoZXJlOgpodHRwczovL3BzeWNob2xvZ3kudWlvd2EuZWR1L3VuZGVyZ3JhZHVhdGUvaG9ub3JzLXBzeWNob2xvZ3kuCkluIGdlbmVyYWwsIHN0dWRlbnRzIGNvbXBsZXRlIEhvbm9ycyB0aGVzZXMgZHVyaW5nIHRoZWlyIHNlbmlvciB5ZWFyLCBhZnRlciB0aGV5IGhhdmUgZmlybSBmb290aW5nIGluIHRoZSBsYWIgKGkuZS4sIHRoZXkgaGF2ZSBzcGVudCBhdCBsZWFzdCAx4oCTMiBzZW1lc3RlcnMgaW4gdGhlIGxhYikuCkJlY2F1c2UgdGhlIG5vbi10aGVzaXMgY2Fwc3RvbmVzIHJlcXVpcmVzIGFkZGl0aW9uYWwgY291cnNld29yaywgc3R1ZGVudHMgbWF5IHB1cnN1ZSB0aGlzIG9wdGlvbiBlYXJsaWVyIHRoYW4gdGhlaXIgc2VuaW9yIHllYXIuClBsZWFzZSBtZWV0IHdpdGggRHIuIFBldGVyc2VuIHRvIGhlbHAgZGVjaWRlIHdoaWNoIG1pZ2h0IG1ha2UgdGhlIG1vc3Qgc2Vuc2UgZ2l2ZW4geW91ciBnb2Fscy4KWW91IGFyZSBhbHNvIGVuY291cmFnZWQgdG8gbWVldCB3aXRoIHRoZSBMYWIgQ29vcmRpbmF0b3IgYW5kIGdyYWR1YXRlIHN0dWRlbnRzLgoKIyBFeHBlY3RhdGlvbnMgeyNleHBlY3RhdGlvbnN9CgojIyBOb24tVGhlc2lzIEhvbm9ycyB7I2V4cGVjdGF0aW9ucy1ub25UaGVzaXN9CgpJZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gY29uZHVjdGluZyBhIG5vbi10aGVzaXMgSG9ub3JzLCBpdCBpcyB5b3VyIHJlc3BvbnNpYmlsaXR5IHRvIGNvbnRhY3QgRHIuIFBldGVyc2VuLgpZb3UgYXJlIGV4cGVjdGVkIHRvIHNlbmQgRHIuIFBldGVyc2VuIGEgZHJhZnQgb2YgdGhlIFByZS1MYXVuY2ggQWdyZWVtZW50IGZvciBhcHByb3ZhbCwgYW5kIHRvIGluY29ycG9yYXRlIGFueSBlZGl0cy9mZWVkYmFjayBmcm9tIERyLiBQZXRlcnNlbiBiZWZvcmUgc3VibWl0dGluZy4KVGhlIFByZS1MYXVuY2ggQWdyZWVtZW50IHNob3VsZCBiZSB3cml0dGVuIHNvIHRoYXQgaXQgd2lsbCBiZSBhYmxlIHRvIGJlIHVuZGVyc3Rvb2QgYnkgYSA8dT5nZW5lcmFsIGF1ZGllbmNlPC91PiAoYmVjYXVzZSBwZW9wbGUgb3V0c2lkZSB0aGUgbGFiIHdpbGwgcmV2aWV3IHlvdXIgcHJlLWxhdW5jaCBhZ3JlZW1lbnQpLgpBcyBhIHJlc3VsdCwgeW91IHNob3VsZCBub3QgdXNlIGxhYi0gb3Igc3R1ZHktc3BlY2lmaWMgdGVybXMgb3IgYWJicmV2aWF0aW9ucyB3aXRob3V0IGRlZmluaW5nIHRoZW0gYW5kIHNheWluZyB3aHkgdGhleSBhcmUgaW1wb3J0YW50LgpEci4gUGV0ZXJzZW4ncyBkZWNpc2lvbiB3aGV0aGVyIHRvIGFwcHJvdmUgeW91ciBwcm9wb3NhbCB3aWxsIGRlcGVuZCBvbiBmYWN0b3JzIHN1Y2ggYXMgd2hldGhlciB5b3UgYXJlIG1lZXRpbmcgeW91ciByZWd1bGFyIGxhYiBleHBlY3RhdGlvbnMsIHdoZXRoZXIgeW91IGhhdmUgdGhlIHRpbWUgbmVjZXNzYXJ5LCBhbmQgeW91ciBtb3RpdmF0aW9uLgoKWW91IGFyZSBleHBlY3RlZCB0byBmb2xsb3cgdGhlIERlcGFydG1lbnQgcmVxdWlyZW1lbnRzIGZvciBIb25vcnMgaW4gUHN5Y2hvbG9neSwgaW5jbHVkaW5nIG1lZXRpbmcgYWxsIGRlYWRsaW5lczoKaHR0cHM6Ly9wc3ljaG9sb2d5LnVpb3dhLmVkdS91bmRlcmdyYWR1YXRlL2hvbm9ycy1wc3ljaG9sb2d5CgojIyBIb25vcnMgVGhlc2lzIHsjZXhwZWN0YXRpb25zLXRoZXNpc30KClRoZSBIb25vcnMgVGhlc2lzIHByb2Nlc3MgaXMgKGF0IGxlYXN0KSBhIHllYXItbG9uZyBwcm9jZXNzIChpbmNsdWRpbmcgc3VtbWVyKSB0aGF0IG11c3QgYmUgaW5pdGlhdGVkIGluIGNvbGxhYm9yYXRpb24gd2l0aCBEci4gUGV0ZXJzZW4uCkR1cmluZyB0aGlzIHByb2Nlc3MsIHlvdSBhcmUgZW5jb3VyYWdlZCB0byByZWdpc3RlciBmb3IgUFNZOjQ5OTAgb3IgSE9OUjo0OTkwICgqSG9ub3JzIFRoZXNpcyBvciBQcm9qZWN0KikgdG8gYWNjb3VudCBmb3IgdGhlIHRpbWUgY29tbWl0bWVudCB0aGlzIHByb2plY3QgcmVxdWlyZXMuCklmIHlvdSBhcmUgaW50ZXJlc3RlZCBpbiBjb25kdWN0aW5nIGFuIEhvbm9ycyB0aGVzaXMsIGl0IGlzIHlvdXIgcmVzcG9uc2liaWxpdHkgdG8gY29udGFjdCBEci4gUGV0ZXJzZW4gdG8gc2V0IHVwIGEgbWVldGluZyAoc2VlIGJlbG93KS4KRHIuIFBldGVyc2VuJ3MgZGVjaXNpb24gd2hldGhlciB0byBhcHByb3ZlIHlvdXIgcHJvcG9zYWwgd2lsbCBkZXBlbmQgb24gZmFjdG9ycyBzdWNoIGFzIHdoZXRoZXIgeW91IGFyZSBtZWV0aW5nIHlvdXIgcmVndWxhciBsYWIgZXhwZWN0YXRpb25zLCB3aGV0aGVyIHlvdSBoYXZlIHRoZSB0aW1lIG5lY2Vzc2FyeSwgdGhlIHF1YWxpdHkgb2YgeW91ciByZXNlYXJjaCBxdWVzdGlvbiBhbmQgaHlwb3RoZXNlcywgeW91ciBtb3RpdmF0aW9uLCBhbmQgd2hldGhlciB5b3UgaGF2ZSB0aGUgc2tpbGxzIGFuZCBhcHRpdHVkZSBuZWNlc3NhcnkgZm9yIHN1Y2Nlc3NmdWxseSBjb21wbGV0aW5nIHRoZSBwcm9qZWN0LgoKVG8gaGVscCBrZWVwIHlvdSBvbiB0cmFjayB0byBmaW5pc2ggeW91ciBwcm9qZWN0IGFuZCB0aGVzaXMgb24gdGhpcyB0aW1lbGluZSwgRHIuIFBldGVyc2VuIGV4cGVjdHMgeW91IHRvIG1lZXQgd2l0aCBoaW0gb25jZSBwZXIgbW9udGguCkl0IGlzIHlvdXIgcmVzcG9uc2liaWxpdHkgdG8gc2NoZWR1bGUgdGhlIG1vbnRobHkgbWVldGluZ3MuCkluIGFkZGl0aW9uLCBpdCBpcyB5b3VyIHJlc3BvbnNpYmlsaXR5IHRvIHBhaXIgd2l0aCBhIGdyYWR1YXRlIHN0dWRlbnQgaW4gdGhlIGxhYiBhbmQgdG8gbWVldCByZWd1bGFybHkgKGF0IGxlYXN0IG1vbnRobHkpIHdpdGggdGhlbSB0byBnZXQgZmVlZGJhY2sgb24geW91ciBpZGVhcyBhbmQgd3JpdGluZywgaGVscCB3aXRoIGFuYWx5c2lzLCBldGMuCgpUaGUgZmlyc3QgaGFsZiBvZiB0aGUgeWVhciBpcyBzcGVudCBmb3JtdWxhdGluZyBhIHJlc2VhcmNoIHF1ZXN0aW9uIGFuZCBoeXBvdGhlc2VzIChiYXNlZCBvbiB0aGUgcmVzZWFyY2ggbGl0ZXJhdHVyZSksIGFuZCB3cml0aW5nIHRoZSBJbnRyb2R1Y3Rpb24gYW5kIE1ldGhvZCBzZWN0aW9ucyBvZiB0aGUgdGhlc2lzLgpUaGUgc2Vjb25kIGhhbGYgb2YgdGhlIHllYXIgaXMgc3BlbnQgcGVyZm9ybWluZyB0aGUgZGF0YSBhbmFseXNpcyB0byBhbnN3ZXIgdGhlIHJlc2VhcmNoIHF1ZXN0aW9uLCB3cml0aW5nIHRoZSBSZXN1bHRzIGFuZCBEaXNjdXNzaW9uIHNlY3Rpb25zIG9mIHRoZSB0aGVzaXMsIGFuZCBwcmVzZW50aW5nIHRoZSBmaW5kaW5ncyBhdCBhIHBvc3RlciBjb25mZXJlbmNlIChzZWUgYmVsb3cpLgpUaGUgbW9yZSByZWFkaW5nIHlvdSBkbywgYmVmb3JlIHRoZSAidGhlc2lzIHllYXIiIGJlZ2lucywgYW5kIHRoZSBtb3JlIHlvdSB0aGluayBhYm91dCB3aGF0IHlvdSBhcmUgaW50ZXJlc3RlZCBpbiwgd2hhdCBxdWVzdGlvbnMgeW91IGhhdmUsIGFuZCB3aGF0IGdhcHMgYXJlIGluIHRoZSBsaXRlcmF0dXJlIHRoYXQgeW91IGNhbiBhZGRyZXNzIHdpdGggdGhlIGxhYidzIGRhdGEsIHRoZSBtb3JlIHByZXBhcmVkIHlvdSB3aWxsIGJlIHRvIGNvbXBsZXRlIHlvdXIgdGhlc2lzIG9uIHRoaXMgdGltZWxpbmUuCk5vdGU6IHdvcmsgcmVsYXRlZCB0byBIb25vcnMgdGhlc2VzIGlzIGV4cGVjdGVkIHRvIHRha2UgcGxhY2UgXCpvdXRzaWRlXCogb2YgeW91ciByZWd1bGFyIDEwIGhvdXJzIGluIHRoZSBsYWIuCllvdSBjYW4gZ2V0IGFjYWRlbWljIGNyZWRpdCBmb3IgeW91ciB0aGVzaXMgcmVzZWFyY2ggdmlhIHRoZSBjb3Vyc2UgZW50aXRsZWQgIkhvbm9ycyBUaGVzaXMgUmVzZWFyY2giIChQU1k6NDk5MCkuCgpEci4gUGV0ZXJzZW4gZXhwZWN0cyB5b3UgdG8gcHJlc2VudCBhIHJlc2VhcmNoIHBvc3RlciBvbiB5b3VyIHRoZXNpcyBmaW5kaW5ncyBhdCB0aGUgVUkgSUNSVSBVbmRlcmdyYWR1YXRlIFJlc2VhcmNoIEZlc3RpdmFsIGR1cmluZyB0aGUgZmluYWwgc2VtZXN0ZXIgaW4gd2hpY2ggeW91IGNvbXBsZXRlIHlvdXIgdGhlc2lzLgpJdCBpcyB5b3VyIHJlc3BvbnNpYmlsaXR5IHRvIGtlZXAgdHJhY2sgb2YgdGhlIHJlZ2lzdHJhdGlvbiBkZWFkbGluZXMgZm9yIHRoZSBVbmRlcmdyYWR1YXRlIFJlc2VhcmNoIEZlc3RpdmFsIHNvIHlvdSBkbyBub3QgbWlzcyBpdCEKCllvdSBhcmUgZXhwZWN0ZWQgdG8gZm9sbG93IHRoZSBEZXBhcnRtZW50IHJlcXVpcmVtZW50cyBmb3IgSG9ub3JzIHRoZXNlcyBhbmQgZm9yIEhvbm9ycyBpbiBQc3ljaG9sb2d5LCBpbmNsdWRpbmcgbWVldGluZyBhbGwgZGVhZGxpbmVzOgpodHRwczovL3BzeWNob2xvZ3kudWlvd2EuZWR1L3VuZGVyZ3JhZHVhdGUvaG9ub3JzLXBzeWNob2xvZ3kKCllvdSBtdXN0IGhhdmUgdHdvIHJlYWRlcnMgb2YgdGhlIHRoZXNpcyB3aG8gYXJlIGZhbWlsaWFyIHdpdGggdGhlIHRvcGljLgpPbmUgcmVhZGVyIHdpbGwgYmUgRHIuIFBldGVyc2VuLgpZb3Ugd2lsbCB3b3JrIHdpdGggRHIuIFBldGVyc2VuIHRvIGlkZW50aWZ5IGEgc2Vjb25kIHJlYWRlci4KVGhlIHJlYWRlciBzaG91bGQgYmUgaW4gdGhlIERlcGFydG1lbnQgb2YgUHN5Y2hvbG9naWNhbCBhbmQgQnJhaW4gU2NpZW5jZXMuCllvdSBzaG91bGQgd29yayB3aXRoIHlvdXIgcmVhZGVycyB0byBzY2hlZHVsZSB5b3VyIHRoZXNpcyBkZWZlbnNlLgpZb3VyIGRlZmVuc2Ugc2hvdWxkIHRha2UgcGxhY2Ugbm8gbGF0ZXIgdGhhbiBGaW5hbHMgd2VlayBzbyB5b3UgY2FuIGdldCBIb25vcnMgY3JlZGl0IHdoZW4geW91IGdyYWR1YXRlIGV0Yy4KWW91IG11c3Qgc2VuZCB0aGUgY29tcGxldGVkIGZpbmFsIGRyYWZ0IG9mIHlvdXIgdGhlc2lzIHRvIGJvdGggRHIuIFBldGVyc2VuIGFuZCB0aGUgc2Vjb25kIHJlYWRlciBhdCBsZWFzdCBvbmUgd2VlayBwcmlvciB0byB5b3VyIGRlZmVuc2UuClJlYWQgdGhlIENvdmVyIFBhZ2UgSW5zdHJ1Y3Rpb25zIGZvciBob3cgdG8gY3JlYXRlIHlvdXIgY292ZXIgcGFnZSwgd2hhdCB5b3UgbmVlZCB0byBoYXZlIHNpZ25lZCBhdCB5b3VyIGRlZmVuc2UsIGFuZCB3aGF0IHlvdSBuZWVkIHRvIHN1Ym1pdC4KClVJIFVuZGVyZ3JhZHVhdGUgUmVzZWFyY2ggRmVzdGl2YWw6Cmh0dHBzOi8vb3VyLnJlc2VhcmNoLnVpb3dhLmVkdS9ldmVudHMtMC91bmRlcmdyYWR1YXRlLXJlc2VhcmNoLWZlc3RpdmFscwoKIyBSZXNvdXJjZXMgeyNyZXNvdXJjZXN9CgpGb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgW1NjaG9vbCBSZWFkaW5lc3MgU3R1ZHldKHN0dWR5LXNjaG9vbFJlYWRpbmVzc1N0dWR5Lmh0bWwpLCB5b3UgYXJlIGVuY291cmFnZWQgdG8gcmVhZCBwYXBlcnMgZnJvbSB0aGUgcHJvamVjdCwgdmlldyB0aGUgYXZhaWxhYmxlIG1lYXN1cmVzLCBleGFtaW5lIHRoZSBEYXRhIERpY3Rpb25hcnksIGFuZCBzZWUgdGhlIHByZS1yZWdpc3RlcmVkIGh5cG90aGVzZXMuClRoZXNlIHJlc291cmNlcyBhcmUgYXZhaWxhYmxlIG9uIHRoZSBwcm9qZWN0IHBhZ2UgZm9yIHRoZSBbU2Nob29sIFJlYWRpbmVzcyBTdHVkeV0oc3R1ZHktc2Nob29sUmVhZGluZXNzU3R1ZHkuaHRtbCkuCgpUaGVyZSBhcmUgbWFueSBoZWxwZnVsIHJlc291cmNlcyBvbiB0aGUgbGFiIGRyaXZlIGZvciB0aGVzaXMgcHJvamVjdHMsIGluY2x1ZGluZyByZXNvdXJjZXMgZm9yIGRhdGEgYW5hbHlzaXMsIGV4YW1wbGUgdGhlc2VzLCBleGFtcGxlIHBvc3RlcnMsIGNvdmVyIHBhZ2UgaW5zdHJ1Y3Rpb25zLCBhbmQgaGVscGZ1bCByZWFkaW5ncy4KWW91IGNhbiBmaW5kIHRoZXNlIHJlc291cmNlcyBhdCB0aGUgZm9sbG93aW5nIGxvY2F0aW9uIG9uIHRoZSBsYWIgZHJpdmU6CmBcXGxjLXJzLXN0b3JlMjQuaHBjLnVpb3dhLmVkdVxsc3NfaXRwZXRlcnNlblxMYWJcTWlzY2VsbGFuZW91c1xIb25vcnMgVGhlc2lzXGAKCldlIGFsc28gaGF2ZSBhIHBhZ2UgdGhlIGNsYXJpZmllcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIG1lZGlhdGlvbiBhbmQgbW9kZXJhdGlvbiBbaGVyZV0obWVkaWF0aW9uTW9kZXJhdGlvbi5odG1sKS4KCkZvciBpbmZvcm1hdGlvbiBvbiB3aGljaCBzdGF0aXN0aWNhbCB0ZXN0IHRvIHVzZSwgc2VlIHRoZSBbc3RhdGlzdGljYWwgZGVjaXNpb24gdHJlZV0oaHR0cHM6Ly9kZXZwc3lsYWIuZ2l0aHViLmlvL0RhdGFBbmFseXNpcy9zdGF0aXN0aWNzLmh0bWwjc3RhdGlzdGljYWxEZWNpc2lvblRyZWUpIGluIHRoZSBsYWIncyBEYXRhIEFuYWx5c2lzIEd1aWRlcy4KRm9yIGluZm9ybWF0aW9uIG9uIGhvdyB0byB1c2Ugc29mdHdhcmUgZm9yIGRhdGEgYW5hbHlzaXMsIHNlZSBvdXIgZGF0YSBhbmFseXNpcyBndWlkZXM6CgotIFtgU1BTU2BdKGh0dHBzOi8vZGV2cHN5bGFiLmdpdGh1Yi5pby9EYXRhQW5hbHlzaXMvU1BTUy5odG1sKQotIFtgamFtb3ZpYF0oaHR0cHM6Ly9kZXZwc3lsYWIuZ2l0aHViLmlvL0RhdGFBbmFseXNpcy9qYW1vdmkuaHRtbCkKLSBbYFJgXShodHRwczovL2RldnBzeWxhYi5naXRodWIuaW8vRGF0YUFuYWx5c2lzL1IuaHRtbCkKCkluIGNvbmR1Y3RpbmcgeW91ciBIb25vcnMgdGhlc2lzLCB5b3UgYXJlIGV4cGVjdGVkIHRvIG9idGFpbiBhbmQgdXNlIHRoZSBmb2xsb3dpbmcgbXVzdC1oYXZlIGdlbmVyYWwgcmVzb3VyY2VzOgoKMS4gIldyaXRpbmcgRW1waXJpY2FsIFJlc2VhcmNoIFJlcG9ydHM6IEEgQmFzaWMgR3VpZGUgZm9yIFN0dWRlbnRzIG9mIHRoZSBTb2NpYWwgYW5kIEJlaGF2aW9yYWwgU2NpZW5jZXMiLCA4dGggRWRpdGlvbiAoRnJlZCBQeXJjemFrKVwKaHR0cHM6Ly93d3cuYW1hem9uLmNvbS9Xcml0aW5nLUVtcGlyaWNhbC1SZXNlYXJjaC1SZXBvcnRzLUJlaGF2aW9yYWwvZHAvMTkzNjUyMzM2MQoxLiAiUHVibGljYXRpb24gTWFudWFsIG9mIHRoZSBBbWVyaWNhbiBQc3ljaG9sb2dpY2FsIEFzc29jaWF0aW9uIiwgN3RoIEVkaXRpb25cCmh0dHBzOi8vd3d3LmFtYXpvbi5jb20vUHVibGljYXRpb24tTWFudWFsLUFtZXJpY2FuLVBzeWNob2xvZ2ljYWwtQXNzb2NpYXRpb24vZHAvMTQzMzgzMjE2WAoxLiAiRGlzY292ZXJpbmcgU3RhdGlzdGljcyB1c2luZyBTUFNTIiwgNXRoIEVkaXRpb24gKEFuZHkgRmllbGQpXApodHRwczovL3d3dy5hbWF6b24uY29tL0Rpc2NvdmVyaW5nLVN0YXRpc3RpY3MtVXNpbmctSUJNLVNQU1MvZHAvMTUyNjQzNjU2NgoxLiBFbmROb3RlIG9yIFpvdGVyb+KAlHNvZnR3YXJlIGZvciBvcmdhbml6aW5nIHlvdXIgYXJ0aWNsZXMgYW5kIGZvciB3cml0aW5nIHlvdXIgUmVmZXJlbmNlcyBzZWN0aW9uXApbaHR0cHM6Ly9pdHMudWlvd2EuZWR1L2VuZG5vdGVdKGh0dHBzOi8vaXRzLnVpb3dhLmVkdS9lbmRub3RlKVwKaHR0cHM6Ly93d3cuem90ZXJvLm9yZwoKUGxlYXNlIG5vdGUgdGhhdCB3ZSBkbyBub3Qgd2FudCB0aGVzZSByZXNvdXJjZXMgdG8gYmUgZmluYW5jaWFsIGJhcnJpZXJzIHRvIGNvbXBsZXRpbmcgYW4gSG9ub3JzIHRoZXNpcy4KWW91IG1heSBiZSBhYmxlIHRvIGZpbmQgbWFueSBvZiB0aGVzZSBhdCB0aGUgbGlicmFyeSwgYW5kIERyLiBQZXRlcnNlbiBtYXkgYmUgYWJsZSB0byBsZW5kIHlvdSBhIGNvcHksIGFzIHdlbGwuClBsZWFzZSB0YWxrIHdpdGggRHIuIFBldGVyc2VuIGlmIHRoZXNlIHJlc291cmNlcyB3b3VsZCBiZSBhIGZpbmFuY2lhbCBiYXJyaWVyLgoKIyBTdGVwcyB0byBHZXQgU3RhcnRlZCB7I2dldHN0YXJ0ZWR9CgojIyBOb24tVGhlc2lzIEhvbm9ycyB7I2dldHN0YXJ0ZWQtbm9uVGhlc2lzfQoKQmVmb3JlIHlvdSBtZWV0IHdpdGggRHIuIFBldGVyc2VuLCBzZW5kIERyLiBQZXRlcnNlbiBhIGRyYWZ0IG9mIHlvdXIgcHJlLWxhdW5jaCBhZ3JlZW1lbnQgZm9ybS4KCiMjIEhvbm9ycyBUaGVzaXMgeyNnZXRzdGFydGVkLXRoZXNpc30KCkJlZm9yZSB5b3UgbWVldCB3aXRoIERyLiBQZXRlcnNlbiB0byBjb21lIHVwIHdpdGggYSB0aGVzaXMgaWRlYSwgKDEpIHRoaW5rIGFib3V0IHdoYXQgeW91IHdvdWxkIGxpa2UgdG8gc3R1ZHksICgyKSBiZWdpbiB0byByZWFkIHVwIG9uIGl0LCBhbmQgKDMpIHNlbmQgRHIuIFBldGVyc2VuIGEgc2hvcnQgZG9jdW1lbnQgKDHigJMyIHBhcmFncmFwaHMpIGRlc2NyaWJpbmcgdGhlIGZvbGxvd2luZzoKCmEpIHdoYXQgeW91IGFyZSBpbnRlcmVzdGVkIGluIHN0dWR5aW5nCmIpIHdoeSB5b3UgYXJlIGludGVyZXN0ZWQgaW4gc3R1ZHlpbmcgaXQKYykgd2hhdCB5b3UgaGF2ZSBsZWFybmVkIGluIGRvaW5nIHJlYWRpbmcgb24gdGhlIHRvcGljIChwcm92aWRlIGNpdGF0aW9ucykKZCkgd2hhdCBzcGVjaWZpYyByZXNlYXJjaCBxdWVzdGlvbihzKSB5b3UgaGF2ZQplKSB3aGF0IG1lYXN1cmUocykgaW4gb3VyIGxhYidzIHN0dWR5IHlvdSBhcmUgaW50ZXJlc3RlZCBpbiB1c2luZyBmb3IgZWFjaCBjb25zdHJ1Y3QKZikgd2hhdCB5b3VyIGh5cG90aGVzZXMgYXJlCgpEbyBub3Qgc3BlbmQgdG9vIG11Y2ggdGltZSBvbiB0aGUgcHJlbGltaW5hcnkgZG9jdW1lbnQsIGJlY2F1c2UgaXQgd2lsbCBpbXBvcnRhbnQgZm9yIHlvdSB0byBiZSBmbGV4aWJsZSB0byB0aGUgcG9zc2liaWxpdHkgdGhhdCB5b3UgbWF5IGVuZCB1cCBleGFtaW5pbmcgYSBkaWZmZXJlbnQgcXVlc3Rpb24uCkZvbGxvd2luZyB0aGUgc3RlcHMgYWJvdmUgd2lsbCBoZWxwIHN0cnVjdHVyZSB5b3VyIGNvbnZlcnNhdGlvbiB3aXRoIERyLiBQZXRlcnNlbiBpbiB0aGUgbW9zdCBlZmZpY2llbnQgd2F5LgoKSW4gYWRkaXRpb24sIHNlbmQgRHIuIFBldGVyc2VuIGEgZHJhZnQgb2YgeW91ciBwcmUtbGF1bmNoIGFncmVlbWVudCBmb3JtIGJlZm9yZSB5b3UgbWVldCB3aXRoIGhpbS4KCiMgQWNjZXNzaW5nIHRoZSBMYWIgRHJpdmUgeyNsYWJkcml2ZX0KCllvdXIgbWVtYmVyIGZvbGRlciBvbiB0aGUgbGFiIGRyaXZlIChgXExhYlxNZW1iZXJzXGApIHNob3VsZCBiZSB1c2VkIGZvciBhbGwgdGhlc2lzLXJlbGF0ZWQgd29yay4KVGhpcyBpcyB3aGVyZSB5b3Ugd2lsbCBmaW5kIHlvdXIgZGF0YSBmaWxlKHMpLCBhbmQgd2hlcmUgeW91IHNob3VsZCBzYXZlIGFsbCB3cml0aW5nIGFuZCBhbmFseXNpcyBmaWxlcy4KUGxlYXNlIG9yZ2FuaXplIGFsbCB0aGVzaXMtcmVsYXRlZCBmaWxlcyBpbnRvIHN1YmZvbGRlcnMgd2l0aGluIHlvdXIgbWVtYmVyIGZvbGRlciB1c2luZyB0aGlzIHN0cnVjdHVyZToKCglcTGFiXE1lbWJlcnNcW1lvdXIgSGF3a0lEXVxUaGVzaXNcLi4uc3ViZm9sZGVycyBiZWxvd+KApgoJCQkJCSAgICAgICAgICBcQW5hbHlzaXNcIC0tIHB1dCBhbmFseXNpcyBzY3JpcHRzIChTUFNTLCBSLCBldGMuKSBoZXJlCgkJCQkJICAgICAgICAgIFxDb25mZXJlbmNlIEFic3RyYWN0XCAtLSBwdXQgeW91ciBjb25mZXJlbmNlIGFic3RyYWN0IGhlcmUKCQkJCQkgICAgICAgICAgXERhdGFcIC0tIHB1dCBkYXRhIGZpbGVzIGhlcmUKCQkJCQkgICAgICAgICAgXEZpZ3VyZXNcIC0tIHB1dCBmaWd1cmVzIGhlcmUKCQkJCQkgICAgICAgICAgXE91dHB1dFwgLS0gcHV0IHNhdmVkIG91dHB1dCBmaWxlcyBoZXJlCgkJCQkJICAgICAgICAgIFxQb3N0ZXJcIC0tIHB1dCB5b3VyIHBvc3RlciBoZXJlCgkJCQkJICAgICAgICAgIFxQcmVzZW50YXRpb25cIC0tIHB1dCB5b3VyIHByZXNlbnRhdGlvbiBoZXJlCgkJCQkJICAgICAgICAgIFxUYWJsZXNcIC0tIHB1dCB5b3VyIHRhYmxlcyBoZXJlCgkJCQkJICAgICAgICAgIFxUaGVzaXNcIC0tIHB1dCB5b3VyIFRoZXNpcyBkb2N1bWVudCBoZXJlIChpLmUuLCB5b3VyIHBhcGVyKQoKVG8gYWNjZXNzIHRoZSBsYWIgZHJpdmUgb2ZmLWNhbXB1cywgeW91IHdpbGwgbmVlZCB0byBzZXQgdXAgVlBOLgpGb3IgaW5zdHJ1Y3Rpb25zIHRvIHNldCB1cCBWUE4sIHNlZSBbaGVyZV0oZG9jdW1lbnRhdGlvbi1yZW1vdGUuaHRtbCN2cG4pLgoKIyBBY2Nlc3NpbmcgQXJ0aWNsZXMgdGhyb3VnaCB0aGUgVUkgTGlicmFyaWVzIHsjYXJ0aWNsZXN9CgpZb3Ugc2hvdWxkIGJlIGFibGUgdG8gYWNjZXNzIG1hbnksIGlmIG5vdCBtb3N0LCBhcnRpY2xlcyB1c2luZyBbR29vZ2xlIFNjaG9sYXJdKGh0dHBzOi8vcHVybC5saWIudWlvd2EuZWR1L0dvb2dsZVNjaCkuCk90aGVyIGRhdGFiYXNlcyBpbmNsdWRlIFtQc3ljSW5mb10oaHR0cHM6Ly9wdXJsLmxpYi51aW93YS5lZHUvYXBhL3BzeWNpbmZvKSBhbmQgW1B1Yk1lZF0oaHR0cHM6Ly9wdXJsLmxpYi51aW93YS5lZHUvbmxtL3B1Ym1lZCkuCkhvd2V2ZXIsIGV2ZW4gaWYgYW4gYXJ0aWNsZSBpcyBub3QgZnJlZWx5IGF2YWlsYWJsZSBvbmxpbmUgYW5kIHRoZSB1bml2ZXJzaXR5IGRvZXMgbm90IHByb3ZpZGUgYWNjZXNzIHRvIHRoZSBqb3VybmFsLCB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gb2J0YWluIHRoZSBQREYgb2YgKmFueSogc2NpZW50aWZpYyBhcnRpY2xlLgpJZiB0aGUgUERGIG9mIGFydGljbGUgaXMgbm90IGF2YWlsYWJsZSBvbiBbR29vZ2xlIFNjaG9sYXJdKGh0dHBzOi8vcHVybC5saWIudWlvd2EuZWR1L0dvb2dsZVNjaCksIHlvdSBjYW4gZWFzaWx5IGdldCBhcnRpY2xlIFBERnMgdGhyb3VnaCB0aGUgdW5pdmVyc2l0eSBsaWJyYXJ5IHN5c3RlbS4KRmlyc3QsIHNlZSBpZiB0aGUgdW5pdmVyc2l0eSBoYXMgYWNjZXNzIHRvIHRoZSBlbGVjdHJvbmljL29ubGluZSB2ZXJzaW9uIG9mIHRoZSBqb3VybmFsIGJ5IHNlYXJjaGluZyB0aGUgbmFtZSBvZiB0aGUgam91cm5hbCBpbiBbSW5mb2hhd2tdKGh0dHBzOi8vc2VhcmNoLmxpYi51aW93YS5lZHUvcHJpbW8tZXhwbG9yZS9zZWFyY2g/dmlkPTAxSU9XQSkuCkZvciBpbnN0YW5jZSwgaGVyZSBpcyBhIHNlYXJjaCBmb3IgdGhlIGpvdXJuYWwgYERldmVsb3BtZW50YWwgTmV1cm9wc3ljaG9sb2d5YDpcCmh0dHBzOi8vc2VhcmNoLmxpYi51aW93YS5lZHUvcHJpbW8tZXhwbG9yZS9zZWFyY2g/cXVlcnk9YW55LGNvbnRhaW5zLERldmVsb3BtZW50YWwlMjBOZXVyb3BzeWNob2xvZ3kmc2VhcmNoX3Njb3BlPWRlZmF1bHRfc2NvcGUmdmlkPTAxSU9XQQoKSWYgdGhlIHVuaXZlcnNpdHkgZG9lcyBub3QgaGF2ZSBhY2Nlc3MgdG8gdGhlIGpvdXJuYWwsIHlvdSBjYW4gYWNjZXNzIHRoZSBQREYgb2YgYW55IGFydGljbGUsIGJvb2sgY2hhcHRlciwgb3IgZXZlbiB0aGUgaW50ZXItbGlicmFyeSBsb2FuIG9mIGFueSBib29rIHRocm91Z2ggdGhlIFtVSSBEb2N1bWVudCBEZWxpdmVyeSBTeXN0ZW1dKGh0dHBzOi8vdWlvd2EtaWxsaWFkLW9jbGMtb3JnLnByb3h5LmxpYi51aW93YS5lZHUvaWxsaWFkL2lsbGlhZC5kbGwpLgoKIyBXb3JraW5nIG9uIFlvdXIgVGhlc2lzIHsjd29ya2luZ30KClRoZSBlYXNpZXN0IHdheSB0byB3b3JrIG9uIHlvdXIgdGhlc2lzIGlzIHRvIHdvcmsgb24gaXQgaW4gdGhlIGxhYi4KSWYgeW91IG11c3Qgd29yayBvbiB5b3VyIHRoZXNpcyBvdXRzaWRlIG9mIHRoZSBsYWIsIHlvdSBtYXkgZWl0aGVyIDEpIFtWUE4gaW50byB0aGUgbGFiIGRyaXZlXShkb2N1bWVudGF0aW9uLXJlbW90ZS5odG1sI3Zwbikgb3IgMikgWyJyZW1vdGUgaW4iIHRvIGEgbGFiIGNvbXB1dGVyXShkb2N1bWVudGF0aW9uLXJlbW90ZS5odG1sI3JlbW90ZUFjY2VzcykuCkZvciBpbnN0cnVjdGlvbnMgaG93IHRvIGRvIGVhY2gsIHNlZSB0aGUgW1JBIFJlbW90ZSBQYXJ0aWNpcGF0aW9uIHBhZ2VdKGRvY3VtZW50YXRpb24tcmVtb3RlLmh0bWwpLgoKIyBTdGF0aXN0aWNhbCBBbmFseXNpcyBTb2Z0d2FyZSB7I3NvZnR3YXJlfQoKWW91IGNhbiB1c2Ugd2hhdGV2ZXIgc3RhdGlzdGljYWwgc29mdHdhcmUgeW91IHByZWZlciBmb3IgeW91ciBwcm9qZWN0LgpTdHVkZW50cyBpbiB0aGUgbGFiIGZyZXF1ZW50bHkgdXNlIFtgU1BTU2BdKGh0dHBzOi8vZGV2cHN5bGFiLmdpdGh1Yi5pby9EYXRhQW5hbHlzaXMvU1BTUy5odG1sKSBvciBbYGphbW92aWBdKGh0dHBzOi8vZGV2cHN5bGFiLmdpdGh1Yi5pby9EYXRhQW5hbHlzaXMvamFtb3ZpLmh0bWwpLCB0aG91Z2ggeW91IGFyZSBhbHNvIHdlbGNvbWUgdG8gdXNlIFtgUmBdKGh0dHBzOi8vZGV2cHN5bGFiLmdpdGh1Yi5pby9EYXRhQW5hbHlzaXMvUi5odG1sKSBvciBvdGhlciBzb2Z0d2FyZS4KW2BTUFNTYF0oaHR0cHM6Ly9kZXZwc3lsYWIuZ2l0aHViLmlvL0RhdGFBbmFseXNpcy9TUFNTLmh0bWwpIGFuZCBbYGphbW92aWBdKGh0dHBzOi8vZGV2cHN5bGFiLmdpdGh1Yi5pby9EYXRhQW5hbHlzaXMvamFtb3ZpLmh0bWwpIGhhdmUgcG9pbnQtYW5kLWNsaWNrIGludGVyZmFjZXMgYW5kIHRodXMgYXJlIHRoZSBlYXNpZXN0IHRvIGxlYXJuIGFuZCBhcmUgdGhlIG1vc3QgY29tbW9ubHkgdXNlZCBmb3IgdGhlc2VzIGluIHRoZSBsYWIuClVubGlrZSBbYFNQU1NgXShzcHNzLmh0bWwpLCBob3dldmVyLCBbYGphbW92aWBdKGh0dHBzOi8vZGV2cHN5bGFiLmdpdGh1Yi5pby9EYXRhQW5hbHlzaXMvamFtb3ZpLmh0bWwpIGlzIGZyZWUsIHNvIHlvdSB3aWxsIGJlIGFibGUgdG8gdXNlIGl0IGZyZWVseSBhZnRlciB5b3UgbGVhdmUgdGhlIHVuaXZlcnNpdHkuCltgUmBdKGh0dHBzOi8vZGV2cHN5bGFiLmdpdGh1Yi5pby9EYXRhQW5hbHlzaXMvUi5odG1sKSBpcyBhbHNvIGZyZWUsIGJ1dCBpdCBpcyBjb2RlLWJhc2VkIGFuZCBoYXMgYSBzdGVlcCBsZWFybmluZyBjdXJ2ZS4KVGhlIGtleSBnb2FsIGlzIGZvciB5b3VyIHJlc2VhcmNoIHRvIGJlIHJlcHJvZHVjaWJsZSAoYnkgeW91IGFuZCBvdGhlcnMpLCBzb+KAlHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggc29mdHdhcmUgeW91IHVzZeKAlGhhdmluZyBhbmFseXNpcyBzY3JpcHRzIHRoYXQgY2FuIHJlcHJvZHVjZSB5b3VyIGZpbmRpbmdzIGlzIGltcG9ydGFudC4KUGxlYXNlIGZvbGxvdyB0aGUgRGF0YSBBbmFseXNpcyBHdWlkZSBmb3IgdGhlIHNvZnR3YXJlIHBhY2thZ2UgdGhhdCB5b3UgdXNlIHRvIGVuc3VyZSB5b3UgY3JlYXRlIGFuYWx5c2lzIHNjcmlwdHMgZm9yIHJlcHJvZHVjaWJpbGl0eToKCi0gW2BTUFNTYF0oaHR0cHM6Ly9kZXZwc3lsYWIuZ2l0aHViLmlvL0RhdGFBbmFseXNpcy9TUFNTLmh0bWwpCi0gW2BqYW1vdmlgXShodHRwczovL2RldnBzeWxhYi5naXRodWIuaW8vRGF0YUFuYWx5c2lzL2phbW92aS5odG1sKQotIFtgUmBdKGh0dHBzOi8vZGV2cHN5bGFiLmdpdGh1Yi5pby9EYXRhQW5hbHlzaXMvUi5odG1sKQoKIyBBY2Nlc3MgU1BTUy9SIGZvciBEYXRhIEFuYWx5c2lzIHsjc3Bzcy1SfQoKWW91IGNhbiBhY2Nlc3MgW2BTUFNTYF0oaHR0cHM6Ly9kZXZwc3lsYWIuZ2l0aHViLmlvL0RhdGFBbmFseXNpcy9TUFNTLmh0bWwpIGFuZCBbYFJgXShodHRwczovL2RldnBzeWxhYi5naXRodWIuaW8vRGF0YUFuYWx5c2lzL1IuaHRtbCkgdGhyb3VnaCBhbiBvbmxpbmUgcGxhdGZvcm0gY2FsbGVkIFVJIFZpcnR1YWwgRGVza3RvcC4KWW91IGNhbiB1c2UgVmlydHVhbCBEZXNrdG9wIG9uIGNhbXB1cyBvciBmcm9tIGhvbWUsIGJ1dCBpZiB5b3UgYXJlIG9mZi1jYW1wdXMsIFZQTiBpcyByZXF1aXJlZC4KRm9yIGluc3RydWN0aW9ucyB0byBzZXQgdXAgVlBOLCBzZWUgW2hlcmVdKGRvY3VtZW50YXRpb24tcmVtb3RlLmh0bWwjdnBuKS4KRm9sbG93IHRoZSBzdGVwcyBiZWxvdyB0byBzZXQgdXAgVmlydHVhbCBEZXNrdG9wIGZvciB0aGUgZmlyc3QgdGltZS4KCjEuIENvbm5lY3QgdG8gW1ZQTl0oZG9jdW1lbnRhdGlvbi1yZW1vdGUuaHRtbCN2cG4pIHVzaW5nIENpc2NvIEFueUNvbm5lY3QuCjEuIEdvIHRvOiBodHRwczovL3ZpcnR1YWxkZXNrdG9wLnVpb3dhLmVkdS9DaXRyaXgvVmlydHVhbERlc2t0b3BXZWIKMS4gSWYgdGhpcyBpcyB5b3VyIGZpcnN0IHRpbWUgYWNjZXNzaW5nIFZpcnR1YWwgRGVza3RvcCBvbiB5b3VyIGNvbXB1dGVyLCB5b3Ugd2lsbCBuZWVkIHRvIGluc3RhbGwgYW4gYXBwbGljYXRpb24gY2FsbGVkIENpdHJpeCBSZWNlaXZlci4KSW4gdGhlIHByb2Nlc3Mgb2YgbG9nZ2luZyBpbnRvIFZpcnR1YWwgRGVza3RvcCwgeW91IHdpbGwgZW5jb3VudGVyIGEgd2luZG93IHRoYXQgcHJvbXB0cyB5b3UgdG8gaW5zdGFsbCBDaXRyaXggUmVjZWl2ZXIuCkZvbGxvdyB0aGUgcHJvbXB0cyBvbiB0aGUgc2NyZWVuIHRvIGluc3RhbGwgdGhlIGFwcGxpY2F0aW9uLgogICAgYS4gTm90ZTogWW91IG11c3QgZmluaXNoIHRoZSBpbnN0YWxsYXRpb24gYmVmb3JlIHlvdSBjYW4gcHJvZ3Jlc3MgdG8gdGhlIG5leHQgd2luZG93CjEuIEZvbGxvdyB0aGUgcHJvbXB0cyBvbiB0aGUgc2NyZWVuIHRvIGZpbmlzaCBsb2dnaW5nIGludG8gVmlydHVhbCBEZXNrdG9wLgoxLiBPbmNlIHlvdSBhcmUgbG9nZ2VkIGluLCBjbGljayB0aGUgIkFwcHMiIHRhYiBhdCB0aGUgdG9wIG9mIHRoZSBzY3JlZW4uClNjcm9sbCBkb3duIGFuZCBjbGljayAiTWFwIE5ldHdvcmsgRHJpdmUuIgpUaGlzIHdpbGwgcHJvbXB0IGEgbmV3IHdpbmRvdy4KMS4gSW4gdGhlIGVtcHR5ICJGb2xkZXIiIHRleHRib3ggdHlwZSB0aGUgbGFiIGRyaXZlIHBhdGg6CmBcXGxjLXJzLXN0b3JlMjQuaHBjLnVpb3dhLmVkdVxsc3NfaXRwZXRlcnNlblxMYWJcYAoxLiBDbGljayB0aGUgIkZpbmlzaCIgYnV0dG9uIGF0IHRoZSBib3R0b20gb2YgdGhlIHdpbmRvdy4KMS4gTm93LCBuYXZpZ2F0ZSBiYWNrIHRocm91Z2ggdGhlICJBcHBzIiBzZWN0aW9uIG9mIFZpcnR1YWwgRGVza3RvcCB0byBmaW5kIGBTUFNTYCBvciBgUmAsIGFuZCBjbGljayBpdCB0byBvcGVuLgoxLiBUbyBvcGVuIHlvdXIgZGF0YSBmaWxlIGluIFtgU1BTU2BdKGh0dHBzOi8vZGV2cHN5bGFiLmdpdGh1Yi5pby9EYXRhQW5hbHlzaXMvU1BTUy5odG1sKSwgY2xpY2sgIk9wZW4gYW5vdGhlciBmaWxl4oCmIiB1bmRlciAiUmVjZW50IEZpbGVzLiIKMS4gSW4gdGhlIG5ldyB3aW5kb3csIGNsaWNrIHRoZSBkcm9wLWRvd24gbWVudSB1bmRlciAiTG9vayBpbjoiIGFuZCBjbGljayB0aGUgbGFiIGRyaXZlLgoxLiBDbGljayB0aGUgIk1lbWJlcnMiIGZvbGRlciBhbmQgb3BlbiB5b3VyIG1lbWJlciBmb2xkZXIgdG8gZmluZCB5b3VyIGRhdGEgZmlsZXMuCk9uY2UgeW91IGhhdmUgc2VsZWN0ZWQgeW91ciBkYXRhIGZpbGUsIGNsaWNrICJPcGVuLiIKMS4gVGhlbiwgeW91IGFyZSByZWFkeSB0byBhbmFseXplIHlvdXIgZGF0YSEKCiMgSW1wb3J0YW50IHsjY29uZmlkZW50aWFsaXR5fQoKTGFiIGRhdGEgbXVzdCByZW1haW4gb24gdGhlIGxhYiBkcml2ZS4KUGxlYXNlIG1ha2Ugc3VyZSBOT1QgdG8gbW92ZSBsYWIgZGF0YSBvZmYgdGhlIGxhYiBkcml2ZSBvciBvbnRvIGEgcGVyc29uYWwgY29tcHV0ZXIuCkl0IGlzIGltcG9ydGFudCB0aGF0IHlvdSBkbyBub3Qgc2F2ZSBhbnkgdmlzaXQgdmlkZW9zIG9yIGxhYiBmaWxlcyBvZiBhbnkga2luZCB0byB5b3VyIHBlcnNvbmFsIGNvbXB1dGVyLCBvciB0YWtlIHNjcmVlbnNob3RzLCBTbmFwY2hhdHMsIGV0Yy4gb2YgYW55IGxhYi1yZWxhdGVkIGRvY3VtZW50cy4KCiMgV3JpdGluZyBHdWlkZWxpbmVzIHsjd3JpdGluZ30KCk1ha2Ugc3VyZSB0byBmb2xsb3cgdGhlIGxhYidzIFt3cml0aW5nIGd1aWRlbGluZXNdKHdyaXRpbmcuaHRtbCkuCllvdSBhcmUgYWxzbyBlbmNvdXJhZ2VkIHRvIHRha2UgYWR2YW50YWdlIG9mIHRoZSBbVUkgV3JpdGluZyBDZW50ZXJdKGh0dHBzOi8vd3JpdGluZ2NlbnRlci51aW93YS5lZHUpLgoKIyBQcmVzZW50aW5nIFdvcmsgYXQgQ29uZmVyZW5jZXMgeyNjb25mZXJlbmNlc30KCllvdSBhcmUgZXhwZWN0ZWQgdG8gcHJlc2VudCBhIHJlc2VhcmNoIHBvc3RlciBvbiB5b3VyIHRoZXNpcyBmaW5kaW5ncyBhdCB0aGUgVUkgVW5kZXJncmFkdWF0ZSBSZXNlYXJjaCBGZXN0aXZhbC4KWW91IGFyZSBlbmNvdXJhZ2VkIChidXQgbm90IHJlcXVpcmVkKSB0byBhZGRpdGlvbmFsbHkgcHJlc2VudCB5b3VyIHJlc2VhcmNoIGF0IG90aGVyIGNvbmZlcmVuY2VzLCBhcyB3ZWxsLgpUaGVyZSBhcmUgcmVnaW9uYWwsIG5hdGlvbmFsLCBhbmQgaW50ZXJuYXRpb25hbCBjb25mZXJlbmNlcy4KUHJlc2VudGluZyB5b3VyIHdvcmsgYXQgY29uZmVyZW5jZXMgcHJvdmlkZXMgaW1wb3J0YW50IGltcG9ydHVuaXRpZXMgZm9yIHByb2Zlc3Npb25hbCBkZXZlbG9wbWVudC4KRmlyc3QsIGl0IGhlbHBzIHBlb3BsZSBnZXQgaW1wb3J0YW50IGV4cGVyaWVuY2VzIGluIGhvdyB0byBjb21tdW5pY2F0ZSByZXNlYXJjaCAodmlzdWFsbHkgYW5kIGluIGNvbnZlcnNhdGlvbikuClNlY29uZCwgaXQgaGVscHMgcGVvcGxlIG5ldHdvcmsgd2l0aCBvdGhlciByZXNlYXJjaGVycyB3aG8gYXJlIGludGVyZXN0ZWQgaW4gc2ltaWxhciBxdWVzdGlvbnMuClRoaXJkLCBpdCBtYWtlcyBwZW9wbGUgbW9yZSBjb21wZXRpdGl2ZSBmb3IgZ3JhZHVhdGUgc2Nob29sLgoKSWYgeW91IHdvdWxkIHlvdSBsaWtlIHRvIHB1dCB0b2dldGhlciBhIGNvbmZlcmVuY2Ugc3VibWlzc2lvbiAoYWJzdHJhY3QpLCBpdCBpcyB5b3VyIHJlc3BvbnNpYmlsaXR5IHRvIHB1dCB0b2dldGhlciBhIGRyYWZ0IG9mIHRoZSBhYnN0cmFjdC4KV2UgaGF2ZSBleGFtcGxlIGNvbmZlcmVuY2UgYWJzdHJhY3RzIGF0IHRoZSBmb2xsb3dpbmcgbG9jYXRpb24gb24gdGhlIGxhYiBkcml2ZTogYFxcbGMtcnMtc3RvcmUyNC5ocGMudWlvd2EuZWR1XGxzc19pdHBldGVyc2VuXExhYlxQdWJsaWNhdGlvbnNcQ29uZmVyZW5jZSBBYnN0cmFjdHNcYC4KRmVlbCBmcmVlIHRvIGxldCBEci4gUGV0ZXJzZW4sIHRoZSBMYWIgQ29vcmRpbmF0b3IsIGFuZCBncmFkdWF0ZSBzdHVkZW50cyBrbm93IHdoYXQgeW91IG5lZWQgKGUuZy4sIGRhdGEsIGhlbHAgd2l0aCBhbmFseXNpcywgZXRjLikgdG8gaGVscCB5b3UgcHV0IHRvZ2V0aGVyIHlvdXIgYWJzdHJhY3QuCldlIGFyZSBoYXBweSB0byBoZWxwIHlvdSBpbiB0aGUgcHJvY2Vzcy4KSWYgeW91ciBjb25mZXJlbmNlIHN1Ym1pc3Npb24gaXMgYWNjZXB0ZWQsIHlvdSB3aWxsIG5lZWQgdG8gcHV0IHRvZ2V0aGVyIGEgcG9zdGVyLgpXZSBoYXZlIGV4YW1wbGUgY29uZmVyZW5jZSBwb3N0ZXJzIGF0IHRoZSBmb2xsb3dpbmcgbG9jYXRpb24gb24gdGhlIGxhYiBkcml2ZTogYFxcbGMtcnMtc3RvcmUyNC5ocGMudWlvd2EuZWR1XGxzc19pdHBldGVyc2VuXExhYlxQdWJsaWNhdGlvbnNcUG9zdGVyc1xgLgpZb3UgbXVzdCBzZW5kIHlvdXIgZHJhZnQgdG8gRHIuIFBldGVyc2VuIGJlZm9yZSB5b3Ugc3VibWl0IGl0IGJlY2F1c2UgKDEpIGhlIGlzIGEgY28tYXV0aG9yIGFuZCBpcyBzaWduaW5nIG9mZiBvbiBpdCBieSBhbGxvd2luZyBpdCB0byBiZSBzdWJtaXR0ZWQsIGFuZCAoMikgaGUgd2FudHMgdG8gZ2l2ZSBoZWxwZnVsIGZlZWRiYWNrIHRvIGdpdmUgaXQgdGhlIGJlc3QgY2hhbmNlIG9mIGJlaW5nIGFjY2VwdGVkLgoKQmVsb3cgaXMgYSBsaXN0IG9mIHBvdGVudGlhbGx5IHJlbGV2YW50IGNvbmZlcmVuY2VzOgoKLSBTb2NpZXR5IGZvciBSZXNlYXJjaCBpbiBDaGlsZCBEZXZlbG9wbWVudCAoU1JDRCk6IFRoaXMgaW50ZXJuYXRpb25hbCBjb25mZXJlbmNlIGlzIHRoZSBtb3N0IGNvbW1vbmx5IGF0dGVuZGVkIGNvbmZlcmVuY2UgYnkgbWVtYmVycyBvZiB0aGUgbGFiLgotIEludGVybmF0aW9uYWwgU29jaWV0eSBmb3IgUmVzZWFyY2ggaW4gQ2hpbGQgYW5kIEFkb2xlc2NlbnQgUHN5Y2hvcGF0aG9sb2d5IChJU1JDQVApCi0gSW50ZXJuYXRpb25hbCBTb2NpZXR5IGZvciB0aGUgU3R1ZHkgb2YgQmVoYXZpb3JhbCBEZXZlbG9wbWVudCAoSVNTQkQpCi0gT2NjYXNpb25hbCBUZW1wZXJhbWVudCBDb25mZXJlbmNlIChPVEMpCi0gRmx1eDogYSBjb25mZXJlbmNlIHRoYXQgZGVhbHMgd2l0aCBkZXZlbG9wbWVudGFsIGNvZ25pdGl2ZSBuZXVyb3NjaWVuY2UKLSBTb2NpZXR5IGZvciBSZXNlYXJjaCBpbiBQc3ljaG9wYXRob2xvZ3kgKFNSUCkKLSBJbnRlcm5hdGlvbmFsIENvbmdyZXNzIG9mIEluZmFudCBTdHVkaWVzIChJQ0lTKQotIFNvY2lldHkgZm9yIFJlc2VhcmNoIG9uIEFkb2xlc2NlbmNlIChTUkEpCi0gQW1lcmljYW4gQWNhZGVteSBvZiBDaGlsZCBhbmQgQWRvbGVzY2VudCBQc3ljaGlhdHJ5IChBQUNBUCkKLSBBc3NvY2lhdGlvbiBmb3IgUHN5Y2hvbG9naWNhbCBTY2llbmNlIChBUFMpCi0gQW1lcmljYW4gUHN5Y2hvbG9naWNhbCBBc3NvY2lhdGlvbiAoQVBBKQotIE1pZHdlc3Rlcm4gUHN5Y2hvbG9naWNhbCBBc3NvY2lhdGlvbiAoTVBBKQotIFNvY2lldHkgZm9yIFBzeWNob3BoeXNpb2xvZ2ljYWwgUmVzZWFyY2ggKFNQUikKLSBOYXRpb25hbCBDb3VuY2lsIGZvciBVbmRlcmdyYWR1YXRlIFJlc2VhcmNoIChOQ1VSKQotIFNvY2lhbCBhbmQgQWZmZWN0aXZlIE5ldXJvc2NpZW5jZSBTb2NpZXR5IChTQU5TKQotIFNvY2lldHkgZm9yIE5ldXJvc2NpZW5jZSAoU0ZOKQotIENvZ25pdGl2ZSBEZXZlbG9wbWVudCBTb2NpZXR5IChDRFMpCi0gSW50ZXJuYXRpb25hbCBNZWV0aW5nIG9mIHRoZSBQc3ljaG9tZXRyaWMgU29jaWV0eSAoSU1QUykKLSBNb2Rlcm4gTW9kZWxpbmcgTWV0aG9kcyAoTU1NKQotIFdvcmxkIEFzc29jaWF0aW9uIGZvciBJbmZhbnQgTWVudGFsIEhlYWx0aCAoV0FJTUgpCi0gSW50ZXJuYXRpb25hbCBBc3NvY2lhdGlvbiBmb3IgWW91dGggTWVudGFsIEhlYWx0aCAoSUFZTUgpCgojIFB1Ymxpc2hpbmcgeyNwdWJsaXNoaW5nfQoKSXQgaXMgbm90IGNvbW1vbiAob3IgZXhwZWN0ZWQpIHRvIHB1Ymxpc2ggYSB0aGVzaXMuCkhvd2V2ZXIsIHRoZXJlIG1heSBiZSBvcHBvcnR1bml0aWVzIHRvIHB1Ymxpc2ggeW91ciB0aGVzaXMgaWYgeW91IGFyZSBpbnRlcmVzdGVkLgpQbGVhc2UgdGFsayB0byBEci4gUGV0ZXJzZW4gaWYgeW91IGFyZSBpbnRlcmVzdGVkIGluIHB1cnN1aW5nIHRoaXMuCgpWYXJpb3VzIG9wdGlvbnMgbWF5IGluY2x1ZGU6CgotIHB1Ymxpc2hpbmcgdGhlIHRoZXNpcyBpbiBbSW93YSBSZXNlYXJjaCBPbmxpbmVdKGh0dHBzOi8vaXJvLnVpb3dhLmVkdS8pCi0gcG9zdGluZyBhIFtwcmVwcmludF0ob3BlblNjaWVuY2UuaHRtbCNwcmVwcmludCkgb24gYSBwcmVwcmludCBzZXJ2ZXIKLSBwdWJsaXNoaW5nIHRoZSB0aGVzaXMgaW4gYSBbcGVlci1yZXZpZXdlZCBqb3VybmFsIGZvciB1bmRlcmdyYWR1YXRlIHRoZXNlc10oaHR0cHM6Ly93d3cuY3VyLm9yZy9yZXNvdXJjZXMtcHVibGljYXRpb25zL3N0dWRlbnQtcmVzb3VyY2VzL3N0dWRlbnQtam91cm5hbHMvdW5kZXJncmFkdWF0ZS1yZXNlYXJjaC1qb3VybmFsLWxpc3RpbmcpIChhcmNoaXZlZCBhdCBodHRwczovL3Blcm1hLmNjL1NWUDktNEhKRCkKLSBwdWJsaXNoaW5nIHRoZSB0aGVzaXMgaW4gYSBzdGFuZGFyZCBwZWVyLXJldmlld2VkIGpvdXJuYWwKClB1Ymxpc2hpbmcgdGhlIHRoZXNpcyBpbiBhIHBlZXItcmV2aWV3ZWQgam91cm5hbCB3aWxsIGxpa2VseSB0YWtlIGV4dGVuc2l2ZSBhZGRpdGlvbmFsIHRpbWUgYW5kIHdvcmsgdG8gcHJlcGFyZSB0aGUgdGhlc2lzIHRvIGJlIHB1YmxpY2F0aW9uLXJlYWR5IGluIHRlcm1zIG9mIGZvcm1hdCBhbmQgcXVhbGl0eS4KVGh1cywgaXQgbWF5IHJlcXVpcmUgY2xvc2UgY29sbGFib3JhdGlvbiB3aXRoIGEgZ3JhZHVhdGUgc3R1ZGVudCB3aG8gaXMgd2lsbGluZyB0byBzdXBwb3J0IHRoaXMgZW5kZWF2b3IuCg==



Developmental Psychopathology Lab