Brayan Ivan Cruz Corona

13001595

Preguntas:
  1. ¿Cuantos candidatos estaban en las primarias?
  2. ¿Cuantos de los candidatos eran republicanos?
  3. ¿Que partido obtuvo la mayor cantidad de votos en Florida?
  4. ¿Que condado de Florida es el que tiene la mayor cantidad de votantes?
  5. En el condado de florida que tuvo la mayor cantidad de votantes, ¿Que candidato tuvo la mayor cantidad de votos y de que partido era?
  6. Cuantas personas Votaron por Hillary Clinton y cuantas por Donald Trump en estados unidos?
  7. ¿Cual es la probabilidad de que si alguien sea republicano en florida haya votado por Ted Cruz
  8. Dado que una persona voto por Ted Cruz, ¿Cual es la probabilidad que sea de California?
  9. Dado que un persona es de texas, ¿Cual es la probabilidad que vote por Donald Trump?
  10. ¿Que condado de los Estados Unidos es el que tuvo la mayor cantidad de votantes?
  11. Quien gano en Los Angeles para los democratas? para los republicanos?
  12. ¿Cuantas personas votaron por los republicanos y cuantas por los democartas en todo estados unidos?

Cargamos la base de datos de los resultados:

primariosDB <-
  read.csv("primary_results.csv") %>%
  filter(candidate != 'Uncommitted' & candidate != 'No Preference')
head(primariosDB)
  1. ¿Cuantos candidatos estaban en las primarias?

El total de candidatos en las primarias es:

primariosDB %>%
  group_by(candidate) %>%
  summarise(n=1) %>%
  ungroup() %>%
  summarise(candidatos_total = sum(n)) %>%
  as.matrix() %>%
  as.numeric() - 2 # le quito 2 por "No preference y Uncommitted"
[1] 14
  1. ¿Cuantos de los candidatos eran republicanos?
primariosDB %>%
  group_by(candidate, party) %>%
  summarise(n=1) %>%
  ungroup() %>%
  filter(party == 'Republican') %>%
  select(n) %>%
  sum()
[1] 11
  1. ¿Que partido obtuvo la mayor cantidad de votos en Florida?
dem_votos_florida <- 
  primariosDB %>%
  filter(state == "Florida") %>%
  filter(party == "Democrat") %>%
  summarise(VotosDemocratas = sum(votes))
rep_votos_florida <- 
  primariosDB %>%
  filter(state == "Florida") %>%
  filter(party == "Republican") %>%
  summarise(VotosRepublicanos = sum(votes))
maxVotosFL<-max(dem_votos_florida,rep_votos_florida)
La cantitad de votos Republicanos en Florida:
La cantitad de votos Democratas en Florida:

El que obtuvo la mayor cantidad son los REPUBLICANOS

  1. ¿Que condado de Florida es el que tiene la mayor cantidad de votantes?
florida_county_votes <- 
  (primariosDB %>%
  filter(state == "Florida") %>%
  group_by(county) %>%
  summarise(sum(votes)))
names(florida_county_votes) <- c("County", "Votes")
florida_county_votes[florida_county_votes$"Votes" == max(florida_county_votes$"Votes"),]
  1. En el condado de florida que tuvo la mayor cantidad de votantes, ¿Que candidato tuvo la mayor cantidad de votos y de que partido era?

  2. Cuantas personas Votaron por Hillary Clinton y cuantas por Donald Trump en estados unidos?

candidatos_TrumpHillary <- 
  primariosDB %>%
  filter(candidate == "Hillary Clinton" | candidate == "Donald Trump") %>%
  group_by(candidate) %>%
  summarise(sum(votes))
names(candidatos_TrumpHillary) <- c("Candidato", "Total de Votos en EEUU")
candidatos_TrumpHillary
  1. ¿Cual es la probabilidad de que si alguien sea republicano en florida haya votado por Ted Cruz?
VotosRepublicanosFlorida <- 
  primariosDB %>%
  filter(state == "Florida" & party == "Republican")
VotosRepFL_TedCruz <- 
  primariosDB%>%
  filter(state == "Florida" & party == "Republican" & candidate == "Ted Cruz")
