Introducción

Uno de los retos más importantes de las organizaciones es entender el estado y bienestar de los colaboradores, ya que puede impactar directamente en el desempeño y el logro de los objetivos.

En este ejercicio se emplean Modelos de Ecuaciones Estructurales (SEM) para estudiar el constructo de experiencias de recuperación, la energía recuperada y su relación con el engagement laboral.

Preparación de datos

knitr::opts_chunk$set(
  echo = TRUE,
  message = FALSE,
  warning = FALSE
)

# Instalar una sola vez si es necesario:
# install.packages(c("lavaan", "lavaanPlot", "readxl", "semTools"))

library(lavaan)
library(lavaanPlot)
library(readxl)
#install.packages("semTools")
library(semTools)

Importación de la base de datos

La base de datos contiene 223 observaciones y 51 variables. Los nombres de los indicadores presentan algunos espacios al final, por lo que se limpian antes de trabajar con ellos.

dataframe3 <- read_excel("Datos_SEM_Eng.xlsx")

# Limpiar espacios en los nombres de las variables
names(dataframe3) <- trimws(names(dataframe3))

# Revisar estructura
dim(dataframe3)
## [1] 223  51
names(dataframe3)
##  [1] "ID"    "GEN"   "EXPER" "EDAD"  "RPD01" "RPD02" "RPD03" "RPD05" "RPD06"
## [10] "RPD07" "RPD08" "RPD09" "RPD10" "RRE02" "RRE03" "RRE04" "RRE05" "RRE06"
## [19] "RRE07" "RRE10" "RMA02" "RMA03" "RMA04" "RMA05" "RMA06" "RMA07" "RMA08"
## [28] "RMA09" "RMA10" "RCO02" "RCO03" "RCO04" "RCO05" "RCO06" "RCO07" "EN01" 
## [37] "EN02"  "EN04"  "EN05"  "EN06"  "EN07"  "EN08"  "EVI01" "EVI02" "EVI03"
## [46] "EDE01" "EDE02" "EDE03" "EAB01" "EAB02" "EAB03"
summary(dataframe3)
##        ID             GEN             EXPER            EDAD      
##  Min.   :  1.0   Min.   :0.0000   Min.   : 0.00   Min.   :22.00  
##  1st Qu.: 56.5   1st Qu.:0.0000   1st Qu.:15.00   1st Qu.:37.50  
##  Median :112.0   Median :1.0000   Median :20.00   Median :44.00  
##  Mean   :112.0   Mean   :0.5919   Mean   :21.05   Mean   :43.95  
##  3rd Qu.:167.5   3rd Qu.:1.0000   3rd Qu.:27.50   3rd Qu.:51.00  
##  Max.   :223.0   Max.   :1.0000   Max.   :50.00   Max.   :72.00  
##      RPD01           RPD02          RPD03           RPD05           RPD06      
##  Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.00   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :5.000   Median :4.00   Median :5.000   Median :5.000   Median :5.000  
##  Mean   :4.596   Mean   :4.09   Mean   :4.789   Mean   :4.327   Mean   :4.798  
##  3rd Qu.:6.000   3rd Qu.:6.00   3rd Qu.:7.000   3rd Qu.:6.000   3rd Qu.:7.000  
##  Max.   :7.000   Max.   :7.00   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##      RPD07           RPD08           RPD09           RPD10      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:2.000   1st Qu.:3.000   1st Qu.:3.000   1st Qu.:2.500  
##  Median :4.000   Median :5.000   Median :5.000   Median :5.000  
##  Mean   :3.794   Mean   :4.735   Mean   :4.466   Mean   :4.435  
##  3rd Qu.:5.500   3rd Qu.:7.000   3rd Qu.:6.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##      RRE02           RRE03           RRE04           RRE05           RRE06    
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.0  
##  1st Qu.:5.000   1st Qu.:5.000   1st Qu.:5.000   1st Qu.:5.000   1st Qu.:4.0  
##  Median :6.000   Median :6.000   Median :6.000   Median :6.000   Median :6.0  
##  Mean   :5.691   Mean   :5.534   Mean   :5.668   Mean   :5.623   Mean   :5.3  
##  3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.0  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.0  
##      RRE07           RRE10           RMA02           RMA03      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:4.000   1st Qu.:5.000   1st Qu.:3.000   1st Qu.:3.000  
##  Median :6.000   Median :6.000   Median :4.000   Median :5.000  
##  Mean   :5.305   Mean   :5.664   Mean   :4.215   Mean   :4.377  
##  3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:6.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##      RMA04           RMA05           RMA06           RMA07      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:5.000   1st Qu.:4.000  
##  Median :5.000   Median :5.000   Median :6.000   Median :5.000  
##  Mean   :4.686   Mean   :4.637   Mean   :5.511   Mean   :4.767  
##  3rd Qu.:6.000   3rd Qu.:6.000   3rd Qu.:7.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##      RMA08           RMA09           RMA10          RCO02           RCO03      
##  Min.   :1.000   Min.   :1.000   Min.   :1.00   Min.   :1.000   Min.   :1.000  
##  1st Qu.:4.000   1st Qu.:3.000   1st Qu.:3.00   1st Qu.:5.000   1st Qu.:5.000  
##  Median :5.000   Median :5.000   Median :5.00   Median :6.000   Median :6.000  
##  Mean   :4.942   Mean   :4.614   Mean   :4.43   Mean   :5.336   Mean   :5.574  
##  3rd Qu.:6.500   3rd Qu.:6.000   3rd Qu.:6.00   3rd Qu.:7.000   3rd Qu.:7.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.00   Max.   :7.000   Max.   :7.000  
##      RCO04           RCO05           RCO06           RCO07      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:5.000   1st Qu.:5.000   1st Qu.:5.000   1st Qu.:5.000  
##  Median :6.000   Median :6.000   Median :6.000   Median :6.000  
##  Mean   :5.704   Mean   :5.668   Mean   :5.619   Mean   :5.632  
##  3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##       EN01            EN02            EN04            EN05      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :1.000  
##  1st Qu.:3.000   1st Qu.:4.000   1st Qu.:4.000   1st Qu.:4.000  
##  Median :5.000   Median :6.000   Median :5.000   Median :5.000  
##  Mean   :4.717   Mean   :5.004   Mean   :4.883   Mean   :4.928  
##  3rd Qu.:6.000   3rd Qu.:7.000   3rd Qu.:6.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##       EN06            EN07            EN08           EVI01      
##  Min.   :1.000   Min.   :1.000   Min.   :1.000   Min.   :0.000  
##  1st Qu.:3.000   1st Qu.:3.000   1st Qu.:4.000   1st Qu.:4.000  
##  Median :5.000   Median :5.000   Median :5.000   Median :5.000  
##  Mean   :4.767   Mean   :4.578   Mean   :4.776   Mean   :5.013  
##  3rd Qu.:6.000   3rd Qu.:6.000   3rd Qu.:6.000   3rd Qu.:6.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##      EVI02           EVI03           EDE01           EDE02      
##  Min.   :0.000   Min.   :0.000   Min.   :0.000   Min.   :0.000  
##  1st Qu.:4.000   1st Qu.:4.000   1st Qu.:5.000   1st Qu.:5.000  
##  Median :6.000   Median :6.000   Median :6.000   Median :6.000  
##  Mean   :5.076   Mean   :4.973   Mean   :5.305   Mean   :5.543  
##  3rd Qu.:6.000   3rd Qu.:6.000   3rd Qu.:7.000   3rd Qu.:7.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000  
##      EDE03           EAB01           EAB02           EAB03      
##  Min.   :0.000   Min.   :0.000   Min.   :0.000   Min.   :0.000  
##  1st Qu.:6.000   1st Qu.:5.000   1st Qu.:5.000   1st Qu.:5.000  
##  Median :7.000   Median :6.000   Median :6.000   Median :6.000  
##  Mean   :6.135   Mean   :5.605   Mean   :5.821   Mean   :5.363  
##  3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.000   3rd Qu.:7.000  
##  Max.   :7.000   Max.   :7.000   Max.   :7.000   Max.   :7.000
str(dataframe3)
## tibble [223 × 51] (S3: tbl_df/tbl/data.frame)
##  $ ID   : num [1:223] 1 2 3 4 5 6 7 8 9 10 ...
##  $ GEN  : num [1:223] 1 1 1 1 1 0 0 1 1 1 ...
##  $ EXPER: num [1:223] 22 22 30 17 23 31 26 30 15 15 ...
##  $ EDAD : num [1:223] 45 44 52 41 51 52 53 48 40 38 ...
##  $ RPD01: num [1:223] 5 4 7 5 7 3 5 6 4 2 ...
##  $ RPD02: num [1:223] 1 4 7 5 6 4 5 7 4 3 ...
##  $ RPD03: num [1:223] 3 6 7 1 7 5 4 6 4 2 ...
##  $ RPD05: num [1:223] 2 5 7 1 6 4 4 7 4 3 ...
##  $ RPD06: num [1:223] 3 3 7 3 7 3 5 2 6 7 ...
##  $ RPD07: num [1:223] 1 2 6 5 6 5 6 5 4 1 ...
##  $ RPD08: num [1:223] 3 3 7 3 7 4 6 2 5 3 ...
##  $ RPD09: num [1:223] 2 4 7 2 6 4 7 4 4 2 ...
##  $ RPD10: num [1:223] 4 4 7 2 6 4 7 1 6 2 ...
##  $ RRE02: num [1:223] 6 6 7 6 7 5 7 5 6 7 ...
##  $ RRE03: num [1:223] 6 6 7 6 7 4 7 4 4 7 ...
##  $ RRE04: num [1:223] 6 6 7 6 7 4 7 4 6 7 ...
##  $ RRE05: num [1:223] 6 6 7 6 7 5 7 4 6 7 ...
##  $ RRE06: num [1:223] 6 6 7 6 7 4 7 4 6 7 ...
##  $ RRE07: num [1:223] 6 6 7 6 7 4 7 4 6 7 ...
##  $ RRE10: num [1:223] 6 6 7 6 7 4 7 4 6 7 ...
##  $ RMA02: num [1:223] 4 6 4 3 4 7 5 2 6 7 ...
##  $ RMA03: num [1:223] 5 6 5 4 4 7 5 1 2 7 ...
##  $ RMA04: num [1:223] 5 5 6 4 4 5 5 1 4 7 ...
##  $ RMA05: num [1:223] 5 5 6 4 4 6 5 3 4 7 ...
##  $ RMA06: num [1:223] 6 6 7 6 5 4 5 7 6 7 ...
##  $ RMA07: num [1:223] 4 6 6 5 4 5 7 4 6 7 ...
##  $ RMA08: num [1:223] 5 6 4 4 4 6 6 4 2 7 ...
##  $ RMA09: num [1:223] 3 5 4 3 5 4 5 2 4 7 ...
##  $ RMA10: num [1:223] 7 5 5 4 5 5 6 4 3 7 ...
##  $ RCO02: num [1:223] 7 7 7 5 7 6 7 7 3 7 ...
##  $ RCO03: num [1:223] 7 7 7 5 7 5 7 7 3 7 ...
##  $ RCO04: num [1:223] 7 7 7 6 7 4 7 7 3 7 ...
##  $ RCO05: num [1:223] 7 7 7 6 7 4 7 7 3 7 ...
##  $ RCO06: num [1:223] 7 7 7 6 7 4 7 7 4 7 ...
##  $ RCO07: num [1:223] 5 7 7 6 7 4 7 7 7 7 ...
##  $ EN01 : num [1:223] 6 6 7 4 6 4 7 7 4 7 ...
##  $ EN02 : num [1:223] 7 6 7 4 6 4 7 7 4 7 ...
##  $ EN04 : num [1:223] 6 6 7 4 6 4 7 6 4 7 ...
##  $ EN05 : num [1:223] 5 5 7 5 6 5 7 6 4 7 ...
##  $ EN06 : num [1:223] 5 5 7 5 6 3 7 5 5 7 ...
##  $ EN07 : num [1:223] 5 5 7 2 6 4 7 4 4 7 ...
##  $ EN08 : num [1:223] 6 5 7 5 6 4 7 4 4 7 ...
##  $ EVI01: num [1:223] 6 5 7 5 6 4 7 6 6 0 ...
##  $ EVI02: num [1:223] 6 5 7 6 6 4 6 5 5 1 ...
##  $ EVI03: num [1:223] 6 6 6 7 6 4 6 6 7 0 ...
##  $ EDE01: num [1:223] 6 6 6 5 7 6 7 7 7 1 ...
##  $ EDE02: num [1:223] 7 6 7 6 7 5 7 7 7 5 ...
##  $ EDE03: num [1:223] 7 7 7 7 7 5 7 7 7 6 ...
##  $ EAB01: num [1:223] 7 7 7 6 7 5 7 7 7 0 ...
##  $ EAB02: num [1:223] 7 7 7 6 7 5 7 2 5 1 ...
##  $ EAB03: num [1:223] 6 5 6 5 6 5 7 3 5 0 ...

