Essentials of Probability

Tugas ~ Week 10


Logo

1 Pendahuluan

Peluang merupakan konsep dasar dalam statistika yang digunakan untuk memahami ketidakpastian dan menilai kemungkinan terjadinya suatu peristiwa. Melalui teori peluang, kita dapat menganalisis berbagai fenomena secara sistematis untuk mendukung pengambilan keputusan dan interpretasi data. Materi Essentials of Probability menjelaskan lima konsep utama yang menjadi fondasi dalam mempelajari peluang, yaitu:

  1. Konsep Dasar Peluang Membahas ruang sampel, kejadian, dan aturan komplemen yang menjadi dasar dalam memahami bagaimana peluang dibentuk dan dihitung.
  2. Kejadian Independen dan Dependen Menjelaskan hubungan antar-kejadian, apakah satu kejadian memengaruhi peluang kejadian lainnya atau tidak.
  3. Union (Gabungan) Kejadian Menguraikan peluang bahwa minimal satu dari beberapa kejadian dapat terjadi dalam suatu percobaan.
  4. Kejadian Eksklusif dan Ekshaustif Menjelaskan kejadian yang tidak dapat terjadi bersamaan (eksklusif) serta kejadian yang mencakup seluruh kemungkinan dalam ruang sampel (ekshaustif).
  5. Percobaan dan Distribusi Binomial Membahas percobaan berulang dengan dua kemungkinan hasil serta cara menghitung peluang jumlah keberhasilan melalui distribusi binomial.

Pemahaman terhadap kelima konsep ini sangat penting sebagai dasar untuk mempelajari analisis statistika yang lebih mendalam dan menerapkannya secara akurat dalam berbagai konteks data.

2 Konsep Essentials of Probability

2.1 Konsep Dasar Peluang

1. pengertian ruang sampel
Ruang Sampel adalah kumpulan seluruh hasil yang mungkin dari sebuah percobaan acak dan dinotasikan dengan huruf S.Setiap hasil yang ada di dalam ruang sampel disebut titik sampel.Ruang sampel digunakan sebagai dasar untuk menghitung probabilitas.Jika semua titik sampel sama kemungkinan, maka probabilitas kejadian A: \[ P(A) = \frac{n(A)}{n(S)} \]

n(A)= jumlah hasil yang menguntungkan
n(S)= jumlah seluruh kemungkinan hasil (ukuran ruang sampel)

2. Pengertian Probabilitas:
Probabilitas adalah peluang terjadinya suatu kejadian.Probabilitas digunakan untuk mengukur seberapa besar kemungkinan suatu peristiwa terjadi. Dinyatakan dengan rumus:

\[ P(A) = \frac{\text{jumlah hasil yang diinginkan}}{\text{jumlah total kemungkinan hasil}} \] 3. Probabilitas Dua Kejadian Bersamaan
Jika ada dua kejadian A dan B yang independen(Kejadian independen = kejadian yang tidak saling mempengaruhi), maka peluang keduanya terjadi secara bersamaan diperoleh dengan mengalikan kedua probabilitas: \[P(A∩B)=P(A)×P(B)\] 4. Dua Kondisi Utama Probabilitas
Semua masalah probabilitas selalu memenuhi dua syarat berikut:
Nilai probabilitas berada di antara 0 dan 1
P = 0 → kejadian pasti tidak terjadi
P = 1 → kejadian pasti terjadi
P = 0,5 → kejadian mungkin terjadi 50% dari waktu
Jumlah semua probabilitas dalam ruang sampel = 1

5. Aturan Komplemen Probabilitas
suatu kejadian tidak terjadi Aturan ini menyatakan: \[P(A^c)=1-P(A)\]

Artinya, jika kita tahu peluang A terjadi, maka peluang A tidak terjadi adalah sisa dari 1.

2.2 Kejadian Independen dan Dependen

1.Kejadian Independen
Kejadian independen adalah dua kejadian di mana terjadinya suatu kejadian tidak memengaruhi peluang kejadian lainnya. \[P(A∩B)=P(A)×P(B)\] Contoh: Melempar dua koin → hasil koin pertama tidak memengaruhi koin kedua.

2. Kejadian dependen
Kejadian dependen adalah dua kejadian di mana terjadinya satu kejadian memengaruhi peluang kejadian lainnya. \[P(A∩B)=P(A)×PP(B∣A)\]

P(B∣A) artinya peluang B terjadi setelah A terjadi
Contoh: Mengambil kartu tanpa dikembalikan → kartu pertama memengaruhi peluang kartu kedua.

Kesimpulan
-Jika tidak ada pengaruh antara dua kejadian → independen
-Jika ada pengaruh antara dua kejadian → dependen
-Perhatikan konteks soal, terutama soal tanpa pengembalian (NO replacement) → biasanya dependen

2.3 Union (Gabungan) Kejadian

1. Tinjauan Ulang Konsep Dasar
Ruang Sampel (Sample Space): Yaitu keseluruhan set atau himpunan dari semua hasil yang mungkin dalam suatu eksperimen statistik.
Contoh: Melempar satu dadu 6 sisi, ruang sampelnya adalah \(\{1, 2, 3, 4, 5, 6\}\) Probabilitas Sederhana: Dihitung sebagai jumlah hasil yang diinginkan (favorable outcomes) dibagi dengan total jumlah hasil yang mungkin (total outcomes di ruang sampel)

2. Irisan Kejadian (Intersection of Events)
Tujuan: Menghitung kemungkinan terjadinya kedua kejadian secara bersamaan.
Kesalahan Umum:Menggunakan formula kejadian independen (\(P(A) \times P(B)\)) secara langsung tanpa memeriksa apakah kejadian tersebut memang independen atau saling bergantung.
Solusi: Probabilitas irisan ditentukan dengan mencari hasil yang tumpang tindih (overlap) antara Kejadian A dan Kejadian B di dalam ruang sampel.

3. Probabilitas Gabungan Kejadian (Union of Events)
Formula Gabungan KejadianUntuk dua kejadian A dan B, formula untuk Probabilitas Gabungan adalah:\[P(A \cup B) = P(A) + P(B) - P(A \cap B)\]

Bagian terpenting dari formula ini adalah istilah \(- P(A \cap B)\) (dikurangi probabilitas irisan).

-ketika Anda menambahkan \(P(A)\) dan \(P(B)\), hasil-hasil yang berada di area irisan (intersection) dari kedua kejadian tersebut terhitung dua kali. -Istilah \(- P(A \cap B)\) berfungsi untuk menghilangkan hitungan ganda (duplicate outcomes) tersebut, sehingga setiap hasil dalam ruang sampel hanya dihitung sekali. Hal ini memastikan diagram Venn yang dihasilkan (gabungan A dan B) merupakan representasi yang benar dan tidak tumpang tindih secara hitungan.

2.4 Kejadian Eksklusif dan Ekshaustif

1. Kejadian Saling Eksklusif (Mutually Exclusive Events)
Kejadian saling eksklusif (atau terpisah)

Definisi:
Dua atau lebih kejadian dikatakan saling eksklusif jika keduanya tidak dapat terjadi pada waktu yang bersamaan dalam suatu percobaan tunggal. Dengan kata lain, tidak ada hasil (outcome) yang sama di antara kedua kejadian tersebut.

