babynames %>%                             
  filter(year == 1966, sex == "M") %>%    
  mutate(rank = row_number()) %>%         
  mutate(percent = round(prop * 100, 1)) %>% 
  filter(name == "Matthew")               
NA

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->



<!-- rnb-chunk-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuXG5iYWJ5bmFtZXMgJT4lICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgZmlsdGVyKHllYXIgPT0gMTk2Niwgc2V4ID09IFwiTVwiKSAlPiUgICAgXG4gIG11dGF0ZShyYW5rID0gcm93X251bWJlcigpKSAlPiUgICAgICAgICBcbiAgbXV0YXRlKHBlcmNlbnQgPSByb3VuZChwcm9wICogMTAwLCAxKSkgJT4lIFxuICBmaWx0ZXIobmFtZSA9PSBcIk1heVwiKSAgICAgICAgICAgICAgIFxuYGBgIn0= -->

```r

babynames %>%                             
  filter(year == 1966, sex == "M") %>%    
  mutate(rank = row_number()) %>%         
  mutate(percent = round(prop * 100, 1)) %>% 
  filter(name == "May")               
NA

```This was done as a practice code to make sure it was correct. This code gives me the percentage of males named Matthew in 1966.


babynames %>%                             
  filter(year == 1999, sex == "F") %>%    
  mutate(rank = row_number()) %>%         
  mutate(percent = round(prop * 100, 1)) %>% 
  filter(name == "Morgan")               
NA

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->



<!-- rnb-chunk-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYmFieW5hbWVzICU+JSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgc3RhcnQgd2l0aCB0aGUgZGF0YVxuICBmaWx0ZXIobmFtZSA9PSBcIk1vcmdhblwiLCBzZXggPT0gXCJGXCIpICU+JSAgICAgICMgY2hvb3NlIHRoZSBuYW1lIGFuZCBzZXhcbiAgZ2dwbG90KGFlcyh4ID0geWVhciwgeSA9IHByb3ApKSArICAgICAgICAgICAgICAjIHB1dCB5ZWFyIG9uIHRoZSB4LWF4aXMgYW5kIHByb3AgKHByb3BvcnRpb24pIG9uIHlcbiAgZ2VvbV9saW5lKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG1ha2UgaXQgYSBsaW5lIGdyYXBoIFxuXG5gYGAifQ== -->

```r
babynames %>%                                    # start with the data
  filter(name == "Morgan", sex == "F") %>%      # choose the name and sex
  ggplot(aes(x = year, y = prop)) +              # put year on the x-axis and prop (proportion) on y
  geom_line()                                    # make it a line graph 


<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->



<!-- rnb-chunk-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYmFieW5hbWVzICU+JVxuICBmaWx0ZXIobmFtZSA9PSBcIk1vcmdhblwiIHwgbmFtZSA9PSBcIk1hZGlzb25cIiB8IG5hbWUgPT0gXCJNYWNrZW56aWVcIikgJT4lIFxuICBmaWx0ZXIoc2V4ID09IFwiRlwiKSAlPiUgXG4gIGdncGxvdChhZXMoeCA9IHllYXIsIHkgPSBuLCBjb2xvciA9IG5hbWUpKSArXG4gIGdlb21fbGluZSgpXG5gYGAifQ== -->

```r
babynames %>%
  filter(name == "Morgan" | name == "Madison" | name == "Mackenzie") %>% 
  filter(sex == "F") %>% 
  ggplot(aes(x = year, y = n, color = name)) +
  geom_line()

Now, I have changed the name from Matthew to Morgan to see what my own name's popularity was in 1966.


