1 Escala Likert

1.1 Introdução

A escala likert ou escala de likert, é um tipo de escala psicométrica usada habitualmente em questionários, sendo a7 mais usada em pesquisa de opnião.

A escala de Likert é bipolar, medindo ou uma resposta positiva ou negativa a uma afirmação. Às vezes são usados quatro itens, o que força o sujeito pesquisado a uma escolha positiva ou negativa, uma vez que a opção central “Indiferente” não existe

1.2 Rensis Likert(1903-1981)

Rensis Likert recebeu seu bacharelado em Sociologia pela Universidade de Michigan em 1926. Seu entrada precoce nestas áreas foi a base para muito do trabalho de Likert.

O campo da sociologia na década de 1920 foi altamente experimental eincorporou muitos aspectos da psicologia moderna.

Em 1932 recebeu seu Ph.D. em psicologia pela Universidadede Columbia. Por seu trabalho de tese, produzidos numa escala de pesquisa (Escalas de Likert), como um meio de medir atitudes, mostrando que é captada mais informação do que os métodos concorrentes

LIKERT ganhou notoriedade por ter desenvolvido a chamada “Escala de Atitudes” – um questionário em que as hipóteses de resposta eram do tipo:

  • Discordo ou (Não Concordo) Totalmente;
  • Discordo ou (Não Concordo) Parcialmente;
  • Indiferente;
  • Concordo Parcialmente;
  • Concordo Totalmente

Em 1961 no livro NEW PATTERNS OF MANAGEMENT (“Novos Padrões de Gestão”) mostra os resultados de suas pesquisas iniciadas, ainda na década de 50, que obtiveram grande repercussão na TEORIA COMPORTAMENTAL nos estudos sobre LIDERANÇA. O estudo de LIKERT não eliminou as Teorias sobre a LIDERANÇA, porém, ampliou o conceito

2 Visualização Gráfica

Para mensuração do satisfação em relação ao clima organizacional dos funcionários do DETRAN-PA foi implementada um script no software R-Project versão 4.3 e um ambiente de desenvolvimento integrado chamado Rstudio versão 1.1.5 com uso dos pacotes:

2.1 Carregando os Pacotes

# Ativar os Pacotes 
library(likert)
library(readxl)
library(dplyr)
library(plyr)
library(plotly)
library(ggplot2)
library(table1)
library(flextable)
library(RColorBrewer)
library(rstatix)

2.2 Definir Diretório de Trabalho

setwd("C:/Users/mario Dhiego/Documents/Pesquisa_Clima_Likert/Pesquisa-de-Clima-Organizacional-na-Escala-Likert")

2.3 Bases de Dados

Dados_Clima <- read_excel("Dados_Clima.xls")
Dados_Clima[,1:4] <- lapply(Dados_Clima[,1:4], 
                            factor, 
                            levels=1:5,
                            labels = c("Sempre", 
                                       "Quase Sempre", 
                                       "Raramente", 
                                       "Nunca", 
                                       "Não Tenho Opnião"),
                            order = TRUE)

2.4 Tabelas dos Itens

my.render.cont <- function(x) {
  with(stats.apply.rounding(stats.default(x), digits = 2), 
       c("", "Mean (SD)"=sprintf("%s (&plusmn; %s)", MEAN, SD)))
}
my.render.cat <- function(x) {
  c("", sapply(stats.default(x), 
               function(y) with(y,
  sprintf("%d (%0.0f %%)", FREQ, PCT))))
}

caption  <- "Pesquisa de Clima Organizacional"
footnote <- "Fonte: RH/DETRAN-PA"

# Tabela de Frequência
table1(~., 
       data = Dados_Clima,
       #ctable = TRUE,
       overall = "Total (%)",
       #overall = F,
       #decimal.mark = ",",
       caption = caption, 
       footnote = footnote,
       #topclass="Rtable1-grid Rtable1-shade Rtable1-times",
       topclass = "Rtable1-zebra",
       #render.continuous=my.render.cont,
       #render.categorical=my.render.cat
       #extra.col=list(`P-value`=pvalue)
)
Pesquisa de Clima Organizacional
Total (%)
(N=577)

