Nama : Rayhan Aidifa Handoko
NRP : 5003221136
Model Backshift Operator
\[(1 - \phi_1 B - \phi_2 B^2) (1-B)
(1-B^{12}) Y_t = (1 - \Theta_1 B^{12} - \Theta_2 B^{24})
\epsilon_t\] Apabila dijadikan menjadi Persamaan Eksplisit maka
menjadi \[Y_t = (1+\phi_1)Y_{t-1} -
(\phi_1-\phi_2)Y_{t-2} - \phi_2 Y_{t-3} + Y_{t-12} - (1+\phi_1)Y_{t-13}
+ (\phi_1-\phi_2)Y_{t-14} + \phi_2 Y_{t-15} + \epsilon_t - \Theta_1
\epsilon_{t-12} - \Theta_2 \epsilon_{t-24}\] - Model ARIMA
(2,1,0)(0,1,2)^12 dengan ketentuan
library(forecast)
Warning: package ‘forecast’ was built under R version 4.4.3Registered S3 method overwritten by 'quantmod':
method from
as.zoo.data.frame zoo
library(tseries)
Warning: package ‘tseries’ was built under R version 4.4.3
‘tseries’ version: 0.10-58
‘tseries’ is a package for time series analysis and computational finance.
See ‘library(help="tseries")’ for details.
n <- 1000
set.seed(200)
at <- rnorm(n, mean=0, sd=1)
phi1 <- 0.4
phi2 <- 0.5
Theta1 <- 0.2
Theta2 <- 0.6 # Corrected from previous image where it was -0.6, ensure this is intended
n_burn_in <- 100
y <- numeric(n)
y[1:24] <- 0
for (t in 25:n) {
y[t] <- (1 + phi1) * y[t-1] -
(phi1 - phi2) * y[t-2] -
phi2 * y[t-3] +
y[t-12] -
(1 + phi1) * y[t-13] +
(phi1 - phi2) * y[t-14] +
phi2 * y[t-15] +
at[t] -
Theta1 * at[t-12] -
Theta2 * at[t-24]
}
if (n_burn_in > 0 && n_burn_in < n) {
y <- y[n_burn_in:n]
} else if (n_burn_in >= n) {
warning("n_burn_in is too large, resulting in an empty or single-element series for y after burn-in removal.")
}
if (length(y) > 1) {
ts.plot(y, main = "Plot Time Series")
} else if (length(y) == 1) {
plot(1, y, type="p", main="Plot Time Series (Single Point)", xlab="Index", ylab="y")
warning("Plotting a single data point for y after burn-in removal.")
} else {
warning("No data to plot for y after burn-in removal.")
}

ydiff=diff(y,12,1)
ts.plot(ydiff)

Interpretasi
Plot “ydiff” menunjukkan data hasil differencing yang bersifat
stasioner dengan pola musiman yang kuat dan berulang secara konsisten.
Tidak terlihat tren yang jelas, dan varians relatif stabil. Namun, di
akhir deret waktu (sekitar time > 800), terdapat lonjakan signifikan
yang menyimpang dari pola musiman sebelumnya, mengindikasikan
kemungkinan perubahan struktural atau pengaruh eksternal.
par(mfrow = c(1,2))
Acf(ydiff,50, main="PLOT ACF")
Pacf(ydiff,25,main="PLOT PACF")