Kondisi Probabilitas:
-Irisan (intersection) dari dua kejadian A dan B adalah himpunan kosong (\(\emptyset\)).
-Probabilitas terjadinya kedua kejadian secara bersamaan adalah nol:
\(P(A \cap B) = 0\).

Visualisasi:
Dalam Diagram Venn, lingkaran yang mewakili Kejadian A dan Kejadian B tidak akan saling berpotongan sama sekali.

Contoh:
Pelemparan satu koin. Kejadian mendapatkan Kepala (Head) dan mendapatkan Ekor (Tail) adalah saling eksklusif, karena mustahil mendapatkan keduanya dalam satu kali lemparan.

2.5 Percobaan dan Distribusi Binomial

1. Dasar-Dasar Percobaan Binomial (Binomial Setting)
Percobaan Binomial adalah jenis distribusi probabilitas diskrit yang digunakan untuk memodelkan jumlah keberhasilan dalam jumlah percobaan yang tetap (n), di mana setiap percobaan memiliki dua hasil yang mungkin (sukses atau gagal) dan probabilitas keberhasilan tetap (p).

4 Kondisi Utama:
1.Fixed Number of Trials (Jumlah Percobaan Tetap):
Jumlah percobaan, dinotasikan sebagai n, harus ditetapkan sebelum eksperimen dimulai.
2.Two Possible Outcomes (Dua Hasil yang Mungkin): Setiap percobaan hanya memiliki dua hasil yang mungkin:
Sukses (Keberhasilan) atau Gagal.
3.Constant Probability of Success (Probabilitas Keberhasilan Konstan):
Probabilitas keberhasilan (p) harus sama untuk setiap percobaan. Probabilitas kegagalan adalah \(1-p\) (kadang dinotasikan sebagai q).
4.Independent Trials (Percobaan Independen):
Hasil dari satu percobaan tidak memengaruhi hasil dari percobaan lainnya.

2. Rumus Probabilitas Binomial (Binomial Formula)
Rumus ini digunakan untuk menghitung probabilitas mendapatkan tepat \(k\) keberhasilan dalam \(n\) percobaan. \[P(k) = \binom{n}{k} p^k (1-p)^{n-k}\] penjelasan: \(P(k)\)=Probabilitas mendapatkan tepat \(k\) keberhasilan.
\(k\)=Jumlah keberhasilan yang dicari.
\(n\)=Jumlah total percobaan.
\(p\)=Probabilitas keberhasilan (Success).
\(1-p\)=Probabilitas kegagalan (Failure), sering dilambangkan sebagai \(q\).
\(\binom{n}{k}\)=Koefisien Binomial atau Rumus Kombinasi.

2.6 Distribusi Binomial

1. Tinjauan Ulang Formula Binomial
\[P(X=k) = C(n, k) \cdot p^k \cdot (1-p)^{n-k}\] \(k\): Jumlah sukses yang diinginkan.
\(n\): Jumlah percobaan (trials).
\(p\): Probabilitas sukses dalam satu percobaan.

2. Visualisasi Distribusi Binomial
Data probabilitas yang dihitung kemudian digunakan untuk membuat Diagram Batang (Bar Chart), yang menunjukkan Distribusi Binomial
Sumbu-x (horizontal) menunjukkan jumlah sukses (\(k\)).
Sumbu-y (vertikal) menunjukkan probabilitas sukses untuk setiap \(k\).

3. Parameter Distribusi Binomial
cara menghitung parameter deskriptif dari suatu distribusi binomial:

-Rerata (Mean, \(\mu\)): Lokasi pusat distribusi, dihitung dengan: \[\mu = n \cdot p\] -Varians:\[\sigma^2 = n \cdot p \cdot (1-p)\]

** -Deviasi Standar (Standard Deviation, \(\sigma\)):\[\sigma = \sqrt{n \cdot p \cdot (1-p)}\] 4. Pengaruh Parameter Terhadap Bentuk Distribusi**

A. Pengaruh Jumlah Percobaan (\(n\))
-Ketika nilai \(n\) (jumlah percobaan) meningkat, bentuk distribusi binomial cenderung mendekati Distribusi Normal (Normal Distribution).
-Pusat distribusi (rerata, \(\mu\)) selalu berada di sekitar \(n \cdot p\).

B. Pengaruh Probabilitas Sukses (\(p\))
Nilai \(p\) menentukan bentuk kemiringan (skewness) dari distribusi:
- \(p = 0.5\): Distribusi akan berbentuk simetris (tidak miring). * \(p < 0.5\) (misalnya \(p=0.1\)): Probabilitas sukses kecil, sehingga distribusi akan miring ke kanan (positively skewed). Data akan mengelompok di dekat 0.
- \(p > 0.5\) (misalnya \(p=0.8\)): Probabilitas sukses besar, sehingga distribusi akan miring ke kiri (negatively skewed). Data akan mengelompok di dekat \(n\)

5. Aproksimasi Normal dari Distribusi Binomial
dengan memberikan panduan kasar (rough guideline) kapan suatu distribusi binomial dapat diaproksimasi (didekati) menggunakan Distribusi Normal.
Dua kondisi harus dipenuhi:
1. \(n \cdot p \ge 10\)
2. \(n \cdot (1 - p) \ge 10\)
Jika kedua kondisi ini terpenuhi, maka meskipun distribusinya sedikit miring, dengan \(n\) yang cukup besar, kita dapat mengasumsikan distribusi normal untuk tujuan perhitungan.

3 Kesimpulan

Teori peluang digunakan untuk memahami ketidakpastian dan menghitung kemungkinan terjadinya suatu kejadian. Terdapat lima konsep dasar penting dalam probabilitas:

1. Konsep Dasar Peluang
Menghitung peluang berdasarkan ruang sampel dan kejadian yang diinginkan, serta memperhatikan aturan dasar seperti peluang bernilai 0–1 dan adanya peluang komplemen.
2. Kejadian Independen & Dependen
Menentukan apakah satu kejadian memengaruhi kejadian lain sehingga mempengaruhi cara perhitungan probabilitas.
3. Union (Gabungan) Kejadian
Menghitung peluang minimal satu dari beberapa kejadian terjadi, dengan memperhatikan irisan agar tidak terjadi perhitungan ganda.
4. Kejadian Eksklusif & Ekshaustif
Eksklusif: tidak dapat terjadi bersamaan.
Ekshaustif: mencakup seluruh kemungkinan dalam ruang sampel.
5. Distribusi Binomial
Menghitung peluang banyaknya keberhasilan dalam percobaan berulang dengan dua hasil (sukses/gagal), probabilitas tetap, dan percobaan independen.

Konsep-konsep ini menjadi fondasi untuk analisis statistika yang lebih lanjut dan sangat penting dalam pengambilan keputusan berbasis data.

4 Daftar Pustaka

Daftar pustaka ini berisi sumber yang di gunakan sebagai referensi. https://bookdown.org/dsciencelabs/intro_statistics/06-Essentials_of_Probability.html?authuser=0

