rm(list=ls(all=TRUE))

library(ggplot2) # for visualization
library(likert)
library(readxl)
library(dplyr)
library(plyr)

dados <- read_excel("dados.xlsx", col_types = c("numeric", 
    "text", "text", "text", "text", "text", 
    "text", "text", "text", "text", "text", 
    "text", "text", "text", "text", "text"))


dados <- dados[,c(3:16)]


dados$`Sua organização está preparada para atender as mudanças impostas pelo EFD-Reinf?` <- factor(dados$`Sua organização está preparada para atender as mudanças impostas pelo EFD-Reinf?`, levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`A equipe que você trabalha está preparada para trabalhar com EFD-Reinf em seu órgão?`<-factor(dados$`A equipe que você trabalha está preparada para trabalhar com EFD-Reinf em seu órgão?`, levels = c("Discordo Totalmente", "Discordo Parcialmente",
"Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`Sua Estrutura Organizacional está preparada para implementação do EFD-Reinf ?`  <- factor(dados$`Sua Estrutura Organizacional está preparada para implementação do EFD-Reinf ?` , levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`A estrutura de Tecnologia da Informação de sua organização está preparada para implementar o EFD-Reinf ?`  <- factor(dados$`A estrutura de Tecnologia da Informação de sua organização está preparada para implementar o EFD-Reinf ?` , levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`Sua Chefia Imediata apoia totalmente a implementação do EFD-Reinf ?`  <- factor(dados$`Sua Chefia Imediata apoia totalmente a implementação do EFD-Reinf ?` , levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`A Alta Administração de seu Órgão apoia totalmente a implementação do EFD-Reinf ?`  <- factor(dados$`A Alta Administração de seu Órgão apoia totalmente a implementação do EFD-Reinf ?` , levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`A Cultura Organizacional contribuirá favoravelmente para implementação do EFD-Reinf ?`  <- factor(dados$`A Cultura Organizacional contribuirá favoravelmente para implementação do EFD-Reinf ?` , levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`Você recebeu treinamento adequado para trabalhar com EFD-Reinf ?`  <- factor(dados$`Você recebeu treinamento adequado para trabalhar com EFD-Reinf ?` , levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`Você acredita que diminuirá o volume de atividades do contador público para atender as rotinas do EFD-Reinf?`  <- factor(dados$`Você acredita que diminuirá o volume de atividades do contador público para atender as rotinas do EFD-Reinf?` , levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`Você acredita que os custos processuais diminuirão para atendimento das obrigações inerentes a implementação do EFD-Reinf?]`  <- factor(dados$`Você acredita que os custos processuais diminuirão para atendimento das obrigações inerentes a implementação do EFD-Reinf?]` , levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`Você entende que serão necessárias poucas mudanças nas rotinas atuais para implementação do EFD-Reinf em seu Órgão?`  <- factor(dados$`Você entende que serão necessárias poucas mudanças nas rotinas atuais para implementação do EFD-Reinf em seu Órgão?` , levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`Você acredita que a Receita Federal do Brasil realizou a divulgação adequada sobre módulo EFD-Reinf para os Órgãos Públicos?`  <- factor(dados$`Você acredita que a Receita Federal do Brasil realizou a divulgação adequada sobre módulo EFD-Reinf para os Órgãos Públicos?` , levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`Você entende que nos órgãos públicos existem sistemas integrados que atendam as especificidades inerentes a implementação do EFD-Reinf?`  <- factor(dados$`Você entende que nos órgãos públicos existem sistemas integrados que atendam as especificidades inerentes a implementação do EFD-Reinf?` , levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

dados$`Você acha que as sucessivas alterações no cronograma de implementação do EFD-Reinf para os Órgãos Públicos tem influência em suas respostas?`  <- factor(dados$`Você acha que as sucessivas alterações no cronograma de implementação do EFD-Reinf para os Órgãos Públicos tem influência em suas respostas?` , levels = c("Discordo Totalmente", "Discordo Parcialmente", "Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"), labels = c("Discordo Totalmente", "Discordo Parcialmente","Não Concordo/ Nem Discordo","Concordo Parcialmente","Concordo Totalmente"))

Descrição simples


likert_dados <- likert(as.data.frame(dados), nlevels = 5)

likert.bar.plot(likert_dados,plot.percents=TRUE,legend = "Legenda", low.color = "red", text.size=4) + ggtitle("") + labs( x = "Questões", y = "Porcentagem") + theme_minimal() + theme(legend.position = "bottom")

LS0tDQp0aXRsZTogIkdyw6FmaWNvIExpa2VydCBwYXJhIG1ldSBub3ZvIGFtaWdvIENhcmxvcyAoYWx1bm8gZG8gbWVzdHJhZG8gZW0gQ2nDqm5jaWFzIENvbnTDoWJlaXMgbmEgVUVSSikuIg0KYXV0aG9yOiAiUHJvZmVzc29yIERyLiBMZW9uaSwgUi5DLiAoQU1BTikuIg0KZGF0ZTogJ1JlbGF0w7NyaW8gZ2VyYWRvIGVtOiBgciBmb3JtYXQoU3lzLnRpbWUoKSwgIiVkIGRlICVCIGRlICVZIilgJw0Kb3V0cHV0Og0KICBodG1sX25vdGVib29rOiANCiAgICBjb2RlX2ZvbGRpbmc6IG5vbmUNCiAgICBmaWdfY2FwdGlvbjogeWVzDQogICAgdGhlbWU6IHJlYWRhYmxlDQogIHdvcmRfZG9jdW1lbnQ6DQogICAgdG9jOiB5ZXMNCmVtYWlsOiByY2xlb25pQHlhaG9vLmNvbS5iciwgbGVvbmkucm9iZXJ0b0BhbWFuLmViLm1pbC5icg0KLS0tDQoNCmBgYHtyIG1lc3NhZ2U9Riwgd2FybmluZz1GQUxTRX0NCnJtKGxpc3Q9bHMoYWxsPVRSVUUpKQ0KDQpsaWJyYXJ5KGdncGxvdDIpICMgZm9yIHZpc3VhbGl6YXRpb24NCmxpYnJhcnkobGlrZXJ0KQ0KbGlicmFyeShyZWFkeGwpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShwbHlyKQ0KDQpkYWRvcyA8LSByZWFkX2V4Y2VsKCJkYWRvcy54bHN4IiwgY29sX3R5cGVzID0gYygibnVtZXJpYyIsIA0KICAgICJ0ZXh0IiwgInRleHQiLCAidGV4dCIsICJ0ZXh0IiwgInRleHQiLCANCiAgICAidGV4dCIsICJ0ZXh0IiwgInRleHQiLCAidGV4dCIsICJ0ZXh0IiwgDQogICAgInRleHQiLCAidGV4dCIsICJ0ZXh0IiwgInRleHQiLCAidGV4dCIpKQ0KDQoNCmRhZG9zIDwtIGRhZG9zWyxjKDM6MTYpXQ0KDQoNCmRhZG9zJGBTdWEgb3JnYW5pemHDp8OjbyBlc3TDoSBwcmVwYXJhZGEgcGFyYSBhdGVuZGVyIGFzIG11ZGFuw6dhcyBpbXBvc3RhcyBwZWxvIEVGRC1SZWluZj9gIDwtIGZhY3RvcihkYWRvcyRgU3VhIG9yZ2FuaXphw6fDo28gZXN0w6EgcHJlcGFyYWRhIHBhcmEgYXRlbmRlciBhcyBtdWRhbsOnYXMgaW1wb3N0YXMgcGVsbyBFRkQtUmVpbmY/YCwgbGV2ZWxzID0gYygiRGlzY29yZG8gVG90YWxtZW50ZSIsICJEaXNjb3JkbyBQYXJjaWFsbWVudGUiLCAiTsOjbyBDb25jb3Jkby8gTmVtIERpc2NvcmRvIiwiQ29uY29yZG8gUGFyY2lhbG1lbnRlIiwiQ29uY29yZG8gVG90YWxtZW50ZSIpLCBsYWJlbHMgPSBjKCJEaXNjb3JkbyBUb3RhbG1lbnRlIiwgIkRpc2NvcmRvIFBhcmNpYWxtZW50ZSIsIk7Do28gQ29uY29yZG8vIE5lbSBEaXNjb3JkbyIsIkNvbmNvcmRvIFBhcmNpYWxtZW50ZSIsIkNvbmNvcmRvIFRvdGFsbWVudGUiKSkNCg0KZGFkb3MkYEEgZXF1aXBlIHF1ZSB2b2PDqiB0cmFiYWxoYSBlc3TDoSBwcmVwYXJhZGEgcGFyYSB0cmFiYWxoYXIgY29tIEVGRC1SZWluZiBlbSBzZXUgw7NyZ8Ojbz9gPC1mYWN0b3IoZGFkb3MkYEEgZXF1aXBlIHF1ZSB2b2PDqiB0cmFiYWxoYSBlc3TDoSBwcmVwYXJhZGEgcGFyYSB0cmFiYWxoYXIgY29tIEVGRC1SZWluZiBlbSBzZXUgw7NyZ8Ojbz9gLCBsZXZlbHMgPSBjKCJEaXNjb3JkbyBUb3RhbG1lbnRlIiwgIkRpc2NvcmRvIFBhcmNpYWxtZW50ZSIsDQoiTsOjbyBDb25jb3Jkby8gTmVtIERpc2NvcmRvIiwiQ29uY29yZG8gUGFyY2lhbG1lbnRlIiwiQ29uY29yZG8gVG90YWxtZW50ZSIpLCBsYWJlbHMgPSBjKCJEaXNjb3JkbyBUb3RhbG1lbnRlIiwgIkRpc2NvcmRvIFBhcmNpYWxtZW50ZSIsIk7Do28gQ29uY29yZG8vIE5lbSBEaXNjb3JkbyIsIkNvbmNvcmRvIFBhcmNpYWxtZW50ZSIsIkNvbmNvcmRvIFRvdGFsbWVudGUiKSkNCg0KZGFkb3MkYFN1YSBFc3RydXR1cmEgT3JnYW5pemFjaW9uYWwgZXN0w6EgcHJlcGFyYWRhIHBhcmEgaW1wbGVtZW50YcOnw6NvIGRvIEVGRC1SZWluZiA/YCAgPC0gZmFjdG9yKGRhZG9zJGBTdWEgRXN0cnV0dXJhIE9yZ2FuaXphY2lvbmFsIGVzdMOhIHByZXBhcmFkYSBwYXJhIGltcGxlbWVudGHDp8OjbyBkbyBFRkQtUmVpbmYgP2AgLCBsZXZlbHMgPSBjKCJEaXNjb3JkbyBUb3RhbG1lbnRlIiwgIkRpc2NvcmRvIFBhcmNpYWxtZW50ZSIsICJOw6NvIENvbmNvcmRvLyBOZW0gRGlzY29yZG8iLCJDb25jb3JkbyBQYXJjaWFsbWVudGUiLCJDb25jb3JkbyBUb3RhbG1lbnRlIiksIGxhYmVscyA9IGMoIkRpc2NvcmRvIFRvdGFsbWVudGUiLCAiRGlzY29yZG8gUGFyY2lhbG1lbnRlIiwiTsOjbyBDb25jb3Jkby8gTmVtIERpc2NvcmRvIiwiQ29uY29yZG8gUGFyY2lhbG1lbnRlIiwiQ29uY29yZG8gVG90YWxtZW50ZSIpKQ0KDQpkYWRvcyRgQSBlc3RydXR1cmEgZGUgVGVjbm9sb2dpYSBkYSBJbmZvcm1hw6fDo28gZGUgc3VhIG9yZ2FuaXphw6fDo28gZXN0w6EgcHJlcGFyYWRhIHBhcmEgaW1wbGVtZW50YXIgbyBFRkQtUmVpbmYgP2AgIDwtIGZhY3RvcihkYWRvcyRgQSBlc3RydXR1cmEgZGUgVGVjbm9sb2dpYSBkYSBJbmZvcm1hw6fDo28gZGUgc3VhIG9yZ2FuaXphw6fDo28gZXN0w6EgcHJlcGFyYWRhIHBhcmEgaW1wbGVtZW50YXIgbyBFRkQtUmVpbmYgP2AgLCBsZXZlbHMgPSBjKCJEaXNjb3JkbyBUb3RhbG1lbnRlIiwgIkRpc2NvcmRvIFBhcmNpYWxtZW50ZSIsICJOw6NvIENvbmNvcmRvLyBOZW0gRGlzY29yZG8iLCJDb25jb3JkbyBQYXJjaWFsbWVudGUiLCJDb25jb3JkbyBUb3RhbG1lbnRlIiksIGxhYmVscyA9IGMoIkRpc2NvcmRvIFRvdGFsbWVudGUiLCAiRGlzY29yZG8gUGFyY2lhbG1lbnRlIiwiTsOjbyBDb25jb3Jkby8gTmVtIERpc2NvcmRvIiwiQ29uY29yZG8gUGFyY2lhbG1lbnRlIiwiQ29uY29yZG8gVG90YWxtZW50ZSIpKQ0KDQpkYWRvcyRgU3VhIENoZWZpYSBJbWVkaWF0YSBhcG9pYSB0b3RhbG1lbnRlIGEgaW1wbGVtZW50YcOnw6NvIGRvIEVGRC1SZWluZiA/YCAgPC0gZmFjdG9yKGRhZG9zJGBTdWEgQ2hlZmlhIEltZWRpYXRhIGFwb2lhIHRvdGFsbWVudGUgYSBpbXBsZW1lbnRhw6fDo28gZG8gRUZELVJlaW5mID9gICwgbGV2ZWxzID0gYygiRGlzY29yZG8gVG90YWxtZW50ZSIsICJEaXNjb3JkbyBQYXJjaWFsbWVudGUiLCAiTsOjbyBDb25jb3Jkby8gTmVtIERpc2NvcmRvIiwiQ29uY29yZG8gUGFyY2lhbG1lbnRlIiwiQ29uY29yZG8gVG90YWxtZW50ZSIpLCBsYWJlbHMgPSBjKCJEaXNjb3JkbyBUb3RhbG1lbnRlIiwgIkRpc2NvcmRvIFBhcmNpYWxtZW50ZSIsIk7Do28gQ29uY29yZG8vIE5lbSBEaXNjb3JkbyIsIkNvbmNvcmRvIFBhcmNpYWxtZW50ZSIsIkNvbmNvcmRvIFRvdGFsbWVudGUiKSkNCg0KZGFkb3MkYEEgQWx0YSBBZG1pbmlzdHJhw6fDo28gZGUgc2V1IMOTcmfDo28gYXBvaWEgdG90YWxtZW50ZSBhIGltcGxlbWVudGHDp8OjbyBkbyBFRkQtUmVpbmYgP2AgIDwtIGZhY3RvcihkYWRvcyRgQSBBbHRhIEFkbWluaXN0cmHDp8OjbyBkZSBzZXUgw5NyZ8OjbyBhcG9pYSB0b3RhbG1lbnRlIGEgaW1wbGVtZW50YcOnw6NvIGRvIEVGRC1SZWluZiA/YCAsIGxldmVscyA9IGMoIkRpc2NvcmRvIFRvdGFsbWVudGUiLCAiRGlzY29yZG8gUGFyY2lhbG1lbnRlIiwgIk7Do28gQ29uY29yZG8vIE5lbSBEaXNjb3JkbyIsIkNvbmNvcmRvIFBhcmNpYWxtZW50ZSIsIkNvbmNvcmRvIFRvdGFsbWVudGUiKSwgbGFiZWxzID0gYygiRGlzY29yZG8gVG90YWxtZW50ZSIsICJEaXNjb3JkbyBQYXJjaWFsbWVudGUiLCJOw6NvIENvbmNvcmRvLyBOZW0gRGlzY29yZG8iLCJDb25jb3JkbyBQYXJjaWFsbWVudGUiLCJDb25jb3JkbyBUb3RhbG1lbnRlIikpDQoNCmRhZG9zJGBBIEN1bHR1cmEgT3JnYW5pemFjaW9uYWwgY29udHJpYnVpcsOhIGZhdm9yYXZlbG1lbnRlIHBhcmEgaW1wbGVtZW50YcOnw6NvIGRvIEVGRC1SZWluZiA/YCAgPC0gZmFjdG9yKGRhZG9zJGBBIEN1bHR1cmEgT3JnYW5pemFjaW9uYWwgY29udHJpYnVpcsOhIGZhdm9yYXZlbG1lbnRlIHBhcmEgaW1wbGVtZW50YcOnw6NvIGRvIEVGRC1SZWluZiA/YCAsIGxldmVscyA9IGMoIkRpc2NvcmRvIFRvdGFsbWVudGUiLCAiRGlzY29yZG8gUGFyY2lhbG1lbnRlIiwgIk7Do28gQ29uY29yZG8vIE5lbSBEaXNjb3JkbyIsIkNvbmNvcmRvIFBhcmNpYWxtZW50ZSIsIkNvbmNvcmRvIFRvdGFsbWVudGUiKSwgbGFiZWxzID0gYygiRGlzY29yZG8gVG90YWxtZW50ZSIsICJEaXNjb3JkbyBQYXJjaWFsbWVudGUiLCJOw6NvIENvbmNvcmRvLyBOZW0gRGlzY29yZG8iLCJDb25jb3JkbyBQYXJjaWFsbWVudGUiLCJDb25jb3JkbyBUb3RhbG1lbnRlIikpDQoNCmRhZG9zJGBWb2PDqiByZWNlYmV1IHRyZWluYW1lbnRvIGFkZXF1YWRvIHBhcmEgdHJhYmFsaGFyIGNvbSBFRkQtUmVpbmYgP2AgIDwtIGZhY3RvcihkYWRvcyRgVm9jw6ogcmVjZWJldSB0cmVpbmFtZW50byBhZGVxdWFkbyBwYXJhIHRyYWJhbGhhciBjb20gRUZELVJlaW5mID9gICwgbGV2ZWxzID0gYygiRGlzY29yZG8gVG90YWxtZW50ZSIsICJEaXNjb3JkbyBQYXJjaWFsbWVudGUiLCAiTsOjbyBDb25jb3Jkby8gTmVtIERpc2NvcmRvIiwiQ29uY29yZG8gUGFyY2lhbG1lbnRlIiwiQ29uY29yZG8gVG90YWxtZW50ZSIpLCBsYWJlbHMgPSBjKCJEaXNjb3JkbyBUb3RhbG1lbnRlIiwgIkRpc2NvcmRvIFBhcmNpYWxtZW50ZSIsIk7Do28gQ29uY29yZG8vIE5lbSBEaXNjb3JkbyIsIkNvbmNvcmRvIFBhcmNpYWxtZW50ZSIsIkNvbmNvcmRvIFRvdGFsbWVudGUiKSkNCg0KZGFkb3MkYFZvY8OqIGFjcmVkaXRhIHF1ZSBkaW1pbnVpcsOhIG8gdm9sdW1lIGRlIGF0aXZpZGFkZXMgZG8gY29udGFkb3IgcMO6YmxpY28gcGFyYSBhdGVuZGVyIGFzIHJvdGluYXMgZG8gRUZELVJlaW5mP2AgIDwtIGZhY3RvcihkYWRvcyRgVm9jw6ogYWNyZWRpdGEgcXVlIGRpbWludWlyw6EgbyB2b2x1bWUgZGUgYXRpdmlkYWRlcyBkbyBjb250YWRvciBww7pibGljbyBwYXJhIGF0ZW5kZXIgYXMgcm90aW5hcyBkbyBFRkQtUmVpbmY/YCAsIGxldmVscyA9IGMoIkRpc2NvcmRvIFRvdGFsbWVudGUiLCAiRGlzY29yZG8gUGFyY2lhbG1lbnRlIiwgIk7Do28gQ29uY29yZG8vIE5lbSBEaXNjb3JkbyIsIkNvbmNvcmRvIFBhcmNpYWxtZW50ZSIsIkNvbmNvcmRvIFRvdGFsbWVudGUiKSwgbGFiZWxzID0gYygiRGlzY29yZG8gVG90YWxtZW50ZSIsICJEaXNjb3JkbyBQYXJjaWFsbWVudGUiLCJOw6NvIENvbmNvcmRvLyBOZW0gRGlzY29yZG8iLCJDb25jb3JkbyBQYXJjaWFsbWVudGUiLCJDb25jb3JkbyBUb3RhbG1lbnRlIikpDQoNCmRhZG9zJGBWb2PDqiBhY3JlZGl0YSBxdWUgb3MgY3VzdG9zIHByb2Nlc3N1YWlzIGRpbWludWlyw6NvIHBhcmEgYXRlbmRpbWVudG8gZGFzIG9icmlnYcOnw7VlcyBpbmVyZW50ZXMgYSBpbXBsZW1lbnRhw6fDo28gZG8gRUZELVJlaW5mP11gICA8LSBmYWN0b3IoZGFkb3MkYFZvY8OqIGFjcmVkaXRhIHF1ZSBvcyBjdXN0b3MgcHJvY2Vzc3VhaXMgZGltaW51aXLDo28gcGFyYSBhdGVuZGltZW50byBkYXMgb2JyaWdhw6fDtWVzIGluZXJlbnRlcyBhIGltcGxlbWVudGHDp8OjbyBkbyBFRkQtUmVpbmY/XWAgLCBsZXZlbHMgPSBjKCJEaXNjb3JkbyBUb3RhbG1lbnRlIiwgIkRpc2NvcmRvIFBhcmNpYWxtZW50ZSIsICJOw6NvIENvbmNvcmRvLyBOZW0gRGlzY29yZG8iLCJDb25jb3JkbyBQYXJjaWFsbWVudGUiLCJDb25jb3JkbyBUb3RhbG1lbnRlIiksIGxhYmVscyA9IGMoIkRpc2NvcmRvIFRvdGFsbWVudGUiLCAiRGlzY29yZG8gUGFyY2lhbG1lbnRlIiwiTsOjbyBDb25jb3Jkby8gTmVtIERpc2NvcmRvIiwiQ29uY29yZG8gUGFyY2lhbG1lbnRlIiwiQ29uY29yZG8gVG90YWxtZW50ZSIpKQ0KDQpkYWRvcyRgVm9jw6ogZW50ZW5kZSBxdWUgc2Vyw6NvIG5lY2Vzc8OhcmlhcyBwb3VjYXMgbXVkYW7Dp2FzIG5hcyByb3RpbmFzIGF0dWFpcyBwYXJhIGltcGxlbWVudGHDp8OjbyBkbyBFRkQtUmVpbmYgZW0gc2V1IMOTcmfDo28/YCAgPC0gZmFjdG9yKGRhZG9zJGBWb2PDqiBlbnRlbmRlIHF1ZSBzZXLDo28gbmVjZXNzw6FyaWFzIHBvdWNhcyBtdWRhbsOnYXMgbmFzIHJvdGluYXMgYXR1YWlzIHBhcmEgaW1wbGVtZW50YcOnw6NvIGRvIEVGRC1SZWluZiBlbSBzZXUgw5NyZ8Ojbz9gICwgbGV2ZWxzID0gYygiRGlzY29yZG8gVG90YWxtZW50ZSIsICJEaXNjb3JkbyBQYXJjaWFsbWVudGUiLCAiTsOjbyBDb25jb3Jkby8gTmVtIERpc2NvcmRvIiwiQ29uY29yZG8gUGFyY2lhbG1lbnRlIiwiQ29uY29yZG8gVG90YWxtZW50ZSIpLCBsYWJlbHMgPSBjKCJEaXNjb3JkbyBUb3RhbG1lbnRlIiwgIkRpc2NvcmRvIFBhcmNpYWxtZW50ZSIsIk7Do28gQ29uY29yZG8vIE5lbSBEaXNjb3JkbyIsIkNvbmNvcmRvIFBhcmNpYWxtZW50ZSIsIkNvbmNvcmRvIFRvdGFsbWVudGUiKSkNCg0KZGFkb3MkYFZvY8OqIGFjcmVkaXRhIHF1ZSBhIFJlY2VpdGEgRmVkZXJhbCBkbyBCcmFzaWwgcmVhbGl6b3UgYSBkaXZ1bGdhw6fDo28gYWRlcXVhZGEgc29icmUgbcOzZHVsbyBFRkQtUmVpbmYgcGFyYSBvcyDDk3Jnw6NvcyBQw7pibGljb3M/YCAgPC0gZmFjdG9yKGRhZG9zJGBWb2PDqiBhY3JlZGl0YSBxdWUgYSBSZWNlaXRhIEZlZGVyYWwgZG8gQnJhc2lsIHJlYWxpem91IGEgZGl2dWxnYcOnw6NvIGFkZXF1YWRhIHNvYnJlIG3Ds2R1bG8gRUZELVJlaW5mIHBhcmEgb3Mgw5NyZ8Ojb3MgUMO6YmxpY29zP2AgLCBsZXZlbHMgPSBjKCJEaXNjb3JkbyBUb3RhbG1lbnRlIiwgIkRpc2NvcmRvIFBhcmNpYWxtZW50ZSIsICJOw6NvIENvbmNvcmRvLyBOZW0gRGlzY29yZG8iLCJDb25jb3JkbyBQYXJjaWFsbWVudGUiLCJDb25jb3JkbyBUb3RhbG1lbnRlIiksIGxhYmVscyA9IGMoIkRpc2NvcmRvIFRvdGFsbWVudGUiLCAiRGlzY29yZG8gUGFyY2lhbG1lbnRlIiwiTsOjbyBDb25jb3Jkby8gTmVtIERpc2NvcmRvIiwiQ29uY29yZG8gUGFyY2lhbG1lbnRlIiwiQ29uY29yZG8gVG90YWxtZW50ZSIpKQ0KDQpkYWRvcyRgVm9jw6ogZW50ZW5kZSBxdWUgbm9zIMOzcmfDo29zIHDDumJsaWNvcyBleGlzdGVtIHNpc3RlbWFzIGludGVncmFkb3MgcXVlIGF0ZW5kYW0gYXMgZXNwZWNpZmljaWRhZGVzIGluZXJlbnRlcyBhIGltcGxlbWVudGHDp8OjbyBkbyBFRkQtUmVpbmY/YCAgPC0gZmFjdG9yKGRhZG9zJGBWb2PDqiBlbnRlbmRlIHF1ZSBub3Mgw7NyZ8Ojb3MgcMO6YmxpY29zIGV4aXN0ZW0gc2lzdGVtYXMgaW50ZWdyYWRvcyBxdWUgYXRlbmRhbSBhcyBlc3BlY2lmaWNpZGFkZXMgaW5lcmVudGVzIGEgaW1wbGVtZW50YcOnw6NvIGRvIEVGRC1SZWluZj9gICwgbGV2ZWxzID0gYygiRGlzY29yZG8gVG90YWxtZW50ZSIsICJEaXNjb3JkbyBQYXJjaWFsbWVudGUiLCAiTsOjbyBDb25jb3Jkby8gTmVtIERpc2NvcmRvIiwiQ29uY29yZG8gUGFyY2lhbG1lbnRlIiwiQ29uY29yZG8gVG90YWxtZW50ZSIpLCBsYWJlbHMgPSBjKCJEaXNjb3JkbyBUb3RhbG1lbnRlIiwgIkRpc2NvcmRvIFBhcmNpYWxtZW50ZSIsIk7Do28gQ29uY29yZG8vIE5lbSBEaXNjb3JkbyIsIkNvbmNvcmRvIFBhcmNpYWxtZW50ZSIsIkNvbmNvcmRvIFRvdGFsbWVudGUiKSkNCg0KZGFkb3MkYFZvY8OqIGFjaGEgcXVlIGFzIHN1Y2Vzc2l2YXMgYWx0ZXJhw6fDtWVzIG5vIGNyb25vZ3JhbWEgZGUgaW1wbGVtZW50YcOnw6NvIGRvIEVGRC1SZWluZiBwYXJhIG9zIMOTcmfDo29zIFDDumJsaWNvcyB0ZW0gaW5mbHXDqm5jaWEgZW0gc3VhcyByZXNwb3N0YXM/YCAgPC0gZmFjdG9yKGRhZG9zJGBWb2PDqiBhY2hhIHF1ZSBhcyBzdWNlc3NpdmFzIGFsdGVyYcOnw7VlcyBubyBjcm9ub2dyYW1hIGRlIGltcGxlbWVudGHDp8OjbyBkbyBFRkQtUmVpbmYgcGFyYSBvcyDDk3Jnw6NvcyBQw7pibGljb3MgdGVtIGluZmx1w6puY2lhIGVtIHN1YXMgcmVzcG9zdGFzP2AgLCBsZXZlbHMgPSBjKCJEaXNjb3JkbyBUb3RhbG1lbnRlIiwgIkRpc2NvcmRvIFBhcmNpYWxtZW50ZSIsICJOw6NvIENvbmNvcmRvLyBOZW0gRGlzY29yZG8iLCJDb25jb3JkbyBQYXJjaWFsbWVudGUiLCJDb25jb3JkbyBUb3RhbG1lbnRlIiksIGxhYmVscyA9IGMoIkRpc2NvcmRvIFRvdGFsbWVudGUiLCAiRGlzY29yZG8gUGFyY2lhbG1lbnRlIiwiTsOjbyBDb25jb3Jkby8gTmVtIERpc2NvcmRvIiwiQ29uY29yZG8gUGFyY2lhbG1lbnRlIiwiQ29uY29yZG8gVG90YWxtZW50ZSIpKQ0KDQoNCg0KYGBgDQoNCiMgRGVzY3Jpw6fDo28gc2ltcGxlcw0KDQpgYGB7ciBmaWcuaGVpZ2h0PTEwLCBmaWcud2lkdGg9MTQsIHdhcm5pbmc9RkFMU0UsICwgbWVzc2FnZT1GQUxTRX0NCg0KbGlrZXJ0X2RhZG9zIDwtIGxpa2VydChhcy5kYXRhLmZyYW1lKGRhZG9zKSwgbmxldmVscyA9IDUpDQoNCmxpa2VydC5iYXIucGxvdChsaWtlcnRfZGFkb3MscGxvdC5wZXJjZW50cz1UUlVFLGxlZ2VuZCA9ICJMZWdlbmRhIiwgbG93LmNvbG9yID0gInJlZCIsIHRleHQuc2l6ZT00KSArIGdndGl0bGUoIiIpICsgbGFicyggeCA9ICJRdWVzdMO1ZXMiLCB5ID0gIlBvcmNlbnRhZ2VtIikgKyB0aGVtZV9taW5pbWFsKCkgKyB0aGVtZShsZWdlbmQucG9zaXRpb24gPSAiYm90dG9tIikNCmBgYA==