Interpretasi
- PLOT (ACF) Pola ACF menurun secara lambat dan eksponensial.
Ini adalah ciri khas dari datamengandung komponen AR (AutoRegressive)
yang kuat.
Tidak ada cutoff yang jelas, tapi penurunan yang gradual menunjukkan
komponen AR.
- PLOT (PACF) PACF menunjukkan spike signifikan pada lag ke-1, lalu
nilai PACF menurun drastis dan berada di dalam batas signifikansi.
Pola ini mengindikasikan bahwa model AR order 1 atau 2 (AR(1) atau
AR(2)) yang mungkin cocok.
Tanpa Differencing model Backshift
Modelnya Menjadi sebagai berikut \[
(1 - \phi_1 B - \phi_2 B^2) Y_t = c + (1 - \Theta_1 B^{12} - \Theta_2
B^{24}) \epsilon_t
\] ### Tanpa Differencing Model Persamaan Eksplisit \[
Y_t = c + \phi_1 Y_{t-1} + \phi_2 Y_{t-2} + \epsilon_t - \Theta_1
\epsilon_{t-12} - \Theta_2 \epsilon_{t-24}
\]
n <- 1000
# Parameter model ARIMA(2,0,0)(0,0,2)12
phi1 <- 0.4
phi2 <- 0.5
Theta1 <- 0.2
Theta2 <- 0.6
# Standar deviasi dari suku error (white noise)
sigma_at <- 1
n_burn_in_idx <- 50
# --- Akhir Parameter Pengguna ---
# 1. Validasi Awal
if (n < 25) {
stop
}
if (!exists("n_burn_in_idx") || n_burn_in_idx < 25 || n_burn_in_idx > n) {
warning(paste0("Nilai 'n_burn_in_idx' (", if(exists("n_burn_in_idx")) n_burn_in_idx else "tidak terdefinisi",
") tidak valid atau di luar rentang [25, n=", n, "]. ",
"Seri final akan dimulai dari indeks 25 (tidak ada burn-in tambahan)."))
n_burn_in_idx <- 25 # Default jika tidak valid
}
at <- rnorm(n, mean = 0, sd = sigma_at)
y2 <- numeric(n)
y2[1:24] <- 0 # Inisialisasi dengan nol
for (t in 25:n) {
y2[t] <- phi1 * y2[t-1] +
phi2 * y2[t-2] +
at[t] - # Suku error saat ini
Theta1 * at[t-12] -
Theta2 * at[t-24]
}
y2_final <- y2[n_burn_in_idx:n]
if (length(y2_final) > 0) {
ts.plot(y2_final, main = "Plot Time Series (Simulasi ARIMA(2,0,0)(0,0,2)12)")
} else {
warning("Seri final 'y2_final' kosong. Periksa nilai 'n' dan 'n_burn_in_idx'.")
}

Interpretasi
- Data tampak stasioner: Berfluktuasi di sekitar rata-rata yang stabil
(sekitar 0) dan variansnya juga terlihat konstan. Tidak ada tren yang
jelas.
- Ada pola ketergantungan (autokorelasi): Data tidak acak, menunjukkan
adanya korelasi antar observasi dari waktu ke waktu, sesuai dengan
komponen AR dan MA musiman dalam model.
- Pola musiman secara plot terlihat, meskipun mungkin tidak terlalu
jelas hanya dari inspeksi visual plot ini.
Singkatnya, plot menunjukkan data time series yang berperilaku
stasioner dengan struktur korelasi yang diharapkan dari model ARIMA yang
mensimulasikannya.
par(mfrow = c(1,2))
Acf(y2,50, main="PLOT ACF")
Pacf(y2,25,main="PLOT PACF")