Revisión de valores faltantes

colSums(is.na(dataframe3))
##    ID   GEN EXPER  EDAD RPD01 RPD02 RPD03 RPD05 RPD06 RPD07 RPD08 RPD09 RPD10 
##     0     0     0     0     0     0     0     0     0     0     0     0     0 
## RRE02 RRE03 RRE04 RRE05 RRE06 RRE07 RRE10 RMA02 RMA03 RMA04 RMA05 RMA06 RMA07 
##     0     0     0     0     0     0     0     0     0     0     0     0     0 
## RMA08 RMA09 RMA10 RCO02 RCO03 RCO04 RCO05 RCO06 RCO07  EN01  EN02  EN04  EN05 
##     0     0     0     0     0     0     0     0     0     0     0     0     0 
##  EN06  EN07  EN08 EVI01 EVI02 EVI03 EDE01 EDE02 EDE03 EAB01 EAB02 EAB03 
##     0     0     0     0     0     0     0     0     0     0     0     0
sum(is.na(dataframe3))
## [1] 0

La revisión permite comprobar si existen valores faltantes antes de estimar los modelos.

PARTE 1. Análisis factorial confirmatorio de segundo orden: experiencias de recuperación

Las experiencias de recuperación se refieren a la medida en que las actividades realizadas fuera del horario laboral ayudan a restaurar los recursos energéticos necesarios para afrontar el estrés y las presiones laborales.

Se consideran cuatro dimensiones principales:

  • Desapego psicológico.
  • Relajación.
  • Dominio.
  • Control sobre el tiempo libre.

1.1 Modelo factorial confirmatorio de segundo orden

Cada dimensión se especifica como un factor de primer orden y posteriormente se define un factor de segundo orden denominado recuperacion.

modelo3 <- '

  # Factores de primer orden
  desapego =~ RPD01 + RPD02 + RPD03 + RPD05 + RPD06 +
              RPD07 + RPD08 + RPD09 + RPD10

  relajacion =~ RRE02 + RRE03 + RRE04 + RRE05 +
               RRE06 + RRE07 + RRE10

  control =~ RCO02 + RCO03 + RCO04 + RCO05 +
             RCO06 + RCO07

  dominio =~ RMA02 + RMA03 + RMA04 + RMA05 +
             RMA06 + RMA07 + RMA08 + RMA09 + RMA10

  # Factor de segundo orden
  recuperacion =~ desapego + relajacion + control + dominio
'

fit3 <- cfa(
  modelo3,
  data = dataframe3,
  estimator = "MLR",
  missing = "fiml"
)

