1- breve introduccion

  1. El ingreso público, es toda cantidad de dinero percibida por el Estado y demás entes públicos, cuyo objetivo esencial es financiar los gastos públicos. Las notas características del ingreso público son: El ingreso público es siempre una suma de dinero. No obstante, en algunas ocasiones el ingreso público que inicialmente se cuantifica en una cantidad de dinero, se hace efectivo en especie; como por ejemplo en aquellos casos en que la deuda tributaria se extinguen con la entrega de bienes del patrimonio histórico.
  2. Percibida por un Ente público.
  3. Tiene como objetivo esencial financiar el gasto público unidad de medida: mensual frecuencia: fuente: “(”http://www.inegi.org.mx/sistemas/bie/?idserPadre=11400090“)”

Se observa estacionalidad, serie temporal ya que la variación periódica y predecible de la misma con un periodo inferior o igual a un año.

Descomposicion clasica

autoplot(fit)
attributes are not identical across measure variables;
they will be dropped

La estacionalidad es un fenómeno que aparece cuando uno se da cuenta que en determinados períodos y con regularidad se repiten patrones de comportamiento de un hecho, como el que se esta observando en primera instancia.

La tendencia se torna objetivamente constante con una pequeña alsa en los primeros lapsos de los años.

Los residuos estan elevados, dado a las fluctuaciones de las salidas de capital y/o de las entradas del mismo.

Si es necesario, utilizar transformacion Box-Cox / logaritmos para estabilizar la varianza

Esta serie , dado a los metodos aplicados podemos decir que ya esta correctamente para empezar a modelar mediante diferencia y logaritmos.

5 En caso de estacionalidad, aplicar diferencias estacionales

5 Usar prueba Dickey-Fuller para evaluar el orden de integracion de la serie. Diferenciar hasta que la serie sea estacionaria.

summary(ur.df(ITGF))

############################################### 
# Augmented Dickey-Fuller Test Unit Root Test # 
############################################### 

Test regression none 


Call:
lm(formula = z.diff ~ z.lag.1 - 1 + z.diff.lag)

Residuals:
    Min      1Q  Median      3Q     Max 
-326.82   22.52   40.66   70.23  154.85 

Coefficients:
           Estimate Std. Error t value Pr(>|t|)    
z.lag.1    -0.11028    0.02436  -4.528 7.95e-06 ***
z.diff.lag -0.04780    0.05073  -0.942    0.347    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 105.2 on 386 degrees of freedom
Multiple R-squared:  0.06055,   Adjusted R-squared:  0.05568 
F-statistic: 12.44 on 2 and 386 DF,  p-value: 5.821e-06


Value of test-statistic is: -4.5279 

Critical values for test statistics: 
      1pct  5pct 10pct
tau1 -2.58 -1.95 -1.62

6. Usar herramientas ACF, PACF, EACF y criterios de Akaike/ Bayes para construir propuestas de modelos.

Mostrados los procesos anteriores con sus debidos criterios , podemos empezar a proponer una serie de cambios en el “ARIMA” para estructurar un modelo correcto que aluda al buen modelaje y presentacion del modelo “ingreso al sector publico”

propuesta 1

propuesta1
Series: diff.ITGF 
ARIMA(0,0,1)(0,1,1)[12] 

Coefficients:
          ma1     sma1
      -1.0000  -0.2315
s.e.   0.0104   0.0641

sigma^2 estimated as 0.6279:  log likelihood=-449.77
AIC=905.54   AICc=905.61   BIC=917.34
checkresiduals(propuesta1)

    Ljung-Box test

data:  Residuals from ARIMA(0,0,1)(0,1,1)[12]
Q* = 140.62, df = 22, p-value < 2.2e-16

Model df: 2.   Total lags used: 24

propuesta 2

propuesta2
Series: diff.ITGF 
ARIMA(0,0,2)(0,1,1)[12] 

Coefficients:
          ma1      ma2     sma1
      -0.7636  -0.2364  -0.3143
s.e.   0.0517   0.0509   0.0673

sigma^2 estimated as 0.5969:  log likelihood=-439.94
AIC=887.88   AICc=887.99   BIC=903.61
checkresiduals(propuesta2)

    Ljung-Box test

data:  Residuals from ARIMA(0,0,2)(0,1,1)[12]
Q* = 90.792, df = 21, p-value = 1.178e-10

Model df: 3.   Total lags used: 24

propuesta 3

propuesta3<-Arima(diff.ITGF,order=c(2,0,1),seasonal=c(1,1,1))
propuesta3<-Arima(diff.ITGF,order=c(2,0,1),seasonal=c(1,1,1))
propuesta3
Series: diff.ITGF 
ARIMA(2,0,1)(1,1,1)[12] 

Coefficients:
         ar1      ar2      ma1    sar1     sma1
      0.2571  -0.0503  -1.0000  0.6093  -0.9775
s.e.  0.0550   0.0514   0.0472  0.0604   0.0932

sigma^2 estimated as 0.5273:  log likelihood=-425.24
AIC=862.48   AICc=862.7   BIC=886.07
checkresiduals(propuesta3)

    Ljung-Box test

data:  Residuals from ARIMA(2,0,1)(1,1,1)[12]
Q* = 77.174, df = 19, p-value = 5.68e-09

Model df: 5.   Total lags used: 24

propuesta 4

propuesta4<-Arima(diff.ITGF,order=c(1,0,1),seasonal=c(2,1,1))
propuesta4<-Arima(diff.ITGF,order=c(1,0,1),seasonal=c(2,1,1))
propuesta4
Series: diff.ITGF 
ARIMA(1,0,1)(2,1,1)[12] 

Coefficients:
         ar1      ma1    sar1    sar2     sma1
      0.2450  -1.0000  0.6072  0.0088  -0.9823
s.e.  0.0531   0.0255  0.0623  0.0563   0.1202

sigma^2 estimated as 0.5272:  log likelihood=-425.7
AIC=863.41   AICc=863.64   BIC=887
checkresiduals(propuesta4)

    Ljung-Box test

data:  Residuals from ARIMA(1,0,1)(2,1,1)[12]
Q* = 78.17, df = 19, p-value = 3.837e-09

Model df: 5.   Total lags used: 24

7. Como parte del diagn´ostico del modelo, analizar los residuos y aplicar la prueba Ljung-Box.

partiendo del pronostico los resultados, la mejor propuesta es la numero 3 ya que solo tenemos 3 puntos abajo del 0.5, el resultado AICc es menor que en las otras propuestas y los residuos quedan mejor en las lineas de restriccion aunque dada la serie de ingresos al sector siempre va a tener unos residios fuera por el comportamiento de la serie mensual en conjunto con su pasado

eacf(diff(log(ITGF)))
AR/MA
  0 1 2 3 4 5 6 7 8 9 10 11 12 13
0 x x o o o o o o o o x  x  o  o 
1 x o o o o o o o x o o  x  x  o 
2 x o o o o o o o o o o  x  x  o 
3 x o x o o o o o o o o  x  x  o 
4 x x x o o o o o o o o  x  x  x 
5 x x x o o o o o o o o  x  x  o 
6 x x o o x o o o o o o  x  x  x 
7 x o o o o o o o o o o  x  x  o 

nos propone un AR(1), un MA(1) o un AR(2), MA(2)

8. Usar la funci´on auto.arima() y compare sus resultados con el inciso anterior.

propuesta.auto
Series: ITGF 
ARIMA(2,1,3) 

Coefficients:
         ar1      ar2      ma1     ma2      ma3
      1.6770  -0.9703  -2.5327  2.2793  -0.7214
s.e.  0.0157   0.0160   0.0446  0.0956   0.0559

sigma^2 estimated as 6498:  log likelihood=-2259.78
AIC=4531.57   AICc=4531.79   BIC=4555.35
checkresiduals(propuesta.auto)

    Ljung-Box test

data:  Residuals from ARIMA(2,1,3)
Q* = 226.85, df = 19, p-value < 2.2e-16

Model df: 5.   Total lags used: 24

9. Presente la ecuacion final y describa

\[ ITGF(t)=\phi0.2571_t + (\phi-0.0503_{t2}) + (\Phi-1_{t3}) + \theta0.6093_{t4} + (\Theta-0.9775_{t-12}) \]

La ecuacion proviniente de la propuesta 3 siendo asi que nuestro phi no estacional es de 0.2571 - un phi no estacional de 0.0503 - un phi estacional de 1 + un theta no estacioanl de 0.6093 - un theta estacional de 0.9775 con el componente mensual (12).

10. Crear un pronostico a dos años.

La proyeccion de nuestro pronostico muestra que nuestro ingreso al sector , se va a mantener constante, dado que la condiciones economicas que nos estamos enfrentando no son muy distintas a las politicas monetaria y gubernamentales de antes.

LS0tDQp0aXRsZTogIlRSQUJBSk8gRklOQUwiDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCmF1dGhvcjogIlJvbWVybyBHdXRpZXJyZXogQ2FzYW5kcmEgWXVudWVsIg0KICANCi0tLQ0KDQojIDEtIGJyZXZlIGludHJvZHVjY2lvbg0KYSkgRWwgaW5ncmVzbyBw+mJsaWNvLCBlcyB0b2RhIGNhbnRpZGFkIGRlIGRpbmVybyBwZXJjaWJpZGEgcG9yIGVsIEVzdGFkbyB5IGRlbeFzIGVudGVzIHD6YmxpY29zLCBjdXlvIG9iamV0aXZvIGVzZW5jaWFsIGVzIGZpbmFuY2lhciBsb3MgZ2FzdG9zIHD6YmxpY29zLg0KTGFzIG5vdGFzIGNhcmFjdGVy7XN0aWNhcyBkZWwgaW5ncmVzbyBw+mJsaWNvIHNvbjoNCkVsIGluZ3Jlc28gcPpibGljbyBlcyBzaWVtcHJlIHVuYSBzdW1hIGRlIGRpbmVyby4gTm8gb2JzdGFudGUsIGVuIGFsZ3VuYXMgb2Nhc2lvbmVzIGVsIGluZ3Jlc28gcPpibGljbyBxdWUgaW5pY2lhbG1lbnRlIHNlIGN1YW50aWZpY2EgZW4gdW5hIGNhbnRpZGFkIGRlIGRpbmVybywgc2UgaGFjZSBlZmVjdGl2byBlbiBlc3BlY2llOyBjb21vIHBvciBlamVtcGxvIGVuIGFxdWVsbG9zIGNhc29zIGVuIHF1ZSBsYSBkZXVkYSB0cmlidXRhcmlhIHNlIGV4dGluZ3VlbiBjb24gbGEgZW50cmVnYSBkZSBiaWVuZXMgZGVsIHBhdHJpbW9uaW8gaGlzdPNyaWNvLg0KYikgUGVyY2liaWRhIHBvciB1biBFbnRlIHD6YmxpY28uDQpjKSBUaWVuZSBjb21vIG9iamV0aXZvIGVzZW5jaWFsIGZpbmFuY2lhciBlbCBnYXN0byBw+mJsaWNvDQp1bmlkYWQgZGUgbWVkaWRhOiBtZW5zdWFsIA0KZnJlY3VlbmNpYTogDQpmdWVudGU6ICIoImh0dHA6Ly93d3cuaW5lZ2kub3JnLm14L3Npc3RlbWFzL2JpZS8/aWRzZXJQYWRyZT0xMTQwMDA5MCIpIg0KDQoNCmBgYHtyfQ0KbGlicmFyeShmb3JlaWduKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShmb3JlY2FzdCkNCmxpYnJhcnkoVFNBKQ0KbGlicmFyeSh1cmNhKQ0KYmFzZSA8LSByZWFkLmNzdigiQzovVXNlcnMvdXN1YXJpby9EZXNrdG9wL2luZ3Jlc29hbHNlY3RvciAxLjIuY3N2Iiwgc2VwID0gIjsiKQ0KSVRHRjwtIHRzKGJhc2UkdG90YWwsc3RhcnQgPSBjKDE5ODYsMSksZnJlcXVlbmN5ID0gMTIpDQphdXRvcGxvdChJVEdGKQ0KYGBgDQpTZSBvYnNlcnZhIGVzdGFjaW9uYWxpZGFkLCAgc2VyaWUgdGVtcG9yYWwgeWEgcXVlIGxhIHZhcmlhY2nzbiBwZXJp82RpY2EgeSBwcmVkZWNpYmxlIGRlIGxhIG1pc21hIGNvbiB1biBwZXJpb2RvIGluZmVyaW9yIG8gaWd1YWwgYSB1biBh8W8uDQoNCg0KI0Rlc2NvbXBvc2ljaW9uIGNsYXNpY2EgDQoNCg0KDQpgYGB7cn0NCmZpdCA8LSBkZWNvbXBvc2UoSVRHRiwgdHlwZT0nYWRkaXRpdmUnKQ0KYXV0b3Bsb3QoZml0KQ0KDQpgYGANCg0KTGEgZXN0YWNpb25hbGlkYWQgZXMgdW4gZmVu821lbm8gcXVlIGFwYXJlY2UgY3VhbmRvIHVubyBzZSBkYSBjdWVudGEgcXVlIGVuIGRldGVybWluYWRvcyBwZXLtb2RvcyB5IGNvbiByZWd1bGFyaWRhZCBzZSByZXBpdGVuIHBhdHJvbmVzIGRlIGNvbXBvcnRhbWllbnRvIGRlIHVuIGhlY2hvLCBjb21vIGVsIHF1ZSBzZSBlc3RhIG9ic2VydmFuZG8gZW4gcHJpbWVyYSBpbnN0YW5jaWEuDQoNCkxhIHRlbmRlbmNpYSBzZSB0b3JuYSAgb2JqZXRpdmFtZW50ZSBjb25zdGFudGUgY29uIHVuYSBwZXF1ZfFhIGFsc2EgZW4gbG9zIHByaW1lcm9zIGxhcHNvcyBkZSBsb3MgYfFvcy4NCg0KTG9zIHJlc2lkdW9zIGVzdGFuIGVsZXZhZG9zLCBkYWRvIGEgbGFzIGZsdWN0dWFjaW9uZXMgZGUgbGFzIHNhbGlkYXMgZGUgY2FwaXRhbCB5L28gZGUgbGFzIGVudHJhZGFzIGRlbCBtaXNtby4NCg0KDQoNCiNTaSBlcyBuZWNlc2FyaW8sIHV0aWxpemFyIHRyYW5zZm9ybWFjaW9uIEJveC1Db3ggLyBsb2dhcml0bW9zIHBhcmEgZXN0YWJpbGl6YXIgbGEgdmFyaWFuemENCmBgYHtyfQ0KQm94Q294LmFyKElUR0YpDQpgYGANCmBgYHtyfQ0KYXV0b3Bsb3QoSVRHRl4wLjcwLCB0eXBlPSJvIikNCmBgYA0KDQpFc3RhIHNlcmllICwgZGFkbyBhIGxvcyBtZXRvZG9zIGFwbGljYWRvcyBwb2RlbW9zIGRlY2lyIHF1ZSB5YSBlc3RhIGNvcnJlY3RhbWVudGUgcGFyYSBlbXBlemFyIGEgbW9kZWxhciBtZWRpYW50ZSBkaWZlcmVuY2lhIHkgbG9nYXJpdG1vcy4NCg0KDQojNSBFbiBjYXNvIGRlIGVzdGFjaW9uYWxpZGFkLCBhcGxpY2FyIGRpZmVyZW5jaWFzIGVzdGFjaW9uYWxlcw0KDQoNCmBgYHtyfQ0KZGlmZi5JVEdGIDwtIGRpZmYobG9nKElUR0YpKSANCmF1dG9wbG90KGRpZmYuSVRHRikgKyB4bGFiKCJh8W8iKSArIHlsYWIoImRhdG9zIikgKyBnZ3RpdGxlKCJJTkdSRVNPIEFMIFNFQ1RPUiBQVUJMSUNPIikNCg0KYGBgDQoNCg0KIzUgVXNhciAgcHJ1ZWJhICBEaWNrZXktRnVsbGVyICBwYXJhICBldmFsdWFyICBlbCAgb3JkZW4gIGRlICBpbnRlZ3JhY2lvbiAgZGUgIGxhICBzZXJpZS4gIERpZmVyZW5jaWFyICBoYXN0YSAgcXVlICBsYSAgc2VyaWUgIHNlYSAgZXN0YWNpb25hcmlhLg0KDQpgYGB7cn0NCnN1bW1hcnkodXIuZGYoSVRHRikpDQpgYGANCg0KIzYuIFVzYXIgaGVycmFtaWVudGFzIEFDRiwgUEFDRiwgRUFDRiB5IGNyaXRlcmlvcyBkZSBBa2Fpa2UvIEJheWVzIHBhcmEgY29uc3RydWlyIHByb3B1ZXN0YXMgZGUgbW9kZWxvcy4gDQoNCmBgYHtyfQ0KZ2d0c2Rpc3BsYXkoZGlmZi5JVEdGKQ0KYGBgDQoNCmBgYHtyfQ0KcmVzIDwtIGFybWFzdWJzZXRzKHk9ZGlmZi5JVEdGLCBuYXI9MTIsIG5tYT0xMiwgeS5uYW1lPSd0ZXN0JywgYXIubWV0aG9kPSdvbHMnKQ0KcGxvdChyZXMpDQpgYGANCg0KTW9zdHJhZG9zIGxvcyBwcm9jZXNvcyBhbnRlcmlvcmVzIGNvbiBzdXMgZGViaWRvcyBjcml0ZXJpb3MgLCBwb2RlbW9zIGVtcGV6YXIgYSBwcm9wb25lciB1bmEgc2VyaWUgZGUgY2FtYmlvcyBlbiBlbCAiQVJJTUEiIHBhcmEgZXN0cnVjdHVyYXIgdW4gbW9kZWxvIGNvcnJlY3RvIHF1ZSBhbHVkYSBhbCBidWVuIG1vZGVsYWplIHkgcHJlc2VudGFjaW9uIGRlbCBtb2RlbG8gImluZ3Jlc28gYWwgc2VjdG9yIHB1YmxpY28iDQoNCg0KDQoNCiNwcm9wdWVzdGEgMQ0KYGBge3J9DQpwcm9wdWVzdGExPC1BcmltYShkaWZmLklUR0Ysb3JkZXI9YygwLDAsMSksc2Vhc29uYWw9YygwLDEsMSkpDQpwcm9wdWVzdGExDQpgYGANCmBgYHtyfQ0KY2hlY2tyZXNpZHVhbHMocHJvcHVlc3RhMSkNCmBgYA0KDQojcHJvcHVlc3RhIDINCg0KYGBge3J9DQpwcm9wdWVzdGEyPC1BcmltYShkaWZmLklUR0Ysb3JkZXI9YygwLDAsMiksc2Vhc29uYWw9YygwLDEsMSkpDQpwcm9wdWVzdGEyDQpgYGANCmBgYHtyfQ0KY2hlY2tyZXNpZHVhbHMocHJvcHVlc3RhMikNCmBgYA0KI3Byb3B1ZXN0YSAzDQpgYGB7cn0NCnByb3B1ZXN0YTM8LUFyaW1hKGRpZmYuSVRHRixvcmRlcj1jKDIsMCwxKSxzZWFzb25hbD1jKDEsMSwxKSkNCnByb3B1ZXN0YTMNCmBgYA0KDQpgYGB7cn0NCmNoZWNrcmVzaWR1YWxzKHByb3B1ZXN0YTMpDQpgYGANCg0KI3Byb3B1ZXN0YSA0DQoNCmBgYHtyfQ0KcHJvcHVlc3RhNDwtQXJpbWEoZGlmZi5JVEdGLG9yZGVyPWMoMSwwLDEpLHNlYXNvbmFsPWMoMiwxLDEpKQ0KcHJvcHVlc3RhNA0KYGBgDQoNCmBgYHtyfQ0KY2hlY2tyZXNpZHVhbHMocHJvcHVlc3RhNCkNCmBgYA0KDQoNCg0KDQoNCiM3LiBDb21vIHBhcnRlIGRlbCBkaWFnbrRvc3RpY28gZGVsIG1vZGVsbywgYW5hbGl6YXIgbG9zIHJlc2lkdW9zIHkgYXBsaWNhciBsYSBwcnVlYmEgTGp1bmctQm94LiANCmBgYHtyfQ0KdHNkaWFnKHByb3B1ZXN0YTEsZ29mPTEyLG9taXQuaW5pdGlhbD1GKQ0KdHNkaWFnKHByb3B1ZXN0YTIsZ29mPTEyLG9taXQuaW5pdGlhbD1GKQ0KdHNkaWFnKHByb3B1ZXN0YTMsZ29mPTEyLG9taXQuaW5pdGlhbD1GKQ0KdHNkaWFnKHByb3B1ZXN0YTQsZ29mPTEyLG9taXQuaW5pdGlhbD1GKQ0KYGBgDQoNCnBhcnRpZW5kbyBkZWwgcHJvbm9zdGljbyBsb3MgcmVzdWx0YWRvcywgbGEgbWVqb3IgcHJvcHVlc3RhIGVzIGxhIG51bWVybyAzIHlhIHF1ZSBzb2xvIHRlbmVtb3MgMyBwdW50b3MgYWJham8gZGVsIDAuNSwgZWwgcmVzdWx0YWRvIEFJQ2MgZXMgbWVub3IgcXVlIGVuIGxhcyBvdHJhcyBwcm9wdWVzdGFzIHkgbG9zIHJlc2lkdW9zIHF1ZWRhbiBtZWpvciBlbiBsYXMgbGluZWFzIGRlIHJlc3RyaWNjaW9uIGF1bnF1ZSBkYWRhIGxhIHNlcmllIGRlIGluZ3Jlc29zIGFsIHNlY3RvciBzaWVtcHJlIHZhIGEgdGVuZXIgdW5vcyByZXNpZGlvcyBmdWVyYSBwb3IgZWwgY29tcG9ydGFtaWVudG8gZGUgbGEgc2VyaWUgbWVuc3VhbCBlbiBjb25qdW50byBjb24gc3UgcGFzYWRvIA0KDQpgYGB7cn0NCmVhY2YoZGlmZihsb2coSVRHRikpKQ0KYGBgDQoNCm5vcyBwcm9wb25lIHVuIEFSKDEpLCB1biBNQSgxKSBvIHVuIEFSKDIpLCBNQSgyKQ0KDQojOC4gVXNhciBsYSBmdW5jabRvbiBhdXRvLmFyaW1hKCkgeSBjb21wYXJlIHN1cyByZXN1bHRhZG9zIGNvbiBlbCBpbmNpc28gYW50ZXJpb3IuIA0KDQpgYGB7cn0NCnByb3B1ZXN0YS5hdXRvIDwtIGF1dG8uYXJpbWEoSVRHRiwgc3RlcHdpc2U9RkFMU0UsIGFwcHJveGltYXRpb249RkFMU0UpIA0KcHJvcHVlc3RhLmF1dG8NCmBgYA0KDQpgYGB7cn0NCmNoZWNrcmVzaWR1YWxzKHByb3B1ZXN0YS5hdXRvKQ0KYGBgDQoNCiM5LiBQcmVzZW50ZSBsYSBlY3VhY2lvbiBmaW5hbCB5IGRlc2NyaWJhIA0KDQokJCANCklUR0YodCk9XHBoaTAuMjU3MV90ICAgKyAgKFxwaGktMC4wNTAzX3t0Mn0pICArICAoXFBoaS0xX3t0M30pICArICBcdGhldGEwLjYwOTNfe3Q0fSAgKyAgKFxUaGV0YS0wLjk3NzVfe3QtMTJ9KQ0KJCQNCg0KTGEgZWN1YWNpb24gcHJvdmluaWVudGUgZGUgbGEgcHJvcHVlc3RhIDMgc2llbmRvIGFzaSBxdWUgbnVlc3RybyBwaGkgbm8gZXN0YWNpb25hbCBlcyBkZSAwLjI1NzEgLSAgdW4gcGhpIG5vIGVzdGFjaW9uYWwgZGUgMC4wNTAzIC0gdW4gcGhpIGVzdGFjaW9uYWwgZGUgMSArIHVuIHRoZXRhICBubyBlc3RhY2lvYW5sIGRlIDAuNjA5MyAtIHVuIHRoZXRhIGVzdGFjaW9uYWwgZGUgMC45Nzc1IGNvbiBlbCBjb21wb25lbnRlIG1lbnN1YWwgKDEyKS4NCg0KDQoNCiMxMC4gQ3JlYXIgdW4gcHJvbm9zdGljbyBhIGRvcyBh8W9zLg0KDQpgYGB7cn0NCnByb25vc3RpY28gPC0gcGxvdChmb3JlY2FzdChwcm9wdWVzdGEzLGg9MTIpKQ0KcHJvbm9zdGljbw0KYGBgDQoNCg0KTGEgcHJveWVjY2lvbiBkZSBudWVzdHJvIHByb25vc3RpY28gbXVlc3RyYSBxdWUgbnVlc3RybyBpbmdyZXNvIGFsIHNlY3RvciAsIHNlIHZhIGEgbWFudGVuZXIgY29uc3RhbnRlLCBkYWRvIHF1ZSBsYSBjb25kaWNpb25lcyBlY29ub21pY2FzIHF1ZSBub3MgZXN0YW1vcyBlbmZyZW50YW5kbyBubyBzb24gbXV5IGRpc3RpbnRhcyBhIGxhcyBwb2xpdGljYXMgbW9uZXRhcmlhIHkgZ3ViZXJuYW1lbnRhbGVzIGRlIGFudGVzLg==