This is an [R Markdown](http://rmarkdown.rstudio.com) Notebook. When you execute code within the notebook, the results appear beneath the code. 

Try executing this chunk by clicking the *Run* button within the chunk or by placing your cursor inside it and pressing *Ctrl+Shift+Enter*. 


<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxucGxvdChjYXJzKVxuYGBgIn0= -->

```r
plot(cars)

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).

The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.


First, I am going to create a code that gives the rank of my name for how popular it was the year I was born.


babynames %>%                             
  filter(year == 1999, sex == "F") %>%    
  mutate(rank = row_number()) %>%         
  mutate(percent = round(prop * 100, 1)) %>% 
  filter(name == "Morgan")               
This code showed that my name was ranked as 24th most popular in 1999. Roughly .005%.
Next, I am going to create a word cloud of the female names the year I was born.

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->



<!-- rnb-chunk-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYmFieW5hbWVzICU+JVxuICBmaWx0ZXIoeWVhciA9PSAxOTk5KSAlPiUgICAgICMgdXNlIG9ubHkgb25lIHllYXJcbiAgZmlsdGVyKHNleCA9PSBcIkZcIikgJT4lICAgICAgICMgdXNlIG9ubHkgb25lIHNleFxuICBzZWxlY3QobmFtZSwgbikgJT4lICAgICAgICAgICMgc2VsZWN0IHRoZSB0d28gcmVsZXZhbnQgdmFyaWFibGVzOiB0aGUgbmFtZSBhbmQgaG93IG9mdGVuIGl0IG9jY3Vyc1xuICB0b3BfbigxMDAsIG4pICU+JSAgICAgICAgICAgICMgdXNlIG9ubHkgdGhlIHRvcCBuYW1lcyBvciBpdCBjb3VsZCBnZXQgdG9vIGJpZ1xuICB3b3JkY2xvdWQyKCkgICAgICAgICAgICAgICAgICMgZ2VuZXJhdGUgdGhlIHdvcmQgY2xvdWRcbmBgYCJ9 -->

```r
babynames %>%
  filter(year == 1999) %>%     # use only one year
  filter(sex == "F") %>%       # use only one sex
  select(name, n) %>%          # select the two relevant variables: the name and how often it occurs
  top_n(100, n) %>%            # use only the top names or it could get too big
  wordcloud2()                 # generate the word cloud
This shows the most popular names of females in 1999 as the largest, descending by size to the least popular female name in 1999.
Next, I am going to graph the popularity of my name.

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->



<!-- rnb-chunk-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYmFieW5hbWVzICU+JSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgc3RhcnQgd2l0aCB0aGUgZGF0YVxuICBmaWx0ZXIobmFtZSA9PSBcIk1vcmdhblwiLCBzZXggPT0gXCJGXCIpICU+JSAgICAgICMgY2hvb3NlIHRoZSBuYW1lIGFuZCBzZXhcbiAgZ2dwbG90KGFlcyh4ID0geWVhciwgeSA9IHByb3ApKSArICAgICAgICAgICAgICAjIHB1dCB5ZWFyIG9uIHRoZSB4LWF4aXMgYW5kIHByb3AgKHByb3BvcnRpb24pIG9uIHlcbiAgZ2VvbV9saW5lKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG1ha2UgaXQgYSBsaW5lIGdyYXBoIFxuXG5gYGAifQ== -->

```r
babynames %>%                                    # start with the data
  filter(name == "Morgan", sex == "F") %>%      # choose the name and sex
  ggplot(aes(x = year, y = prop)) +              # put year on the x-axis and prop (proportion) on y
  geom_line()                                    # make it a line graph 
This line graph shows that my name did not start gaining popularity until 1980-2000. After 2000, it began dropping in popularity.
Next, I am going to create a table that shows which year my name was most popular.

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->



<!-- rnb-chunk-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYmFieW5hbWVzICU+JSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFN0YXJ0IHdpdGggdGhlIGRhdGFzZXRcbiAgZmlsdGVyKG5hbWUgPT0gXCJNb3JnYW5cIiwgc2V4ID09IFwiRlwiKSAlPiUgICAgICAgIyBvbmx5IGxvb2sgYXQgdGhlIG5hbWUgeW91IHdhbnRcbiAgdG9wX24oMSwgcHJvcCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBnZXQgdGhlIHllYXIgd2l0aCB0aGUgdG9wIG51bWJlciBmb3IgdGhhdCBuYW1lXG5cbmBgYCJ9 -->

```r
babynames %>%                                     # Start with the dataset
  filter(name == "Morgan", sex == "F") %>%       # only look at the name you want
  top_n(1, prop)                                  # get the year with the top number for that name
This table shows that in 1995 my name was the most popular.
Next, I am going to compare the popularity of my name, to other female names through a graph.

<!-- rnb-text-end -->


<!-- rnb-chunk-begin -->



<!-- rnb-chunk-end -->


<!-- rnb-chunk-begin -->


<!-- rnb-source-begin eyJkYXRhIjoiYGBgclxuYmFieW5hbWVzICU+JVxuICBmaWx0ZXIobmFtZSA9PSBcIk1vcmdhblwiIHwgbmFtZSA9PSBcIk1hZGlzb25cIiB8IG5hbWUgPT0gXCJNYWNrZW56aWVcIikgJT4lIFxuICBmaWx0ZXIoc2V4ID09IFwiRlwiKSAlPiUgXG4gIGdncGxvdChhZXMoeCA9IHllYXIsIHkgPSBuLCBjb2xvciA9IG5hbWUpKSArXG4gIGdlb21fbGluZSgpXG5gYGAifQ== -->

```r
babynames %>%
  filter(name == "Morgan" | name == "Madison" | name == "Mackenzie") %>% 
  filter(sex == "F") %>% 
  ggplot(aes(x = year, y = n, color = name)) +
  geom_line()

``` This line graph shows that Madison was by far the most popular name over the years compared to the other two names.

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KYGBge3J9DQpgYGB7cn0NCg0KYmFieW5hbWVzICU+JSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGZpbHRlcih5ZWFyID09IDE5OTksIHNleCA9PSAiRiIpICU+JSAgICANCiAgbXV0YXRlKHJhbmsgPSByb3dfbnVtYmVyKCkpICU+JSAgICAgICAgIA0KICBtdXRhdGUocGVyY2VudCA9IHJvdW5kKHByb3AgKiAxMDAsIDEpKSAlPiUgDQogIGZpbHRlcihuYW1lID09ICJNb3JnYW4iKSAgICAgICAgICAgICAgIA0KDQpgYGANCmBgYA0KYGBge3J9DQpgYGB7cn0NCg0KYmFieW5hbWVzICU+JSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGZpbHRlcih5ZWFyID09IDE5NjYsIHNleCA9PSAiTSIpICU+JSAgICANCiAgbXV0YXRlKHJhbmsgPSByb3dfbnVtYmVyKCkpICU+JSAgICAgICAgIA0KICBtdXRhdGUocGVyY2VudCA9IHJvdW5kKHByb3AgKiAxMDAsIDEpKSAlPiUgDQogIGZpbHRlcihuYW1lID09ICJNYXR0aGV3IikgICAgICAgICAgICAgICANCg0KYGBgDQpgYGBUaGlzIHdhcyBkb25lIGFzIGEgcHJhY3RpY2UgY29kZSB0byBtYWtlIHN1cmUgaXQgd2FzIGNvcnJlY3QuIFRoaXMgY29kZSBnaXZlcyBtZSB0aGUgcGVyY2VudGFnZSBvZiBtYWxlcyBuYW1lZCBNYXR0aGV3IGluIDE5NjYuDQpgYGB7cn0NCmBgYHtyfQ0KDQpiYWJ5bmFtZXMgJT4lICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgZmlsdGVyKHllYXIgPT0gMTk5OSwgc2V4ID09ICJGIikgJT4lICAgIA0KICBtdXRhdGUocmFuayA9IHJvd19udW1iZXIoKSkgJT4lICAgICAgICAgDQogIG11dGF0ZShwZXJjZW50ID0gcm91bmQocHJvcCAqIDEwMCwgMSkpICU+JSANCiAgZmlsdGVyKG5hbWUgPT0gIk1hZGlzb24iKSAgICAgICAgICAgICAgIA0KDQpgYGANCmBgYA0KYGBge3J9DQpgYGB7cn0NCg0KYmFieW5hbWVzICU+JSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGZpbHRlcih5ZWFyID09IDE5NjYsIHNleCA9PSAiTSIpICU+JSAgICANCiAgbXV0YXRlKHJhbmsgPSByb3dfbnVtYmVyKCkpICU+JSAgICAgICAgIA0KICBtdXRhdGUocGVyY2VudCA9IHJvdW5kKHByb3AgKiAxMDAsIDEpKSAlPiUgDQogIGZpbHRlcihuYW1lID09ICJNYXkiKSAgICAgICAgICAgICAgIA0KDQpgYGANCmBgYA0KYGBge3J9DQpgYGB7cn0NCg0KYmFieW5hbWVzICU+JSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogIGZpbHRlcih5ZWFyID09IDE5NjYsIHNleCA9PSAiTSIpICU+JSAgICANCiAgbXV0YXRlKHJhbmsgPSByb3dfbnVtYmVyKCkpICU+JSAgICAgICAgIA0KICBtdXRhdGUocGVyY2VudCA9IHJvdW5kKHByb3AgKiAxMDAsIDEpKSAlPiUgDQogIGZpbHRlcihuYW1lID09ICJNb3JnYW4iKSAgICAgICAgICAgICAgIA0KDQpgYGANCmBgYA0KTm93LCBJIGhhdmUgY2hhbmdlZCB0aGUgbmFtZSBmcm9tIE1hdHRoZXcgdG8gTW9yZ2FuIHRvIHNlZSB3aGF0IG15IG93biBuYW1lJ3MgcG9wdWxhcml0eSB3YXMgaW4gMTk2Ni4NCg0KDQpUaGlzIGlzIGFuIFtSIE1hcmtkb3duXShodHRwOi8vcm1hcmtkb3duLnJzdHVkaW8uY29tKSBOb3RlYm9vay4gV2hlbiB5b3UgZXhlY3V0ZSBjb2RlIHdpdGhpbiB0aGUgbm90ZWJvb2ssIHRoZSByZXN1bHRzIGFwcGVhciBiZW5lYXRoIHRoZSBjb2RlLiANCg0KVHJ5IGV4ZWN1dGluZyB0aGlzIGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqUnVuKiBidXR0b24gd2l0aGluIHRoZSBjaHVuayBvciBieSBwbGFjaW5nIHlvdXIgY3Vyc29yIGluc2lkZSBpdCBhbmQgcHJlc3NpbmcgKkN0cmwrU2hpZnQrRW50ZXIqLiANCg0KYGBge3J9DQpwbG90KGNhcnMpDQpgYGANCg0KQWRkIGEgbmV3IGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqSW5zZXJ0IENodW5rKiBidXR0b24gb24gdGhlIHRvb2xiYXIgb3IgYnkgcHJlc3NpbmcgKkN0cmwrQWx0K0kqLg0KDQpXaGVuIHlvdSBzYXZlIHRoZSBub3RlYm9vaywgYW4gSFRNTCBmaWxlIGNvbnRhaW5pbmcgdGhlIGNvZGUgYW5kIG91dHB1dCB3aWxsIGJlIHNhdmVkIGFsb25nc2lkZSBpdCAoY2xpY2sgdGhlICpQcmV2aWV3KiBidXR0b24gb3IgcHJlc3MgKkN0cmwrU2hpZnQrSyogdG8gcHJldmlldyB0aGUgSFRNTCBmaWxlKS4NCg0KVGhlIHByZXZpZXcgc2hvd3MgeW91IGEgcmVuZGVyZWQgSFRNTCBjb3B5IG9mIHRoZSBjb250ZW50cyBvZiB0aGUgZWRpdG9yLiBDb25zZXF1ZW50bHksIHVubGlrZSAqS25pdCosICpQcmV2aWV3KiBkb2VzIG5vdCBydW4gYW55IFIgY29kZSBjaHVua3MuIEluc3RlYWQsIHRoZSBvdXRwdXQgb2YgdGhlIGNodW5rIHdoZW4gaXQgd2FzIGxhc3QgcnVuIGluIHRoZSBlZGl0b3IgaXMgZGlzcGxheWVkLg0KDQoNCi0tLS0tDQpGaXJzdCwgSSBhbSBnb2luZyB0byBjcmVhdGUgYSBjb2RlIHRoYXQgZ2l2ZXMgdGhlIHJhbmsgb2YgbXkgbmFtZSBmb3IgaG93IHBvcHVsYXIgaXQgd2FzIHRoZSB5ZWFyIEkgd2FzIGJvcm4uDQpgYGB7cn0NCmBgYHtyfQ0KDQpiYWJ5bmFtZXMgJT4lICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgZmlsdGVyKHllYXIgPT0gMTk5OSwgc2V4ID09ICJGIikgJT4lICAgIA0KICBtdXRhdGUocmFuayA9IHJvd19udW1iZXIoKSkgJT4lICAgICAgICAgDQogIG11dGF0ZShwZXJjZW50ID0gcm91bmQocHJvcCAqIDEwMCwgMSkpICU+JSANCiAgZmlsdGVyKG5hbWUgPT0gIk1vcmdhbiIpICAgICAgICAgICAgICAgDQoNCmBgYA0KYGBgDQpUaGlzIGNvZGUgc2hvd2VkIHRoYXQgbXkgbmFtZSB3YXMgcmFua2VkIGFzIDI0dGggbW9zdCBwb3B1bGFyIGluIDE5OTkuIFJvdWdobHkgLjAwNSUuDQpOZXh0LCBJIGFtIGdvaW5nIHRvIGNyZWF0ZSBhIHdvcmQgY2xvdWQgb2YgdGhlIGZlbWFsZSBuYW1lcyB0aGUgeWVhciBJIHdhcyBib3JuLg0KYGBge3J9DQpgYGB7cn0NCmJhYnluYW1lcyAlPiUNCiAgZmlsdGVyKHllYXIgPT0gMTk5OSkgJT4lICAgICAjIHVzZSBvbmx5IG9uZSB5ZWFyDQogIGZpbHRlcihzZXggPT0gIkYiKSAlPiUgICAgICAgIyB1c2Ugb25seSBvbmUgc2V4DQogIHNlbGVjdChuYW1lLCBuKSAlPiUgICAgICAgICAgIyBzZWxlY3QgdGhlIHR3byByZWxldmFudCB2YXJpYWJsZXM6IHRoZSBuYW1lIGFuZCBob3cgb2Z0ZW4gaXQgb2NjdXJzDQogIHRvcF9uKDEwMCwgbikgJT4lICAgICAgICAgICAgIyB1c2Ugb25seSB0aGUgdG9wIG5hbWVzIG9yIGl0IGNvdWxkIGdldCB0b28gYmlnDQogIHdvcmRjbG91ZDIoKSAgICAgICAgICAgICAgICAgIyBnZW5lcmF0ZSB0aGUgd29yZCBjbG91ZA0KYGBgDQpgYGANClRoaXMgc2hvd3MgdGhlIG1vc3QgcG9wdWxhciBuYW1lcyBvZiBmZW1hbGVzIGluIDE5OTkgYXMgdGhlIGxhcmdlc3QsIGRlc2NlbmRpbmcgYnkgc2l6ZSB0byB0aGUgbGVhc3QgcG9wdWxhciBmZW1hbGUgbmFtZSBpbiAxOTk5Lg0KTmV4dCwgSSBhbSBnb2luZyB0byBncmFwaCB0aGUgcG9wdWxhcml0eSBvZiBteSBuYW1lLg0KYGBge3J9DQpgYGB7cn0NCmJhYnluYW1lcyAlPiUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHN0YXJ0IHdpdGggdGhlIGRhdGENCiAgZmlsdGVyKG5hbWUgPT0gIk1vcmdhbiIsIHNleCA9PSAiRiIpICU+JSAgICAgICMgY2hvb3NlIHRoZSBuYW1lIGFuZCBzZXgNCiAgZ2dwbG90KGFlcyh4ID0geWVhciwgeSA9IHByb3ApKSArICAgICAgICAgICAgICAjIHB1dCB5ZWFyIG9uIHRoZSB4LWF4aXMgYW5kIHByb3AgKHByb3BvcnRpb24pIG9uIHkNCiAgZ2VvbV9saW5lKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIG1ha2UgaXQgYSBsaW5lIGdyYXBoIA0KDQpgYGANCmBgYA0KVGhpcyBsaW5lIGdyYXBoIHNob3dzIHRoYXQgbXkgbmFtZSBkaWQgbm90IHN0YXJ0IGdhaW5pbmcgcG9wdWxhcml0eSB1bnRpbCAxOTgwLTIwMDAuIEFmdGVyIDIwMDAsIGl0IGJlZ2FuIGRyb3BwaW5nIGluIHBvcHVsYXJpdHkuDQpOZXh0LCBJIGFtIGdvaW5nIHRvIGNyZWF0ZSBhIHRhYmxlIHRoYXQgc2hvd3Mgd2hpY2ggeWVhciBteSBuYW1lIHdhcyBtb3N0IHBvcHVsYXIuDQpgYGB7cn0NCmBgYHtyfQ0KYmFieW5hbWVzICU+JSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIFN0YXJ0IHdpdGggdGhlIGRhdGFzZXQNCiAgZmlsdGVyKG5hbWUgPT0gIk1vcmdhbiIsIHNleCA9PSAiRiIpICU+JSAgICAgICAjIG9ubHkgbG9vayBhdCB0aGUgbmFtZSB5b3Ugd2FudA0KICB0b3BfbigxLCBwcm9wKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGdldCB0aGUgeWVhciB3aXRoIHRoZSB0b3AgbnVtYmVyIGZvciB0aGF0IG5hbWUNCg0KYGBgDQpgYGANClRoaXMgdGFibGUgc2hvd3MgdGhhdCBpbiAxOTk1IG15IG5hbWUgd2FzIHRoZSBtb3N0IHBvcHVsYXIuDQpOZXh0LCBJIGFtIGdvaW5nIHRvIGNvbXBhcmUgdGhlIHBvcHVsYXJpdHkgb2YgbXkgbmFtZSwgdG8gb3RoZXIgZmVtYWxlIG5hbWVzIHRocm91Z2ggYSBncmFwaC4NCmBgYHtyfQ0KYGBge3J9DQpiYWJ5bmFtZXMgJT4lDQogIGZpbHRlcihuYW1lID09ICJNb3JnYW4iIHwgbmFtZSA9PSAiTWFkaXNvbiIgfCBuYW1lID09ICJNYWNrZW56aWUiKSAlPiUgDQogIGZpbHRlcihzZXggPT0gIkYiKSAlPiUgDQogIGdncGxvdChhZXMoeCA9IHllYXIsIHkgPSBuLCBjb2xvciA9IG5hbWUpKSArDQogIGdlb21fbGluZSgpDQpgYGANCmBgYA0KVGhpcyBsaW5lIGdyYXBoIHNob3dzIHRoYXQgTWFkaXNvbiB3YXMgYnkgZmFyIHRoZSBtb3N0IHBvcHVsYXIgbmFtZSBvdmVyIHRoZSB5ZWFycyBjb21wYXJlZCB0byB0aGUgb3RoZXIgdHdvIG5hbWVzLg0K