summary(
  fit3,
  fit.measures = TRUE,
  standardized = TRUE,
  rsquare = TRUE
)
## lavaan 0.7-2 ended normally after 47 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        97
## 
##   Number of observations                           223
##   Number of missing patterns                         1
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                              1221.031     986.745
##   Degrees of freedom                               430         430
##   P-value (Chi-square)                           0.000       0.000
##   Scaling correction factor                                  1.237
##     Yuan-Bentler correction (Mplus variant)                       
## 
## Model Test Baseline Model:
## 
##   Test statistic                              7522.157    5610.569
##   Degrees of freedom                               465         465
##   P-value                                        0.000       0.000
##   Scaling correction factor                                  1.341
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.888       0.892
##   Tucker-Lewis Index (TLI)                       0.879       0.883
##                                                                   
##   Robust Comparative Fit Index (CFI)                         0.902
##   Robust Tucker-Lewis Index (TLI)                            0.894
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)             -10616.148  -10616.148
##   Scaling correction factor                                  1.525
##       for the MLR correction                                      
##   Loglikelihood unrestricted model (H1)     -10005.632  -10005.632
##   Scaling correction factor                                  1.290
##       for the MLR correction                                      
##                                                                   
##   Akaike (AIC)                               21426.296   21426.296
##   Bayesian (BIC)                             21756.791   21756.791
##   Sample-size adjusted Bayesian (SABIC)      21449.386   21449.386
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.091       0.076
##   90 Percent confidence interval - lower         0.085       0.071
##   90 Percent confidence interval - upper         0.097       0.082
##   P-value H_0: RMSEA <= 0.050                    0.000       0.000
##   P-value H_0: RMSEA >= 0.080                    0.998       0.135
##                                                                   
##   Robust RMSEA                                               0.084
##   90 Percent confidence interval - lower                     0.077
##   90 Percent confidence interval - upper                     0.091
##   P-value H_0: Robust RMSEA <= 0.050                         0.000
##   P-value H_0: Robust RMSEA >= 0.080                         0.839
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.073       0.073
## 
## Goodness of Fit Index:
## 
##   Goodness of Fit Index (GFI)                    0.814            
##   90 Percent confidence interval - lower         0.794            
##   90 Percent confidence interval - upper         0.833            
##                                                                   
##   Robust GFI                                                 0.836
##   90 Percent confidence interval - lower                     0.812
##   90 Percent confidence interval - upper                     0.858
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   desapego =~                                                           
##     RPD01             1.000                               1.386    0.788
##     RPD02             1.206    0.072   16.728    0.000    1.672    0.858
##     RPD03             1.143    0.069   16.505    0.000    1.584    0.797
##     RPD05             1.312    0.079   16.527    0.000    1.818    0.878
##     RPD06             1.088    0.101   10.732    0.000    1.507    0.745
##     RPD07             1.229    0.083   14.840    0.000    1.703    0.844
##     RPD08             1.164    0.102   11.435    0.000    1.613    0.800
##     RPD09             1.317    0.094   14.079    0.000    1.826    0.874
##     RPD10             1.346    0.089   15.076    0.000    1.866    0.878
##   relajacion =~                                                         
##     RRE02             1.000                               1.274    0.849
##     RRE03             1.120    0.068   16.541    0.000    1.427    0.870
##     RRE04             1.025    0.062   16.495    0.000    1.306    0.883
##     RRE05             1.055    0.059   17.871    0.000    1.344    0.910
##     RRE06             1.245    0.091   13.663    0.000    1.586    0.860
##     RRE07             1.117    0.081   13.775    0.000    1.423    0.825
##     RRE10             0.815    0.082    9.976    0.000    1.038    0.698
##   control =~                                                            
##     RCO02             1.000                               1.630    0.854
##     RCO03             0.948    0.043   21.977    0.000    1.545    0.912
##     RCO04             0.796    0.054   14.827    0.000    1.297    0.886
##     RCO05             0.818    0.052   15.590    0.000    1.333    0.907
##     RCO06             0.834    0.049   17.105    0.000    1.360    0.888
##     RCO07             0.835    0.051   16.444    0.000    1.361    0.884
##   dominio =~                                                            
##     RMA02             1.000                               1.407    0.730
##     RMA03             1.155    0.069   16.846    0.000    1.626    0.800
##     RMA04             1.178    0.084   14.059    0.000    1.658    0.873
##     RMA05             1.141    0.079   14.443    0.000    1.606    0.861
##     RMA06             0.645    0.096    6.701    0.000    0.908    0.579
##     RMA07             1.103    0.086   12.880    0.000    1.552    0.860
##     RMA08             1.109    0.096   11.533    0.000    1.560    0.856
##     RMA09             1.028    0.093   11.093    0.000    1.447    0.810
##     RMA10             1.055    0.081   12.967    0.000    1.485    0.798
##   recuperacion =~                                                       
##     desapego          1.000                               0.713    0.713
##     relajacion        1.149    0.140    8.215    0.000    0.892    0.892
##     control           1.341    0.141    9.496    0.000    0.813    0.813
##     dominio           0.858    0.137    6.283    0.000    0.603    0.603
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .RPD01             4.596    0.118   39.030    0.000    4.596    2.614
##    .RPD02             4.090    0.130   31.351    0.000    4.090    2.099
##    .RPD03             4.789    0.133   35.980    0.000    4.789    2.409
##    .RPD05             4.327    0.139   31.192    0.000    4.327    2.089
##    .RPD06             4.798    0.135   35.433    0.000    4.798    2.373
##    .RPD07             3.794    0.135   28.068    0.000    3.794    1.880
##    .RPD08             4.735    0.135   35.095    0.000    4.735    2.350
##    .RPD09             4.466    0.140   31.922    0.000    4.466    2.138
##    .RPD10             4.435    0.142   31.169    0.000    4.435    2.087
##    .RRE02             5.691    0.100   56.658    0.000    5.691    3.794
##    .RRE03             5.534    0.110   50.399    0.000    5.534    3.375
##    .RRE04             5.668    0.099   57.251    0.000    5.668    3.834
##    .RRE05             5.623    0.099   56.862    0.000    5.623    3.808
##    .RRE06             5.300    0.124   42.908    0.000    5.300    2.873
##    .RRE07             5.305    0.115   45.935    0.000    5.305    3.076
##    .RRE10             5.664    0.100   56.838    0.000    5.664    3.806
##    .RCO02             5.336    0.128   41.767    0.000    5.336    2.797
##    .RCO03             5.574    0.113   49.114    0.000    5.574    3.289
##    .RCO04             5.704    0.098   58.152    0.000    5.704    3.894
##    .RCO05             5.668    0.098   57.607    0.000    5.668    3.858
##    .RCO06             5.619    0.103   54.811    0.000    5.619    3.670
##    .RCO07             5.632    0.103   54.668    0.000    5.632    3.661
##    .RMA02             4.215    0.129   32.634    0.000    4.215    2.185
##    .RMA03             4.377    0.136   32.171    0.000    4.377    2.154
##    .RMA04             4.686    0.127   36.854    0.000    4.686    2.468
##    .RMA05             4.637    0.125   37.129    0.000    4.637    2.486
##    .RMA06             5.511    0.105   52.514    0.000    5.511    3.517
##    .RMA07             4.767    0.121   39.455    0.000    4.767    2.642
##    .RMA08             4.942    0.122   40.504    0.000    4.942    2.712
##    .RMA09             4.614    0.120   38.595    0.000    4.614    2.585
##    .RMA10             4.430    0.125   35.543    0.000    4.430    2.380
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .RPD01             1.172    0.154    7.607    0.000    1.172    0.379
##    .RPD02             0.999    0.159    6.291    0.000    0.999    0.263
##    .RPD03             1.441    0.207    6.949    0.000    1.441    0.365
##    .RPD05             0.987    0.144    6.877    0.000    0.987    0.230
##    .RPD06             1.817    0.251    7.252    0.000    1.817    0.444
##    .RPD07             1.173    0.169    6.956    0.000    1.173    0.288
##    .RPD08             1.460    0.238    6.130    0.000    1.460    0.360
##    .RPD09             1.032    0.207    4.985    0.000    1.032    0.236
##    .RPD10             1.034    0.187    5.523    0.000    1.034    0.229
##    .RRE02             0.626    0.104    6.024    0.000    0.626    0.278
##    .RRE03             0.653    0.126    5.179    0.000    0.653    0.243
##    .RRE04             0.481    0.119    4.041    0.000    0.481    0.220
##    .RRE05             0.374    0.121    3.093    0.002    0.374    0.172
##    .RRE06             0.886    0.124    7.150    0.000    0.886    0.260
##    .RRE07             0.950    0.230    4.131    0.000    0.950    0.319
##    .RRE10             1.137    0.190    5.992    0.000    1.137    0.513
##    .RCO02             0.983    0.142    6.911    0.000    0.983    0.270
##    .RCO03             0.484    0.108    4.480    0.000    0.484    0.169
##    .RCO04             0.462    0.103    4.480    0.000    0.462    0.215
##    .RCO05             0.382    0.069    5.515    0.000    0.382    0.177
##    .RCO06             0.494    0.114    4.313    0.000    0.494    0.211
##    .RCO07             0.515    0.094    5.478    0.000    0.515    0.218
##    .RMA02             1.740    0.236    7.375    0.000    1.740    0.468
##    .RMA03             1.485    0.261    5.697    0.000    1.485    0.360
##    .RMA04             0.855    0.117    7.318    0.000    0.855    0.237
##    .RMA05             0.899    0.183    4.905    0.000    0.899    0.259
##    .RMA06             1.631    0.183    8.914    0.000    1.631    0.664
##    .RMA07             0.845    0.132    6.412    0.000    0.845    0.260
##    .RMA08             0.886    0.158    5.620    0.000    0.886    0.267
##    .RMA09             1.094    0.177    6.169    0.000    1.094    0.343
##    .RMA10             1.259    0.224    5.616    0.000    1.259    0.363
##    .desapego          0.943    0.153    6.158    0.000    0.491    0.491
##    .relajacion        0.333    0.109    3.055    0.002    0.205    0.205
##    .control           0.900    0.189    4.752    0.000    0.339    0.339
##    .dominio           1.260    0.225    5.596    0.000    0.636    0.636
##     recuperacion      0.978    0.191    5.110    0.000    1.000    1.000
## 
## R-Square:
##                    Estimate
##     RPD01             0.621
##     RPD02             0.737
##     RPD03             0.635
##     RPD05             0.770
##     RPD06             0.556
##     RPD07             0.712
##     RPD08             0.640
##     RPD09             0.764
##     RPD10             0.771
##     RRE02             0.722
##     RRE03             0.757
##     RRE04             0.780
##     RRE05             0.828
##     RRE06             0.740
##     RRE07             0.681
##     RRE10             0.487
##     RCO02             0.730
##     RCO03             0.831
##     RCO04             0.785
##     RCO05             0.823
##     RCO06             0.789
##     RCO07             0.782
##     RMA02             0.532
##     RMA03             0.640
##     RMA04             0.763
##     RMA05             0.741
##     RMA06             0.336
##     RMA07             0.740
##     RMA08             0.733
##     RMA09             0.657
##     RMA10             0.637
##     desapego          0.509
##     relajacion        0.795
##     control           0.661
##     dominio           0.364