Fonte: RH/DETRAN-PA

Q1(16)
Sempre 140 (24.3%)
Quase Sempre 252 (43.7%)
Raramente 141 (24.4%)
Nunca 27 (4.7%)
Não Tenho Opnião 17 (2.9%)
Q2(17)
Sempre 74 (12.8%)
Quase Sempre 201 (34.8%)
Raramente 219 (38.0%)
Nunca 50 (8.7%)
Não Tenho Opnião 33 (5.7%)
Q3(20)
Sempre 276 (47.8%)
Quase Sempre 149 (25.8%)
Raramente 70 (12.1%)
Nunca 29 (5.0%)
Não Tenho Opnião 53 (9.2%)
Q4(21)
Sempre 218 (37.8%)
Quase Sempre 216 (37.4%)
Raramente 107 (18.5%)
Nunca 16 (2.8%)
Não Tenho Opnião 20 (3.5%)
Q5(22)
Mean (SD) 2.67 (1.23)
Median [Min, Max] 3.00 [1.00, 5.00]
Q6(24)
Mean (SD) 1.97 (0.993)
Median [Min, Max] 2.00 [1.00, 5.00]
Q7(27)
Mean (SD) 1.86 (1.18)
Median [Min, Max] 1.00 [1.00, 5.00]
Q8(29)
Mean (SD) 1.71 (0.825)
Median [Min, Max] 2.00 [1.00, 5.00]
Q9(30)
Mean (SD) 2.12 (1.03)
Median [Min, Max] 2.00 [1.00, 5.00]
GENERO
FEMININO 206 (35.7%)
MASCULINO 371 (64.3%)

2.5 Incluir Nomes das Perguntas

nomes <- read_excel("Dados_Clima.xls", sheet = 3)
colnames(Dados_Clima)[1:4] <- nomes$Nomes

table1(~., data = Dados_Clima, overall = "Total (%)", decimal.mark = ",")

2.6 Likert Bar Plot

Dados_grafico1 <- likert(as.data.frame(Dados_Clima[1:4]))
paleta <- brewer.pal(5, "RdBu")
paleta[3] <- "#DFDFDF"

grafico1 <- likert.bar.plot(Dados_grafico1, 
                      text.size = 4,
                      centered= FALSE)+
  theme(axis.text.y = element_text(size = "12"),
        legend.position = "bottom",
        axis.title = element_text(size = 12, face = "bold"))+
  labs(x = "", y = "Frequência (%)", size = 12)+
  ggtitle("Pesquisa de Clima Organizacional")+
  scale_fill_manual(values = paleta,
                    breaks = levels(Dados_Clima$`Orientações que Vc Recebe sobre o seu Trabalho são Claras/Objetivas?`))+
  guides(fill = guide_legend(title = "Resposta"))+
  theme_minimal()+
  theme(panel.grid = element_blank(),
        plot.background = element_rect(fill = "white"))
ggplotly(grafico1)

2.7 Likert Bar Plot p/ Grupos

# Gerar Plot Likert p/ Grupos
dados_grafico_grupo <- likert(as.data.frame(Dados_Clima[1:4]),
                              grouping = Dados_Clima$GENERO)


grafico2 <- likert.bar.plot(dados_grafico_grupo, 
                      text.size = 4,
                      centered = FALSE)+
  theme(axis.text.y = element_text(size ="12"))+
  labs(x = "", y = "Frequencia (%)", size =12)+
  ggtitle("Pesquisa de Clima Organizacional")+
  scale_fill_manual(values = paleta,
                    breaks = levels(Dados_Clima$`Orientações que Vc Recebe sobre o seu Trabalho são Claras/Objetivas?`))+
  guides(fill = guide_legend(title = "Resposta"))+
  theme_minimal()+
  theme(panel.grid = element_blank(),
        plot.background = element_rect(fill = "white"))
