This is the first problem set for Econ 448. In it, you will answer a mix of questions that require both conceptual and analysis work. I prefer that you submit your entire document as one html document generated from your Markdown Notebook. However, you may answer the concept and calculation questions separately in the word processor of your choice (converted to pdf), but please submit your code and results for any of the data analysis questions as a pdf or html file. You do not need to submit any of the lab exercises below. This is just to help you learn the code for the formulas.

## Packages you may need - need to load every session if you are in the cloud
## Trying something new that should play better with R
if (!require("pacman")) install.packages("pacman") #pacman is the package that installs packages nicely
pacman::p_load(HMDHFDplus, tidyverse, ggplot2, dplyr, lattice) #these are the packages you may need
## Load every time, but only once per session 
library("ggplot2")
library("dplyr")
library("HMDHFDplus")

Conceptual Questions

Note: These questions are designed to help you think about the issues raised in this class, rather than to have a “right” or “wrong” answer.

  1. It took Finland about 50 years to go through its demographic transition around the turn of the 20th century. For this question, go to populationpyramid.net, choose a country in Asia, Africa, or Central or South America that is currently in the third stage or later of its demographic transition. Look back in time to find a year in which it was in the second stage. Then figure out approximately how many years it took the country to enter the third stage In your answer, tell me: Name of the country, year it was in the second stage, years to third stage. Did this country take more or less time than Finland. Try to think of at least two reasons why that might be the case and write a short description of your reasoning. Note: If you can’t find when the country was in its second stage, look for a different country.