1.2 Índices de ajuste

fitMeasures(
  fit3,
  c("chisq", "df", "pvalue",
    "cfi", "tli",
    "rmsea", "srmr",
    "aic", "bic")
)
##     chisq        df    pvalue       cfi       tli     rmsea      srmr       aic 
##  1221.031   430.000     0.000     0.888     0.879     0.091     0.073 21426.296 
##       bic 
## 21756.791

Los principales criterios utilizados para valorar el ajuste son CFI, TLI, RMSEA y SRMR. De manera orientativa, valores de CFI y TLI cercanos o superiores a .90 indican un ajuste aceptable y valores cercanos o superiores a .95 un ajuste bueno. Para RMSEA y SRMR, valores iguales o inferiores a .08 se consideran generalmente aceptables.

1.3 Cargas factoriales

parameterEstimates(
  fit3,
  standardized = TRUE
) |>
  subset(op == "=~")
##             lhs op        rhs   est    se      z pvalue ci.lower ci.upper
## 1      desapego =~      RPD01 1.000 0.000     NA     NA    1.000    1.000
## 2      desapego =~      RPD02 1.206 0.072 16.728      0    1.065    1.348
## 3      desapego =~      RPD03 1.143 0.069 16.505      0    1.007    1.279
## 4      desapego =~      RPD05 1.312 0.079 16.527      0    1.156    1.467
## 5      desapego =~      RPD06 1.088 0.101 10.732      0    0.889    1.286
## 6      desapego =~      RPD07 1.229 0.083 14.840      0    1.067    1.391
## 7      desapego =~      RPD08 1.164 0.102 11.435      0    0.964    1.363
## 8      desapego =~      RPD09 1.317 0.094 14.079      0    1.134    1.501
## 9      desapego =~      RPD10 1.346 0.089 15.076      0    1.171    1.521
## 10   relajacion =~      RRE02 1.000 0.000     NA     NA    1.000    1.000
## 11   relajacion =~      RRE03 1.120 0.068 16.541      0    0.987    1.252
## 12   relajacion =~      RRE04 1.025 0.062 16.495      0    0.903    1.147
## 13   relajacion =~      RRE05 1.055 0.059 17.871      0    0.939    1.171
## 14   relajacion =~      RRE06 1.245 0.091 13.663      0    1.067    1.424
## 15   relajacion =~      RRE07 1.117 0.081 13.775      0    0.958    1.275
## 16   relajacion =~      RRE10 0.815 0.082  9.976      0    0.655    0.975
## 17      control =~      RCO02 1.000 0.000     NA     NA    1.000    1.000
## 18      control =~      RCO03 0.948 0.043 21.977      0    0.863    1.033
## 19      control =~      RCO04 0.796 0.054 14.827      0    0.691    0.901
## 20      control =~      RCO05 0.818 0.052 15.590      0    0.715    0.921
## 21      control =~      RCO06 0.834 0.049 17.105      0    0.739    0.930
## 22      control =~      RCO07 0.835 0.051 16.444      0    0.735    0.934
## 23      dominio =~      RMA02 1.000 0.000     NA     NA    1.000    1.000
## 24      dominio =~      RMA03 1.155 0.069 16.846      0    1.021    1.289
## 25      dominio =~      RMA04 1.178 0.084 14.059      0    1.014    1.343
## 26      dominio =~      RMA05 1.141 0.079 14.443      0    0.986    1.296
## 27      dominio =~      RMA06 0.645 0.096  6.701      0    0.457    0.834
## 28      dominio =~      RMA07 1.103 0.086 12.880      0    0.935    1.271
## 29      dominio =~      RMA08 1.109 0.096 11.533      0    0.920    1.297
## 30      dominio =~      RMA09 1.028 0.093 11.093      0    0.847    1.210
## 31      dominio =~      RMA10 1.055 0.081 12.967      0    0.896    1.215
## 32 recuperacion =~   desapego 1.000 0.000     NA     NA    1.000    1.000
## 33 recuperacion =~ relajacion 1.149 0.140  8.215      0    0.875    1.423
## 34 recuperacion =~    control 1.341 0.141  9.496      0    1.064    1.617
## 35 recuperacion =~    dominio 0.858 0.137  6.283      0    0.591    1.126
##    std.lv std.all
## 1   1.386   0.788
## 2   1.672   0.858
## 3   1.584   0.797
## 4   1.818   0.878
## 5   1.507   0.745
## 6   1.703   0.844
## 7   1.613   0.800
## 8   1.826   0.874
## 9   1.866   0.878
## 10  1.274   0.849
## 11  1.427   0.870
## 12  1.306   0.883
## 13  1.344   0.910
## 14  1.586   0.860
## 15  1.423   0.825
## 16  1.038   0.698
## 17  1.630   0.854
## 18  1.545   0.912
## 19  1.297   0.886
## 20  1.333   0.907
## 21  1.360   0.888
## 22  1.361   0.884
## 23  1.407   0.730
## 24  1.626   0.800
## 25  1.658   0.873
## 26  1.606   0.861
## 27  0.908   0.579
## 28  1.552   0.860
## 29  1.560   0.856
## 30  1.447   0.810
## 31  1.485   0.798
## 32  0.713   0.713
## 33  0.892   0.892
## 34  0.813   0.813
## 35  0.603   0.603

1.4 Índices de modificación

Los índices de modificación se revisan como apoyo para detectar posibles problemas de especificación. Las modificaciones no deben realizarse únicamente para aumentar los índices de ajuste; deben tener una justificación teórica.