VotosRepublicanosFlorida <- VotosRepublicanosFlorida$votes
VotosRepFL_TedCruz <- VotosRepFL_TedCruz$votes
#Probabilidad
sum(VotosRepFL_TedCruz)/sum(VotosRepublicanosFlorida)
[1] 0.1772741
  1. Dado que una persona voto por Ted Cruz, ¿Cual es la probabilidad que sea de California?
VotosCalifornia <- 
  primariosDB %>%
  filter(candidate == "Ted Cruz" & state == "California")
VotosPorTed <- 
  primariosDB %>%
  filter(candidate == "Ted Cruz")
#probabilidad
VotosPorTedCA <- VotosCalifornia$votes
VotosCA_Ted <- sum(VotosPorTedCA)/sum(VotosPorTed$votes)
VotosCA_Ted
[1] 0.01895632
  1. Dado que un persona es de texas, ¿Cual es la probabilidad que vote por Donald Trump?
VotosPorTrump <- 
  primariosDB %>%
  filter(state == "Texas" & candidate == "Donald Trump")
VotosTexas <- 
  primariosDB %>%
  filter(state == "Texas")
probTX_Trump <- sum(VotosPorTrump$votes)/sum(VotosTexas$votes)
probTX_Trump
[1] 0.1826515
  1. ¿Que condado de los Estados Unidos es el que tuvo la mayor cantidad de votantes?

Tomar en cuenta que es condado y no estado.

VotosEEUU <- primariosDB %>%
  group_by(county) %>%
  summarise(sum(votes))
names(VotosEEUU) <- c("County", "Votes")
VotosEEUU[VotosEEUU$"Votes" == max(VotosEEUU$"Votes"),]
  1. Quien gano en Los Angeles para los democratas? para los republicanos?
DemocratasLA <- 
  primariosDB %>%
  filter(county == "Los Angeles" & party == "Democrat")
MaxVotosLA_dem <- DemocratasLA[DemocratasLA$votes == max(DemocratasLA$votes),5:7]
RepublicanosLA <- 
  primariosDB %>%
  filter(county == "Los Angeles" & party == "Republican")
MaxVotosLA_rep <- RepublicanosLA[RepublicanosLA$votes == max(RepublicanosLA$votes),5:7]
MaxVotosLA_dem
MaxVotosLA_rep

Ganó Hillary Clinton para los Democratas y Donald Trup para los republicanos.

  1. ¿Cuantas personas votaron por los republicanos y cuantas por los democartas en todo estados unidos?
VotosPartido <- 
  primariosDB %>%
  group_by(party) %>%
  summarise(sum(votes))