ggplotly(grafico2)

2.8 Likert Heat Plot

Dados_grafico2 <- likert(as.data.frame(Dados_Clima[1:4]))

likert.heat.plot(Dados_grafico2,
                 text.size = 4,
                 centered= FALSE)

2.9 Salvar o Likert Plot

ggsave("Plot1_likert.png", width = 13, height = 6)

3 Referências Bibliográficas

BERGAMINI, CECÍLIA WHITAKER. Motivação nas Organizações. Editora Atlas. Edição 4ª. São Paulo, 1997.

LIKERT, RENSIS. Novos Padrões De Administração. Editora Pioneira. Edição 3ª. São Paulo, 1971.

LS0tDQp0aXRsZTogIioqRXNjYWxhIExpa2VydCBubyBSOiB1bSBHdWlhIFByw6F0aWNvKioiDQphdXRob3I6DQotIG5hbWU6IE3DoXJpbyBEaWVnbyBWYWxlbnRlDQotIG5hbWU6IENhcmxvcyBQYWl4w6NvDQpkYXRlOiAiYHIgZm9ybWF0KFN5cy50aW1lKCksICclZCAlQiwgJVknKWAiDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6IA0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIGhpZ2hsaWdodDogdGV4dG1hdGUNCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcw0KICAgIHRoZW1lOiBjZXJ1bGVhbg0KICAgIHRvYzogeWVzDQogICAgdG9jX2RlcHRoOiA2DQogICAgdG9jX2Zsb2F0Og0KICAgICAgY29sbGFwc2VkOiB5ZXMNCiAgICAgIHNtb290aF9zY3JvbGw6IHllcw0KICAgIGtlZXBfbWQ6IHllcw0KICBwZGZfZG9jdW1lbnQ6DQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZGVwdGg6ICc2Jw0KaW5zdGl0dXRlOg0KYWJzdHJhY3Q6ICJBIEVzY2FsYSBMaWtlcnQgw6kgdW0gdGlwbyBkZSBSZXNwb3N0YSBQc2ljb23DqXRyaWNhIHVzYWRhIGVtIFF1ZXN0aW9uw6FyaW9zIHNlbmRvIGEgbWFpcyB1c2FkYSBlbSBQZXNxdWlzYXMgZGUgT3BuacOjby4gTyBvYmpldGl2byBkZXN0ZSBndWlhIMOpIGFwcmVzZW50YXIgZGUgZm9ybWEgbWV0b2RvbMOzZ2ljYSBjb21vIHJlYWxpemFyIGUgaW50ZXJwcmV0YXIgdW1hIGVzY2FsYSBsaWtlcnQgbmFzIFBlc3F1aXNhcyBkZSBDbGltYSBPcmdhbml6YWNpb25hbCBuYSBsaW5ndWFnZW0gZGUgUHJvZ3JhbWHDp8OjbyBSLiINCi0tLQ0KDQoNCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG8gPSBUUlVFKQ0KYGBgDQoNCg0KDQoNCmBgYHs9aHRtbH0NCjxzdHlsZT4NCmJvZHl7dGV4dC1hbGlnbjoganVzdGlmeX0NCjwvc3R5bGU+DQpgYGANCg0KDQo6OjogcHJvZ3Jlc3MNCjo6OiB7LnByb2dyZXNzLWJhciBzdHlsZT0id2lkdGg6IDEwMCU7In0NCjo6Og0KOjo6DQoNCg0KIyAqKkVzY2FsYSBMaWtlcnQqKg0KIyMgKipJbnRyb2R1w6fDo28qKg0KDQpBIGVzY2FsYSBsaWtlcnQgb3UgZXNjYWxhIGRlIGxpa2VydCwgw6kgdW0gdGlwbyBkZSBlc2NhbGEgcHNpY29tw6l0cmljYSB1c2FkYSBoYWJpdHVhbG1lbnRlIGVtIHF1ZXN0aW9uw6FyaW9zLCBzZW5kbyBhNyBtYWlzIHVzYWRhIGVtIHBlc3F1aXNhIGRlIG9wbmnDo28uDQoNCkEgZXNjYWxhIGRlIExpa2VydCDDqSBiaXBvbGFyLCBtZWRpbmRvIG91IHVtYSByZXNwb3N0YSBwb3NpdGl2YSBvdSBuZWdhdGl2YSBhIHVtYSBhZmlybWHDp8Ojby4gw4BzIHZlemVzIHPDo28gdXNhZG9zIHF1YXRybyBpdGVucywgbyBxdWUgZm9yw6dhIG8gc3VqZWl0byBwZXNxdWlzYWRvIGEgdW1hIGVzY29saGEgcG9zaXRpdmEgb3UgbmVnYXRpdmEsIHVtYSB2ZXogcXVlIGEgb3DDp8OjbyBjZW50cmFsICJJbmRpZmVyZW50ZSIgbsOjbyBleGlzdGUNCg0KDQoNCg0KOjo6IHByb2dyZXNzDQo6Ojogey5wcm9ncmVzcy1iYXIgc3R5bGU9IndpZHRoOiAxMDAlOyJ9DQo6OjoNCjo6Og0KDQojIyAqKlJlbnNpcyBMaWtlcnQoMTkwMy0xOTgxKSoqDQoNClJlbnNpcyBMaWtlcnQgcmVjZWJldSBzZXUgYmFjaGFyZWxhZG8gZW0gU29jaW9sb2dpYSBwZWxhIFVuaXZlcnNpZGFkZSBkZSBNaWNoaWdhbiBlbSAxOTI2LiBTZXUgZW50cmFkYSBwcmVjb2NlIG5lc3RhcyDDoXJlYXMgZm9pIGEgYmFzZSBwYXJhIG11aXRvIGRvIHRyYWJhbGhvIGRlIExpa2VydC4gDQoNCk8gY2FtcG8gZGEgc29jaW9sb2dpYSBuYSBkw6ljYWRhIGRlIDE5MjAgZm9pIGFsdGFtZW50ZSBleHBlcmltZW50YWwgZWluY29ycG9yb3UgbXVpdG9zIGFzcGVjdG9zIGRhIHBzaWNvbG9naWEgbW9kZXJuYS4gDQoNCkVtIDE5MzIgcmVjZWJldSBzZXUgUGguRC4gZW0gcHNpY29sb2dpYSBwZWxhIFVuaXZlcnNpZGFkZWRlIENvbHVtYmlhLiBQb3Igc2V1IHRyYWJhbGhvIGRlIHRlc2UsIHByb2R1emlkb3MgbnVtYSBlc2NhbGEgZGUgcGVzcXVpc2EgKEVzY2FsYXMgZGUgTGlrZXJ0KSwgY29tbyB1bSBtZWlvIGRlIG1lZGlyIGF0aXR1ZGVzLCBtb3N0cmFuZG8gcXVlIMOpIGNhcHRhZGEgbWFpcyBpbmZvcm1hw6fDo28gZG8gcXVlIG9zIG3DqXRvZG9zIGNvbmNvcnJlbnRlcw0KDQoNCg0KTElLRVJUIGdhbmhvdSBub3RvcmllZGFkZSBwb3IgdGVyIGRlc2Vudm9sdmlkbyBhIGNoYW1hZGEgKirigJxFc2NhbGEgZGUgQXRpdHVkZXPigJ0qKiDigJMgdW0gcXVlc3Rpb27DoXJpbyBlbSBxdWUgYXMgaGlww7N0ZXNlcyBkZSByZXNwb3N0YSBlcmFtIGRvIHRpcG86IA0KDQotICAgRGlzY29yZG8gb3UgKE7Do28gQ29uY29yZG8pIFRvdGFsbWVudGU7DQotICAgRGlzY29yZG8gb3UgKE7Do28gQ29uY29yZG8pIFBhcmNpYWxtZW50ZTsNCi0gICBJbmRpZmVyZW50ZTsNCi0gICBDb25jb3JkbyBQYXJjaWFsbWVudGU7DQotICAgQ29uY29yZG8gVG90YWxtZW50ZQ0KDQoNCkVtIDE5NjEgbm8gbGl2cm8gTkVXIFBBVFRFUk5TIE9GIE1BTkFHRU1FTlQgKOKAnE5vdm9zIFBhZHLDtWVzIGRlIEdlc3TDo2/igJ0pIG1vc3RyYSBvcyByZXN1bHRhZG9zIGRlIHN1YXMgcGVzcXVpc2FzIGluaWNpYWRhcywgYWluZGEgbmEgZMOpY2FkYSBkZSA1MCwgcXVlIG9idGl2ZXJhbSBncmFuZGUgcmVwZXJjdXNzw6NvIG5hIFRFT1JJQSBDT01QT1JUQU1FTlRBTCBub3MgZXN0dWRvcyBzb2JyZSBMSURFUkFOw4dBLiBPIGVzdHVkbyBkZSBMSUtFUlQgbsOjbyBlbGltaW5vdSBhcyBUZW9yaWFzIHNvYnJlIGEgTElERVJBTsOHQSwgcG9yw6ltLCBhbXBsaW91IG8gY29uY2VpdG8NCg0KDQoNCjo6OiBwcm9ncmVzcw0KOjo6IHsucHJvZ3Jlc3MtYmFyIHN0eWxlPSJ3aWR0aDogMTAwJTsifQ0KOjo6DQo6OjoNCg0KDQojICoqVmlzdWFsaXphw6fDo28gR3LDoWZpY2EqKg0KDQpQYXJhIG1lbnN1cmHDp8OjbyBkbyBzYXRpc2Zhw6fDo28gZW0gcmVsYcOnw6NvIGFvIGNsaW1hIG9yZ2FuaXphY2lvbmFsIGRvcyBmdW5jaW9uw6FyaW9zIGRvIERFVFJBTi1QQSAgZm9pIGltcGxlbWVudGFkYSB1bSBzY3JpcHQgbm8gc29mdHdhcmUgUi1Qcm9qZWN0IHZlcnPDo28gNC4zIGUgdW0gYW1iaWVudGUgZGUgZGVzZW52b2x2aW1lbnRvIGludGVncmFkbyBjaGFtYWRvIFJzdHVkaW8gdmVyc8OjbyAxLjEuNSBjb20gdXNvIGRvcyBwYWNvdGVzOg0KDQoNCg0KIyMgKipDYXJyZWdhbmRvIG9zIFBhY290ZXMqKg0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KIyBBdGl2YXIgb3MgUGFjb3RlcyANCmxpYnJhcnkobGlrZXJ0KQ0KbGlicmFyeShyZWFkeGwpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShwbHlyKQ0KbGlicmFyeShwbG90bHkpDQpsaWJyYXJ5KGdncGxvdDIpDQpsaWJyYXJ5KHRhYmxlMSkNCmxpYnJhcnkoZmxleHRhYmxlKQ0KbGlicmFyeShSQ29sb3JCcmV3ZXIpDQpsaWJyYXJ5KHJzdGF0aXgpDQpgYGANCg0KDQoNCiMjICoqRGVmaW5pciBEaXJldMOzcmlvIGRlIFRyYWJhbGhvKioNCg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCg0Kc2V0d2QoIkM6L1VzZXJzL21hcmlvIERoaWVnby9Eb2N1bWVudHMvUGVzcXVpc2FfQ2xpbWFfTGlrZXJ0L1Blc3F1aXNhLWRlLUNsaW1hLU9yZ2FuaXphY2lvbmFsLW5hLUVzY2FsYS1MaWtlcnQiKQ0KDQpgYGANCg0KDQojIyAqKkJhc2VzIGRlIERhZG9zKioNCg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCg0KRGFkb3NfQ2xpbWEgPC0gcmVhZF9leGNlbCgiRGFkb3NfQ2xpbWEueGxzIikNCkRhZG9zX0NsaW1hWywxOjRdIDwtIGxhcHBseShEYWRvc19DbGltYVssMTo0XSwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFjdG9yLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXZlbHM9MTo1LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVscyA9IGMoIlNlbXByZSIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlF1YXNlIFNlbXByZSIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhcmFtZW50ZSIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk51bmNhIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTsOjbyBUZW5obyBPcG5pw6NvIiksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIgPSBUUlVFKQ0KDQpgYGANCg0KDQoNCiMjICoqVGFiZWxhcyBkb3MgSXRlbnMqKg0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KDQpteS5yZW5kZXIuY29udCA8LSBmdW5jdGlvbih4KSB7DQogIHdpdGgoc3RhdHMuYXBwbHkucm91bmRpbmcoc3RhdHMuZGVmYXVsdCh4KSwgZGlnaXRzID0gMiksIA0KICAgICAgIGMoIiIsICJNZWFuIChTRCkiPXNwcmludGYoIiVzICgmcGx1c21uOyAlcykiLCBNRUFOLCBTRCkpKQ0KfQ0KbXkucmVuZGVyLmNhdCA8LSBmdW5jdGlvbih4KSB7DQogIGMoIiIsIHNhcHBseShzdGF0cy5kZWZhdWx0KHgpLCANCiAgICAgICAgICAgICAgIGZ1bmN0aW9uKHkpIHdpdGgoeSwNCiAgc3ByaW50ZigiJWQgKCUwLjBmICUlKSIsIEZSRVEsIFBDVCkpKSkNCn0NCg0KY2FwdGlvbiAgPC0gIlBlc3F1aXNhIGRlIENsaW1hIE9yZ2FuaXphY2lvbmFsIg0KZm9vdG5vdGUgPC0gIkZvbnRlOiBSSC9ERVRSQU4tUEEiDQoNCiMgVGFiZWxhIGRlIEZyZXF1w6puY2lhDQp0YWJsZTEofi4sIA0KICAgICAgIGRhdGEgPSBEYWRvc19DbGltYSwNCiAgICAgICAjY3RhYmxlID0gVFJVRSwNCiAgICAgICBvdmVyYWxsID0gIlRvdGFsICglKSIsDQogICAgICAgI292ZXJhbGwgPSBGLA0KICAgICAgICNkZWNpbWFsLm1hcmsgPSAiLCIsDQogICAgICAgY2FwdGlvbiA9IGNhcHRpb24sIA0KICAgICAgIGZvb3Rub3RlID0gZm9vdG5vdGUsDQogICAgICAgI3RvcGNsYXNzPSJSdGFibGUxLWdyaWQgUnRhYmxlMS1zaGFkZSBSdGFibGUxLXRpbWVzIiwNCiAgICAgICB0b3BjbGFzcyA9ICJSdGFibGUxLXplYnJhIiwNCiAgICAgICAjcmVuZGVyLmNvbnRpbnVvdXM9bXkucmVuZGVyLmNvbnQsDQogICAgICAgI3JlbmRlci5jYXRlZ29yaWNhbD1teS5yZW5kZXIuY2F0DQogICAgICAgI2V4dHJhLmNvbD1saXN0KGBQLXZhbHVlYD1wdmFsdWUpDQopDQpgYGANCg0KDQo6OjogcHJvZ3Jlc3MNCjo6OiB7LnByb2dyZXNzLWJhciBzdHlsZT0id2lkdGg6IDEwMCU7In0NCjo6Og0KOjo6DQoNCg0KIyMgKipJbmNsdWlyIE5vbWVzIGRhcyBQZXJndW50YXMqKg0KDQpgYGB7ciBldmFsPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBpbmNsdWRlPVRSVUV9DQpub21lcyA8LSByZWFkX2V4Y2VsKCJEYWRvc19DbGltYS54bHMiLCBzaGVldCA9IDMpDQpjb2xuYW1lcyhEYWRvc19DbGltYSlbMTo0XSA8LSBub21lcyROb21lcw0KDQp0YWJsZTEofi4sIGRhdGEgPSBEYWRvc19DbGltYSwgb3ZlcmFsbCA9ICJUb3RhbCAoJSkiLCBkZWNpbWFsLm1hcmsgPSAiLCIpDQpgYGANCg0KDQoNCg0KIyMgKipMaWtlcnQgQmFyIFBsb3QqKg0KDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KDQpEYWRvc19ncmFmaWNvMSA8LSBsaWtlcnQoYXMuZGF0YS5mcmFtZShEYWRvc19DbGltYVsxOjRdKSkNCnBhbGV0YSA8LSBicmV3ZXIucGFsKDUsICJSZEJ1IikNCnBhbGV0YVszXSA8LSAiI0RGREZERiINCg0KZ3JhZmljbzEgPC0gbGlrZXJ0LmJhci5wbG90KERhZG9zX2dyYWZpY28xLCANCiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LnNpemUgPSA0LA0KICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcmVkPSBGQUxTRSkrDQogIHRoZW1lKGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSAiMTIiKSwNCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uID0gImJvdHRvbSIsDQogICAgICAgIGF4aXMudGl0bGUgPSBlbGVtZW50X3RleHQoc2l6ZSA9IDEyLCBmYWNlID0gImJvbGQiKSkrDQogIGxhYnMoeCA9ICIiLCB5ID0gIkZyZXF1w6puY2lhICglKSIsIHNpemUgPSAxMikrDQogIGdndGl0bGUoIlBlc3F1aXNhIGRlIENsaW1hIE9yZ2FuaXphY2lvbmFsIikrDQogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IHBhbGV0YSwNCiAgICAgICAgICAgICAgICAgICAgYnJlYWtzID0gbGV2ZWxzKERhZG9zX0NsaW1hJGBPcmllbnRhw6fDtWVzIHF1ZSBWYyBSZWNlYmUgc29icmUgbyBzZXUgVHJhYmFsaG8gc8OjbyBDbGFyYXMvT2JqZXRpdmFzP2ApKSsNCiAgZ3VpZGVzKGZpbGwgPSBndWlkZV9sZWdlbmQodGl0bGUgPSAiUmVzcG9zdGEiKSkrDQogIHRoZW1lX21pbmltYWwoKSsNCiAgdGhlbWUocGFuZWwuZ3JpZCA9IGVsZW1lbnRfYmxhbmsoKSwNCiAgICAgICAgcGxvdC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGZpbGwgPSAid2hpdGUiKSkNCmdncGxvdGx5KGdyYWZpY28xKQ0KYGBgDQoNCg0KDQoNCg0KOjo6IHByb2dyZXNzDQo6Ojogey5wcm9ncmVzcy1iYXIgc3R5bGU9IndpZHRoOiAxMDAlOyJ9DQo6OjoNCjo6Og0KDQoNCiMjICoqTGlrZXJ0IEJhciBQbG90IHAvIEdydXBvcyoqDQoNCg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCiMgR2VyYXIgUGxvdCBMaWtlcnQgcC8gR3J1cG9zDQpkYWRvc19ncmFmaWNvX2dydXBvIDwtIGxpa2VydChhcy5kYXRhLmZyYW1lKERhZG9zX0NsaW1hWzE6NF0pLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXBpbmcgPSBEYWRvc19DbGltYSRHRU5FUk8pDQoNCg0KZ3JhZmljbzIgPC0gbGlrZXJ0LmJhci5wbG90KGRhZG9zX2dyYWZpY29fZ3J1cG8sIA0KICAgICAgICAgICAgICAgICAgICAgIHRleHQuc2l6ZSA9IDQsDQogICAgICAgICAgICAgICAgICAgICAgY2VudGVyZWQgPSBGQUxTRSkrDQogIHRoZW1lKGF4aXMudGV4dC55ID0gZWxlbWVudF90ZXh0KHNpemUgPSIxMiIpKSsNCiAgbGFicyh4ID0gIiIsIHkgPSAiRnJlcXVlbmNpYSAoJSkiLCBzaXplID0xMikrDQogIGdndGl0bGUoIlBlc3F1aXNhIGRlIENsaW1hIE9yZ2FuaXphY2lvbmFsIikrDQogIHNjYWxlX2ZpbGxfbWFudWFsKHZhbHVlcyA9IHBhbGV0YSwNCiAgICAgICAgICAgICAgICAgICAgYnJlYWtzID0gbGV2ZWxzKERhZG9zX0NsaW1hJGBPcmllbnRhw6fDtWVzIHF1ZSBWYyBSZWNlYmUgc29icmUgbyBzZXUgVHJhYmFsaG8gc8OjbyBDbGFyYXMvT2JqZXRpdmFzP2ApKSsNCiAgZ3VpZGVzKGZpbGwgPSBndWlkZV9sZWdlbmQodGl0bGUgPSAiUmVzcG9zdGEiKSkrDQogIHRoZW1lX21pbmltYWwoKSsNCiAgdGhlbWUocGFuZWwuZ3JpZCA9IGVsZW1lbnRfYmxhbmsoKSwNCiAgICAgICAgcGxvdC5iYWNrZ3JvdW5kID0gZWxlbWVudF9yZWN0KGZpbGwgPSAid2hpdGUiKSkNCmdncGxvdGx5KGdyYWZpY28yKQ0KYGBgDQoNCg0KOjo6IHByb2dyZXNzDQo6Ojogey5wcm9ncmVzcy1iYXIgc3R5bGU9IndpZHRoOiAxMDAlOyJ9DQo6OjoNCjo6Og0KDQoNCiMjICoqTGlrZXJ0IEhlYXQgUGxvdCoqDQoNCg0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCkRhZG9zX2dyYWZpY28yIDwtIGxpa2VydChhcy5kYXRhLmZyYW1lKERhZG9zX0NsaW1hWzE6NF0pKQ0KDQpsaWtlcnQuaGVhdC5wbG90KERhZG9zX2dyYWZpY28yLA0KICAgICAgICAgICAgICAgICB0ZXh0LnNpemUgPSA0LA0KICAgICAgICAgICAgICAgICBjZW50ZXJlZD0gRkFMU0UpDQpgYGANCg0KDQo6OjogcHJvZ3Jlc3MNCjo6OiB7LnByb2dyZXNzLWJhciBzdHlsZT0id2lkdGg6IDEwMCU7In0NCjo6Og0KOjo6DQoNCiMjICoqU2FsdmFyIG8gTGlrZXJ0IFBsb3QqKg0KDQpgYGB7ciBtZXNzYWdlPVRSVUUsIHdhcm5pbmc9VFJVRX0NCmdnc2F2ZSgiUGxvdDFfbGlrZXJ0LnBuZyIsIHdpZHRoID0gMTMsIGhlaWdodCA9IDYpDQoNCmBgYA0KDQoNCg0KIyAqKlJlZmVyw6puY2lhcyBCaWJsaW9ncsOhZmljYXMqKg0KDQoNCkJFUkdBTUlOSSwgQ0VDw41MSUEgV0hJVEFLRVIuIE1vdGl2YcOnw6NvIG5hcyBPcmdhbml6YcOnw7Vlcy4gRWRpdG9yYSBBdGxhcy4gRWRpw6fDo28gNMKqLiBTw6NvIFBhdWxvLCAxOTk3Lg0KDQpMSUtFUlQsIFJFTlNJUy4gTm92b3MgUGFkcsO1ZXMgRGUgQWRtaW5pc3RyYcOnw6NvLiBFZGl0b3JhIFBpb25laXJhLiBFZGnDp8OjbyAzwqouIFPDo28gUGF1bG8sIDE5NzEuDQoNCg0KDQoNCjo6OiBwcm9ncmVzcw0KOjo6IHsucHJvZ3Jlc3MtYmFyIHN0eWxlPSJ3aWR0aDogMTAwJTsifQ0KOjo6DQo6OjoNCg==