modindices(
  fit3,
  sort. = TRUE,
  minimum.value = 10
)
##              lhs op   rhs      mi    epc sepc.lv sepc.all sepc.nox
## 347        RPD06 ~~ RPD08 109.338  1.234   1.234    0.758    0.758
## 421        RPD09 ~~ RPD10  96.902  0.840   0.840    0.813    0.813
## 661        RMA02 ~~ RMA03  47.245  0.810   0.810    0.504    0.504
## 174      control =~ RMA06  43.107  0.415   0.677    0.432    0.432
## 227 recuperacion =~ RMA06  41.307  0.807   0.798    0.509    0.509
## 265        RPD02 ~~ RPD07  40.479  0.539   0.539    0.498    0.498
## 466        RRE02 ~~ RRE03  34.218  0.301   0.301    0.471    0.471
## 149   relajacion =~ RMA06  32.520  0.481   0.612    0.391    0.391
## 507        RRE04 ~~ RRE05  30.999  0.217   0.217    0.511    0.511
## 544        RRE06 ~~ RRE07  29.815  0.391   0.391    0.426    0.426
## 268        RPD02 ~~ RPD10  20.910 -0.377  -0.377   -0.371   -0.371
## 642        RCO06 ~~ RCO07  19.972  0.188   0.188    0.373    0.373
## 608        RCO03 ~~ RCO06  18.660 -0.187  -0.187   -0.382   -0.382
## 190      dominio =~ RRE04  18.057 -0.192  -0.270   -0.182   -0.182
## 373        RPD07 ~~ RPD09  16.979 -0.360  -0.360   -0.328   -0.328
## 192      dominio =~ RRE06  16.472  0.243   0.343    0.186    0.186
## 672        RMA03 ~~ RMA07  15.458 -0.346  -0.346   -0.309   -0.309
## 592        RCO02 ~~ RCO03  15.408  0.228   0.228    0.330    0.330
## 299        RPD03 ~~ RRE04  14.261  0.238   0.238    0.286    0.286
## 514        RRE04 ~~ RCO05  14.224  0.130   0.130    0.305    0.305
## 670        RMA03 ~~ RMA05  14.203  0.342   0.342    0.296    0.296
## 125     desapego =~ RMA06  13.160  0.260   0.360    0.230    0.230
## 291        RPD03 ~~ RPD05  12.847  0.331   0.331    0.278    0.278
## 674        RMA03 ~~ RMA09  12.681 -0.343  -0.343   -0.269   -0.269
## 193      dominio =~ RRE07  12.491  0.215   0.303    0.176    0.176
## 314        RPD03 ~~ RMA06  12.444  0.381   0.381    0.249    0.249
## 298        RPD03 ~~ RRE03  11.889 -0.251  -0.251   -0.259   -0.259
## 509        RRE04 ~~ RRE07  11.612 -0.185  -0.185   -0.273   -0.273
## 231 recuperacion =~ RMA10  11.476  0.388   0.383    0.206    0.206
## 164      control =~ RRE03  11.331 -0.191  -0.311   -0.190   -0.190
## 153   relajacion =~ RMA10  11.314  0.258   0.329    0.177    0.177
## 594        RCO02 ~~ RCO05  11.241 -0.171  -0.171   -0.279   -0.279
## 656        RCO07 ~~ RMA06  10.906  0.222   0.222    0.242    0.242
## 267        RPD02 ~~ RPD09  10.596 -0.266  -0.266   -0.262   -0.262
## 232        RPD01 ~~ RPD02  10.534  0.266   0.266    0.246    0.246
## 694        RMA08 ~~ RMA09  10.532  0.251   0.251    0.255    0.255
## 233        RPD01 ~~ RPD03  10.472  0.308   0.308    0.237    0.237
## 167      control =~ RRE06  10.388  0.211   0.344    0.186    0.186

1.5 Confiabilidad

reliability(fit3)
##         desapego relajacion   control   dominio
## alpha  0.9519146  0.9432893 0.9549352 0.9399439
## omega  0.9527720  0.9453267 0.9563210 0.9425781
## omega2 0.9527720  0.9453267 0.9563210 0.9425781
## omega3 0.9521488  0.9448731 0.9562162 0.9432770
## avevar 0.6932340  0.7145866 0.7861420 0.6506597

1.6 Representación gráfica

lavaanPlot(
  model = fit3,
  coef = TRUE,
  cov = TRUE,
  stand = TRUE
)

Conclusión de la Parte 1

El análisis factorial confirmatorio de segundo orden permite evaluar si las dimensiones de desapego, relajación, dominio y control pueden ser explicadas mediante un constructo general de experiencias de recuperación. La decisión sobre la aceptación del modelo se basa en sus índices de ajuste, las cargas factoriales estandarizadas y la coherencia teórica de la estructura propuesta.

En caso de que los índices de ajuste iniciales no sean adecuados, se revisan los índices de modificación y las cargas factoriales para identificar posibles indicadores problemáticos. Cualquier depuración debe estar sustentada tanto estadística como conceptualmente.

PARTE 2. Análisis factorial confirmatorio: energía recuperada

La energía recuperada representa la percepción del colaborador respecto a la energía que logra recuperar.

2.1 Modelo factorial confirmatorio de primer orden

La base contiene siete indicadores para esta escala: EN01, EN02, EN04, EN05, EN06, EN07 y EN08.

modelo4 <- '

  energia =~ EN01 + EN02 + EN04 + EN05 +
             EN06 + EN07 + EN08
'

fit4 <- cfa(
  modelo4,
  data = dataframe3,
  estimator = "MLR",
  missing = "fiml"
)

summary(
  fit4,
  fit.measures = TRUE,
  standardized = TRUE,
  rsquare = TRUE
)
## lavaan 0.7-2 ended normally after 32 iterations
## 
##   Estimator                                         ML
##   Optimization method                           NLMINB
##   Number of model parameters                        21
## 
##   Number of observations                           223
##   Number of missing patterns                         1
## 
## Model Test User Model:
##                                               Standard      Scaled
##   Test Statistic                                47.222      29.915
##   Degrees of freedom                                14          14
##   P-value (Chi-square)                           0.000       0.008
##   Scaling correction factor                                  1.579
##     Yuan-Bentler correction (Mplus variant)                       
## 
## Model Test Baseline Model:
## 
##   Test statistic                              2324.436    1127.261
##   Degrees of freedom                                21          21
##   P-value                                        0.000       0.000
##   Scaling correction factor                                  2.062
## 
## User Model versus Baseline Model:
## 
##   Comparative Fit Index (CFI)                    0.986       0.986
##   Tucker-Lewis Index (TLI)                       0.978       0.978
##                                                                   
##   Robust Comparative Fit Index (CFI)                         0.989
##   Robust Tucker-Lewis Index (TLI)                            0.983
## 
## Loglikelihood and Information Criteria:
## 
##   Loglikelihood user model (H0)              -2017.154   -2017.154
##   Scaling correction factor                                  1.568
##       for the MLR correction                                      
##   Loglikelihood unrestricted model (H1)      -1993.543   -1993.543
##   Scaling correction factor                                  1.572
##       for the MLR correction                                      
##                                                                   
##   Akaike (AIC)                                4076.308    4076.308
##   Bayesian (BIC)                              4147.859    4147.859
##   Sample-size adjusted Bayesian (SABIC)       4081.307    4081.307
## 
## Root Mean Square Error of Approximation:
## 
##   RMSEA                                          0.103       0.071
##   90 Percent confidence interval - lower         0.072       0.043
##   90 Percent confidence interval - upper         0.136       0.100
##   P-value H_0: RMSEA <= 0.050                    0.004       0.100
##   P-value H_0: RMSEA >= 0.080                    0.892       0.331
##                                                                   
##   Robust RMSEA                                               0.091
##   90 Percent confidence interval - lower                     0.047
##   90 Percent confidence interval - upper                     0.135
##   P-value H_0: Robust RMSEA <= 0.050                         0.059
##   P-value H_0: Robust RMSEA >= 0.080                         0.696
## 
## Standardized Root Mean Square Residual:
## 
##   SRMR                                           0.011       0.011
## 
## Goodness of Fit Index:
## 
##   Goodness of Fit Index (GFI)                    0.959            
##   90 Percent confidence interval - lower         0.931            
##   90 Percent confidence interval - upper         0.980            
##                                                                   
##   Robust GFI                                                 0.968
##   90 Percent confidence interval - lower                     0.932
##   90 Percent confidence interval - upper                     0.991
## 
## Parameter Estimates:
## 
##   Standard errors                             Sandwich
##   Information bread                           Observed
##   Observed information based on                Hessian
## 
## Latent Variables:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##   energia =~                                                            
##     EN01              1.000                               1.674    0.893
##     EN02              1.029    0.036   28.607    0.000    1.723    0.933
##     EN04              0.999    0.044   22.573    0.000    1.672    0.924
##     EN05              0.999    0.044   22.940    0.000    1.672    0.939
##     EN06              0.986    0.036   27.112    0.000    1.651    0.940
##     EN07              1.049    0.041   25.575    0.000    1.755    0.928
##     EN08              1.036    0.038   27.263    0.000    1.734    0.946
## 
## Intercepts:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .EN01              4.717    0.125   37.591    0.000    4.717    2.517
##    .EN02              5.004    0.124   40.455    0.000    5.004    2.709
##    .EN04              4.883    0.121   40.279    0.000    4.883    2.697
##    .EN05              4.928    0.119   41.336    0.000    4.928    2.768
##    .EN06              4.767    0.118   40.530    0.000    4.767    2.714
##    .EN07              4.578    0.127   36.134    0.000    4.578    2.420
##    .EN08              4.776    0.123   38.920    0.000    4.776    2.606
## 
## Variances:
##                    Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
##    .EN01              0.711    0.124    5.710    0.000    0.711    0.202
##    .EN02              0.444    0.066    6.782    0.000    0.444    0.130
##    .EN04              0.481    0.111    4.325    0.000    0.481    0.147
##    .EN05              0.375    0.076    4.963    0.000    0.375    0.118
##    .EN06              0.359    0.056    6.374    0.000    0.359    0.116
##    .EN07              0.499    0.105    4.770    0.000    0.499    0.139
##    .EN08              0.353    0.073    4.844    0.000    0.353    0.105
##     energia           2.801    0.271   10.349    0.000    1.000    1.000
## 
## R-Square:
##                    Estimate
##     EN01              0.798
##     EN02              0.870
##     EN04              0.853
##     EN05              0.882
##     EN06              0.884
##     EN07              0.861
##     EN08              0.895