names(VotosPartido) <- c("Partido", "Total de Votos")
VotosPartido
LS0tCnRpdGxlOiAiTGFib3JhdG9yaW8gMiIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKIyMjQnJheWFuIEl2YW4gQ3J1eiBDb3JvbmEKIyMjMTMwMDE1OTUKCgoKIyMjIyNQcmVndW50YXM6CgoxLiDCv0N1YW50b3MgY2FuZGlkYXRvcyBlc3RhYmFuIGVuIGxhcyBwcmltYXJpYXM/CjIuIMK/Q3VhbnRvcyBkZSBsb3MgY2FuZGlkYXRvcyBlcmFuIHJlcHVibGljYW5vcz8KMy4gwr9RdWUgcGFydGlkbyBvYnR1dm8gbGEgbWF5b3IgY2FudGlkYWQgZGUgdm90b3MgZW4gRmxvcmlkYT8KNC4gwr9RdWUgY29uZGFkbyBkZSBGbG9yaWRhIGVzIGVsIHF1ZSB0aWVuZSBsYSBtYXlvciBjYW50aWRhZCBkZSB2b3RhbnRlcz8KNS4gRW4gZWwgY29uZGFkbyBkZSBmbG9yaWRhIHF1ZSB0dXZvIGxhIG1heW9yIGNhbnRpZGFkIGRlIHZvdGFudGVzLCDCv1F1ZSBjYW5kaWRhdG8gdHV2byBsYSBtYXlvciBjYW50aWRhZCBkZSB2b3RvcyB5IGRlIHF1ZSBwYXJ0aWRvIGVyYT8KNi4gQ3VhbnRhcyBwZXJzb25hcyBWb3Rhcm9uIHBvciBIaWxsYXJ5IENsaW50b24geSBjdWFudGFzIHBvciBEb25hbGQgVHJ1bXAgZW4gZXN0YWRvcyB1bmlkb3M/CjcuIMK/Q3VhbCBlcyBsYSBwcm9iYWJpbGlkYWQgZGUgcXVlIHNpIGFsZ3VpZW4gc2VhIHJlcHVibGljYW5vIGVuIGZsb3JpZGEgaGF5YSB2b3RhZG8gcG9yIFRlZCBDcnV6CjguIERhZG8gcXVlIHVuYSBwZXJzb25hIHZvdG8gcG9yIFRlZCBDcnV6LCDCv0N1YWwgZXMgbGEgcHJvYmFiaWxpZGFkIHF1ZSBzZWEgZGUgQ2FsaWZvcm5pYT8KOS4gRGFkbyBxdWUgdW4gcGVyc29uYSBlcyBkZSB0ZXhhcywgwr9DdWFsIGVzIGxhIHByb2JhYmlsaWRhZCBxdWUgdm90ZSBwb3IgRG9uYWxkIFRydW1wPwoxMC4gwr9RdWUgY29uZGFkbyBkZSBsb3MgRXN0YWRvcyBVbmlkb3MgZXMgZWwgcXVlIHR1dm8gbGEgbWF5b3IgY2FudGlkYWQgZGUgdm90YW50ZXM/CjExLiBRdWllbiBnYW5vIGVuIExvcyBBbmdlbGVzIHBhcmEgbG9zIGRlbW9jcmF0YXM/IHBhcmEgbG9zIHJlcHVibGljYW5vcz8KMTIuIMK/Q3VhbnRhcyBwZXJzb25hcyB2b3Rhcm9uIHBvciBsb3MgcmVwdWJsaWNhbm9zIHkgY3VhbnRhcyBwb3IgbG9zIGRlbW9jYXJ0YXMgZW4gdG9kbyBlc3RhZG9zIHVuaWRvcz8KCkNhcmdhbW9zIGxhIGJhc2UgZGUgZGF0b3MgZGUgbG9zIHJlc3VsdGFkb3M6CgpgYGB7cn0KcHJpbWFyaW9zREIgPC0KICByZWFkLmNzdigicHJpbWFyeV9yZXN1bHRzLmNzdiIpICU+JQogIGZpbHRlcihjYW5kaWRhdGUgIT0gJ1VuY29tbWl0dGVkJyAmIGNhbmRpZGF0ZSAhPSAnTm8gUHJlZmVyZW5jZScpCmBgYAoKYGBge3J9CmhlYWQocHJpbWFyaW9zREIpCmBgYAoKYGBge3IgZWNobz1GQUxTRX0KbGlicmFyeShkcGx5cikKYGBgCgoKMS4gwr9DdWFudG9zIGNhbmRpZGF0b3MgZXN0YWJhbiBlbiBsYXMgcHJpbWFyaWFzPwoKRWwgdG90YWwgZGUgY2FuZGlkYXRvcyBlbiBsYXMgcHJpbWFyaWFzIGVzOgpgYGB7cn0KcHJpbWFyaW9zREIgJT4lCiAgZ3JvdXBfYnkoY2FuZGlkYXRlKSAlPiUKICBzdW1tYXJpc2Uobj0xKSAlPiUKICB1bmdyb3VwKCkgJT4lCiAgc3VtbWFyaXNlKGNhbmRpZGF0b3NfdG90YWwgPSBzdW0obikpICU+JQogIGFzLm1hdHJpeCgpICU+JQogIGFzLm51bWVyaWMoKSAtIDIgIyBsZSBxdWl0byAyIHBvciAiTm8gcHJlZmVyZW5jZSB5IFVuY29tbWl0dGVkIgoKYGBgCgoyLiDCv0N1YW50b3MgZGUgbG9zIGNhbmRpZGF0b3MgZXJhbiByZXB1YmxpY2Fub3M/CgpgYGB7ciB9CnJlcHVibGljYW5vcyA8LSAKcHJpbWFyaW9zREIgJT4lCiAgZ3JvdXBfYnkoY2FuZGlkYXRlLCBwYXJ0eSkgJT4lCiAgc3VtbWFyaXNlKG49MSkgJT4lCiAgdW5ncm91cCgpICU+JQogIGZpbHRlcihwYXJ0eSA9PSAnUmVwdWJsaWNhbicpICU+JQogIHNlbGVjdChuKSAlPiUKICBzdW0oKQpgYGAKCgoKMy4gwr9RdWUgcGFydGlkbyBvYnR1dm8gbGEgbWF5b3IgY2FudGlkYWQgZGUgdm90b3MgZW4gRmxvcmlkYT8KCmBgYHtyIH0KZGVtX3ZvdG9zX2Zsb3JpZGEgPC0gCiAgcHJpbWFyaW9zREIgJT4lCiAgZmlsdGVyKHN0YXRlID09ICJGbG9yaWRhIikgJT4lCiAgZmlsdGVyKHBhcnR5ID09ICJEZW1vY3JhdCIpICU+JQogIHN1bW1hcmlzZShWb3Rvc0RlbW9jcmF0YXMgPSBzdW0odm90ZXMpKQoKcmVwX3ZvdG9zX2Zsb3JpZGEgPC0gCiAgcHJpbWFyaW9zREIgJT4lCiAgZmlsdGVyKHN0YXRlID09ICJGbG9yaWRhIikgJT4lCiAgZmlsdGVyKHBhcnR5ID09ICJSZXB1YmxpY2FuIikgJT4lCiAgc3VtbWFyaXNlKFZvdG9zUmVwdWJsaWNhbm9zID0gc3VtKHZvdGVzKSkKCgptYXhWb3Rvc0ZMPC1tYXgoZGVtX3ZvdG9zX2Zsb3JpZGEscmVwX3ZvdG9zX2Zsb3JpZGEpCmBgYAoKTGEgY2FudGl0YWQgZGUgdm90b3MgUmVwdWJsaWNhbm9zIGVuIEZsb3JpZGE6IGByIHJlcF92b3Rvc19mbG9yaWRhYApMYSBjYW50aXRhZCBkZSB2b3RvcyBEZW1vY3JhdGFzIGVuIEZsb3JpZGE6IGByIGRlbV92b3Rvc19mbG9yaWRhYAoKRWwgcXVlIG9idHV2byBsYSBtYXlvciBjYW50aWRhZCBzb24gbG9zIFJFUFVCTElDQU5PUwoKNC4gwr9RdWUgY29uZGFkbyBkZSBGbG9yaWRhIGVzIGVsIHF1ZSB0aWVuZSBsYSBtYXlvciBjYW50aWRhZCBkZSB2b3RhbnRlcz8KCgpgYGB7cn0KVm90b3NGbG9yaWRhIDwtIAogIChwcmltYXJpb3NEQiAlPiUKICBmaWx0ZXIoc3RhdGUgPT0gIkZsb3JpZGEiKSAlPiUKICBncm91cF9ieShjb3VudHkpICU+JQogIHN1bW1hcmlzZShzdW0odm90ZXMpKSkKCm5hbWVzKFZvdG9zRmxvcmlkYSkgPC0gYygiQ29uZGFkbyBkZSBGbG9yaWRhIiwgIlRvdGFsIGRlIHZvdG9zIikKZmxvcmlkYV9jb3VudHlfdm90ZXNbZmxvcmlkYV9jb3VudHlfdm90ZXMkIlZvdGVzIiA9PSBtYXgoZmxvcmlkYV9jb3VudHlfdm90ZXMkIlZvdGVzIiksXQpgYGAKCgo1LiBFbiBlbCBjb25kYWRvIGRlIGZsb3JpZGEgcXVlIHR1dm8gbGEgbWF5b3IgY2FudGlkYWQgZGUgdm90YW50ZXMsIMK/UXVlIGNhbmRpZGF0byB0dXZvIGxhIG1heW9yIGNhbnRpZGFkIGRlIHZvdG9zIHkgZGUgcXVlIHBhcnRpZG8gZXJhPwoKCjYuIEN1YW50YXMgcGVyc29uYXMgVm90YXJvbiBwb3IgSGlsbGFyeSBDbGludG9uIHkgY3VhbnRhcyBwb3IgRG9uYWxkIFRydW1wIGVuIGVzdGFkb3MgdW5pZG9zPwoKYGBge3J9CmNhbmRpZGF0b3NfVHJ1bXBIaWxsYXJ5IDwtIAogIHByaW1hcmlvc0RCICU+JQogIGZpbHRlcihjYW5kaWRhdGUgPT0gIkhpbGxhcnkgQ2xpbnRvbiIgfCBjYW5kaWRhdGUgPT0gIkRvbmFsZCBUcnVtcCIpICU+JQogIGdyb3VwX2J5KGNhbmRpZGF0ZSkgJT4lCiAgc3VtbWFyaXNlKHN1bSh2b3RlcykpCgpuYW1lcyhjYW5kaWRhdG9zX1RydW1wSGlsbGFyeSkgPC0gYygiQ2FuZGlkYXRvIiwgIlRvdGFsIGRlIFZvdG9zIGVuIEVFVVUiKQpjYW5kaWRhdG9zX1RydW1wSGlsbGFyeQpgYGAKCjcuIMK/Q3VhbCBlcyBsYSBwcm9iYWJpbGlkYWQgZGUgcXVlIHNpIGFsZ3VpZW4gc2VhIHJlcHVibGljYW5vIGVuIGZsb3JpZGEgaGF5YSB2b3RhZG8gcG9yIFRlZCBDcnV6PwoKYGBge3J9ClZvdG9zUmVwdWJsaWNhbm9zRmxvcmlkYSA8LSAKICBwcmltYXJpb3NEQiAlPiUKICBmaWx0ZXIoc3RhdGUgPT0gIkZsb3JpZGEiICYgcGFydHkgPT0gIlJlcHVibGljYW4iKQoKVm90b3NSZXBGTF9UZWRDcnV6IDwtIAogIHByaW1hcmlvc0RCJT4lCiAgZmlsdGVyKHN0YXRlID09ICJGbG9yaWRhIiAmIHBhcnR5ID09ICJSZXB1YmxpY2FuIiAmIGNhbmRpZGF0ZSA9PSAiVGVkIENydXoiKQoKClZvdG9zUmVwdWJsaWNhbm9zRmxvcmlkYSA8LSBWb3Rvc1JlcHVibGljYW5vc0Zsb3JpZGEkdm90ZXMKVm90b3NSZXBGTF9UZWRDcnV6IDwtIFZvdG9zUmVwRkxfVGVkQ3J1eiR2b3RlcwojUHJvYmFiaWxpZGFkCnN1bShWb3Rvc1JlcEZMX1RlZENydXopL3N1bShWb3Rvc1JlcHVibGljYW5vc0Zsb3JpZGEpCmBgYAoKOC4gRGFkbyBxdWUgdW5hIHBlcnNvbmEgdm90byBwb3IgVGVkIENydXosIMK/Q3VhbCBlcyBsYSBwcm9iYWJpbGlkYWQgcXVlIHNlYSBkZSBDYWxpZm9ybmlhPwoKYGBge3J9ClZvdG9zQ2FsaWZvcm5pYSA8LSAKICBwcmltYXJpb3NEQiAlPiUKICBmaWx0ZXIoY2FuZGlkYXRlID09ICJUZWQgQ3J1eiIgJiBzdGF0ZSA9PSAiQ2FsaWZvcm5pYSIpCgpWb3Rvc1BvclRlZCA8LSAKICBwcmltYXJpb3NEQiAlPiUKICBmaWx0ZXIoY2FuZGlkYXRlID09ICJUZWQgQ3J1eiIpCiNwcm9iYWJpbGlkYWQKVm90b3NQb3JUZWRDQSA8LSBWb3Rvc0NhbGlmb3JuaWEkdm90ZXMKClZvdG9zQ0FfVGVkIDwtIHN1bShWb3Rvc1BvclRlZENBKS9zdW0oVm90b3NQb3JUZWQkdm90ZXMpClZvdG9zQ0FfVGVkCmBgYAoKOS4gRGFkbyBxdWUgdW4gcGVyc29uYSBlcyBkZSB0ZXhhcywgwr9DdWFsIGVzIGxhIHByb2JhYmlsaWRhZCBxdWUgdm90ZSBwb3IgRG9uYWxkIFRydW1wPwoKYGBge3J9ClZvdG9zUG9yVHJ1bXAgPC0gCiAgcHJpbWFyaW9zREIgJT4lCiAgZmlsdGVyKHN0YXRlID09ICJUZXhhcyIgJiBjYW5kaWRhdGUgPT0gIkRvbmFsZCBUcnVtcCIpCgpWb3Rvc1RleGFzIDwtIAogIHByaW1hcmlvc0RCICU+JQogIGZpbHRlcihzdGF0ZSA9PSAiVGV4YXMiKQoKcHJvYlRYX1RydW1wIDwtIHN1bShWb3Rvc1BvclRydW1wJHZvdGVzKS9zdW0oVm90b3NUZXhhcyR2b3RlcykKcHJvYlRYX1RydW1wCmBgYAoKMTAuIMK/UXVlIGNvbmRhZG8gZGUgbG9zIEVzdGFkb3MgVW5pZG9zIGVzIGVsIHF1ZSB0dXZvIGxhIG1heW9yIGNhbnRpZGFkIGRlIHZvdGFudGVzPwoKVG9tYXIgZW4gY3VlbnRhIHF1ZSBlcyBjb25kYWRvIHkgbm8gZXN0YWRvLgoKYGBge3J9ClZvdG9zRUVVVSA8LSAKICBwcmltYXJpb3NEQiAlPiUKICBncm91cF9ieShjb3VudHkpICU+JQogIHN1bW1hcmlzZShzdW0odm90ZXMpKQoKI21heGltbyBkZSB2b3RvcyBwb3IgY29uZGFkbwpuYW1lcyhWb3Rvc0VFVVUpIDwtIGMoIkNvdW50eSIsICJWb3RlcyIpClZvdG9zRUVVVVtWb3Rvc0VFVVUkIlZvdGVzIiA9PSBtYXgoVm90b3NFRVVVJCJWb3RlcyIpLF0KYGBgCgoKMTEuIFF1aWVuIGdhbm8gZW4gTG9zIEFuZ2VsZXMgcGFyYSBsb3MgZGVtb2NyYXRhcz8gcGFyYSBsb3MgcmVwdWJsaWNhbm9zPwoKYGBge3J9CkRlbW9jcmF0YXNMQSA8LSAKICBwcmltYXJpb3NEQiAlPiUKICBmaWx0ZXIoY291bnR5ID09ICJMb3MgQW5nZWxlcyIgJiBwYXJ0eSA9PSAiRGVtb2NyYXQiKQoKTWF4Vm90b3NMQV9kZW0gPC0gRGVtb2NyYXRhc0xBW0RlbW9jcmF0YXNMQSR2b3RlcyA9PSBtYXgoRGVtb2NyYXRhc0xBJHZvdGVzKSw1OjddCgpSZXB1YmxpY2Fub3NMQSA8LSAKICBwcmltYXJpb3NEQiAlPiUKICBmaWx0ZXIoY291bnR5ID09ICJMb3MgQW5nZWxlcyIgJiBwYXJ0eSA9PSAiUmVwdWJsaWNhbiIpCgpNYXhWb3Rvc0xBX3JlcCA8LSBSZXB1YmxpY2Fub3NMQVtSZXB1YmxpY2Fub3NMQSR2b3RlcyA9PSBtYXgoUmVwdWJsaWNhbm9zTEEkdm90ZXMpLDU6N10KCk1heFZvdG9zTEFfZGVtCk1heFZvdG9zTEFfcmVwCmBgYAoKR2Fuw7MgSGlsbGFyeSBDbGludG9uIHBhcmEgbG9zIERlbW9jcmF0YXMgeSBEb25hbGQgVHJ1cCBwYXJhIGxvcyByZXB1YmxpY2Fub3MuCgoxMi4gwr9DdWFudGFzIHBlcnNvbmFzIHZvdGFyb24gcG9yIGxvcyByZXB1YmxpY2Fub3MgeSBjdWFudGFzIHBvciBsb3MgZGVtb2NhcnRhcyBlbiB0b2RvIGVzdGFkb3MgdW5pZG9zPwoKYGBge3J9ClZvdG9zUGFydGlkbyA8LSAKICBwcmltYXJpb3NEQiAlPiUKICBncm91cF9ieShwYXJ0eSkgJT4lCiAgc3VtbWFyaXNlKHN1bSh2b3RlcykpCgpuYW1lcyhWb3Rvc1BhcnRpZG8pIDwtIGMoIlBhcnRpZG8iLCAiVG90YWwgZGUgVm90b3MiKQpWb3Rvc1BhcnRpZG8KYGBgCgoK