Interpretasi
Turun lambat: Korelasi antar data masih kuat meskipun jarak (lag)
makin jauh. Ini ciri kuat data tidak stasioner (kemungkinan ada tren
atau butuh differencing). Jika data sudah stasioner, pola ini bisa
mengindikasikan proses AR (Autoregressive).
Terpotong setelah lag 1 atau 2: Korelasi parsial signifikan hanya
pada lag 1 (sangat jelas) dan mungkin lag 2, lalu langsung tidak
signifikan. Ini ciri kuat proses AR(2).
LS0tDQp0aXRsZTogVHVnYXMgQURXIE1PREVMIEFSSU1BICgyLDEsMCkoMCwxLDIpXjEyDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KTmFtYSA6IFJheWhhbiBBaWRpZmEgSGFuZG9rbyA8YnI+DQpOUlAgOiA1MDAzMjIxMTM2IA0KDQoNCmBgYHtyfQ0KDQogIA0KYGBgDQpNb2RlbCBCYWNrc2hpZnQgT3BlcmF0b3INCg0KJCQoMSAtIFxwaGlfMSBCIC0gXHBoaV8yIEJeMikgKDEtQikgKDEtQl57MTJ9KSBZX3QgPSAoMSAtIFxUaGV0YV8xIEJeezEyfSAtIFxUaGV0YV8yIEJeezI0fSkgXGVwc2lsb25fdCQkDQpBcGFiaWxhIGRpamFkaWthbiBtZW5qYWRpIFBlcnNhbWFhbiBFa3NwbGlzaXQgbWFrYSBtZW5qYWRpIA0KJCRZX3QgPSAoMStccGhpXzEpWV97dC0xfSAtIChccGhpXzEtXHBoaV8yKVlfe3QtMn0gLSBccGhpXzIgWV97dC0zfSArIFlfe3QtMTJ9IC0gKDErXHBoaV8xKVlfe3QtMTN9ICsgKFxwaGlfMS1ccGhpXzIpWV97dC0xNH0gKyBccGhpXzIgWV97dC0xNX0gKyBcZXBzaWxvbl90IC0gXFRoZXRhXzEgXGVwc2lsb25fe3QtMTJ9IC0gXFRoZXRhXzIgXGVwc2lsb25fe3QtMjR9JCQNCi0gTW9kZWwgQVJJTUEgKDIsMSwwKSgwLDEsMileMTINCmRlbmdhbiBrZXRlbnR1YW4NCg0KLSBOb24gU2Vhc29uYWw6IDxicj4NCkF1dG8gUmVncmVzc2l2ZSAoQVIpOiAyIDxicj4NCkRJZmZlcmVuY2luZyAoSSk6IDEgPGJyPg0KTW92aW5nIEF2ZXJhZ2UoTUEpOjANCg0KLSBTZWFzb25hbCA6IDxicj4NCkF1dG8gUmVncmVzc2l2ZSAoQVIpOiAwIDxicj4NCkRJZmZlcmVuY2luZyAoSSk6IDEgPGJyPg0KTW92aW5nIEF2ZXJhZ2UoTUEpOjINCg0KDQpgYGB7cn0NCmxpYnJhcnkoZm9yZWNhc3QpDQpsaWJyYXJ5KHRzZXJpZXMpDQoNCm4gPC0gMTAwMA0KDQpzZXQuc2VlZCgyMDApIA0KYXQgPC0gcm5vcm0obiwgbWVhbj0wLCBzZD0xKQ0KDQpwaGkxIDwtIDAuNA0KcGhpMiA8LSAwLjUNClRoZXRhMSA8LSAwLjINClRoZXRhMiA8LSAwLjYgIyBDb3JyZWN0ZWQgZnJvbSBwcmV2aW91cyBpbWFnZSB3aGVyZSBpdCB3YXMgLTAuNiwgZW5zdXJlIHRoaXMgaXMgaW50ZW5kZWQNCm5fYnVybl9pbiA8LSAxMDANCg0KDQp5IDwtIG51bWVyaWMobikNCg0KeVsxOjI0XSA8LSAwDQoNCmZvciAodCBpbiAyNTpuKSB7DQogIHlbdF0gPC0gKDEgKyBwaGkxKSAqIHlbdC0xXSAtDQogICAgICAgICAgKHBoaTEgLSBwaGkyKSAqIHlbdC0yXSAtDQogICAgICAgICAgcGhpMiAqIHlbdC0zXSArDQogICAgICAgICAgeVt0LTEyXSAtDQogICAgICAgICAgKDEgKyBwaGkxKSAqIHlbdC0xM10gKw0KICAgICAgICAgIChwaGkxIC0gcGhpMikgKiB5W3QtMTRdICsNCiAgICAgICAgICBwaGkyICogeVt0LTE1XSArDQogICAgICAgICAgYXRbdF0gLQ0KICAgICAgICAgIFRoZXRhMSAqIGF0W3QtMTJdIC0NCiAgICAgICAgICBUaGV0YTIgKiBhdFt0LTI0XQ0KfQ0KaWYgKG5fYnVybl9pbiA+IDAgJiYgbl9idXJuX2luIDwgbikgew0KICB5IDwtIHlbbl9idXJuX2luOm5dDQp9IGVsc2UgaWYgKG5fYnVybl9pbiA+PSBuKSB7DQogIHdhcm5pbmcoIm5fYnVybl9pbiBpcyB0b28gbGFyZ2UsIHJlc3VsdGluZyBpbiBhbiBlbXB0eSBvciBzaW5nbGUtZWxlbWVudCBzZXJpZXMgZm9yIHkgYWZ0ZXIgYnVybi1pbiByZW1vdmFsLiIpDQogIA0KfQ0KDQoNCmlmIChsZW5ndGgoeSkgPiAxKSB7DQogIHRzLnBsb3QoeSwgbWFpbiA9ICJQbG90IFRpbWUgU2VyaWVzIikNCn0gZWxzZSBpZiAobGVuZ3RoKHkpID09IDEpIHsNCiAgcGxvdCgxLCB5LCB0eXBlPSJwIiwgbWFpbj0iUGxvdCBUaW1lIFNlcmllcyAoU2luZ2xlIFBvaW50KSIsIHhsYWI9IkluZGV4IiwgeWxhYj0ieSIpDQogIHdhcm5pbmcoIlBsb3R0aW5nIGEgc2luZ2xlIGRhdGEgcG9pbnQgZm9yIHkgYWZ0ZXIgYnVybi1pbiByZW1vdmFsLiIpDQp9IGVsc2Ugew0KICB3YXJuaW5nKCJObyBkYXRhIHRvIHBsb3QgZm9yIHkgYWZ0ZXIgYnVybi1pbiByZW1vdmFsLiIpDQp9DQoNCmBgYA0KYGBge3J9DQp5ZGlmZj1kaWZmKHksMTIsMSkNCnRzLnBsb3QoeWRpZmYpDQoNCmBgYA0KIyMjIEludGVycHJldGFzaSANClBsb3QgInlkaWZmIiBtZW51bmp1a2thbiBkYXRhIGhhc2lsIGRpZmZlcmVuY2luZyB5YW5nIGJlcnNpZmF0IHN0YXNpb25lciBkZW5nYW4gcG9sYSBtdXNpbWFuIHlhbmcga3VhdCBkYW4gYmVydWxhbmcgc2VjYXJhIGtvbnNpc3Rlbi4gVGlkYWsgdGVybGloYXQgdHJlbiB5YW5nIGplbGFzLCBkYW4gdmFyaWFucyByZWxhdGlmIHN0YWJpbC4gTmFtdW4sIGRpIGFraGlyIGRlcmV0IHdha3R1IChzZWtpdGFyIHRpbWUgPiA4MDApLCB0ZXJkYXBhdCBsb25qYWthbiBzaWduaWZpa2FuIHlhbmcgbWVueWltcGFuZyBkYXJpIHBvbGEgbXVzaW1hbiBzZWJlbHVtbnlhLCBtZW5naW5kaWthc2lrYW4ga2VtdW5na2luYW4gcGVydWJhaGFuIHN0cnVrdHVyYWwgYXRhdSBwZW5nYXJ1aCBla3N0ZXJuYWwuDQoNCmBgYHtyfQ0KDQpwYXIobWZyb3cgPSBjKDEsMikpDQpBY2YoeWRpZmYsNTAsIG1haW49IlBMT1QgQUNGIikNClBhY2YoeWRpZmYsMjUsbWFpbj0iUExPVCBQQUNGIikNCmBgYA0KIyMjIEludGVycHJldGFzaQ0KLSBQTE9UIChBQ0YpDQpQb2xhIEFDRiBtZW51cnVuIHNlY2FyYSBsYW1iYXQgZGFuIGVrc3BvbmVuc2lhbC4NCg0KSW5pIGFkYWxhaCBjaXJpIGtoYXMgZGFyaSBkYXRhbWVuZ2FuZHVuZyBrb21wb25lbiBBUiAoQXV0b1JlZ3Jlc3NpdmUpIHlhbmcga3VhdC4NCg0KVGlkYWsgYWRhIGN1dG9mZiB5YW5nIGplbGFzLCB0YXBpIHBlbnVydW5hbiB5YW5nIGdyYWR1YWwgbWVudW5qdWtrYW4ga29tcG9uZW4gQVIuDQoNCi0gUExPVCAoUEFDRikNClBBQ0YgbWVudW5qdWtrYW4gc3Bpa2Ugc2lnbmlmaWthbiBwYWRhIGxhZyBrZS0xLCBsYWx1IG5pbGFpIFBBQ0YgbWVudXJ1biBkcmFzdGlzIGRhbiBiZXJhZGEgZGkgZGFsYW0gYmF0YXMgc2lnbmlmaWthbnNpLg0KDQpQb2xhIGluaSBtZW5naW5kaWthc2lrYW4gYmFod2EgbW9kZWwgQVIgb3JkZXIgMSBhdGF1IDIgKEFSKDEpIGF0YXUgQVIoMikpIHlhbmcgbXVuZ2tpbiBjb2Nvay4NCg0KDQoNCg0KDQoNCg0KIyMjIFRhbnBhIERpZmZlcmVuY2luZyBtb2RlbCBCYWNrc2hpZnQNCk1vZGVsbnlhIE1lbmphZGkgc2ViYWdhaSBiZXJpa3V0IA0KJCQNCigxIC0gXHBoaV8xIEIgLSBccGhpXzIgQl4yKSBZX3QgPSBjICsgKDEgLSBcVGhldGFfMSBCXnsxMn0gLSBcVGhldGFfMiBCXnsyNH0pIFxlcHNpbG9uX3QNCiQkDQojIyMgVGFucGEgRGlmZmVyZW5jaW5nIE1vZGVsIFBlcnNhbWFhbiBFa3NwbGlzaXQgDQokJA0KWV90ID0gYyArIFxwaGlfMSBZX3t0LTF9ICsgXHBoaV8yIFlfe3QtMn0gKyBcZXBzaWxvbl90IC0gXFRoZXRhXzEgXGVwc2lsb25fe3QtMTJ9IC0gXFRoZXRhXzIgXGVwc2lsb25fe3QtMjR9DQokJA0KYGBge3J9DQoNCm4gPC0gMTAwMA0KDQojIFBhcmFtZXRlciBtb2RlbCBBUklNQSgyLDAsMCkoMCwwLDIpMTINCnBoaTEgPC0gMC40ICAgICANCnBoaTIgPC0gMC41ICAgICANClRoZXRhMSA8LSAwLjIgICANClRoZXRhMiA8LSAwLjYgICANCg0KDQojIFN0YW5kYXIgZGV2aWFzaSBkYXJpIHN1a3UgZXJyb3IgKHdoaXRlIG5vaXNlKQ0Kc2lnbWFfYXQgPC0gMQ0KDQpuX2J1cm5faW5faWR4IDwtIDUwDQoNCiMgLS0tIEFraGlyIFBhcmFtZXRlciBQZW5nZ3VuYSAtLS0NCg0KDQojIDEuIFZhbGlkYXNpIEF3YWwNCmlmIChuIDwgMjUpIHsNCiAgc3RvcA0KfQ0KaWYgKCFleGlzdHMoIm5fYnVybl9pbl9pZHgiKSB8fCBuX2J1cm5faW5faWR4IDwgMjUgfHwgbl9idXJuX2luX2lkeCA+IG4pIHsNCiAgd2FybmluZyhwYXN0ZTAoIk5pbGFpICduX2J1cm5faW5faWR4JyAoIiwgaWYoZXhpc3RzKCJuX2J1cm5faW5faWR4IikpIG5fYnVybl9pbl9pZHggZWxzZSAidGlkYWsgdGVyZGVmaW5pc2kiLA0KICAgICAgICAgICAgICAgICAiKSB0aWRhayB2YWxpZCBhdGF1IGRpIGx1YXIgcmVudGFuZyBbMjUsIG49IiwgbiwgIl0uICIsDQogICAgICAgICAgICAgICAgICJTZXJpIGZpbmFsIGFrYW4gZGltdWxhaSBkYXJpIGluZGVrcyAyNSAodGlkYWsgYWRhIGJ1cm4taW4gdGFtYmFoYW4pLiIpKQ0KICBuX2J1cm5faW5faWR4IDwtIDI1ICMgRGVmYXVsdCBqaWthIHRpZGFrIHZhbGlkDQp9DQoNCmF0IDwtIHJub3JtKG4sIG1lYW4gPSAwLCBzZCA9IHNpZ21hX2F0KQ0KDQp5MiA8LSBudW1lcmljKG4pDQoNCnkyWzE6MjRdIDwtIDAgIyBJbmlzaWFsaXNhc2kgZGVuZ2FuIG5vbA0KDQpmb3IgKHQgaW4gMjU6bikgew0KICB5Mlt0XSA8LSBwaGkxICogeTJbdC0xXSArDQogICAgICAgICAgIHBoaTIgKiB5Mlt0LTJdICsNCiAgICAgICAgICAgYXRbdF0gLSAjIFN1a3UgZXJyb3Igc2FhdCBpbmkNCiAgICAgICAgICAgVGhldGExICogYXRbdC0xMl0gLQ0KICAgICAgICAgICBUaGV0YTIgKiBhdFt0LTI0XQ0KfQ0KDQp5Ml9maW5hbCA8LSB5MltuX2J1cm5faW5faWR4Om5dDQoNCmlmIChsZW5ndGgoeTJfZmluYWwpID4gMCkgew0KICB0cy5wbG90KHkyX2ZpbmFsLCBtYWluID0gIlBsb3QgVGltZSBTZXJpZXMgKFNpbXVsYXNpIEFSSU1BKDIsMCwwKSgwLDAsMikxMikiKQ0KfSBlbHNlIHsNCiAgd2FybmluZygiU2VyaSBmaW5hbCAneTJfZmluYWwnIGtvc29uZy4gUGVyaWtzYSBuaWxhaSAnbicgZGFuICduX2J1cm5faW5faWR4Jy4iKQ0KfQ0KYGBgDQojIyMgSW50ZXJwcmV0YXNpDQotIERhdGEgdGFtcGFrIHN0YXNpb25lcjogQmVyZmx1a3R1YXNpIGRpIHNla2l0YXIgcmF0YS1yYXRhIHlhbmcgc3RhYmlsIChzZWtpdGFyIDApIGRhbiB2YXJpYW5zbnlhIGp1Z2EgdGVybGloYXQga29uc3Rhbi4gVGlkYWsgYWRhIHRyZW4geWFuZyBqZWxhcy4NCi0gQWRhIHBvbGEga2V0ZXJnYW50dW5nYW4gKGF1dG9rb3JlbGFzaSk6IERhdGEgdGlkYWsgYWNhaywgbWVudW5qdWtrYW4gYWRhbnlhIGtvcmVsYXNpIGFudGFyIG9ic2VydmFzaSBkYXJpIHdha3R1IGtlIHdha3R1LCBzZXN1YWkgZGVuZ2FuIGtvbXBvbmVuIEFSIGRhbiBNQSBtdXNpbWFuIGRhbGFtIG1vZGVsLg0KLSBQb2xhIG11c2ltYW4gc2VjYXJhIHBsb3QgdGVybGloYXQsIG1lc2tpcHVuIG11bmdraW4gdGlkYWsgdGVybGFsdSBqZWxhcyBoYW55YSBkYXJpIGluc3Bla3NpIHZpc3VhbCBwbG90IGluaS4NCg0KU2luZ2thdG55YSwgcGxvdCBtZW51bmp1a2thbiBkYXRhIHRpbWUgc2VyaWVzIHlhbmcgYmVycGVyaWxha3Ugc3Rhc2lvbmVyIGRlbmdhbiBzdHJ1a3R1ciBrb3JlbGFzaSB5YW5nIGRpaGFyYXBrYW4gZGFyaSBtb2RlbCBBUklNQSB5YW5nIG1lbnNpbXVsYXNpa2FubnlhLg0KYGBge3J9DQpwYXIobWZyb3cgPSBjKDEsMikpDQpBY2YoeTIsNTAsIG1haW49IlBMT1QgQUNGIikNClBhY2YoeTIsMjUsbWFpbj0iUExPVCBQQUNGIikNCmBgYA0KIyMjIEludGVycHJldGFzaSANCi0gUGxvdCBBQ0Y6DQoNClR1cnVuIGxhbWJhdDogS29yZWxhc2kgYW50YXIgZGF0YSBtYXNpaCBrdWF0IG1lc2tpcHVuIGphcmFrIChsYWcpIG1ha2luIGphdWguIEluaSBjaXJpIGt1YXQgZGF0YSB0aWRhayBzdGFzaW9uZXIgKGtlbXVuZ2tpbmFuIGFkYSB0cmVuIGF0YXUgYnV0dWggZGlmZmVyZW5jaW5nKS4NCkppa2EgZGF0YSBzdWRhaCBzdGFzaW9uZXIsIHBvbGEgaW5pIGJpc2EgbWVuZ2luZGlrYXNpa2FuIHByb3NlcyBBUiAoQXV0b3JlZ3Jlc3NpdmUpLg0KDQotIFBsb3QgUEFDRjoNCg0KVGVycG90b25nIHNldGVsYWggbGFnIDEgYXRhdSAyOiBLb3JlbGFzaSBwYXJzaWFsIHNpZ25pZmlrYW4gaGFueWEgcGFkYSBsYWcgMSAoc2FuZ2F0IGplbGFzKSBkYW4gbXVuZ2tpbiBsYWcgMiwgbGFsdSBsYW5nc3VuZyB0aWRhayBzaWduaWZpa2FuLiBJbmkgY2lyaSBrdWF0IHByb3NlcyBBUigyKS4NCg0KDQoNCg==