2.2 Índices de ajuste

fitMeasures(
  fit4,
  c("chisq", "df", "pvalue",
    "cfi", "tli",
    "rmsea", "srmr",
    "aic", "bic")
)
##    chisq       df   pvalue      cfi      tli    rmsea     srmr      aic 
##   47.222   14.000    0.000    0.986    0.978    0.103    0.011 4076.308 
##      bic 
## 4147.859

2.3 Cargas factoriales

parameterEstimates(
  fit4,
  standardized = TRUE
) |>
  subset(op == "=~")
##       lhs op  rhs   est    se      z pvalue ci.lower ci.upper std.lv std.all
## 1 energia =~ EN01 1.000 0.000     NA     NA    1.000    1.000  1.674   0.893
## 2 energia =~ EN02 1.029 0.036 28.607      0    0.959    1.100  1.723   0.933
## 3 energia =~ EN04 0.999 0.044 22.573      0    0.912    1.086  1.672   0.924
## 4 energia =~ EN05 0.999 0.044 22.940      0    0.913    1.084  1.672   0.939
## 5 energia =~ EN06 0.986 0.036 27.112      0    0.915    1.058  1.651   0.940
## 6 energia =~ EN07 1.049 0.041 25.575      0    0.968    1.129  1.755   0.928
## 7 energia =~ EN08 1.036 0.038 27.263      0    0.961    1.110  1.734   0.946

2.4 Índices de modificación

modindices(
  fit4,
  sort. = TRUE,
  minimum.value = 10
)
##     lhs op  rhs     mi    epc sepc.lv sepc.all sepc.nox
## 33 EN02 ~~ EN07 11.977 -0.133  -0.133   -0.282   -0.282
## 38 EN04 ~~ EN08 11.122 -0.115  -0.115   -0.280   -0.280

2.5 Confiabilidad

reliability(fit4)
##          energia
## alpha  0.9776335
## omega  0.9776877
## omega2 0.9776877
## omega3 0.9775783
## avevar 0.8623091

2.6 Representación gráfica

lavaanPlot(
  model = fit4,
  coef = TRUE,
  cov = TRUE,
  stand = TRUE
)

Conclusión de la Parte 2

El CFA de primer orden permite determinar si los indicadores de energía recuperada se agrupan adecuadamente en una única dimensión latente.

La consistencia interna de los siete indicadores es elevada, lo que proporciona evidencia favorable sobre la homogeneidad de la escala. Sin embargo, la consistencia interna no es suficiente para establecer la validez factorial, por lo que la decisión final debe considerar conjuntamente las cargas factoriales y los índices de ajuste del CFA.