The country I chose was India. Their beginning year for stage 2 of the demographic transition model was approximately the year 1960. With a gradual decline in birth rate, India eventually entered stage 3 of the DTM around the year 2000. With around a 40 year transitional period, India enters their 3rd stage of the DTM in less time than that of Finland’s. One explanation of a longer transition from stage 2 to stage 3 for Finland could be explained by a financial crisis stemming from weak bank regulations and other contributing factors that occurred in the late 1980’s to the early 1990’s. A jump from around 3% unemployment to a major high of 18% unemployment explains a delayed transition in the DTM due to income levels being unable to support costs of living. On the other hand, India’s faster transition from stage 2 to stage 3 can be explained by the rapid improvements of healthcare, sanitation, and nutrition in the late 20th century reaching into the early 21st century. Pair these improvements with a declining birth rate, India understandably transitioned into stage 3 of the DTM 10 years faster than Finland.

  1. The Millennium Development Goals (https://www.who.int/news-room/fact-sheets/detail/millennium-development-goals-(mdgs)) were 8 goals set forth by the United Nations in the late 1990s that were meant to serve as a framework for reducing extreme poverty along multiple dimensions by 2015. Consult the file “africa-millennium-development-goals.xlsx” found in github or at https://data.humdata.org/dataset/africa-millennium-development-goals. Choose one goal and two countries. State the goal, the countries, the measures used to assess progress in the goal, and compare and contrast the progress of the two countries toward achieving that goal.

The goal I chose is Goal #7, Ensure environmental stability, and the two countries I chose are Sierra Leone and Cape Verde. Sierra Leone’s measure used to assess progress towards the goal is “Proportion of population using an improved drinking water source” showcased as a percentage. Cape Verde’s measure is “Proportion of population using an improved sanitation facility” also showcased as a percentage. Sierra Leone began tracking this goal in the year 1995, with a proportion of 23.8% of their population using an improved drinking water source. Their most recent data recording, the year 2006, shows around a 44% increase, with the new proportion being 67.2%. Cape Verde began measuring in 2000, with a percentage of 61%, and a more recent recording of 72.9% in the year 2007. When comparing the two countries, Sierra Leone has made larger strides to environmental stability than Cape Verde. Although, Cape Verde has overall had higher levels of environmental stability their percentage of improvement has only risen by approximately 11% in 7 years, comparing to Sierra Leone’s massive 44% jump in 11 years. When reducing these rates to a yearly basis, Cape Verde has approximately a 1.57% annual increase in this goal while Sierra Leone has approximately 4% annual increase.

Calculation Questions (show your work or include your code)

  1. You are a young RA working at the World Bank. It’s 4:55 and your boss just came into your cubicle to tell you that he has a meeting at 8 am to discuss new anti-poverty strategies in the fictional country of Portlandia. He hands you the following information and asks for a poverty profile. Oh, and he has a tennis game in 20 minutes, so could you include some policy recommendations and have the report on his desk by the morning?

    The paper he hands you says:

    Portlandia is a small, poor country where the people are divided into four equal sized groups consisting of 1000 people each. One group earns $100 a year, one earns $500 a year, one earns $900 a year, and the final group earns $1500 a year. The poverty line is set at $1000. We have a budget of $300,000 for poverty
    alleviation.

    3.1 Please calculate the Head Count Ratio, and Income Gap Ratio for this country. (Include code, but this could just be simple calculations.)

HeadCountRatio <- 3000/4000
IncomeGapRatio <- ((1000-100)/1000)+((1000-500)/1000)+((1000-900)/1000)

HeadCountRatio
[1] 0.75
IncomeGapRatio
[1] 1.5
3.2 The World Bank’s policy is to minimize head count ratio.  What will your recommendation be?  What will the 
new head count ratio be? (Include code)

To minimize head count ratio in the country of Portlandia, we can implement an assistance program, worth $100,000 of our $300,000 budget, towards individuals with an annual salary of $900 which decreases our head count by 1000. With a remainder of $200,000 in our budget, we can assist 400 more individuals earning $500 a year. The overall change in head count will be 1400 less individuals. The new head count ratio is: 0.4

NewHCR <- (3000-1400)/4000
NewHCR
[1] 0.4
3.3 Do you think this is the correct approach to poverty alleviation?  Why or why not? 

I do not believe this is the correct approach to poverty alleviation because of how different individuals’ financial situations are. Basing an approach to avoid more poverty purely on statistical numbers has many flaws. Other external factors such as education level, healthcare accessibility, level of literacy, and etc. all affect the level of help a person requires to escape poverty. Some people require more help than others and by ignoring these signs and basing decisions on numbers can incorrectly alleviate poverty.

  1. Calculate Total Fertility Rates The female population (in thousands) and births by mother’s age group in Brazil in 2005 are in the table below. (The first chunk is the data, the second is there to display it nicely.) Use this data to calculate the Total Fertility Rate for Brazil at this time.
fertility <-as.data.frame(matrix(c(8128,8531,8844, 8118, 7209, 6715, 6409,367.9,530.2,449.6, 264.4, 126.5, 38.4, 6.8), nrow=7, ncol=2, dimnames=list(c("15-19","20-24","25-29","30-34","35-39","40-44","45-49"), c("Population_Thousands","Births_Thousands"))))
fertility
TFR <- ((367.9/8128)+(530.2/8531)+(449.6/8844)+(264.4/8118)+(126.5/7209)+(38.4/6715)+(6.8/6409))*5

TFR
[1] 1.075732
LS0tCnRpdGxlOiAiRWNvbiA0NDgiCmF1dGhvcjogIkpvc2h1YSBLaW0gKEV4dGVuZGVkIGR1ZSBkYXRlKSIKZGF0ZTogImByIGZvcm1hdChTeXMudGltZSgpLCAnJW0vJWQvJVknKWAiCm91dHB1dDoKICBodG1sX25vdGVib29rOiBkZWZhdWx0CiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0CiAgaHRtbF9kb2N1bWVudDoKICAgIGRmX3ByaW50OiBwYWdlZApzdWJ0aXRsZTogIlByb2JsZW0gU2V0IDEgLSBEdWUgMDEvMjEvMjQgQDExOjU5cG0iCi0tLQoKVGhpcyBpcyB0aGUgZmlyc3QgcHJvYmxlbSBzZXQgZm9yIEVjb24gNDQ4LiAgSW4gaXQsIHlvdSB3aWxsIGFuc3dlciBhIG1peCBvZiBxdWVzdGlvbnMgdGhhdCByZXF1aXJlIGJvdGggY29uY2VwdHVhbCBhbmQgYW5hbHlzaXMgd29yay4gICoqSSBwcmVmZXIgdGhhdCB5b3Ugc3VibWl0IHlvdXIgZW50aXJlIGRvY3VtZW50IGFzIG9uZSBodG1sIGRvY3VtZW50IGdlbmVyYXRlZCBmcm9tIHlvdXIgTWFya2Rvd24gTm90ZWJvb2suKiogSG93ZXZlciwgeW91IG1heSBhbnN3ZXIgdGhlIGNvbmNlcHQgYW5kIGNhbGN1bGF0aW9uIHF1ZXN0aW9ucyBzZXBhcmF0ZWx5IGluIHRoZSB3b3JkIHByb2Nlc3NvciBvZiB5b3VyIGNob2ljZSAoY29udmVydGVkIHRvIHBkZiksIGJ1dCBwbGVhc2Ugc3VibWl0IHlvdXIgY29kZSBhbmQgcmVzdWx0cyBmb3IgYW55IG9mIHRoZSBkYXRhIGFuYWx5c2lzIHF1ZXN0aW9ucyBhcyBhIHBkZiBvciBodG1sIGZpbGUuIFlvdSBkbyBub3QgbmVlZCB0byBzdWJtaXQgYW55IG9mIHRoZSBsYWIgZXhlcmNpc2VzIGJlbG93LiAgVGhpcyBpcyBqdXN0IHRvIGhlbHAgeW91IGxlYXJuIHRoZSBjb2RlIGZvciB0aGUgZm9ybXVsYXMuCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CiMjIFBhY2thZ2VzIHlvdSBtYXkgbmVlZCAtIG5lZWQgdG8gbG9hZCBldmVyeSBzZXNzaW9uIGlmIHlvdSBhcmUgaW4gdGhlIGNsb3VkCiMjIFRyeWluZyBzb21ldGhpbmcgbmV3IHRoYXQgc2hvdWxkIHBsYXkgYmV0dGVyIHdpdGggUgppZiAoIXJlcXVpcmUoInBhY21hbiIpKSBpbnN0YWxsLnBhY2thZ2VzKCJwYWNtYW4iKSAjcGFjbWFuIGlzIHRoZSBwYWNrYWdlIHRoYXQgaW5zdGFsbHMgcGFja2FnZXMgbmljZWx5CnBhY21hbjo6cF9sb2FkKEhNREhGRHBsdXMsIHRpZHl2ZXJzZSwgZ2dwbG90MiwgZHBseXIsIGxhdHRpY2UpICN0aGVzZSBhcmUgdGhlIHBhY2thZ2VzIHlvdSBtYXkgbmVlZAoKYGBgCgpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQojIyBMb2FkIGV2ZXJ5IHRpbWUsIGJ1dCBvbmx5IG9uY2UgcGVyIHNlc3Npb24gCmxpYnJhcnkoImdncGxvdDIiKQpsaWJyYXJ5KCJkcGx5ciIpCmxpYnJhcnkoIkhNREhGRHBsdXMiKQpgYGAKCgojIyMgQ29uY2VwdHVhbCBRdWVzdGlvbnMKTm90ZTogVGhlc2UgcXVlc3Rpb25zIGFyZSBkZXNpZ25lZCB0byBoZWxwIHlvdSB0aGluayBhYm91dCB0aGUgaXNzdWVzIHJhaXNlZCBpbiB0aGlzIGNsYXNzLCByYXRoZXIgdGhhbiB0byBoYXZlIGEgInJpZ2h0IiBvciAid3JvbmciIGFuc3dlci4KCjEuIEl0IHRvb2sgRmlubGFuZCBhYm91dCA1MCB5ZWFycyB0byBnbyB0aHJvdWdoIGl0cyBkZW1vZ3JhcGhpYyB0cmFuc2l0aW9uIGFyb3VuZCB0aGUgdHVybiBvZiB0aGUgMjB0aCBjZW50dXJ5LiAgRm9yIHRoaXMgcXVlc3Rpb24sIGdvIHRvIHBvcHVsYXRpb25weXJhbWlkLm5ldCwgY2hvb3NlIGEgY291bnRyeSBpbiBBc2lhLCBBZnJpY2EsIG9yIENlbnRyYWwgb3IgU291dGggQW1lcmljYSB0aGF0IGlzIGN1cnJlbnRseSBpbiB0aGUgdGhpcmQgc3RhZ2Ugb3IgbGF0ZXIgb2YgaXRzIGRlbW9ncmFwaGljIHRyYW5zaXRpb24uICBMb29rIGJhY2sgaW4gdGltZSB0byBmaW5kIGEgeWVhciBpbiB3aGljaCBpdCB3YXMgaW4gdGhlIHNlY29uZCBzdGFnZS4gIFRoZW4gZmlndXJlIG91dCBhcHByb3hpbWF0ZWx5IGhvdyBtYW55IHllYXJzIGl0IHRvb2sgdGhlIGNvdW50cnkgdG8gZW50ZXIgdGhlIHRoaXJkIHN0YWdlICBJbiB5b3VyIGFuc3dlciwgdGVsbCBtZTogTmFtZSBvZiB0aGUgY291bnRyeSwgeWVhciBpdCB3YXMgaW4gdGhlIHNlY29uZCBzdGFnZSwgeWVhcnMgdG8gdGhpcmQgc3RhZ2UuICBEaWQgdGhpcyBjb3VudHJ5IHRha2UgbW9yZSBvciBsZXNzIHRpbWUgdGhhbiBGaW5sYW5kLiAgVHJ5IHRvIHRoaW5rIG9mIGF0IGxlYXN0IHR3byByZWFzb25zIHdoeSB0aGF0IG1pZ2h0IGJlIHRoZSBjYXNlIGFuZCB3cml0ZSBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIHlvdXIgcmVhc29uaW5nLiBOb3RlOiBJZiB5b3UgY2FuJ3QgZmluZCB3aGVuIHRoZSBjb3VudHJ5IHdhcyBpbiBpdHMgc2Vjb25kIHN0YWdlLCBsb29rIGZvciBhIGRpZmZlcmVudCBjb3VudHJ5LgoKVGhlIGNvdW50cnkgSSBjaG9zZSB3YXMgSW5kaWEuIFRoZWlyIGJlZ2lubmluZyB5ZWFyIGZvciBzdGFnZSAyIG9mIHRoZSBkZW1vZ3JhcGhpYyB0cmFuc2l0aW9uIG1vZGVsIHdhcyBhcHByb3hpbWF0ZWx5IHRoZSB5ZWFyIDE5NjAuIFdpdGggYSBncmFkdWFsIGRlY2xpbmUgaW4gYmlydGggcmF0ZSwgSW5kaWEgZXZlbnR1YWxseSBlbnRlcmVkIHN0YWdlIDMgb2YgdGhlIERUTSBhcm91bmQgdGhlIHllYXIgMjAwMC4gV2l0aCBhcm91bmQgYSA0MCB5ZWFyIHRyYW5zaXRpb25hbCBwZXJpb2QsIEluZGlhIGVudGVycyB0aGVpciAzcmQgc3RhZ2Ugb2YgdGhlIERUTSBpbiBsZXNzIHRpbWUgdGhhbiB0aGF0IG9mIEZpbmxhbmQncy4gT25lIGV4cGxhbmF0aW9uIG9mIGEgbG9uZ2VyIHRyYW5zaXRpb24gZnJvbSBzdGFnZSAyIHRvIHN0YWdlIDMgZm9yIEZpbmxhbmQgY291bGQgYmUgZXhwbGFpbmVkIGJ5IGEgZmluYW5jaWFsIGNyaXNpcyBzdGVtbWluZyBmcm9tIHdlYWsgYmFuayByZWd1bGF0aW9ucyBhbmQgb3RoZXIgY29udHJpYnV0aW5nIGZhY3RvcnMgdGhhdCBvY2N1cnJlZCBpbiB0aGUgbGF0ZSAxOTgwJ3MgdG8gdGhlIGVhcmx5IDE5OTAncy4gQSBqdW1wIGZyb20gYXJvdW5kIDMlIHVuZW1wbG95bWVudCB0byBhIG1ham9yIGhpZ2ggb2YgMTglIHVuZW1wbG95bWVudCBleHBsYWlucyBhIGRlbGF5ZWQgdHJhbnNpdGlvbiBpbiB0aGUgRFRNIGR1ZSB0byBpbmNvbWUgbGV2ZWxzIGJlaW5nIHVuYWJsZSB0byBzdXBwb3J0IGNvc3RzIG9mIGxpdmluZy4gT24gdGhlIG90aGVyIGhhbmQsIEluZGlhJ3MgZmFzdGVyIHRyYW5zaXRpb24gZnJvbSBzdGFnZSAyIHRvIHN0YWdlIDMgY2FuIGJlIGV4cGxhaW5lZCBieSB0aGUgcmFwaWQgaW1wcm92ZW1lbnRzIG9mIGhlYWx0aGNhcmUsIHNhbml0YXRpb24sIGFuZCBudXRyaXRpb24gaW4gdGhlIGxhdGUgMjB0aCBjZW50dXJ5IHJlYWNoaW5nIGludG8gdGhlIGVhcmx5IDIxc3QgY2VudHVyeS4gUGFpciB0aGVzZSBpbXByb3ZlbWVudHMgd2l0aCBhIGRlY2xpbmluZyBiaXJ0aCByYXRlLCBJbmRpYSB1bmRlcnN0YW5kYWJseSB0cmFuc2l0aW9uZWQgaW50byBzdGFnZSAzIG9mIHRoZSBEVE0gMTAgeWVhcnMgZmFzdGVyIHRoYW4gRmlubGFuZC4KCjIuIFRoZSBNaWxsZW5uaXVtIERldmVsb3BtZW50IEdvYWxzIChodHRwczovL3d3dy53aG8uaW50L25ld3Mtcm9vbS9mYWN0LXNoZWV0cy9kZXRhaWwvbWlsbGVubml1bS1kZXZlbG9wbWVudC1nb2Fscy0obWRncykpIHdlcmUgOCBnb2FscyBzZXQgZm9ydGggYnkgdGhlIFVuaXRlZCBOYXRpb25zIGluIHRoZSBsYXRlIDE5OTBzIHRoYXQgd2VyZSBtZWFudCB0byBzZXJ2ZSBhcyBhIGZyYW1ld29yayBmb3IgcmVkdWNpbmcgZXh0cmVtZSBwb3ZlcnR5IGFsb25nIG11bHRpcGxlIGRpbWVuc2lvbnMgYnkgMjAxNS4gQ29uc3VsdCB0aGUgZmlsZSAiYWZyaWNhLW1pbGxlbm5pdW0tZGV2ZWxvcG1lbnQtZ29hbHMueGxzeCIgZm91bmQgaW4gZ2l0aHViIG9yIGF0IGh0dHBzOi8vZGF0YS5odW1kYXRhLm9yZy9kYXRhc2V0L2FmcmljYS1taWxsZW5uaXVtLWRldmVsb3BtZW50LWdvYWxzLiBDaG9vc2Ugb25lIGdvYWwgYW5kIHR3byBjb3VudHJpZXMuIFN0YXRlIHRoZSBnb2FsLCB0aGUgY291bnRyaWVzLCB0aGUgbWVhc3VyZXMgdXNlZCB0byBhc3Nlc3MgcHJvZ3Jlc3MgaW4gdGhlIGdvYWwsIGFuZCBjb21wYXJlIGFuZCBjb250cmFzdCB0aGUgcHJvZ3Jlc3Mgb2YgdGhlIHR3byBjb3VudHJpZXMgdG93YXJkIGFjaGlldmluZyB0aGF0IGdvYWwuIAoKVGhlIGdvYWwgSSBjaG9zZSBpcyBHb2FsICM3LCBFbnN1cmUgZW52aXJvbm1lbnRhbCBzdGFiaWxpdHksIGFuZCB0aGUgdHdvIGNvdW50cmllcyBJIGNob3NlIGFyZSBTaWVycmEgTGVvbmUgYW5kIENhcGUgVmVyZGUuIFNpZXJyYSBMZW9uZSdzIG1lYXN1cmUgdXNlZCB0byBhc3Nlc3MgcHJvZ3Jlc3MgdG93YXJkcyB0aGUgZ29hbCBpcyAiUHJvcG9ydGlvbiBvZiBwb3B1bGF0aW9uIHVzaW5nIGFuIGltcHJvdmVkIGRyaW5raW5nIHdhdGVyIHNvdXJjZSIgc2hvd2Nhc2VkIGFzIGEgcGVyY2VudGFnZS4gQ2FwZSBWZXJkZSdzIG1lYXN1cmUgaXMgIlByb3BvcnRpb24gb2YgcG9wdWxhdGlvbiB1c2luZyBhbiBpbXByb3ZlZCBzYW5pdGF0aW9uIGZhY2lsaXR5IiBhbHNvIHNob3djYXNlZCBhcyBhIHBlcmNlbnRhZ2UuIFNpZXJyYSBMZW9uZSBiZWdhbiB0cmFja2luZyB0aGlzIGdvYWwgaW4gdGhlIHllYXIgMTk5NSwgd2l0aCBhIHByb3BvcnRpb24gb2YgMjMuOCUgb2YgdGhlaXIgcG9wdWxhdGlvbiB1c2luZyBhbiBpbXByb3ZlZCBkcmlua2luZyB3YXRlciBzb3VyY2UuIFRoZWlyIG1vc3QgcmVjZW50IGRhdGEgcmVjb3JkaW5nLCB0aGUgeWVhciAyMDA2LCBzaG93cyBhcm91bmQgYSA0NCUgaW5jcmVhc2UsIHdpdGggdGhlIG5ldyBwcm9wb3J0aW9uIGJlaW5nIDY3LjIlLiBDYXBlIFZlcmRlIGJlZ2FuIG1lYXN1cmluZyBpbiAyMDAwLCB3aXRoIGEgcGVyY2VudGFnZSBvZiA2MSUsIGFuZCBhIG1vcmUgcmVjZW50IHJlY29yZGluZyBvZiA3Mi45JSBpbiB0aGUgeWVhciAyMDA3LiBXaGVuIGNvbXBhcmluZyB0aGUgdHdvIGNvdW50cmllcywgU2llcnJhIExlb25lIGhhcyBtYWRlIGxhcmdlciBzdHJpZGVzIHRvIGVudmlyb25tZW50YWwgc3RhYmlsaXR5IHRoYW4gQ2FwZSBWZXJkZS4gQWx0aG91Z2gsIENhcGUgVmVyZGUgaGFzIG92ZXJhbGwgaGFkIGhpZ2hlciBsZXZlbHMgb2YgZW52aXJvbm1lbnRhbCBzdGFiaWxpdHkgdGhlaXIgcGVyY2VudGFnZSBvZiBpbXByb3ZlbWVudCBoYXMgb25seSByaXNlbiBieSBhcHByb3hpbWF0ZWx5IDExJSBpbiA3IHllYXJzLCBjb21wYXJpbmcgdG8gU2llcnJhIExlb25lJ3MgbWFzc2l2ZSA0NCUganVtcCBpbiAxMSB5ZWFycy4gV2hlbiByZWR1Y2luZyB0aGVzZSByYXRlcyB0byBhIHllYXJseSBiYXNpcywgQ2FwZSBWZXJkZSBoYXMgYXBwcm94aW1hdGVseSBhIDEuNTclIGFubnVhbCBpbmNyZWFzZSBpbiB0aGlzIGdvYWwgd2hpbGUgU2llcnJhIExlb25lIGhhcyBhcHByb3hpbWF0ZWx5IDQlIGFubnVhbCBpbmNyZWFzZS4KCiMjIyBDYWxjdWxhdGlvbiBRdWVzdGlvbnMgKHNob3cgeW91ciB3b3JrIG9yIGluY2x1ZGUgeW91ciBjb2RlKQozLiBZb3UgYXJlIGEgeW91bmcgUkEgd29ya2luZyBhdCB0aGUgV29ybGQgQmFuay4gIEl04oCZcyA0OjU1IGFuZCB5b3VyIGJvc3MganVzdCBjYW1lIGludG8geW91ciBjdWJpY2xlIHRvIHRlbGwgeW91IHRoYXQgaGUgaGFzIGEgbWVldGluZyBhdCA4IGFtIHRvIGRpc2N1c3MgbmV3IGFudGktcG92ZXJ0eSBzdHJhdGVnaWVzIGluIHRoZSBmaWN0aW9uYWwgY291bnRyeSBvZiBQb3J0bGFuZGlhLiAgSGUgaGFuZHMgeW91IHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gYW5kIGFza3MgZm9yIGEgcG92ZXJ0eSBwcm9maWxlLiAgT2gsIGFuZCBoZSBoYXMgYSB0ZW5uaXMgZ2FtZSBpbiAyMCBtaW51dGVzLCBzbyBjb3VsZCB5b3UgaW5jbHVkZSBzb21lIHBvbGljeSByZWNvbW1lbmRhdGlvbnMgYW5kIGhhdmUgdGhlIHJlcG9ydCBvbiBoaXMgZGVzayBieSB0aGUgbW9ybmluZz8gIAoKICAgIFRoZSBwYXBlciBoZSBoYW5kcyB5b3Ugc2F5czoKICAgICAgCiAgICAgIFBvcnRsYW5kaWEgaXMgYSBzbWFsbCwgcG9vciBjb3VudHJ5IHdoZXJlIHRoZSBwZW9wbGUgYXJlIGRpdmlkZWQgaW50byBmb3VyIGVxdWFsIHNpemVkIGdyb3VwcyBjb25zaXN0aW5nIG9mIAogICAgICAxMDAwIHBlb3BsZSBlYWNoLiAgT25lIGdyb3VwIGVhcm5zICQxMDAgYSB5ZWFyLCBvbmUgZWFybnMgJDUwMCBhIHllYXIsIG9uZSBlYXJucyAkOTAwIGEgeWVhciwgYW5kIHRoZSBmaW5hbCAKICAgICAgZ3JvdXAgZWFybnMgJDE1MDAgYSB5ZWFyLiAgVGhlIHBvdmVydHkgbGluZSBpcyBzZXQgYXQgJDEwMDAuICBXZSBoYXZlIGEgYnVkZ2V0IG9mICQzMDAsMDAwIGZvciBwb3ZlcnR5ICAgICAgCiAgICAgIGFsbGV2aWF0aW9uLiAKCiAgICAzLjEgUGxlYXNlIGNhbGN1bGF0ZSB0aGUgSGVhZCBDb3VudCBSYXRpbywgYW5kIEluY29tZSBHYXAgUmF0aW8gZm9yIHRoaXMgY291bnRyeS4gKEluY2x1ZGUgY29kZSwgYnV0IHRoaXMgY291bGQKICAgIGp1c3QgYmUgc2ltcGxlIGNhbGN1bGF0aW9ucy4pCiAgCmBgYHtyfQpIZWFkQ291bnRSYXRpbyA8LSAzMDAwLzQwMDAKSW5jb21lR2FwUmF0aW8gPC0gKCgxMDAwLTEwMCkvMTAwMCkrKCgxMDAwLTUwMCkvMTAwMCkrKCgxMDAwLTkwMCkvMTAwMCkKCkhlYWRDb3VudFJhdGlvCkluY29tZUdhcFJhdGlvCgoKYGBgCiAgCgogICAgMy4yCVRoZSBXb3JsZCBCYW5r4oCZcyBwb2xpY3kgaXMgdG8gbWluaW1pemUgaGVhZCBjb3VudCByYXRpby4gIFdoYXQgd2lsbCB5b3VyIHJlY29tbWVuZGF0aW9uIGJlPyAgV2hhdCB3aWxsIHRoZSAKICAgIG5ldyBoZWFkIGNvdW50IHJhdGlvIGJlPyAoSW5jbHVkZSBjb2RlKQpUbyBtaW5pbWl6ZSBoZWFkIGNvdW50IHJhdGlvIGluIHRoZSBjb3VudHJ5IG9mIFBvcnRsYW5kaWEsIHdlIGNhbiBpbXBsZW1lbnQgYW4gYXNzaXN0YW5jZSBwcm9ncmFtLCB3b3J0aCAkMTAwLDAwMCBvZiBvdXIgJDMwMCwwMDAgYnVkZ2V0LCB0b3dhcmRzIGluZGl2aWR1YWxzIHdpdGggYW4gYW5udWFsIHNhbGFyeSBvZiAkOTAwIHdoaWNoIGRlY3JlYXNlcyBvdXIgaGVhZCBjb3VudCBieSAxMDAwLiBXaXRoIGEgcmVtYWluZGVyIG9mICQyMDAsMDAwIGluIG91ciBidWRnZXQsIHdlIGNhbiBhc3Npc3QgNDAwIG1vcmUgaW5kaXZpZHVhbHMgZWFybmluZyAkNTAwIGEgeWVhci4gVGhlIG92ZXJhbGwgY2hhbmdlIGluIGhlYWQgY291bnQgd2lsbCBiZSAxNDAwIGxlc3MgaW5kaXZpZHVhbHMuIFRoZSBuZXcgaGVhZCBjb3VudCByYXRpbyBpczogMC40CgpgYGB7cn0KTmV3SENSIDwtICgzMDAwLTE0MDApLzQwMDAKTmV3SENSCgpgYGAKCgogICAgMy4zIERvIHlvdSB0aGluayB0aGlzIGlzIHRoZSBjb3JyZWN0IGFwcHJvYWNoIHRvIHBvdmVydHkgYWxsZXZpYXRpb24/ICBXaHkgb3Igd2h5IG5vdD8gCkkgZG8gbm90IGJlbGlldmUgdGhpcyBpcyB0aGUgY29ycmVjdCBhcHByb2FjaCB0byBwb3ZlcnR5IGFsbGV2aWF0aW9uIGJlY2F1c2Ugb2YgaG93IGRpZmZlcmVudCBpbmRpdmlkdWFscycgZmluYW5jaWFsIHNpdHVhdGlvbnMgYXJlLiBCYXNpbmcgYW4gYXBwcm9hY2ggdG8gYXZvaWQgbW9yZSBwb3ZlcnR5IHB1cmVseSBvbiBzdGF0aXN0aWNhbCBudW1iZXJzIGhhcyBtYW55IGZsYXdzLiBPdGhlciBleHRlcm5hbCBmYWN0b3JzIHN1Y2ggYXMgZWR1Y2F0aW9uIGxldmVsLCBoZWFsdGhjYXJlIGFjY2Vzc2liaWxpdHksIGxldmVsIG9mIGxpdGVyYWN5LCBhbmQgZXRjLiBhbGwgYWZmZWN0IHRoZSBsZXZlbCBvZiBoZWxwIGEgcGVyc29uIHJlcXVpcmVzIHRvIGVzY2FwZSBwb3ZlcnR5LiBTb21lIHBlb3BsZSByZXF1aXJlIG1vcmUgaGVscCB0aGFuIG90aGVycyBhbmQgYnkgaWdub3JpbmcgdGhlc2Ugc2lnbnMgYW5kIGJhc2luZyBkZWNpc2lvbnMgb24gbnVtYmVycyBjYW4gaW5jb3JyZWN0bHkgYWxsZXZpYXRlIHBvdmVydHkuCgoKNC4gQ2FsY3VsYXRlIFRvdGFsIEZlcnRpbGl0eSBSYXRlcwpUaGUgZmVtYWxlIHBvcHVsYXRpb24gKGluIHRob3VzYW5kcykgYW5kIGJpcnRocyBieSBtb3RoZXIncyBhZ2UgZ3JvdXAgaW4gQnJhemlsIGluIDIwMDUgYXJlIGluIHRoZSB0YWJsZSBiZWxvdy4gKFRoZSBmaXJzdCBjaHVuayBpcyB0aGUgZGF0YSwgdGhlIHNlY29uZCBpcyB0aGVyZSB0byBkaXNwbGF5IGl0IG5pY2VseS4pIFVzZSB0aGlzIGRhdGEgdG8gY2FsY3VsYXRlIHRoZSBUb3RhbCBGZXJ0aWxpdHkgUmF0ZSBmb3IgQnJhemlsIGF0IHRoaXMgdGltZS4KYGBge3J9CmZlcnRpbGl0eSA8LWFzLmRhdGEuZnJhbWUobWF0cml4KGMoODEyOCw4NTMxLDg4NDQsIDgxMTgsIDcyMDksIDY3MTUsIDY0MDksMzY3LjksNTMwLjIsNDQ5LjYsIDI2NC40LCAxMjYuNSwgMzguNCwgNi44KSwgbnJvdz03LCBuY29sPTIsIGRpbW5hbWVzPWxpc3QoYygiMTUtMTkiLCIyMC0yNCIsIjI1LTI5IiwiMzAtMzQiLCIzNS0zOSIsIjQwLTQ0IiwiNDUtNDkiKSwgYygiUG9wdWxhdGlvbl9UaG91c2FuZHMiLCJCaXJ0aHNfVGhvdXNhbmRzIikpKSkKZmVydGlsaXR5CmBgYApgYGB7cn0KVEZSIDwtICgoMzY3LjkvODEyOCkrKDUzMC4yLzg1MzEpKyg0NDkuNi84ODQ0KSsoMjY0LjQvODExOCkrKDEyNi41LzcyMDkpKygzOC40LzY3MTUpKyg2LjgvNjQwOSkpKjUKClRGUgpgYGAKCgoKCg==