LS0tDQp0aXRsZTogIkVzc2VudGlhbHMgb2YgUHJvYmFiaWxpdHkiICAjIE1haW4gdGl0bGUgb2YgdGhlIGRvY3VtZW50DQpzdWJ0aXRsZTogIlR1Z2FzIH4gV2VlayAxMCIgICAgICAgICAjIFN1YnRpdGxlIG9yIHRvcGljIGZvciB3ZWVrIDINCmF1dGhvcjogIktoYWZpemF0dW4gTmlzYSAoNTIyNTAwMTgpIiAgIyBSZXBsYWNlIHdpdGggeW91ciBmdWxsIG5hbWUNCmRhdGU6ICAiYHIgZm9ybWF0KFN5cy5EYXRlKCksICclQiAlZCwgJVknKWAiIyBBdXRvIGRpc3BsYXlzIHRoZSBjdXJyZW50IGRhdGUNCm91dHB1dDogICAgICAgICAgICAjIE91dHB1dCBzZWN0aW9uIGRlZmluZXMgdGhlIGZvcm1hdCBhbmQgbGF5b3V0IA0KICBybWRmb3JtYXRzOjpyZWFkdGhlZG93bjogIyBodHRwczovL2dpdGh1Yi5jb20vanViYS9ybWRmb3JtYXRzDQogICAgc2VsZl9jb250YWluZWQ6IHRydWUgICMgRW1iZWRzIGFsbCByZXNvdXJjZXMgKENTUywgSlMsIGltYWdlcykgDQogICAgdGh1bWJuYWlsczogdHJ1ZSAgICAgICMgRGlzcGxheXMgaW1hZ2UgdGh1bWJuYWlscyBpbiB0aGUgZG9jDQogICAgbGlnaHRib3g6IHRydWUgICAgICAgICMgRW5hYmxlcyBjbGljayB0byBlbmxhcmdlIGltYWdlcw0KICAgIGdhbGxlcnk6IHRydWUgICAgICAgIyBHcm91cHMgaW1hZ2VzIGludG8gYW4gaW50ZXJhY3RpdmUgZ2FsbGVyeQ0KICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZSAjIEF1dG9tYXRpY2FsbHkgbnVtYmVycyBhbGwgc2VjdGlvbnMNCiAgICBsaWJfZGlyOiBsaWJzICAgICAgICMgRGlyZWN0b3J5IHdoZXJlIEphdmFTY3JpcHQvQ1NTIGxpYnJhcmllcw0KICAgIGRmX3ByaW50OiAicGFnZWQiICAjIERpc3BsYXlzIGRhdGEgZnJhbWVzIGFzIGludGVyYWN0aXZlIHBhZ2VkIA0KICAgIGNvZGVfZm9sZGluZzogInNob3ciICMgQWxsb3dzIGZvbGRpbmcvdW5mb2xkaW5nIFIgY29kZSBibG9ja3MgDQogICAgY29kZV9kb3dubG9hZDogeWVzICAgIyBBZGRzIGEgYnV0dG9uIHRvIGRvd25sb2FkIGFsbCBSIGNvZGUNCiAgICBjc3M6IHN0eWxlcy5jc3MNCiAgICBiaWJsaW9ncmFwaHk6IHJlZmVyZW5jZXMuYmliDQotLS0NCg0KLS0tDQo8aW1nIGlkPSJGb3RvIiBzcmM9Im5pc2EuanBlZz9yYXc9dHJ1ZSIgYWx0PSJMb2dvIiBzdHlsZT0id2lkdGg6MjAwcHg7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IGF1dG87Ij4NCg0KIyBQZW5kYWh1bHVhbg0KPGRpdiBjbGFzcz0iYm94Ij4NCjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij4NClBlbHVhbmcgbWVydXBha2FuIGtvbnNlcCBkYXNhciBkYWxhbSBzdGF0aXN0aWthIHlhbmcgZGlndW5ha2FuIHVudHVrIG1lbWFoYW1pIGtldGlkYWtwYXN0aWFuIGRhbiBtZW5pbGFpIGtlbXVuZ2tpbmFuIHRlcmphZGlueWEgc3VhdHUgcGVyaXN0aXdhLiBNZWxhbHVpIHRlb3JpIHBlbHVhbmcsIGtpdGEgZGFwYXQgbWVuZ2FuYWxpc2lzIGJlcmJhZ2FpIGZlbm9tZW5hIHNlY2FyYSBzaXN0ZW1hdGlzIHVudHVrIG1lbmR1a3VuZyBwZW5nYW1iaWxhbiBrZXB1dHVzYW4gZGFuIGludGVycHJldGFzaSBkYXRhLiBNYXRlcmkgKkVzc2VudGlhbHMgb2YgUHJvYmFiaWxpdHkqIG1lbmplbGFza2FuIGxpbWEga29uc2VwIHV0YW1hIHlhbmcgbWVuamFkaSBmb25kYXNpIGRhbGFtIG1lbXBlbGFqYXJpIHBlbHVhbmcsIHlhaXR1Og0KDQoxLiAqKktvbnNlcCBEYXNhciBQZWx1YW5nKioNCiAgIE1lbWJhaGFzIHJ1YW5nIHNhbXBlbCwga2VqYWRpYW4sIGRhbiBhdHVyYW4ga29tcGxlbWVuIHlhbmcgbWVuamFkaSBkYXNhciBkYWxhbSBtZW1haGFtaSBiYWdhaW1hbmEgcGVsdWFuZyBkaWJlbnR1ayBkYW4gZGloaXR1bmcuICANCjIuICoqS2VqYWRpYW4gSW5kZXBlbmRlbiBkYW4gRGVwZW5kZW4qKg0KICAgTWVuamVsYXNrYW4gaHVidW5nYW4gYW50YXIta2VqYWRpYW4sIGFwYWthaCBzYXR1IGtlamFkaWFuIG1lbWVuZ2FydWhpIHBlbHVhbmcga2VqYWRpYW4gbGFpbm55YSBhdGF1IHRpZGFrLiAgDQozLiAqKlVuaW9uIChHYWJ1bmdhbikgS2VqYWRpYW4qKg0KICAgTWVuZ3VyYWlrYW4gcGVsdWFuZyBiYWh3YSBtaW5pbWFsIHNhdHUgZGFyaSBiZWJlcmFwYSBrZWphZGlhbiBkYXBhdCB0ZXJqYWRpIGRhbGFtIHN1YXR1IHBlcmNvYmFhbi4gIA0KNC4gKipLZWphZGlhbiBFa3NrbHVzaWYgZGFuIEVrc2hhdXN0aWYqKg0KICAgTWVuamVsYXNrYW4ga2VqYWRpYW4geWFuZyB0aWRhayBkYXBhdCB0ZXJqYWRpIGJlcnNhbWFhbiAoZWtza2x1c2lmKSBzZXJ0YSBrZWphZGlhbiB5YW5nIG1lbmNha3VwIHNlbHVydWgga2VtdW5na2luYW4gZGFsYW0gcnVhbmcgc2FtcGVsIChla3NoYXVzdGlmKS4gIA0KNS4gKipQZXJjb2JhYW4gZGFuIERpc3RyaWJ1c2kgQmlub21pYWwqKg0KICAgTWVtYmFoYXMgcGVyY29iYWFuIGJlcnVsYW5nIGRlbmdhbiBkdWEga2VtdW5na2luYW4gaGFzaWwgc2VydGEgY2FyYSBtZW5naGl0dW5nIHBlbHVhbmcganVtbGFoIGtlYmVyaGFzaWxhbiBtZWxhbHVpIGRpc3RyaWJ1c2kgYmlub21pYWwuICANCg0KUGVtYWhhbWFuIHRlcmhhZGFwIGtlbGltYSBrb25zZXAgaW5pIHNhbmdhdCBwZW50aW5nIHNlYmFnYWkgZGFzYXIgdW50dWsgbWVtcGVsYWphcmkgYW5hbGlzaXMgc3RhdGlzdGlrYSB5YW5nIGxlYmloIG1lbmRhbGFtIGRhbiBtZW5lcmFwa2FubnlhIHNlY2FyYSBha3VyYXQgZGFsYW0gYmVyYmFnYWkga29udGVrcyBkYXRhLg0KPC9kaXY+DQo8L2Rpdj4NCiMgS29uc2VwIEVzc2VudGlhbHMgb2YgUHJvYmFiaWxpdHkNCg0KIyMgS29uc2VwIERhc2FyIFBlbHVhbmcNCmBgYHtyLCBlY2hvPUZBTFNFfQ0Ka25pdHI6OmluY2x1ZGVfdXJsKCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC95bmpIS0JDaUdYWSIpDQpgYGANCjxkaXYgY2xhc3M9ImJveCI+DQo8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+DQoqKjEuIHBlbmdlcnRpYW4gcnVhbmcgc2FtcGVsKiogIA0KUnVhbmcgU2FtcGVsIGFkYWxhaCBrdW1wdWxhbiBzZWx1cnVoIGhhc2lsIHlhbmcgbXVuZ2tpbiBkYXJpIHNlYnVhaCBwZXJjb2JhYW4gYWNhayBkYW4gZGlub3Rhc2lrYW4gZGVuZ2FuIGh1cnVmIFMuU2V0aWFwIGhhc2lsIHlhbmcgYWRhIGRpIGRhbGFtIHJ1YW5nIHNhbXBlbCBkaXNlYnV0IHRpdGlrIHNhbXBlbC5SdWFuZyBzYW1wZWwgZGlndW5ha2FuIHNlYmFnYWkgZGFzYXIgdW50dWsgbWVuZ2hpdHVuZyBwcm9iYWJpbGl0YXMuSmlrYSBzZW11YSB0aXRpayBzYW1wZWwgc2FtYSBrZW11bmdraW5hbiwgbWFrYSBwcm9iYWJpbGl0YXMga2VqYWRpYW4gQToNCiQkDQpQKEEpID0gXGZyYWN7bihBKX17bihTKX0NCiQkDQoNCiBuKEEpPSBqdW1sYWggaGFzaWwgeWFuZyBtZW5ndW50dW5na2FuICANCiBuKFMpPSBqdW1sYWggc2VsdXJ1aCBrZW11bmdraW5hbiBoYXNpbCAodWt1cmFuIHJ1YW5nIHNhbXBlbCkNCg0KKioyLiBQZW5nZXJ0aWFuIFByb2JhYmlsaXRhczoqKiAgDQpQcm9iYWJpbGl0YXMgYWRhbGFoIHBlbHVhbmcgdGVyamFkaW55YSBzdWF0dSBrZWphZGlhbi5Qcm9iYWJpbGl0YXMgZGlndW5ha2FuIHVudHVrIG1lbmd1a3VyIHNlYmVyYXBhIGJlc2FyIGtlbXVuZ2tpbmFuIHN1YXR1IHBlcmlzdGl3YSB0ZXJqYWRpLg0KRGlueWF0YWthbiBkZW5nYW4gcnVtdXM6DQoNCiQkDQpQKEEpID0gXGZyYWN7XHRleHR7anVtbGFoIGhhc2lsIHlhbmcgZGlpbmdpbmthbn19e1x0ZXh0e2p1bWxhaCB0b3RhbCBrZW11bmdraW5hbiBoYXNpbH19DQokJA0KKiozLiBQcm9iYWJpbGl0YXMgRHVhIEtlamFkaWFuIEJlcnNhbWFhbioqICANCkppa2EgYWRhIGR1YSBrZWphZGlhbiBBIGRhbiBCIHlhbmcgaW5kZXBlbmRlbihLZWphZGlhbiBpbmRlcGVuZGVuID0ga2VqYWRpYW4geWFuZyB0aWRhayBzYWxpbmcgbWVtcGVuZ2FydWhpKSwgbWFrYSBwZWx1YW5nIGtlZHVhbnlhIHRlcmphZGkgc2VjYXJhIGJlcnNhbWFhbiBkaXBlcm9sZWggZGVuZ2FuIG1lbmdhbGlrYW4ga2VkdWEgcHJvYmFiaWxpdGFzOg0KJCRQKEHiiKlCKT1QKEEpw5dQKEIpJCQNCioqNC4gRHVhIEtvbmRpc2kgVXRhbWEgUHJvYmFiaWxpdGFzKiogIA0KU2VtdWEgbWFzYWxhaCBwcm9iYWJpbGl0YXMgc2VsYWx1IG1lbWVudWhpIGR1YSBzeWFyYXQgYmVyaWt1dDogIA0KCU5pbGFpIHByb2JhYmlsaXRhcyBiZXJhZGEgZGkgYW50YXJhIDAgZGFuIDEgIA0KCVAgPSAwIOKGkiBrZWphZGlhbiBwYXN0aSB0aWRhayB0ZXJqYWRpICANCglQID0gMSDihpIga2VqYWRpYW4gcGFzdGkgdGVyamFkaSAgDQoJUCA9IDAsNSDihpIga2VqYWRpYW4gbXVuZ2tpbiB0ZXJqYWRpIDUwJSBkYXJpIHdha3R1ICANCglKdW1sYWggc2VtdWEgcHJvYmFiaWxpdGFzIGRhbGFtIHJ1YW5nIHNhbXBlbCA9IDEgIA0KDQoqKjUuIEF0dXJhbiBLb21wbGVtZW4gUHJvYmFiaWxpdGFzKiogIA0Kc3VhdHUga2VqYWRpYW4gdGlkYWsgdGVyamFkaQ0KQXR1cmFuIGluaSBtZW55YXRha2FuOg0KJCRQKEFeYyk9MS1QKEEpJCQNCg0KQXJ0aW55YSwgamlrYSBraXRhIHRhaHUgcGVsdWFuZyBBIHRlcmphZGksIG1ha2EgcGVsdWFuZyBBIHRpZGFrIHRlcmphZGkgYWRhbGFoIHNpc2EgZGFyaSAxLg0KPC9kaXY+DQo8L2Rpdj4NCg0KIyMgS2VqYWRpYW4gSW5kZXBlbmRlbiBkYW4gRGVwZW5kZW4NCmBgYHtyLCBlY2hvPUZBTFNFfQ0Ka25pdHI6OmluY2x1ZGVfdXJsKCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9MUy1faWhES3IyTT9zaT1HNWRHbmxQb0RjVkRBNTY1IikNCmBgYA0KPGRpdiBjbGFzcz0iYm94Ij4NCjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij4NCioqMS5LZWphZGlhbiBJbmRlcGVuZGVuKiogIA0KS2VqYWRpYW4gaW5kZXBlbmRlbiBhZGFsYWggZHVhIGtlamFkaWFuIGRpIG1hbmEgdGVyamFkaW55YSBzdWF0dSBrZWphZGlhbiB0aWRhayBtZW1lbmdhcnVoaSBwZWx1YW5nIGtlamFkaWFuIGxhaW5ueWEuDQokJFAoQeKIqUIpPVAoQSnDl1AoQikkJA0KQ29udG9oOg0KTWVsZW1wYXIgZHVhIGtvaW4g4oaSIGhhc2lsIGtvaW4gcGVydGFtYSB0aWRhayBtZW1lbmdhcnVoaSBrb2luIGtlZHVhLg0KDQoqKjIuIEtlamFkaWFuIGRlcGVuZGVuKiogIA0KS2VqYWRpYW4gZGVwZW5kZW4gYWRhbGFoIGR1YSBrZWphZGlhbiBkaSBtYW5hIHRlcmphZGlueWEgc2F0dSBrZWphZGlhbiBtZW1lbmdhcnVoaSBwZWx1YW5nIGtlamFkaWFuIGxhaW5ueWEuDQokJFAoQeKIqUIpPVAoQSnDl1BQKELiiKNBKSQkDQoNClAoQuKIo0EpIGFydGlueWEgcGVsdWFuZyBCIHRlcmphZGkgc2V0ZWxhaCBBIHRlcmphZGkgIA0KQ29udG9oOg0KTWVuZ2FtYmlsIGthcnR1IHRhbnBhIGRpa2VtYmFsaWthbiDihpIga2FydHUgcGVydGFtYSBtZW1lbmdhcnVoaSBwZWx1YW5nIGthcnR1IGtlZHVhLg0KDQoqKktlc2ltcHVsYW4qKiAgDQotSmlrYSB0aWRhayBhZGEgcGVuZ2FydWggYW50YXJhIGR1YSBrZWphZGlhbiDihpIgaW5kZXBlbmRlbiAgDQotSmlrYSBhZGEgcGVuZ2FydWggYW50YXJhIGR1YSBrZWphZGlhbiDihpIgZGVwZW5kZW4gIA0KLVBlcmhhdGlrYW4ga29udGVrcyBzb2FsLCB0ZXJ1dGFtYSBzb2FsIHRhbnBhIHBlbmdlbWJhbGlhbiAoTk8gcmVwbGFjZW1lbnQpIOKGkiBiaWFzYW55YSBkZXBlbmRlbg0KDQo8L2Rpdj4NCjwvZGl2Pg0KDQojIyBVbmlvbiAoR2FidW5nYW4pIEtlamFkaWFuDQpgYGB7ciwgZWNobz1GQUxTRX0NCmtuaXRyOjppbmNsdWRlX3VybCgiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvdnFLQWJoQ3FTVGM/c2k9M0F2OW1OS2lWRTRHd1NmYSIpDQpgYGANCjxkaXYgY2xhc3M9ImJveCI+DQo8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+DQoNCioqMS4gVGluamF1YW4gVWxhbmcgS29uc2VwIERhc2FyKiogIA0KUnVhbmcgU2FtcGVsIChTYW1wbGUgU3BhY2UpOiBZYWl0dSBrZXNlbHVydWhhbiBzZXQgYXRhdSBoaW1wdW5hbiBkYXJpIHNlbXVhIGhhc2lsIHlhbmcgbXVuZ2tpbiBkYWxhbSBzdWF0dSBla3NwZXJpbWVuIHN0YXRpc3Rpay4gIA0KKipDb250b2g6KiogTWVsZW1wYXIgc2F0dSBkYWR1IDYgc2lzaSwgcnVhbmcgc2FtcGVsbnlhIGFkYWxhaCAkXHsxLCAyLCAzLCA0LCA1LCA2XH0kDQpQcm9iYWJpbGl0YXMgU2VkZXJoYW5hOiBEaWhpdHVuZyBzZWJhZ2FpIGp1bWxhaCBoYXNpbCB5YW5nIGRpaW5naW5rYW4gKGZhdm9yYWJsZSBvdXRjb21lcykgZGliYWdpIGRlbmdhbiB0b3RhbCBqdW1sYWggaGFzaWwgeWFuZyBtdW5na2luICh0b3RhbCBvdXRjb21lcyBkaSBydWFuZyBzYW1wZWwpICANCg0KKioyLiBJcmlzYW4gS2VqYWRpYW4gKEludGVyc2VjdGlvbiBvZiBFdmVudHMpKiogICANCioqVHVqdWFuOioqIE1lbmdoaXR1bmcga2VtdW5na2luYW4gdGVyamFkaW55YSBrZWR1YSBrZWphZGlhbiBzZWNhcmEgYmVyc2FtYWFuLiAgDQoqKktlc2FsYWhhbiBVbXVtOioqTWVuZ2d1bmFrYW4gZm9ybXVsYSBrZWphZGlhbiBpbmRlcGVuZGVuICgkUChBKSBcdGltZXMgUChCKSQpIHNlY2FyYSBsYW5nc3VuZyB0YW5wYSBtZW1lcmlrc2EgYXBha2FoIGtlamFkaWFuIHRlcnNlYnV0IG1lbWFuZyBpbmRlcGVuZGVuIGF0YXUgc2FsaW5nIGJlcmdhbnR1bmcuICANCioqU29sdXNpOioqIFByb2JhYmlsaXRhcyBpcmlzYW4gZGl0ZW50dWthbiBkZW5nYW4gbWVuY2FyaSBoYXNpbCB5YW5nIHR1bXBhbmcgdGluZGloIChvdmVybGFwKSBhbnRhcmEgS2VqYWRpYW4gQSBkYW4gS2VqYWRpYW4gQiBkaSBkYWxhbSBydWFuZyBzYW1wZWwuDQoNCioqMy4gUHJvYmFiaWxpdGFzIEdhYnVuZ2FuIEtlamFkaWFuIChVbmlvbiBvZiBFdmVudHMpKiogIA0KRm9ybXVsYSBHYWJ1bmdhbiBLZWphZGlhblVudHVrIGR1YSBrZWphZGlhbiBBIGRhbiBCLCBmb3JtdWxhIHVudHVrIFByb2JhYmlsaXRhcyBHYWJ1bmdhbiBhZGFsYWg6JCRQKEEgXGN1cCBCKSA9IFAoQSkgKyBQKEIpIC0gUChBIFxjYXAgQikkJA0KDQpCYWdpYW4gdGVycGVudGluZyBkYXJpIGZvcm11bGEgaW5pIGFkYWxhaCBpc3RpbGFoICQtIFAoQSBcY2FwIEIpJCAoZGlrdXJhbmdpIHByb2JhYmlsaXRhcyBpcmlzYW4pLiAgDQoNCi1rZXRpa2EgQW5kYSBtZW5hbWJhaGthbiAkUChBKSQgZGFuICRQKEIpJCwgaGFzaWwtaGFzaWwgeWFuZyBiZXJhZGEgZGkgYXJlYSBpcmlzYW4gKGludGVyc2VjdGlvbikgZGFyaSBrZWR1YSBrZWphZGlhbiB0ZXJzZWJ1dCB0ZXJoaXR1bmcgZHVhIGthbGkuIA0KLUlzdGlsYWggJC0gUChBIFxjYXAgQikkIGJlcmZ1bmdzaSB1bnR1ayBtZW5naGlsYW5na2FuIGhpdHVuZ2FuIGdhbmRhIChkdXBsaWNhdGUgb3V0Y29tZXMpIHRlcnNlYnV0LCBzZWhpbmdnYSBzZXRpYXAgaGFzaWwgZGFsYW0gcnVhbmcgc2FtcGVsIGhhbnlhIGRpaGl0dW5nIHNla2FsaS4gSGFsIGluaSBtZW1hc3Rpa2FuIGRpYWdyYW0gVmVubiB5YW5nIGRpaGFzaWxrYW4gKGdhYnVuZ2FuIEEgZGFuIEIpIG1lcnVwYWthbiByZXByZXNlbnRhc2kgeWFuZyBiZW5hciBkYW4gdGlkYWsgdHVtcGFuZyB0aW5kaWggc2VjYXJhIGhpdHVuZ2FuLg0KDQo8L2Rpdj4NCjwvZGl2Pg0KDQojIyBLZWphZGlhbiBFa3NrbHVzaWYgZGFuIEVrc2hhdXN0aWYNCmBgYHtyLCBlY2hvPUZBTFNFfQ0Ka25pdHI6OmluY2x1ZGVfdXJsKCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9mN2FnVHY5bkE1az9zaT1pZ3NiOHRHVEw2Q2hhMWNoIikNCmBgYA0KPGRpdiBjbGFzcz0iYm94Ij4NCjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij4NCioqMS4gS2VqYWRpYW4gU2FsaW5nIEVrc2tsdXNpZiAoTXV0dWFsbHkgRXhjbHVzaXZlIEV2ZW50cykqKiAgDQpLZWphZGlhbiBzYWxpbmcgZWtza2x1c2lmIChhdGF1IHRlcnBpc2FoKSAgIA0KDQoqKkRlZmluaXNpOioqICAgDQpEdWEgYXRhdSBsZWJpaCBrZWphZGlhbiBkaWthdGFrYW4gc2FsaW5nIGVrc2tsdXNpZiBqaWthIGtlZHVhbnlhIHRpZGFrIGRhcGF0IHRlcmphZGkgcGFkYSB3YWt0dSB5YW5nIGJlcnNhbWFhbiBkYWxhbSBzdWF0dSBwZXJjb2JhYW4gdHVuZ2dhbC4gRGVuZ2FuIGthdGEgbGFpbiwgdGlkYWsgYWRhIGhhc2lsIChvdXRjb21lKSB5YW5nIHNhbWEgZGkgYW50YXJhIGtlZHVhIGtlamFkaWFuIHRlcnNlYnV0LiANCg0KKipLb25kaXNpIFByb2JhYmlsaXRhczoqKiAgDQotSXJpc2FuIChpbnRlcnNlY3Rpb24pIGRhcmkgZHVhIGtlamFkaWFuIEEgZGFuIEIgYWRhbGFoIGhpbXB1bmFuIGtvc29uZyAgICgkXGVtcHR5c2V0JCkuICANCi1Qcm9iYWJpbGl0YXMgdGVyamFkaW55YSBrZWR1YSBrZWphZGlhbiBzZWNhcmEgYmVyc2FtYWFuIGFkYWxhaCBub2w6ICANCiRQKEEgXGNhcCBCKSA9IDAkLiAgDQoNCioqVmlzdWFsaXNhc2k6KiogICANCkRhbGFtIERpYWdyYW0gVmVubiwgbGluZ2thcmFuIHlhbmcgbWV3YWtpbGkgS2VqYWRpYW4gQSBkYW4gS2VqYWRpYW4gQiB0aWRhayBha2FuIHNhbGluZyBiZXJwb3RvbmdhbiBzYW1hIHNla2FsaS4gIA0KDQoqKkNvbnRvaDoqKiAgDQpQZWxlbXBhcmFuIHNhdHUga29pbi4gS2VqYWRpYW4gbWVuZGFwYXRrYW4gS2VwYWxhIChIZWFkKSBkYW4gbWVuZGFwYXRrYW4gRWtvciAoVGFpbCkgYWRhbGFoIHNhbGluZyBla3NrbHVzaWYsIGthcmVuYSBtdXN0YWhpbCBtZW5kYXBhdGthbiBrZWR1YW55YSBkYWxhbSBzYXR1IGthbGkgbGVtcGFyYW4uDQo8L2Rpdj4NCjwvZGl2Pg0KIyMgUGVyY29iYWFuIGRhbiBEaXN0cmlidXNpIEJpbm9taWFsDQpgYGB7ciwgZWNobz1GQUxTRX0NCmtuaXRyOjppbmNsdWRlX3VybCgiaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvblJ1UUF0YWpKWWs/c2k9MDdvR0c2cXUtVkI1X01saiIpDQpgYGANCjxkaXYgY2xhc3M9ImJveCI+DQo8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5OyI+DQoqKjEuIERhc2FyLURhc2FyIFBlcmNvYmFhbiBCaW5vbWlhbCAoQmlub21pYWwgU2V0dGluZykqKiAgDQpQZXJjb2JhYW4gQmlub21pYWwgYWRhbGFoIGplbmlzIGRpc3RyaWJ1c2kgcHJvYmFiaWxpdGFzIGRpc2tyaXQgeWFuZyBkaWd1bmFrYW4gdW50dWsgbWVtb2RlbGthbiBqdW1sYWgga2ViZXJoYXNpbGFuIGRhbGFtIGp1bWxhaCBwZXJjb2JhYW4geWFuZyB0ZXRhcCAobiksIGRpIG1hbmEgc2V0aWFwIHBlcmNvYmFhbiBtZW1pbGlraSBkdWEgaGFzaWwgeWFuZyBtdW5na2luIChzdWtzZXMgYXRhdSBnYWdhbCkgZGFuIHByb2JhYmlsaXRhcyBrZWJlcmhhc2lsYW4gdGV0YXAgKHApLg0KDQo0IEtvbmRpc2kgVXRhbWE6ICANCjEuRml4ZWQgTnVtYmVyIG9mIFRyaWFscyAoSnVtbGFoIFBlcmNvYmFhbiBUZXRhcCk6ICAgDQpKdW1sYWggcGVyY29iYWFuLCAgICAgICBkaW5vdGFzaWthbiBzZWJhZ2FpIG4sIGhhcnVzIGRpdGV0YXBrYW4gc2ViZWx1bSBla3NwZXJpbWVuIGRpbXVsYWkuICANCjIuVHdvIFBvc3NpYmxlIE91dGNvbWVzIChEdWEgSGFzaWwgeWFuZyBNdW5na2luKTogU2V0aWFwIHBlcmNvYmFhbiBoYW55YSBtZW1pbGlraSBkdWEgaGFzaWwgeWFuZyBtdW5na2luOiAgIA0KU3Vrc2VzIChLZWJlcmhhc2lsYW4pIGF0YXUgR2FnYWwuICANCjMuQ29uc3RhbnQgUHJvYmFiaWxpdHkgb2YgU3VjY2VzcyAoUHJvYmFiaWxpdGFzIEtlYmVyaGFzaWxhbiBLb25zdGFuKTogIA0KUHJvYmFiaWxpdGFzIGtlYmVyaGFzaWxhbiAocCkgaGFydXMgc2FtYSB1bnR1ayBzZXRpYXAgcGVyY29iYWFuLiBQcm9iYWJpbGl0YXMga2VnYWdhbGFuIGFkYWxhaCAkMS1wJCAoa2FkYW5nIGRpbm90YXNpa2FuIHNlYmFnYWkgcSkuICANCjQuSW5kZXBlbmRlbnQgVHJpYWxzIChQZXJjb2JhYW4gSW5kZXBlbmRlbik6ICANCkhhc2lsIGRhcmkgc2F0dSBwZXJjb2JhYW4gdGlkYWsgbWVtZW5nYXJ1aGkgaGFzaWwgZGFyaSBwZXJjb2JhYW4gbGFpbm55YS4gIA0KDQoqKjIuIFJ1bXVzIFByb2JhYmlsaXRhcyBCaW5vbWlhbCAoQmlub21pYWwgRm9ybXVsYSkqKiAgDQpSdW11cyBpbmkgZGlndW5ha2FuIHVudHVrIG1lbmdoaXR1bmcgcHJvYmFiaWxpdGFzIG1lbmRhcGF0a2FuIHRlcGF0ICRrJCBrZWJlcmhhc2lsYW4gZGFsYW0gJG4kIHBlcmNvYmFhbi4NCiQkUChrKSA9IFxiaW5vbXtufXtrfSBwXmsgKDEtcClee24ta30kJA0KcGVuamVsYXNhbjoNCiRQKGspJD1Qcm9iYWJpbGl0YXMgbWVuZGFwYXRrYW4gdGVwYXQgJGskIGtlYmVyaGFzaWxhbi4gIA0KJGskPUp1bWxhaCBrZWJlcmhhc2lsYW4geWFuZyBkaWNhcmkuICANCiRuJD1KdW1sYWggdG90YWwgcGVyY29iYWFuLiAgDQokcCQ9UHJvYmFiaWxpdGFzIGtlYmVyaGFzaWxhbiAoU3VjY2VzcykuICANCiQxLXAkPVByb2JhYmlsaXRhcyBrZWdhZ2FsYW4gKEZhaWx1cmUpLCBzZXJpbmcgZGlsYW1iYW5na2FuIHNlYmFnYWkgJHEkLiAgDQokXGJpbm9te259e2t9JD1Lb2VmaXNpZW4gQmlub21pYWwgYXRhdSBSdW11cyBLb21iaW5hc2kuICANCg0KPC9kaXY+DQo8L2Rpdj4NCg0KIyMgRGlzdHJpYnVzaSBCaW5vbWlhbA0KYGBge3IsIGVjaG89RkFMU0V9DQprbml0cjo6aW5jbHVkZV91cmwoImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL1kyLXZTV0ZtZ3lJP3NpPXdXX3ZSbmhQWkFzLVV1NjciKQ0KYGBgDQo8ZGl2IGNsYXNzPSJib3giPg0KPGRpdiBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeTsiPg0KKioxLiBUaW5qYXVhbiBVbGFuZyBGb3JtdWxhIEJpbm9taWFsKiogIA0KJCRQKFg9aykgPSBDKG4sIGspIFxjZG90IHBeayBcY2RvdCAoMS1wKV57bi1rfSQkDQokayQ6IEp1bWxhaCBzdWtzZXMgeWFuZyBkaWluZ2lua2FuLiAgDQokbiQ6IEp1bWxhaCBwZXJjb2JhYW4gKHRyaWFscykuICANCiRwJDogUHJvYmFiaWxpdGFzIHN1a3NlcyBkYWxhbSBzYXR1IHBlcmNvYmFhbi4gDQoNCioqMi4gVmlzdWFsaXNhc2kgRGlzdHJpYnVzaSBCaW5vbWlhbCoqICANCkRhdGEgcHJvYmFiaWxpdGFzIHlhbmcgZGloaXR1bmcga2VtdWRpYW4gZGlndW5ha2FuIHVudHVrIG1lbWJ1YXQgRGlhZ3JhbSBCYXRhbmcgKEJhciBDaGFydCksIHlhbmcgbWVudW5qdWtrYW4gRGlzdHJpYnVzaSBCaW5vbWlhbCAgDQpTdW1idS14IChob3Jpem9udGFsKSBtZW51bmp1a2thbiBqdW1sYWggc3Vrc2VzICgkayQpLiAgDQpTdW1idS15ICh2ZXJ0aWthbCkgbWVudW5qdWtrYW4gcHJvYmFiaWxpdGFzIHN1a3NlcyB1bnR1ayBzZXRpYXAgJGskLg0KDQoqKjMuIFBhcmFtZXRlciBEaXN0cmlidXNpIEJpbm9taWFsKiogIA0KY2FyYSBtZW5naGl0dW5nIHBhcmFtZXRlciBkZXNrcmlwdGlmIGRhcmkgc3VhdHUgZGlzdHJpYnVzaSBiaW5vbWlhbDogICANCg0KKiotUmVyYXRhIChNZWFuLCAkXG11JCk6KiogTG9rYXNpIHB1c2F0IGRpc3RyaWJ1c2ksIGRpaGl0dW5nIGRlbmdhbjoNCiQkXG11ID0gbiBcY2RvdCBwJCQNCioqLVZhcmlhbnM6KiokJFxzaWdtYV4yID0gbiBcY2RvdCBwIFxjZG90ICgxLXApJCQNCg0KKiogLURldmlhc2kgU3RhbmRhciAoU3RhbmRhcmQgRGV2aWF0aW9uLCAkXHNpZ21hJCk6KiokJFxzaWdtYSA9IFxzcXJ0e24gXGNkb3QgcCBcY2RvdCAoMS1wKX0kJA0KKio0LiBQZW5nYXJ1aCBQYXJhbWV0ZXIgVGVyaGFkYXAgQmVudHVrIERpc3RyaWJ1c2kqKiAgDQoNCkEuIFBlbmdhcnVoIEp1bWxhaCBQZXJjb2JhYW4gKCRuJCkgIA0KLUtldGlrYSBuaWxhaSAkbiQgKGp1bWxhaCBwZXJjb2JhYW4pIG1lbmluZ2thdCwgYmVudHVrIGRpc3RyaWJ1c2kgYmlub21pYWwgY2VuZGVydW5nIG1lbmRla2F0aSBEaXN0cmlidXNpIE5vcm1hbCAoTm9ybWFsIERpc3RyaWJ1dGlvbikuICAgIA0KLVB1c2F0IGRpc3RyaWJ1c2kgKHJlcmF0YSwgJFxtdSQpIHNlbGFsdSBiZXJhZGEgZGkgc2VraXRhciAkbiBcY2RvdCBwJC4gIA0KDQpCLiBQZW5nYXJ1aCBQcm9iYWJpbGl0YXMgU3Vrc2VzICgkcCQpICANCk5pbGFpICRwJCBtZW5lbnR1a2FuIGJlbnR1ayBrZW1pcmluZ2FuIChza2V3bmVzcykgZGFyaSBkaXN0cmlidXNpOiAgDQotICRwID0gMC41JDogRGlzdHJpYnVzaSBha2FuIGJlcmJlbnR1ayBzaW1ldHJpcyAodGlkYWsgbWlyaW5nKS4gKiAkcCA8IDAuNSQgKG1pc2FsbnlhICRwPTAuMSQpOiBQcm9iYWJpbGl0YXMgc3Vrc2VzIGtlY2lsLCBzZWhpbmdnYSBkaXN0cmlidXNpIGFrYW4gbWlyaW5nIGtlIGthbmFuIChwb3NpdGl2ZWx5IHNrZXdlZCkuIERhdGEgYWthbiBtZW5nZWxvbXBvayBkaSBkZWthdCAwLiAgDQotICRwID4gMC41JCAobWlzYWxueWEgJHA9MC44JCk6IFByb2JhYmlsaXRhcyBzdWtzZXMgYmVzYXIsIHNlaGluZ2dhIGRpc3RyaWJ1c2kgYWthbiBtaXJpbmcga2Uga2lyaSAobmVnYXRpdmVseSBza2V3ZWQpLiBEYXRhIGFrYW4gbWVuZ2Vsb21wb2sgZGkgZGVrYXQgJG4kICANCg0KKio1LiBBcHJva3NpbWFzaSBOb3JtYWwgZGFyaSBEaXN0cmlidXNpIEJpbm9taWFsKiogIA0KZGVuZ2FuIG1lbWJlcmlrYW4gcGFuZHVhbiBrYXNhciAocm91Z2ggZ3VpZGVsaW5lKSBrYXBhbiBzdWF0dSBkaXN0cmlidXNpIGJpbm9taWFsIGRhcGF0IGRpYXByb2tzaW1hc2kgKGRpZGVrYXRpKSBtZW5nZ3VuYWthbiBEaXN0cmlidXNpIE5vcm1hbC4gIA0KRHVhIGtvbmRpc2kgaGFydXMgZGlwZW51aGk6ICANCjEuICRuIFxjZG90IHAgXGdlIDEwJCAgICANCjIuICRuIFxjZG90ICgxIC0gcCkgXGdlIDEwJCAgDQpKaWthIGtlZHVhIGtvbmRpc2kgaW5pIHRlcnBlbnVoaSwgbWFrYSBtZXNraXB1biBkaXN0cmlidXNpbnlhIHNlZGlraXQgbWlyaW5nLCBkZW5nYW4gJG4kIHlhbmcgY3VrdXAgYmVzYXIsIGtpdGEgZGFwYXQgbWVuZ2FzdW1zaWthbiBkaXN0cmlidXNpIG5vcm1hbCB1bnR1ayB0dWp1YW4gcGVyaGl0dW5nYW4uDQoNCjwvZGl2Pg0KPC9kaXY+DQoNCiMgS2VzaW1wdWxhbg0KPGRpdiBjbGFzcz0iYm94Ij4NCjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGp1c3RpZnk7Ij4NClRlb3JpIHBlbHVhbmcgZGlndW5ha2FuIHVudHVrIG1lbWFoYW1pIGtldGlkYWtwYXN0aWFuIGRhbiBtZW5naGl0dW5nIGtlbXVuZ2tpbmFuIHRlcmphZGlueWEgc3VhdHUga2VqYWRpYW4uIFRlcmRhcGF0IGxpbWEga29uc2VwIGRhc2FyIHBlbnRpbmcgZGFsYW0gcHJvYmFiaWxpdGFzOg0KDQoqKjEuIEtvbnNlcCBEYXNhciBQZWx1YW5nKiogIA0KTWVuZ2hpdHVuZyBwZWx1YW5nIGJlcmRhc2Fya2FuIHJ1YW5nIHNhbXBlbCBkYW4ga2VqYWRpYW4geWFuZyBkaWluZ2lua2FuLCBzZXJ0YSBtZW1wZXJoYXRpa2FuIGF0dXJhbiBkYXNhciBzZXBlcnRpIHBlbHVhbmcgYmVybmlsYWkgMOKAkzEgZGFuIGFkYW55YSBwZWx1YW5nIGtvbXBsZW1lbi4gIA0KKioyLiBLZWphZGlhbiBJbmRlcGVuZGVuICYgRGVwZW5kZW4qKiAgDQpNZW5lbnR1a2FuIGFwYWthaCBzYXR1IGtlamFkaWFuIG1lbWVuZ2FydWhpIGtlamFkaWFuIGxhaW4gc2VoaW5nZ2EgbWVtcGVuZ2FydWhpIGNhcmEgcGVyaGl0dW5nYW4gcHJvYmFiaWxpdGFzLiAgDQoqKjMuIFVuaW9uIChHYWJ1bmdhbikgS2VqYWRpYW4qKiAgDQpNZW5naGl0dW5nIHBlbHVhbmcgbWluaW1hbCBzYXR1IGRhcmkgYmViZXJhcGEga2VqYWRpYW4gdGVyamFkaSwgZGVuZ2FuIG1lbXBlcmhhdGlrYW4gaXJpc2FuIGFnYXIgdGlkYWsgdGVyamFkaSBwZXJoaXR1bmdhbiBnYW5kYS4gIA0KKio0LiBLZWphZGlhbiBFa3NrbHVzaWYgJiBFa3NoYXVzdGlmKiogICAgDQpFa3NrbHVzaWY6IHRpZGFrIGRhcGF0IHRlcmphZGkgYmVyc2FtYWFuLiAgIA0KRWtzaGF1c3RpZjogbWVuY2FrdXAgc2VsdXJ1aCBrZW11bmdraW5hbiBkYWxhbSBydWFuZyBzYW1wZWwuICANCioqNS4gRGlzdHJpYnVzaSBCaW5vbWlhbCoqICANCk1lbmdoaXR1bmcgcGVsdWFuZyBiYW55YWtueWEga2ViZXJoYXNpbGFuIGRhbGFtIHBlcmNvYmFhbiBiZXJ1bGFuZyBkZW5nYW4gZHVhIGhhc2lsIChzdWtzZXMvZ2FnYWwpLCBwcm9iYWJpbGl0YXMgdGV0YXAsIGRhbiBwZXJjb2JhYW4gaW5kZXBlbmRlbi4gIA0KDQpLb25zZXAta29uc2VwIGluaSBtZW5qYWRpIGZvbmRhc2kgdW50dWsgYW5hbGlzaXMgc3RhdGlzdGlrYSB5YW5nIGxlYmloIGxhbmp1dCBkYW4gc2FuZ2F0IHBlbnRpbmcgZGFsYW0gcGVuZ2FtYmlsYW4ga2VwdXR1c2FuIGJlcmJhc2lzIGRhdGEuDQo8L2Rpdj4NCjwvZGl2Pg0KDQojICBEYWZ0YXIgUHVzdGFrYQ0KPGRpdiBjbGFzcz0iYm94Ij4NCkRhZnRhciBwdXN0YWthIGluaSBiZXJpc2kgc3VtYmVyIHlhbmcgZGkgZ3VuYWthbiBzZWJhZ2FpIHJlZmVyZW5zaS4NCmh0dHBzOi8vYm9va2Rvd24ub3JnL2RzY2llbmNlbGFicy9pbnRyb19zdGF0aXN0aWNzLzA2LUVzc2VudGlhbHNfb2ZfUHJvYmFiaWxpdHkuaHRtbD9hdXRodXNlcj0wICANCjwvZGl2Pg==