LS0tDQp0aXRsZTogIk1vZGVsbyBkZSBFY3VhY2lvbmVzIEVzdHJ1Y3R1cmFsZXMiDQphdXRob3I6ICJMdWNlcm8gU2FsYXphciBBMDA4MzQ4OTMiDQpkYXRlOiAiMjAyNi0wOC0yNiINCm91dHB1dDoNCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IHRydWUNCiAgICB0b2NfZmxvYXQ6IHRydWUNCiAgICBjb2RlX2Rvd25sb2FkOiB0cnVlDQogICAgdGhlbWU6IHlldGkNCi0tLQ0KDQojIEludHJvZHVjY2nDs24NCg0KVW5vIGRlIGxvcyByZXRvcyBtw6FzIGltcG9ydGFudGVzIGRlIGxhcyBvcmdhbml6YWNpb25lcyBlcyBlbnRlbmRlciBlbCBlc3RhZG8geSBiaWVuZXN0YXIgZGUgbG9zIGNvbGFib3JhZG9yZXMsIHlhIHF1ZSBwdWVkZSBpbXBhY3RhciBkaXJlY3RhbWVudGUgZW4gZWwgZGVzZW1wZcOxbyB5IGVsIGxvZ3JvIGRlIGxvcyBvYmpldGl2b3MuDQoNCkVuIGVzdGUgZWplcmNpY2lvIHNlIGVtcGxlYW4gTW9kZWxvcyBkZSBFY3VhY2lvbmVzIEVzdHJ1Y3R1cmFsZXMgKFNFTSkgcGFyYSBlc3R1ZGlhciBlbCBjb25zdHJ1Y3RvIGRlIGV4cGVyaWVuY2lhcyBkZSByZWN1cGVyYWNpw7NuLCBsYSBlbmVyZ8OtYSByZWN1cGVyYWRhIHkgc3UgcmVsYWNpw7NuIGNvbiBlbCBlbmdhZ2VtZW50IGxhYm9yYWwuDQoNCiMgUHJlcGFyYWNpw7NuIGRlIGRhdG9zDQoNCmBgYHtyIHNldHVwLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KA0KICBlY2hvID0gVFJVRSwNCiAgbWVzc2FnZSA9IEZBTFNFLA0KICB3YXJuaW5nID0gRkFMU0UNCikNCg0KIyBJbnN0YWxhciB1bmEgc29sYSB2ZXogc2kgZXMgbmVjZXNhcmlvOg0KIyBpbnN0YWxsLnBhY2thZ2VzKGMoImxhdmFhbiIsICJsYXZhYW5QbG90IiwgInJlYWR4bCIsICJzZW1Ub29scyIpKQ0KDQpsaWJyYXJ5KGxhdmFhbikNCmxpYnJhcnkobGF2YWFuUGxvdCkNCmxpYnJhcnkocmVhZHhsKQ0KI2luc3RhbGwucGFja2FnZXMoInNlbVRvb2xzIikNCmxpYnJhcnkoc2VtVG9vbHMpDQpgYGANCg0KIyMgSW1wb3J0YWNpw7NuIGRlIGxhIGJhc2UgZGUgZGF0b3MNCg0KTGEgYmFzZSBkZSBkYXRvcyBjb250aWVuZSAyMjMgb2JzZXJ2YWNpb25lcyB5IDUxIHZhcmlhYmxlcy4gTG9zIG5vbWJyZXMgZGUgbG9zIGluZGljYWRvcmVzIHByZXNlbnRhbiBhbGd1bm9zIGVzcGFjaW9zIGFsIGZpbmFsLCBwb3IgbG8gcXVlIHNlIGxpbXBpYW4gYW50ZXMgZGUgdHJhYmFqYXIgY29uIGVsbG9zLg0KDQpgYGB7ciBpbXBvcnRhci1kYXRvc30NCmRhdGFmcmFtZTMgPC0gcmVhZF9leGNlbCgiRGF0b3NfU0VNX0VuZy54bHN4IikNCg0KIyBMaW1waWFyIGVzcGFjaW9zIGVuIGxvcyBub21icmVzIGRlIGxhcyB2YXJpYWJsZXMNCm5hbWVzKGRhdGFmcmFtZTMpIDwtIHRyaW13cyhuYW1lcyhkYXRhZnJhbWUzKSkNCg0KIyBSZXZpc2FyIGVzdHJ1Y3R1cmENCmRpbShkYXRhZnJhbWUzKQ0KbmFtZXMoZGF0YWZyYW1lMykNCnN1bW1hcnkoZGF0YWZyYW1lMykNCnN0cihkYXRhZnJhbWUzKQ0KYGBgDQoNCiMjIFJldmlzacOzbiBkZSB2YWxvcmVzIGZhbHRhbnRlcw0KDQpgYGB7ciBmYWx0YW50ZXN9DQpjb2xTdW1zKGlzLm5hKGRhdGFmcmFtZTMpKQ0KDQpzdW0oaXMubmEoZGF0YWZyYW1lMykpDQpgYGANCg0KTGEgcmV2aXNpw7NuIHBlcm1pdGUgY29tcHJvYmFyIHNpIGV4aXN0ZW4gdmFsb3JlcyBmYWx0YW50ZXMgYW50ZXMgZGUgZXN0aW1hciBsb3MgbW9kZWxvcy4NCg0KIyBQQVJURSAxLiBBbsOhbGlzaXMgZmFjdG9yaWFsIGNvbmZpcm1hdG9yaW8gZGUgc2VndW5kbyBvcmRlbjogZXhwZXJpZW5jaWFzIGRlIHJlY3VwZXJhY2nDs24NCg0KTGFzIGV4cGVyaWVuY2lhcyBkZSByZWN1cGVyYWNpw7NuIHNlIHJlZmllcmVuIGEgbGEgbWVkaWRhIGVuIHF1ZSBsYXMgYWN0aXZpZGFkZXMgcmVhbGl6YWRhcyBmdWVyYSBkZWwgaG9yYXJpbyBsYWJvcmFsIGF5dWRhbiBhIHJlc3RhdXJhciBsb3MgcmVjdXJzb3MgZW5lcmfDqXRpY29zIG5lY2VzYXJpb3MgcGFyYSBhZnJvbnRhciBlbCBlc3Ryw6lzIHkgbGFzIHByZXNpb25lcyBsYWJvcmFsZXMuDQoNClNlIGNvbnNpZGVyYW4gY3VhdHJvIGRpbWVuc2lvbmVzIHByaW5jaXBhbGVzOg0KDQotIERlc2FwZWdvIHBzaWNvbMOzZ2ljby4NCi0gUmVsYWphY2nDs24uDQotIERvbWluaW8uDQotIENvbnRyb2wgc29icmUgZWwgdGllbXBvIGxpYnJlLg0KDQojIyAxLjEgTW9kZWxvIGZhY3RvcmlhbCBjb25maXJtYXRvcmlvIGRlIHNlZ3VuZG8gb3JkZW4NCg0KQ2FkYSBkaW1lbnNpw7NuIHNlIGVzcGVjaWZpY2EgY29tbyB1biBmYWN0b3IgZGUgcHJpbWVyIG9yZGVuIHkgcG9zdGVyaW9ybWVudGUgc2UgZGVmaW5lIHVuIGZhY3RvciBkZSBzZWd1bmRvIG9yZGVuIGRlbm9taW5hZG8gYHJlY3VwZXJhY2lvbmAuDQoNCmBgYHtyIG1vZGVsby1yZWN1cGVyYWNpb259DQptb2RlbG8zIDwtICcNCg0KICAjIEZhY3RvcmVzIGRlIHByaW1lciBvcmRlbg0KICBkZXNhcGVnbyA9fiBSUEQwMSArIFJQRDAyICsgUlBEMDMgKyBSUEQwNSArIFJQRDA2ICsNCiAgICAgICAgICAgICAgUlBEMDcgKyBSUEQwOCArIFJQRDA5ICsgUlBEMTANCg0KICByZWxhamFjaW9uID1+IFJSRTAyICsgUlJFMDMgKyBSUkUwNCArIFJSRTA1ICsNCiAgICAgICAgICAgICAgIFJSRTA2ICsgUlJFMDcgKyBSUkUxMA0KDQogIGNvbnRyb2wgPX4gUkNPMDIgKyBSQ08wMyArIFJDTzA0ICsgUkNPMDUgKw0KICAgICAgICAgICAgIFJDTzA2ICsgUkNPMDcNCg0KICBkb21pbmlvID1+IFJNQTAyICsgUk1BMDMgKyBSTUEwNCArIFJNQTA1ICsNCiAgICAgICAgICAgICBSTUEwNiArIFJNQTA3ICsgUk1BMDggKyBSTUEwOSArIFJNQTEwDQoNCiAgIyBGYWN0b3IgZGUgc2VndW5kbyBvcmRlbg0KICByZWN1cGVyYWNpb24gPX4gZGVzYXBlZ28gKyByZWxhamFjaW9uICsgY29udHJvbCArIGRvbWluaW8NCicNCg0KZml0MyA8LSBjZmEoDQogIG1vZGVsbzMsDQogIGRhdGEgPSBkYXRhZnJhbWUzLA0KICBlc3RpbWF0b3IgPSAiTUxSIiwNCiAgbWlzc2luZyA9ICJmaW1sIg0KKQ0KDQpzdW1tYXJ5KA0KICBmaXQzLA0KICBmaXQubWVhc3VyZXMgPSBUUlVFLA0KICBzdGFuZGFyZGl6ZWQgPSBUUlVFLA0KICByc3F1YXJlID0gVFJVRQ0KKQ0KYGBgDQoNCiMjIDEuMiDDjW5kaWNlcyBkZSBhanVzdGUNCg0KYGBge3IgYWp1c3RlLXJlY3VwZXJhY2lvbn0NCmZpdE1lYXN1cmVzKA0KICBmaXQzLA0KICBjKCJjaGlzcSIsICJkZiIsICJwdmFsdWUiLA0KICAgICJjZmkiLCAidGxpIiwNCiAgICAicm1zZWEiLCAic3JtciIsDQogICAgImFpYyIsICJiaWMiKQ0KKQ0KYGBgDQoNCkxvcyBwcmluY2lwYWxlcyBjcml0ZXJpb3MgdXRpbGl6YWRvcyBwYXJhIHZhbG9yYXIgZWwgYWp1c3RlIHNvbiBDRkksIFRMSSwgUk1TRUEgeSBTUk1SLiBEZSBtYW5lcmEgb3JpZW50YXRpdmEsIHZhbG9yZXMgZGUgQ0ZJIHkgVExJIGNlcmNhbm9zIG8gc3VwZXJpb3JlcyBhIC45MCBpbmRpY2FuIHVuIGFqdXN0ZSBhY2VwdGFibGUgeSB2YWxvcmVzIGNlcmNhbm9zIG8gc3VwZXJpb3JlcyBhIC45NSB1biBhanVzdGUgYnVlbm8uIFBhcmEgUk1TRUEgeSBTUk1SLCB2YWxvcmVzIGlndWFsZXMgbyBpbmZlcmlvcmVzIGEgLjA4IHNlIGNvbnNpZGVyYW4gZ2VuZXJhbG1lbnRlIGFjZXB0YWJsZXMuDQoNCiMjIDEuMyBDYXJnYXMgZmFjdG9yaWFsZXMNCg0KYGBge3IgY2FyZ2FzLXJlY3VwZXJhY2lvbn0NCnBhcmFtZXRlckVzdGltYXRlcygNCiAgZml0MywNCiAgc3RhbmRhcmRpemVkID0gVFJVRQ0KKSB8Pg0KICBzdWJzZXQob3AgPT0gIj1+IikNCmBgYA0KDQojIyAxLjQgw41uZGljZXMgZGUgbW9kaWZpY2FjacOzbg0KDQpMb3Mgw61uZGljZXMgZGUgbW9kaWZpY2FjacOzbiBzZSByZXZpc2FuIGNvbW8gYXBveW8gcGFyYSBkZXRlY3RhciBwb3NpYmxlcyBwcm9ibGVtYXMgZGUgZXNwZWNpZmljYWNpw7NuLiBMYXMgbW9kaWZpY2FjaW9uZXMgbm8gZGViZW4gcmVhbGl6YXJzZSDDum5pY2FtZW50ZSBwYXJhIGF1bWVudGFyIGxvcyDDrW5kaWNlcyBkZSBhanVzdGU7IGRlYmVuIHRlbmVyIHVuYSBqdXN0aWZpY2FjacOzbiB0ZcOzcmljYS4NCg0KYGBge3IgbW9kaWZpY2FjaW9uZXMtcmVjdXBlcmFjaW9ufQ0KbW9kaW5kaWNlcygNCiAgZml0MywNCiAgc29ydC4gPSBUUlVFLA0KICBtaW5pbXVtLnZhbHVlID0gMTANCikNCmBgYA0KDQojIyAxLjUgQ29uZmlhYmlsaWRhZA0KDQpgYGB7ciBjb25maWFiaWxpZGFkLXJlY3VwZXJhY2lvbn0NCnJlbGlhYmlsaXR5KGZpdDMpDQpgYGANCg0KIyMgMS42IFJlcHJlc2VudGFjacOzbiBncsOhZmljYQ0KDQpgYGB7ciBncmFmaWNhLXJlY3VwZXJhY2lvbn0NCmxhdmFhblBsb3QoDQogIG1vZGVsID0gZml0MywNCiAgY29lZiA9IFRSVUUsDQogIGNvdiA9IFRSVUUsDQogIHN0YW5kID0gVFJVRQ0KKQ0KYGBgDQoNCiMjIENvbmNsdXNpw7NuIGRlIGxhIFBhcnRlIDENCg0KRWwgYW7DoWxpc2lzIGZhY3RvcmlhbCBjb25maXJtYXRvcmlvIGRlIHNlZ3VuZG8gb3JkZW4gcGVybWl0ZSBldmFsdWFyIHNpIGxhcyBkaW1lbnNpb25lcyBkZSBkZXNhcGVnbywgcmVsYWphY2nDs24sIGRvbWluaW8geSBjb250cm9sIHB1ZWRlbiBzZXIgZXhwbGljYWRhcyBtZWRpYW50ZSB1biBjb25zdHJ1Y3RvIGdlbmVyYWwgZGUgZXhwZXJpZW5jaWFzIGRlIHJlY3VwZXJhY2nDs24uIExhIGRlY2lzacOzbiBzb2JyZSBsYSBhY2VwdGFjacOzbiBkZWwgbW9kZWxvIHNlIGJhc2EgZW4gc3VzIMOtbmRpY2VzIGRlIGFqdXN0ZSwgbGFzIGNhcmdhcyBmYWN0b3JpYWxlcyBlc3RhbmRhcml6YWRhcyB5IGxhIGNvaGVyZW5jaWEgdGXDs3JpY2EgZGUgbGEgZXN0cnVjdHVyYSBwcm9wdWVzdGEuDQoNCkVuIGNhc28gZGUgcXVlIGxvcyDDrW5kaWNlcyBkZSBhanVzdGUgaW5pY2lhbGVzIG5vIHNlYW4gYWRlY3VhZG9zLCBzZSByZXZpc2FuIGxvcyDDrW5kaWNlcyBkZSBtb2RpZmljYWNpw7NuIHkgbGFzIGNhcmdhcyBmYWN0b3JpYWxlcyBwYXJhIGlkZW50aWZpY2FyIHBvc2libGVzIGluZGljYWRvcmVzIHByb2JsZW3DoXRpY29zLiBDdWFscXVpZXIgZGVwdXJhY2nDs24gZGViZSBlc3RhciBzdXN0ZW50YWRhIHRhbnRvIGVzdGFkw61zdGljYSBjb21vIGNvbmNlcHR1YWxtZW50ZS4NCg0KIyBQQVJURSAyLiBBbsOhbGlzaXMgZmFjdG9yaWFsIGNvbmZpcm1hdG9yaW86IGVuZXJnw61hIHJlY3VwZXJhZGENCg0KTGEgZW5lcmfDrWEgcmVjdXBlcmFkYSByZXByZXNlbnRhIGxhIHBlcmNlcGNpw7NuIGRlbCBjb2xhYm9yYWRvciByZXNwZWN0byBhIGxhIGVuZXJnw61hIHF1ZSBsb2dyYSByZWN1cGVyYXIuDQoNCiMjIDIuMSBNb2RlbG8gZmFjdG9yaWFsIGNvbmZpcm1hdG9yaW8gZGUgcHJpbWVyIG9yZGVuDQoNCkxhIGJhc2UgY29udGllbmUgc2lldGUgaW5kaWNhZG9yZXMgcGFyYSBlc3RhIGVzY2FsYTogRU4wMSwgRU4wMiwgRU4wNCwgRU4wNSwgRU4wNiwgRU4wNyB5IEVOMDguDQoNCmBgYHtyIG1vZGVsby1lbmVyZ2lhfQ0KbW9kZWxvNCA8LSAnDQoNCiAgZW5lcmdpYSA9fiBFTjAxICsgRU4wMiArIEVOMDQgKyBFTjA1ICsNCiAgICAgICAgICAgICBFTjA2ICsgRU4wNyArIEVOMDgNCicNCg0KZml0NCA8LSBjZmEoDQogIG1vZGVsbzQsDQogIGRhdGEgPSBkYXRhZnJhbWUzLA0KICBlc3RpbWF0b3IgPSAiTUxSIiwNCiAgbWlzc2luZyA9ICJmaW1sIg0KKQ0KDQpzdW1tYXJ5KA0KICBmaXQ0LA0KICBmaXQubWVhc3VyZXMgPSBUUlVFLA0KICBzdGFuZGFyZGl6ZWQgPSBUUlVFLA0KICByc3F1YXJlID0gVFJVRQ0KKQ0KYGBgDQoNCiMjIDIuMiDDjW5kaWNlcyBkZSBhanVzdGUNCg0KYGBge3IgYWp1c3RlLWVuZXJnaWF9DQpmaXRNZWFzdXJlcygNCiAgZml0NCwNCiAgYygiY2hpc3EiLCAiZGYiLCAicHZhbHVlIiwNCiAgICAiY2ZpIiwgInRsaSIsDQogICAgInJtc2VhIiwgInNybXIiLA0KICAgICJhaWMiLCAiYmljIikNCikNCmBgYA0KDQojIyAyLjMgQ2FyZ2FzIGZhY3RvcmlhbGVzDQoNCmBgYHtyIGNhcmdhcy1lbmVyZ2lhfQ0KcGFyYW1ldGVyRXN0aW1hdGVzKA0KICBmaXQ0LA0KICBzdGFuZGFyZGl6ZWQgPSBUUlVFDQopIHw+DQogIHN1YnNldChvcCA9PSAiPX4iKQ0KYGBgDQoNCiMjIDIuNCDDjW5kaWNlcyBkZSBtb2RpZmljYWNpw7NuDQoNCmBgYHtyIG1vZGlmaWNhY2lvbmVzLWVuZXJnaWF9DQptb2RpbmRpY2VzKA0KICBmaXQ0LA0KICBzb3J0LiA9IFRSVUUsDQogIG1pbmltdW0udmFsdWUgPSAxMA0KKQ0KYGBgDQoNCiMjIDIuNSBDb25maWFiaWxpZGFkDQoNCmBgYHtyIGNvbmZpYWJpbGlkYWQtZW5lcmdpYX0NCnJlbGlhYmlsaXR5KGZpdDQpDQpgYGANCg0KIyMgMi42IFJlcHJlc2VudGFjacOzbiBncsOhZmljYQ0KDQpgYGB7ciBncmFmaWNhLWVuZXJnaWF9DQpsYXZhYW5QbG90KA0KICBtb2RlbCA9IGZpdDQsDQogIGNvZWYgPSBUUlVFLA0KICBjb3YgPSBUUlVFLA0KICBzdGFuZCA9IFRSVUUNCikNCmBgYA0KDQojIyBDb25jbHVzacOzbiBkZSBsYSBQYXJ0ZSAyDQoNCkVsIENGQSBkZSBwcmltZXIgb3JkZW4gcGVybWl0ZSBkZXRlcm1pbmFyIHNpIGxvcyBpbmRpY2Fkb3JlcyBkZSBlbmVyZ8OtYSByZWN1cGVyYWRhIHNlIGFncnVwYW4gYWRlY3VhZGFtZW50ZSBlbiB1bmEgw7puaWNhIGRpbWVuc2nDs24gbGF0ZW50ZS4NCg0KTGEgY29uc2lzdGVuY2lhIGludGVybmEgZGUgbG9zIHNpZXRlIGluZGljYWRvcmVzIGVzIGVsZXZhZGEsIGxvIHF1ZSBwcm9wb3JjaW9uYSBldmlkZW5jaWEgZmF2b3JhYmxlIHNvYnJlIGxhIGhvbW9nZW5laWRhZCBkZSBsYSBlc2NhbGEuIFNpbiBlbWJhcmdvLCBsYSBjb25zaXN0ZW5jaWEgaW50ZXJuYSBubyBlcyBzdWZpY2llbnRlIHBhcmEgZXN0YWJsZWNlciBsYSB2YWxpZGV6IGZhY3RvcmlhbCwgcG9yIGxvIHF1ZSBsYSBkZWNpc2nDs24gZmluYWwgZGViZSBjb25zaWRlcmFyIGNvbmp1bnRhbWVudGUgbGFzIGNhcmdhcyBmYWN0b3JpYWxlcyB5IGxvcyDDrW5kaWNlcyBkZSBhanVzdGUgZGVsIENGQS4NCg0KDQo=