Essential Of Probabilitas

Exercises ~ Week 10

1 . pendahuluan.

Probabilitas didefinisikan sebagai peluang suatu kejadian, dengan istilah kunci seperti percobaan (pengamatan proses yang menghasilkan hasil tak pasti), outcome (hasil spesifik), dan event (kumpulan outcome).Konsep ini membantu pengambilan keputusan di tengah ketidakpastian, seperti analisis saham atau peluang sukses produk Pendekatan relatif menggunakan frekuensi relatif dari percobaan berulang, sementara pendekatan subjektif bergantung pada penilaian pribadipendekatan relatif menggunakan frekuensi relatif dari percoban berulang,sementara pendekatansubjektif bergantung pada nilai pribadi litas adalah ilmu matematika yang mengukur kemungkinan atau peluang terjadinya suatu peristiwa yang tidak pasti. Ini adalah alat yang memungkinkan kita untuk bergerak dari sekadar menebak menjadi perhitungan berdasarkan bukti.

2 . Konsep Dasar Probabilitas.

1. Probabilitasefinisi Probabilitas Sederhana (\(P(E)\)):

*-konsep paling mendasar, yaitu peluang atau kemungkinan suatu kejadian akan terjadi. sederhana dihitung dengan membandingkan hasil yang kita inginkan dengan semua hasil yang mungkin.Pentingnya: Probabilitas mengubah ketidakpastian menjadi a fondasi dari seluruh teori probabilitas. Ini menjelaskan bagaimana kita mendefinisikan Ini adalahpeluang dan apa saja unsur-unsur yang membentuk perhitungan tersebut. ngka yang terukur (antara 0 hingga 1).

Rumus Inti:

\[P(E) = \frac{\text{Jumlah Hasil yang Menguntungkan}}{\text{Jumlah Total Hasil yang Mungkin}}\] Contoh: Peluang mendapatkan sisi ‘Ekor’ saat melempar koin.Hasil Menguntungkan (Ekor):

1.Total Hasil: 2 (Kepala dan Ekor)

\(P(\text{Ekor}) = 1/2 = 0.5\)

2. Ruang Sampel (Sample Space, \(S\)):

Ruang Sampel adalah koleksi lengkap dari semua hasil yang mungkin terjadi dari suatu percobaan. Ini adalah penentu nilai penyebut (pembagi) dalam rumus probabilitas.Pentingnya: Ruang sampel mendefinisikan “alam semesta” dari percobaan kita. Tanpa mendefinisikan \(S\), kita tidak bisa tahu total kemungkinan yang ada.

Contoh:Percobaanmelempar sebuah dadu enam sisi: \[S = \{1, 2, 3, 4, 5, 6\}\] Percobaan melempar koin dua kali : \[S = \{\text{HH,HT,TH,TT}\}\]

3. Kejadian (Event, \(E\)): Kejadian adalah satu set hasil spesifik dari ruang sampel yang kita amati atau kita hitung peluangnya. Ini adalah penentu nilai pembilang dalam rumus probabilitas.Pentingnya: Kejadian adalah fokus perhitungan kita.Contoh (dari pelemparan dadu):

Kejadian A: Munculnya bilangan prima. \(A = \{2, 3, 5\}\) Kejadian B: Munculnya bilangan lebih dari 4. \(B = \{5, 6\}\)

4. Aturan Komplemen (Complement Rule):

Aturan Komplemen sangat berguna untuk mencari peluang suatu kejadian TIDAK terjadi. Komplemen (\(A^c\) atau \(A'\)) mencakup semua hasil di ruang sampel yang bukan merupakan kejadian \(A\).

Logika: Karena jumlah total probabilitas semua hasil dalam ruang sampel adalah 1, maka peluang \(A\) terjadi ditambah peluang \(A\) tidak terjadi pasti sama dengan 1.

Rumus: \[\mathbf{P(A^c) = 1 - P(A)}\]

Contoh: Jika peluang mendapatkan angka 6 adalah \(1/6\), maka peluang tidak mendapatkan angka 6

3 . Independent And Dependent Events

a. Independent Events (Peristiwa Independen)

Peristiwa Independen adalah dua kejadian yang tidak saling mempengaruhi. Artinya, hasil kejadian pertama tidak mengubah peluang kejadian kedua.

Contoh: Melempar koin dan melempar dadu Mengambil bola dari kotak dengan pengembalian

Ciri utama:

P(A B) = P(A) P(B)

b. Dependent Events (Peristiwa Dependen)

Peristiwa Dependen adalah dua kejadian di mana hasil kejadian pertama mempengaruhi peluang kejadian kedua. Peluang kejadian kedua berubah karena informasi dari kejadian pertama.

Contoh:

Mengambil kartu tanpa pengembalian

Mengambil bola dari kantong, tidak dikembalikan

Ciri utama:

P(A B) = P(A) P(B|A)

Di mana = peluang B terjadi setelah A terjadi.

a. Interpretasi Independent Events

Pada kejadian independen, setiap percobaan berdiri sendiri. Informasi dari percobaan pertama tidak memberi pengaruh apa pun pada peluang percobaan berikutnya.

Interpretasi matematis: Jika kamu ingin menghitung peluang dua kejadian independen terjadi bersama, cukup mengalikan peluang masing-masing kejadian.

Contoh interpretasi: Jika peluang dapat angka 4 dari dadu adalah 1/6 dan peluang koin muncul Kepala adalah 1/2, maka peluang dua-duanya terjadi adalah: 1 x 1= 1, 6 x 2 = 12

b. Interpretasi Dependent Events

Pada kejadian dependen, peluang percobaan kedua berubah setelah percobaan pertama dilakukan. Artinya, percobaan pertama “mengurangi” atau “mengubah” jumlah kemungkinan pada percobaan kedua.

Interpretasi matematis: Kita harus memakai peluang bersyarat , karena peluang B tergantung pada A.

Contoh interpretasi: Mengambil kartu tanpa pengembalian: Jika kartu As sudah diambil di percobaan pertama, peluang mengambil As di percobaan kedua menjadi 0, karena kartu itu sudah tidak ada.

4 . Union of Events

Union of Events adalah kejadian gabungan antara dua kejadian A dan B, di mana A ∪ B terjadi jika minimal salah satu dari A atau B terjadi. Dengan kata lain: A terjadi, atau . B terjadi, atau. Keduanya terjadi sekaligus

Union digunakan untuk menghitung peluang minimal satu kejadian terjadi.

Contoh: Peluang muncul angka genap atau angka lebih dari 4 pada dadu.

Peluang siswa lulus ujian Matematika atau Bahasa Inggris.

2. Rumus Union of Events (Umum)

Untuk dua kejadian A dan B:

P(A B) = P(A) + P(B) - P(A B)

Keterangan:

= peluang kejadian A

= peluanang kejadian B

= peluang kedua kejadian terjadi bersamaan

Kenapa dikurangi? Karena bagian yang tumpang tindih dihitung dua kali, sehingga harus dikurangi sekali.

3. Kasus Khusus — Mutually Exclusive (Saling Meniadakan)

Jika A dan B tidak bisa terjadi bersamaan, maka:

P(A B) = 0

Sehingga rumus menjadi:

P(A B) = P(A) + P(B)

4. Interpretasi

Rumus union digunakan untuk mengetahui peluang terjadinya salah satu dari beberapa kejadian, bukan hanya salah satu secara spesifik, tetapi minimal salah satu.

Contoh interpretasi: Jika kita hitung peluang mendapatkan angka genap atau angka >3 pada dadu, dan hasilnya 4/6, maka:

Artinya: Dari semua kemungkinan nilai pada dadu, ada 4 dari 6 kemungkinan (≈ 66.7%) bahwa nilai yang muncul memenuhi “A atau B”. Union memberi pemahaman tentang probabilitas kejadian gabungan, terutama ketika kejadian memiliki bagian yang tumpang tindih.

5. Contoh Perhitungan:

A = muncul angka genap {2,4,6} → P(A) = 3/6 B = muncul angka >3 {4,5,6} → P(B) = 3/6

\(A ∩ B = {4,6} → P(A ∩ B) = 2/6\) \[P(A \cup B) = \frac{3}{6} + \frac{3}{6} - \frac{2}{6} = \frac{4}{6}\]

Interpretasi: Ada peluang 66.7% bahwa dadu menunjukkan angka yang genap atau lebih dari 3.

5 . Exclusive and Exhautive

1. Peristiwa Independen (Independent Events)

Peristiwa Independen adalah dua kejadian di mana hasil dari kejadian pertama tidak memengaruhi probabilitas terjadinya kejadian kedua. Sifat: Hasil kedua kejadian berdiri sendiri dan tidak saling berkaitan.

Contoh: Melempar dadu dan melempar koin. Jika dadu menunjukkan angka 6, peluang koin muncul Kepala tetap 1/2 (50%), karena hasil dadu tidak memengaruhi koin.

Peristiwa independen biasanya terjadi pada percobaan yang dilakukan secara terpisah (misalnya dadu dan koin) atau percobaan dengan pengembalian (mengambil kartu lalu dikembalikan lagi).

Aturan Perkalian Peristiwa Independen Untuk menghitung peluang dua kejadian independen terjadi bersamaan (A dan B), gunakan: \[P(A dan B)=P(A) x P(B)\]

Contoh: Peluang mendapatkan angka 5 dari dadu (1/6) dan mendapatkan Kepala dari koin (1/2):

(5 dan H)=1 X 1=1 6 x 2= 12 atau sekitar (0.0833)

2. Peristiwa Dependen (Dependent Events)

Peristiwa Dependen adalah dua kejadian di mana hasil kejadian pertama mempengaruhi probabilitas kejadian kedua.

Contoh: Mengambil kartu dari satu set kartu tanpa pengembalian. Jika satu kartu sudah diambil, total kartu berubah sehingga peluang kejadian berikutnya ikut berubah.

6 . Binominal Experiment

Berikut aku buatkan Ringkasan, Interpretasi, dan Rumus untuk Binomial Experiment, dengan gaya penjelasan yang rapi seperti modulmu.

Binomial Experiment adalah percobaan yang dilakukan berulang kali dengan kondisi tertentu di mana setiap percobaan memiliki hanya dua kemungkinan hasil, yaitu berhasil (success) atau gagal (failure). Percobaan ini dilakukan dengan jumlah ulangan tetap (n) dan peluang keberhasilan (p) yang konstan setiap kali percobaan dilakukan.

Contoh umum:

Melempar koin 10 kali (Kepala = success, Ekor = failure)

Mencoba menembak target 5 kali (kena = success, tidak kena = failure)

Mengambil produk dari produksi (baik = success, cacat = failure)

Ciri-ciri Binomial Experiment

1. Jumlah percobaan (n) tetap Contoh: 5 kali melempar dadu, 10 kali cek barang.**

2. Setiap percobaan bersifat independen Hasil percobaan sebelumnya tidak memengaruhi percobaan berikutnya.

3. Hanya ada dua hasil: success (S) atau failure (F).

4. Peluang success (p) konstan di setiap percobaan. Peluang failure = q = 1 − p.

3. Rumus Binomial

Untuk mencari peluang mendapatkan k success dari n percobaan:

\[p(X = k) = \binom{n}{k} \cdot p^k \cdot (1 - p)^{n-k}\]

Di mana:

(kombinasi)

= jumlah percobaan

= jumlah success

= peluang success

= peluang failure

Rumus binomial menghitung seberapa besar peluang mendapatkan jumlah keberhasilan tertentu dari percobaan yang dilakukan beberapa kali.

Misalnya: Jika peluang berhasil suatu percobaan adalah 0.3, dan kita melakukan 5 percobaan, maka rumus binomial dapat digunakan untuk menghitung peluang:

tepat 0 keberhasilan

tepat 1 keberhasilan

tepat 2 keberhasilan

… sampai 5 keberhasilan

Setiap hasil menunjukkan kemungkinan paling mungkin, kemungkinan kecil, atau kemungkinan jarang berdasarkan nilai p.

Contoh Perhitungan

Misal: melempar koin 4 kali, peluang Kepala = 0.5. Berapa peluang mendapat 2 Kepala?

\[ P(X = 2) = \binom{4}{2} (0.5)^2 (0.5)^2\]

\[\binom{4}{2} = 6\]

\[P(X = 2) = 6 \times 0.25 \times 0.25 = 0.375\]

Interpretasi: peluang mendapatkan 2 Kepala dari 4 lemparan koin adalah 37.5%.

aBinomial Experiment

Binomial Experiment adalah percobaan yang dilakukan berulang kali dengan kondisi tertentu di mana setiap percobaan memiliki hanya dua kemungkinan hasil, yaitu berhasil (success) atau gagal (failure). Percobaan ini dilakukan dengan jumlah ulangan tetap (n) dan peluang keberhasilan (p) yang konstan setiap kali percobaan dilakukan.

Contoh umum:

Melempar koin 10 kali (Kepala = success, Ekor = failure)

Mencoba menembak target 5 kali (kena = success, tidak kena = failure)

Mengambil produk dari produksi (baik = success, cacat = failure)

Ciri-ciri Binomial Experiment

1. Jumlah percobaan (n) tetap Contoh: 5 kali melempar dadu, 10 kali cek barang.

2. Setiap percobaan bersifat independen Hasil percobaan sebelumnya tidak memengaruhi percobaan berikutnya.

3. Hanya ada dua hasil: success (S) atau failure (F).

4. Peluang success (p) konstan di setiap percobaan. Peluang failure = q = 1 − p.

7 Binominal Distribuiton

Distribusi Binomial adalah distribusi probabilitas yang menggambarkan peluang mendapatkan k keberhasilan dalam n percobaan, di mana setiap percobaan hanya memiliki dua kemungkinan hasil:

Success (berhasil)

Failure (gagal)

Distribusi ini digunakan jika percobaan memenuhi syarat Binomial Experiment.

Contoh kasus:

Peluang muncul 3 Kepala dari 5 kali lempar koin

Peluang 2 barang cacat dari 10 produksi

Peluang 4 tembakan tepat sasaran dari 7 percobaan

Syarat Distribusi Binomial

  1. n tetap (jumlah percobaan).

  2. Setiap percobaan independen.

  3. Hanya dua hasil: success atau failure.

  4. Peluang success p konstan untuk setiap percoban

Rumus Distribusi Binomial

Probabilitas k keberhasilan:

\[P(X = k) = \binom{n}{k} p^k (1-p)^{n-k}\]

Keterangan:

= jumlah percobaan

= jumlah keberhasilan

= peluang success

= peluang failure

= kombinasi

Nilai Rataan dan Variansi (Opsional, tapi penting)

Mean (μ):

\[\mu = n \cdot p\]

Variansi (σ²):

\[\sigma^2 = n \cdot p \cdot (1-p)\]

Standar Deviasi (σ):

\[\sigma = \sqrt{n p (1-p)}\]

Interpretasi:

Distribusi binomial membantu menjawab pertanyaan: “Berapa besar kemungkinan mendapatkan k keberhasilan dari n percobaan yang identik?”

Interpretasi praktis:

Jika p tinggi → success lebih mungkin terjadi.

Jika n besar → distribusi terlihat lebih “membentuk kurva”.

Kita bisa melihat hasil mana yang paling mungkin (nilai k yang paling besar probabilitasnya).

Contoh interpretasi: Jika peluang Kepala = 0.5 dan koin dilempar 4 kali, lalu kita hitung peluang mendapat 2 Kepala = 0.375. Artinya: Ada 37.5% kemungkinan muncul tepat 2 Kepala dari 4 lemparan.

Contoh Perhitungan:

Misal: n = 5 lemparan p = 0.6 (peluang berhasil) Cari peluang sukses k = 3

\[P(X=3) = \binom{5}{3} (0.6)^3 (0.4)^2\]

binom{5}{3} = 10

\[P(X=3) = 10 \times 0.216 \times 0.16 = 0.3456\]

Interpretasi: Peluang mendapatkan 3 keberhasilan dari 5 percobaan adalah 34.56%.

8 . Referensi

Berikut referensi (daftar pustaka) yang dapat kamu gunakan untuk tugas Essential of Probability. Semua referensi ini umum dipakai dalam mata kuliah Pengantar Peluang & Statistika.


Daftar Referensi – Essential of Probability

Buku Teks Utama

  1. Hogg, R. V., Tanis, E. A., & Zimmerman, D. L. (2019). Probability and Statistical Inference (10th ed.). Pearson.

  2. Ross, S. M. (2014). A First Course in Probability (9th ed.). Pearson.

  3. Gravetter, F. J., & Wallnau, L. B. (2017). Statistics for the Behavioral Sciences (10th ed.). Cengage Learning.

  4. Sheldon M. Ross (2010). Introduction to Probability Models (10th ed.). Academic Press.

  5. DeGroot, M. H., & Schervish, M. J. (2012). Probability and Statistics (4th ed.). Addison-Wesley.


LS0tDQp0aXRsZTogIkVzc2VudGlhbCBPZiBQcm9iYWJpbGl0YXMiICAgICAgICMgTWFpbiB0aXRsZSBvZiB0aGUgZG9jdW1lbnQNCg0Kc3VidGl0bGU6ICIgRXhlcmNpc2VzIH4gV2VlayAxMCAiICAgICAgICAjIFN1YnRpdGxlIG9yIHRvcGljIGZvciB3ZWVrIDEwDQphdXRob3I6IA0KICAtICJPY3RhdmlhIE1haWEgUmVnbyIgICAgICAgICAgICAgICAgICAjIFJlcGxhY2Ugd2l0aCB5b3VyIGZ1bGwgbmFtZQ0KZGF0ZTogImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJUIgJWQsICVZJylgIiAgIyBBdXRvIGRpc3BsYXlzIGN1cnJlbnQgZGF0ZQ0KDQpvdXRwdXQ6DQogIHJtZGZvcm1hdHM6OnJlYWR0aGVkb3duOiAgICAgICAgICAgICAgICMgaHR0cHM6Ly9naXRodWIuY29tL2p1YmEvcm1kZm9ybWF0cw0KICAgIGNzczogInN0eWxlLmNzcyIgICAgICAgICAgICAgICAgICAgICAjIDwtLS0gUEFOR0dJTCBGSUxFIENTUyBESSBTSU5JDQogICAgc2VsZl9jb250YWluZWQ6IHRydWUgICAgICAgICAgICAgICAgICMgRW1iZWQgYWxsIHJlc291cmNlcw0KICAgIHRodW1ibmFpbHM6IHRydWUgICAgICAgICAgICAgICAgICAgICAjIFNob3cgaW1hZ2UgdGh1bWJuYWlscw0KICAgIGxpZ2h0Ym94OiB0cnVlICAgICAgICAgICAgICAgICAgICAgICAjIEVuYWJsZSBjbGljay10by16b29tIGltYWdlcw0KICAgIGdhbGxlcnk6IHRydWUgICAgICAgICAgICAgICAgICAgICAgICAjIEdyb3VwIGltYWdlcyBpbnRvIGdhbGxlcnkNCiAgICBudW1iZXJfc2VjdGlvbnM6IHRydWUgICAgICAgICAgICAgICAgIyBOdW1iZXIgYWxsIHNlY3Rpb25zDQogICAgbGliX2RpcjogbGlicyAgICAgICAgICAgICAgICAgICAgICAgICMgU2F2ZSBKUy9DU1MgbGlicmFyaWVzDQogICAgZGZfcHJpbnQ6ICJwYWdlZCIgICAgICAgICAgICAgICAgICAgICMgUGFnZWQgZGF0YSBmcmFtZXMNCiAgICBjb2RlX2ZvbGRpbmc6ICJzaG93IiAgICAgICAgICAgICAgICAgIyBFeHBhbmRhYmxlIGNvZGUgYmxvY2tzDQogICAgY29kZV9kb3dubG9hZDogeWVzICAgICAgICAgICAgICAgICAgICMgQWRkIGJ1dHRvbiB0byBkb3dubG9hZCBSIGNvZGUNCiAgICANCi0tLQ0KDQpgYGB7ciwgZWNobz1GQUxTRSwgd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgb3V0LmV4dHJhPSdzdHlsZT0iZGlzcGxheTpibG9jazsgbWFyZ2luLWxlZnQ6YXV0bzsgbWFyZ2luLXJpZ2h0OmF1dG87Iid9DQpsaWJyYXJ5KG1hZ2ljaykNCmdhbWJhciA8LSBpbWFnZV9yZWFkKCJmb3RvXzMuanBnIikNCmdhbWJhcg0KYGBgDQoNCg0KIyMgLiBwZW5kYWh1bHVhbi4NCg0KUHJvYmFiaWxpdGFzIGRpZGVmaW5pc2lrYW4gc2ViYWdhaSBwZWx1YW5nIHN1YXR1IGtlamFkaWFuLCBkZW5nYW4gaXN0aWxhaCBrdW5jaSBzZXBlcnRpIHBlcmNvYmFhbiAocGVuZ2FtYXRhbiBwcm9zZXMgeWFuZyBtZW5naGFzaWxrYW4gaGFzaWwgdGFrIHBhc3RpKSwgb3V0Y29tZSAoaGFzaWwgc3Blc2lmaWspLCBkYW4gZXZlbnQgKGt1bXB1bGFuIG91dGNvbWUpLktvbnNlcCBpbmkgbWVtYmFudHUgcGVuZ2FtYmlsYW4ga2VwdXR1c2FuIGRpIHRlbmdhaCBrZXRpZGFrcGFzdGlhbiwgc2VwZXJ0aSBhbmFsaXNpcyBzYWhhbSBhdGF1IHBlbHVhbmfCoHN1a3Nlc8KgcHJvZHVrIFBlbmRla2F0YW4gcmVsYXRpZiBtZW5nZ3VuYWthbiBmcmVrdWVuc2kgcmVsYXRpZiBkYXJpIHBlcmNvYmFhbiBiZXJ1bGFuZywgc2VtZW50YXJhIHBlbmRla2F0YW4gc3ViamVrdGlmIGJlcmdhbnR1bmcgcGFkYSBwZW5pbGFpYW7CoHByaWJhZGlwZW5kZWthdGFuIHJlbGF0aWYgbWVuZ2d1bmFrYW4gZnJla3VlbnNpIHJlbGF0aWYgZGFyaSBwZXJjb2JhbiBiZXJ1bGFuZyxzZW1lbnRhcmEgcGVuZGVrYXRhbnN1Ympla3RpZiBiZXJnYW50dW5nIHBhZGEgbmlsYWkgcHJpYmFkaSBsaXRhcyBhZGFsYWggaWxtdSBtYXRlbWF0aWthIHlhbmcgbWVuZ3VrdXIga2VtdW5na2luYW4gYXRhdSBwZWx1YW5nIHRlcmphZGlueWEgc3VhdHUgcGVyaXN0aXdhIHlhbmcgdGlkYWsgcGFzdGkuIEluaSBhZGFsYWggYWxhdCB5YW5nIG1lbXVuZ2tpbmthbiBraXRhIHVudHVrIGJlcmdlcmFrIGRhcmkgc2VrYWRhciBtZW5lYmFrIG1lbmphZGkgcGVyaGl0dW5nYW4gYmVyZGFzYXJrYW4gYnVrdGkuDQoNCg0KIyMgLiBLb25zZXAgRGFzYXIgUHJvYmFiaWxpdGFzLg0KDQo8Y2VudGVyPg0KPGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL3luakhLQkNpR1hZIiB3aWR0aD0iNTYwIiBoZWlnaHQ9IjMxNSIgd2lkdGg9Ijc2OCIgaGVpZ2h0PSI0MDBweCIgZGF0YS1leHRlcm5hbD0iMSI+IDwvaWZyYW1lPg0KPC9jZW50ZXI+DQoNCg0KDQoqKjEuIFByb2JhYmlsaXRhc2VmaW5pc2kgUHJvYmFiaWxpdGFzIFNlZGVyaGFuYSAoJFAoRSkkKToqKg0KDQoqLWtvbnNlcCBwYWxpbmcgbWVuZGFzYXIsIHlhaXR1IHBlbHVhbmcgYXRhdSBrZW11bmdraW5hbiBzdWF0dSBrZWphZGlhbiBha2FuIHRlcmphZGkuICBzZWRlcmhhbmEgZGloaXR1bmcgZGVuZ2FuIG1lbWJhbmRpbmdrYW4gaGFzaWwgeWFuZyBraXRhIGluZ2lua2FuIGRlbmdhbiBzZW11YSBoYXNpbCB5YW5nIG11bmdraW4uUGVudGluZ255YTogUHJvYmFiaWxpdGFzIG1lbmd1YmFoIGtldGlkYWtwYXN0aWFuIG1lbmphZGkgYSBmb25kYXNpIGRhcmkgc2VsdXJ1aCB0ZW9yaSBwcm9iYWJpbGl0YXMuIEluaSBtZW5qZWxhc2thbiBiYWdhaW1hbmEga2l0YSBtZW5kZWZpbmlzaWthbiBJbmkgYWRhbGFocGVsdWFuZyBkYW4gYXBhIHNhamEgdW5zdXItdW5zdXIgeWFuZyBtZW1iZW50dWsgcGVyaGl0dW5nYW4gdGVyc2VidXQuDQpuZ2thIHlhbmcgdGVydWt1ciAoYW50YXJhIDAgaGluZ2dhIDEpLg0KDQoqKlJ1bXVzIEludGk6KioNCg0KJCRQKEUpID0gXGZyYWN7XHRleHR7SnVtbGFoIEhhc2lsIHlhbmcgTWVuZ3VudHVuZ2thbn19e1x0ZXh0e0p1bWxhaCBUb3RhbCBIYXNpbCB5YW5nIE11bmdraW59fSQkDQoqKkNvbnRvaDoqKiBQZWx1YW5nIG1lbmRhcGF0a2FuIHNpc2kgJ0Vrb3InIHNhYXQgbWVsZW1wYXIga29pbi5IYXNpbCBNZW5ndW50dW5na2FuIChFa29yKTogDQoNCioqMS5Ub3RhbCBIYXNpbDoqKiAyIChLZXBhbGEgZGFuIEVrb3IpDQoNCiRQKFx0ZXh0e0Vrb3J9KSA9IDEvMiA9IDAuNSQNCg0KDQoqKjIuIFJ1YW5nIFNhbXBlbCAoU2FtcGxlIFNwYWNlLCAkUyQpOioqDQoNClJ1YW5nIFNhbXBlbCBhZGFsYWgga29sZWtzaSBsZW5na2FwIGRhcmkgc2VtdWEgaGFzaWwgeWFuZyBtdW5na2luIHRlcmphZGkgZGFyaSBzdWF0dSBwZXJjb2JhYW4uIEluaSBhZGFsYWggcGVuZW50dSBuaWxhaSBwZW55ZWJ1dCAocGVtYmFnaSkgZGFsYW0gcnVtdXMgcHJvYmFiaWxpdGFzLlBlbnRpbmdueWE6DQpSdWFuZyBzYW1wZWwgbWVuZGVmaW5pc2lrYW4gImFsYW0gc2VtZXN0YSIgZGFyaSBwZXJjb2JhYW4ga2l0YS4NClRhbnBhIG1lbmRlZmluaXNpa2FuICRTJCwga2l0YSB0aWRhayBiaXNhIHRhaHUgdG90YWwga2VtdW5na2luYW4geWFuZyBhZGEuDQoNCioqQ29udG9oOioqUGVyY29iYWFubWVsZW1wYXIgc2VidWFoIGRhZHUgZW5hbSBzaXNpOg0KJCRTID0gXHsxLCAyLCAzLCA0LCA1LCA2XH0kJA0KUGVyY29iYWFuIG1lbGVtcGFyIGtvaW4gZHVhIGthbGkgOiAkJFMgPSBce1x0ZXh0e0hILEhULFRILFRUfVx9JCQNCg0KKiozLiBLZWphZGlhbiAoRXZlbnQsICRFJCk6KioNCktlamFkaWFuIGFkYWxhaCBzYXR1IHNldCBoYXNpbCBzcGVzaWZpayBkYXJpIHJ1YW5nIHNhbXBlbCB5YW5nIGtpdGEgYW1hdGkgYXRhdSBraXRhIGhpdHVuZyBwZWx1YW5nbnlhLiBJbmkgYWRhbGFoIHBlbmVudHUgbmlsYWkgcGVtYmlsYW5nIGRhbGFtIHJ1bXVzIHByb2JhYmlsaXRhcy5QZW50aW5nbnlhOiBLZWphZGlhbiBhZGFsYWggZm9rdXMgcGVyaGl0dW5nYW4ga2l0YS5Db250b2ggKGRhcmkgcGVsZW1wYXJhbiBkYWR1KToNCg0KDQpLZWphZGlhbiBBOiBNdW5jdWxueWEgYmlsYW5nYW4gcHJpbWEuICRBID0gXHsyLCAzLCA1XH0kDQpLZWphZGlhbiBCOiBNdW5jdWxueWEgYmlsYW5nYW4gbGViaWggZGFyaSA0LiAkQiA9IFx7NSwgNlx9JA0KDQoqKjQuIEF0dXJhbiBLb21wbGVtZW4gKENvbXBsZW1lbnQgUnVsZSk6KioNCg0KQXR1cmFuIEtvbXBsZW1lbiBzYW5nYXQgYmVyZ3VuYSB1bnR1ayBtZW5jYXJpIHBlbHVhbmcgc3VhdHUga2VqYWRpYW4gVElEQUsgdGVyamFkaS4gS29tcGxlbWVuICgkQV5jJCBhdGF1ICRBJyQpIG1lbmNha3VwIHNlbXVhIGhhc2lsIGRpIHJ1YW5nIHNhbXBlbCB5YW5nIGJ1a2FuIG1lcnVwYWthbiBrZWphZGlhbiAkQSQuDQoNCkxvZ2lrYTogDQpLYXJlbmEganVtbGFoIHRvdGFsIHByb2JhYmlsaXRhcyBzZW11YSBoYXNpbCBkYWxhbSBydWFuZyBzYW1wZWwgYWRhbGFoIDEsIG1ha2EgcGVsdWFuZyAkQSQgdGVyamFkaSBkaXRhbWJhaCBwZWx1YW5nICRBJCB0aWRhayB0ZXJqYWRpIHBhc3RpIHNhbWEgZGVuZ2FuIDEuDQoNCioqUnVtdXM6KioNCiQkXG1hdGhiZntQKEFeYykgPSAxIC0gUChBKX0kJA0KDQoqKkNvbnRvaDoqKiBKaWthIHBlbHVhbmcgbWVuZGFwYXRrYW4gYW5na2EgNiBhZGFsYWggJDEvNiQsIG1ha2EgcGVsdWFuZyB0aWRhayBtZW5kYXBhdGthbiBhbmdrYSA2IA0KIA0KDQogDQojIyAuIEluZGVwZW5kZW50IEFuZCBEZXBlbmRlbnQgRXZlbnRzDQoNCjxjZW50ZXI+DQo8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvTFMtX2loREtyMk0/c2k9WUZHWE9Jc3dxQkc0dVJZZSIgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMTUiIHdpZHRoPSI3NjgiIGhlaWdodD0iNDAwcHgiIGRhdGEtZXh0ZXJuYWw9IjEiPiA8L2lmcmFtZT4NCjwvY2VudGVyPg0KDQoNCioqYS4gSW5kZXBlbmRlbnQgRXZlbnRzIChQZXJpc3Rpd2EgSW5kZXBlbmRlbikqKg0KDQpQZXJpc3Rpd2EgSW5kZXBlbmRlbiBhZGFsYWggZHVhIGtlamFkaWFuIHlhbmcgdGlkYWsgc2FsaW5nIG1lbXBlbmdhcnVoaS4NCkFydGlueWEsIGhhc2lsIGtlamFkaWFuIHBlcnRhbWEgdGlkYWsgbWVuZ3ViYWggcGVsdWFuZyBrZWphZGlhbiBrZWR1YS4NCg0KKipDb250b2g6KioNCk1lbGVtcGFyIGtvaW4gZGFuIG1lbGVtcGFyIGRhZHUNCk1lbmdhbWJpbCBib2xhIGRhcmkga290YWsgZGVuZ2FuIHBlbmdlbWJhbGlhbg0KDQoNCioqQ2lyaSB1dGFtYToqKg0KDQpQKEEgXGNhcCBCKSA9IFAoQSkgXHRpbWVzIFAoQikNCg0KDQoqKmIuIERlcGVuZGVudCBFdmVudHMgKFBlcmlzdGl3YSBEZXBlbmRlbikqKg0KDQpQZXJpc3Rpd2EgRGVwZW5kZW4gYWRhbGFoIGR1YSBrZWphZGlhbiBkaSBtYW5hIGhhc2lsIGtlamFkaWFuIHBlcnRhbWEgbWVtcGVuZ2FydWhpIHBlbHVhbmcga2VqYWRpYW4ga2VkdWEuDQpQZWx1YW5nIGtlamFkaWFuIGtlZHVhIGJlcnViYWgga2FyZW5hIGluZm9ybWFzaSBkYXJpIGtlamFkaWFuIHBlcnRhbWEuDQoNCioqQ29udG9oOioqDQoNCk1lbmdhbWJpbCBrYXJ0dSB0YW5wYSBwZW5nZW1iYWxpYW4NCg0KTWVuZ2FtYmlsIGJvbGEgZGFyaSBrYW50b25nLCB0aWRhayBkaWtlbWJhbGlrYW4NCg0KDQoqKkNpcmkgdXRhbWE6KioNCg0KUChBIFxjYXAgQikgPSBQKEEpIFx0aW1lcyBQKEJ8QSkNCg0KRGkgbWFuYSAgPSBwZWx1YW5nIEIgdGVyamFkaSBzZXRlbGFoIEEgdGVyamFkaS4NCg0KDQoNCioqYS4gSW50ZXJwcmV0YXNpIEluZGVwZW5kZW50IEV2ZW50cyoqDQoNClBhZGEga2VqYWRpYW4gaW5kZXBlbmRlbiwgc2V0aWFwIHBlcmNvYmFhbiBiZXJkaXJpIHNlbmRpcmkuDQpJbmZvcm1hc2kgZGFyaSBwZXJjb2JhYW4gcGVydGFtYSB0aWRhayBtZW1iZXJpIHBlbmdhcnVoIGFwYSBwdW4gcGFkYSBwZWx1YW5nIHBlcmNvYmFhbiBiZXJpa3V0bnlhLg0KDQoqKkludGVycHJldGFzaSBtYXRlbWF0aXM6KioNCkppa2Ega2FtdSBpbmdpbiBtZW5naGl0dW5nIHBlbHVhbmcgZHVhIGtlamFkaWFuIGluZGVwZW5kZW4gdGVyamFkaSBiZXJzYW1hLCBjdWt1cCBtZW5nYWxpa2FuIHBlbHVhbmcgbWFzaW5nLW1hc2luZyBrZWphZGlhbi4NCg0KKipDb250b2ggaW50ZXJwcmV0YXNpOioqDQpKaWthIHBlbHVhbmcgZGFwYXQgYW5na2EgNCBkYXJpIGRhZHUgYWRhbGFoIDEvNiBkYW4gcGVsdWFuZyBrb2luIG11bmN1bCBLZXBhbGEgYWRhbGFoIDEvMiwgbWFrYSBwZWx1YW5nIGR1YS1kdWFueWEgdGVyamFkaSBhZGFsYWg6DQoxIHggMT0gMSwgNiB4ICAyID0gIDEyDQoNCg0KDQoqKmIuIEludGVycHJldGFzaSBEZXBlbmRlbnQgRXZlbnRzKioNCg0KUGFkYSBrZWphZGlhbiBkZXBlbmRlbiwgcGVsdWFuZyBwZXJjb2JhYW4ga2VkdWEgYmVydWJhaCBzZXRlbGFoIHBlcmNvYmFhbiBwZXJ0YW1hIGRpbGFrdWthbi4NCkFydGlueWEsIHBlcmNvYmFhbiBwZXJ0YW1hIOKAnG1lbmd1cmFuZ2nigJ0gYXRhdSDigJxtZW5ndWJhaOKAnSBqdW1sYWgga2VtdW5na2luYW4gcGFkYSBwZXJjb2JhYW4ga2VkdWEuDQoNCioqSW50ZXJwcmV0YXNpIG1hdGVtYXRpczoqKg0KS2l0YSBoYXJ1cyBtZW1ha2FpIHBlbHVhbmcgYmVyc3lhcmF0ICwga2FyZW5hIHBlbHVhbmcgQiB0ZXJnYW50dW5nIHBhZGEgQS4NCg0KKipDb250b2ggaW50ZXJwcmV0YXNpOioqDQpNZW5nYW1iaWwga2FydHUgdGFucGEgcGVuZ2VtYmFsaWFuOg0KSmlrYSBrYXJ0dSBBcyBzdWRhaCBkaWFtYmlsIGRpIHBlcmNvYmFhbiBwZXJ0YW1hLCBwZWx1YW5nIG1lbmdhbWJpbCBBcyBkaSBwZXJjb2JhYW4ga2VkdWEgbWVuamFkaSAwLCBrYXJlbmEga2FydHUgaXR1IHN1ZGFoIHRpZGFrIGFkYS4NCg0KDQoNCg0KIyMgLiBVbmlvbiBvZiBFdmVudHMNCg0KPGNlbnRlcj4NCjxpZnJhbWUgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC92cUtBYmhDcVNUYz9zaT1QbVNaTFZaODBHc2VNaW50IiB3aWR0aD0iNTYwIiBoZWlnaHQ9IjMxNSIgd2lkdGg9Ijc2OCIgaGVpZ2h0PSI0MDBweCIgZGF0YS1leHRlcm5hbD0iMSI+IDwvaWZyYW1lPg0KPC9jZW50ZXI+DQoNCg0KVW5pb24gb2YgRXZlbnRzIGFkYWxhaCBrZWphZGlhbiBnYWJ1bmdhbiBhbnRhcmEgZHVhIGtlamFkaWFuIEEgZGFuIEIsIGRpIG1hbmEgQSDiiKogQiB0ZXJqYWRpIGppa2EgbWluaW1hbCBzYWxhaCBzYXR1IGRhcmkgQSBhdGF1IEIgdGVyamFkaS4NCkRlbmdhbiBrYXRhIGxhaW46ICoqQSB0ZXJqYWRpLCBhdGF1IC4gQiB0ZXJqYWRpLCBhdGF1KiouDQpLZWR1YW55YSB0ZXJqYWRpIHNla2FsaWd1cw0KDQpVbmlvbiBkaWd1bmFrYW4gdW50dWsgbWVuZ2hpdHVuZyBwZWx1YW5nIG1pbmltYWwgc2F0dSBrZWphZGlhbiB0ZXJqYWRpLg0KDQoqKkNvbnRvaDoqKg0KUGVsdWFuZyBtdW5jdWwgYW5na2EgZ2VuYXAgYXRhdSBhbmdrYSBsZWJpaCBkYXJpIDQgcGFkYSBkYWR1Lg0KDQpQZWx1YW5nIHNpc3dhIGx1bHVzIHVqaWFuIE1hdGVtYXRpa2EgYXRhdSBCYWhhc2EgSW5nZ3Jpcy4NCg0KDQoqKjIuIFJ1bXVzIFVuaW9uIG9mIEV2ZW50cyAoVW11bSkqKg0KDQpVbnR1ayBkdWEga2VqYWRpYW4gQSBkYW4gQjoNCg0KUChBIFxjdXAgQikgPSBQKEEpICsgUChCKSAtIFAoQSBcY2FwIEIpDQoNCiBLZXRlcmFuZ2FuOg0KDQo9IHBlbHVhbmcga2VqYWRpYW4gQQ0KDQo9IHBlbHVhbmFuZyBrZWphZGlhbiBCDQoNCj0gcGVsdWFuZyBrZWR1YSBrZWphZGlhbiB0ZXJqYWRpIGJlcnNhbWFhbg0KDQoNCktlbmFwYSBkaWt1cmFuZ2k/DQpLYXJlbmEgYmFnaWFuIHlhbmcgdHVtcGFuZyB0aW5kaWggZGloaXR1bmcgZHVhIGthbGksIHNlaGluZ2dhIGhhcnVzIGRpa3VyYW5naSBzZWthbGkuDQoNCg0KDQoqKjMuIEthc3VzIEtodXN1cyDigJQgTXV0dWFsbHkgRXhjbHVzaXZlIChTYWxpbmcgTWVuaWFkYWthbikqKg0KDQpKaWthIEEgZGFuIEIgdGlkYWsgYmlzYSB0ZXJqYWRpIGJlcnNhbWFhbiwgbWFrYToNCg0KKipQKEEgXGNhcCBCKSA9IDAqKg0KDQpTZWhpbmdnYSBydW11cyBtZW5qYWRpOg0KDQoqKlAoQSBcY3VwIEIpID0gUChBKSArIFAoQikqKg0KDQoNCioqNC4gSW50ZXJwcmV0YXNpKioNCg0KUnVtdXMgdW5pb24gZGlndW5ha2FuIHVudHVrIG1lbmdldGFodWkgcGVsdWFuZyB0ZXJqYWRpbnlhIHNhbGFoIHNhdHUgZGFyaSBiZWJlcmFwYSBrZWphZGlhbiwgYnVrYW4gaGFueWEgc2FsYWggc2F0dSBzZWNhcmEgc3Blc2lmaWssIHRldGFwaSBtaW5pbWFsIHNhbGFoIHNhdHUuDQoNCkNvbnRvaCBpbnRlcnByZXRhc2k6DQpKaWthIGtpdGEgaGl0dW5nIHBlbHVhbmcgbWVuZGFwYXRrYW4gYW5na2EgZ2VuYXAgYXRhdSBhbmdrYSA+MyBwYWRhIGRhZHUsIGRhbiBoYXNpbG55YSA0LzYsIG1ha2E6DQoNCkFydGlueWE6DQpEYXJpIHNlbXVhIGtlbXVuZ2tpbmFuIG5pbGFpIHBhZGEgZGFkdSwgYWRhIDQgZGFyaSA2IGtlbXVuZ2tpbmFuICjiiYggNjYuNyUpIGJhaHdhIG5pbGFpIHlhbmcgbXVuY3VsIG1lbWVudWhpIOKAnEEgYXRhdSBC4oCdLg0KVW5pb24gbWVtYmVyaSBwZW1haGFtYW4gdGVudGFuZyBwcm9iYWJpbGl0YXMga2VqYWRpYW4gZ2FidW5nYW4sIHRlcnV0YW1hIGtldGlrYSBrZWphZGlhbiBtZW1pbGlraSBiYWdpYW4geWFuZyB0dW1wYW5nIHRpbmRpaC4NCg0KDQoNCg0KKio1LiBDb250b2ggUGVyaGl0dW5nYW46KioNCg0KQSA9IG11bmN1bCBhbmdrYSBnZW5hcCB7Miw0LDZ9IOKGkiBQKEEpID0gMy82DQpCID0gbXVuY3VsIGFuZ2thID4zIHs0LDUsNn0g4oaSIFAoQikgPSAzLzYNCiAgICAgICAgICAgICAgIA0KJEEg4oipIEIgPSB7NCw2fSDihpIgUChBIOKIqSBCKSA9IDIvNiQNCiQkUChBIFxjdXAgQikgPSBcZnJhY3szfXs2fSArIFxmcmFjezN9ezZ9IC0gXGZyYWN7Mn17Nn0gPSBcZnJhY3s0fXs2fSQkDQoNCkludGVycHJldGFzaToNCkFkYSBwZWx1YW5nIDY2LjclIGJhaHdhIGRhZHUgbWVudW5qdWtrYW4gYW5na2EgeWFuZyBnZW5hcCBhdGF1IGxlYmloIGRhcmkgMy4NCg0KDQojIyAuIEV4Y2x1c2l2ZSBhbmQgRXhoYXV0aXZlDQoNCjxjZW50ZXI+DQo8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvZjdhZ1R2OW5BNWs/c2k9eUtTc3VmR3ZGbU5WdVJ3ZCIgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMTUiIHdpZHRoPSI3NjgiIGhlaWdodD0iNDAwcHgiIGRhdGEtZXh0ZXJuYWw9IjEiPiA8L2lmcmFtZT4NCjwvY2VudGVyPg0KDQoNCg0KKioxLiBQZXJpc3Rpd2EgSW5kZXBlbmRlbiAoSW5kZXBlbmRlbnQgRXZlbnRzKSoqDQoNClBlcmlzdGl3YSBJbmRlcGVuZGVuIGFkYWxhaCBkdWEga2VqYWRpYW4gZGkgbWFuYSBoYXNpbCBkYXJpIGtlamFkaWFuIHBlcnRhbWEgdGlkYWsgbWVtZW5nYXJ1aGkgcHJvYmFiaWxpdGFzIHRlcmphZGlueWEga2VqYWRpYW4ga2VkdWEuDQpTaWZhdDogSGFzaWwga2VkdWEga2VqYWRpYW4gYmVyZGlyaSBzZW5kaXJpIGRhbiB0aWRhayBzYWxpbmcgYmVya2FpdGFuLg0KDQoqKkNvbnRvaDoqKg0KTWVsZW1wYXIgZGFkdSBkYW4gbWVsZW1wYXIga29pbi4gSmlrYSBkYWR1IG1lbnVuanVra2FuIGFuZ2thIDYsIHBlbHVhbmcga29pbiBtdW5jdWwgS2VwYWxhIHRldGFwIDEvMiAoNTAlKSwga2FyZW5hIGhhc2lsIGRhZHUgdGlkYWsgbWVtZW5nYXJ1aGkga29pbi4NCg0KUGVyaXN0aXdhIGluZGVwZW5kZW4gYmlhc2FueWEgdGVyamFkaSBwYWRhIHBlcmNvYmFhbiB5YW5nIGRpbGFrdWthbiBzZWNhcmEgdGVycGlzYWggKG1pc2FsbnlhIGRhZHUgZGFuIGtvaW4pIGF0YXUgcGVyY29iYWFuIGRlbmdhbiBwZW5nZW1iYWxpYW4gKG1lbmdhbWJpbCBrYXJ0dSBsYWx1IGRpa2VtYmFsaWthbiBsYWdpKS4NCg0KQXR1cmFuIFBlcmthbGlhbiBQZXJpc3Rpd2EgSW5kZXBlbmRlbg0KVW50dWsgbWVuZ2hpdHVuZyBwZWx1YW5nIGR1YSBrZWphZGlhbiBpbmRlcGVuZGVuIHRlcmphZGkgYmVyc2FtYWFuIChBIGRhbiBCKSwgZ3VuYWthbjoNCiQkUChBIGRhbiBCKT1QKEEpIHggUChCKSQkDQoNCioqQ29udG9oOioqDQpQZWx1YW5nIG1lbmRhcGF0a2FuIGFuZ2thIDUgZGFyaSBkYWR1ICgxLzYpIGRhbiBtZW5kYXBhdGthbiBLZXBhbGEgZGFyaSBrb2luICgxLzIpOg0KDQooNSBkYW4gSCk9MSBYIDE9MQ0KNiB4ICAyPSAxMiBhdGF1IHNla2l0YXIgKDAuMDgzMykNCiANCg0KKioyLiBQZXJpc3Rpd2EgRGVwZW5kZW4gKERlcGVuZGVudCBFdmVudHMpKioNCg0KUGVyaXN0aXdhIERlcGVuZGVuIGFkYWxhaCBkdWEga2VqYWRpYW4gZGkgbWFuYSBoYXNpbCBrZWphZGlhbiBwZXJ0YW1hIG1lbXBlbmdhcnVoaSBwcm9iYWJpbGl0YXMga2VqYWRpYW4ga2VkdWEuDQoNCioqQ29udG9oOioqDQpNZW5nYW1iaWwga2FydHUgZGFyaSBzYXR1IHNldCBrYXJ0dSB0YW5wYSBwZW5nZW1iYWxpYW4uIEppa2Egc2F0dSBrYXJ0dSBzdWRhaCBkaWFtYmlsLCB0b3RhbCBrYXJ0dSBiZXJ1YmFoIHNlaGluZ2dhIHBlbHVhbmcga2VqYWRpYW4gYmVyaWt1dG55YSBpa3V0IGJlcnViYWguDQoNCg0KDQojIyAuIEJpbm9taW5hbCBFeHBlcmltZW50DQoNCjxjZW50ZXI+DQo8aWZyYW1lIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvblJ1UUF0YWpKWWs/c2k9VnZqd3lzeGIzaUVxTU1rNyIgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMTUiIHdpZHRoPSI3NjgiIGhlaWdodD0iNDAwcHgiIGRhdGEtZXh0ZXJuYWw9IjEiPiA8L2lmcmFtZT4NCjwvY2VudGVyPg0KDQpCZXJpa3V0IGFrdSBidWF0a2FuIFJpbmdrYXNhbiwgSW50ZXJwcmV0YXNpLCBkYW4gUnVtdXMgdW50dWsgQmlub21pYWwgRXhwZXJpbWVudCwgZGVuZ2FuIGdheWEgcGVuamVsYXNhbiB5YW5nIHJhcGkgc2VwZXJ0aSBtb2R1bG11Lg0KDQoNCg0KQmlub21pYWwgRXhwZXJpbWVudCBhZGFsYWggcGVyY29iYWFuIHlhbmcgZGlsYWt1a2FuIGJlcnVsYW5nIGthbGkgZGVuZ2FuIGtvbmRpc2kgdGVydGVudHUgZGkgbWFuYSBzZXRpYXAgcGVyY29iYWFuIG1lbWlsaWtpIGhhbnlhIGR1YSBrZW11bmdraW5hbiBoYXNpbCwgeWFpdHUgYmVyaGFzaWwgKHN1Y2Nlc3MpIGF0YXUgZ2FnYWwgKGZhaWx1cmUpLg0KUGVyY29iYWFuIGluaSBkaWxha3VrYW4gZGVuZ2FuIGp1bWxhaCB1bGFuZ2FuIHRldGFwIChuKSBkYW4gcGVsdWFuZyBrZWJlcmhhc2lsYW4gKHApIHlhbmcga29uc3RhbiBzZXRpYXAga2FsaSBwZXJjb2JhYW4gZGlsYWt1a2FuLg0KDQpDb250b2ggdW11bToNCg0KTWVsZW1wYXIga29pbiAxMCBrYWxpIChLZXBhbGEgPSBzdWNjZXNzLCBFa29yID0gZmFpbHVyZSkNCg0KTWVuY29iYSBtZW5lbWJhayB0YXJnZXQgNSBrYWxpIChrZW5hID0gc3VjY2VzcywgdGlkYWsga2VuYSA9IGZhaWx1cmUpDQogICAgICAgICAgICAgDQpNZW5nYW1iaWwgcHJvZHVrIGRhcmkgcHJvZHVrc2kgKGJhaWsgPSBzdWNjZXNzLCBjYWNhdCA9IGZhaWx1cmUpDQoNCg0KKipDaXJpLWNpcmkgQmlub21pYWwgRXhwZXJpbWVudCoqDQoNCioqMS4qKiBKdW1sYWggcGVyY29iYWFuIChuKSB0ZXRhcA0KQ29udG9oOiA1IGthbGkgbWVsZW1wYXIgZGFkdSwgMTAga2FsaSBjZWsgYmFyYW5nLioqDQoNCg0KKioyLioqIFNldGlhcCBwZXJjb2JhYW4gYmVyc2lmYXQgaW5kZXBlbmRlbg0KSGFzaWwgcGVyY29iYWFuIHNlYmVsdW1ueWEgdGlkYWsgbWVtZW5nYXJ1aGkgcGVyY29iYWFuIGJlcmlrdXRueWEuDQoNCg0KKiozLioqIEhhbnlhIGFkYSBkdWEgaGFzaWw6IHN1Y2Nlc3MgKFMpIGF0YXUgZmFpbHVyZSAoRikuDQoNCg0KKio0LioqIFBlbHVhbmcgc3VjY2VzcyAocCkga29uc3RhbiBkaSBzZXRpYXAgcGVyY29iYWFuLg0KUGVsdWFuZyBmYWlsdXJlID0gcSA9IDEg4oiSIHAuDQoNCg0KKiozLiBSdW11cyBCaW5vbWlhbCoqDQoNClVudHVrIG1lbmNhcmkgcGVsdWFuZyBtZW5kYXBhdGthbiBrIHN1Y2Nlc3MgZGFyaSBuIHBlcmNvYmFhbjoNCg0KJCRwKFggPSBrKSA9IFxiaW5vbXtufXtrfSBcY2RvdCBwXmsgXGNkb3QgKDEgLSBwKV57bi1rfSQkDQoNCkRpIG1hbmE6DQoNCiAgIChrb21iaW5hc2kpDQoNCiA9IGp1bWxhaCBwZXJjb2JhYW4NCg0KID0ganVtbGFoIHN1Y2Nlc3MNCg0KID0gcGVsdWFuZyBzdWNjZXNzDQoNCiA9IHBlbHVhbmcgZmFpbHVyZQ0KDQogICAgICAgICANClJ1bXVzIGJpbm9taWFsIG1lbmdoaXR1bmcgc2ViZXJhcGEgYmVzYXIgcGVsdWFuZyBtZW5kYXBhdGthbiBqdW1sYWgga2ViZXJoYXNpbGFuIHRlcnRlbnR1IGRhcmkgcGVyY29iYWFuIHlhbmcgZGlsYWt1a2FuIGJlYmVyYXBhIGthbGkuDQoNCk1pc2FsbnlhOg0KSmlrYSBwZWx1YW5nIGJlcmhhc2lsIHN1YXR1IHBlcmNvYmFhbiBhZGFsYWggMC4zLCBkYW4ga2l0YSBtZWxha3VrYW4gNSBwZXJjb2JhYW4sIG1ha2EgcnVtdXMgYmlub21pYWwgZGFwYXQgZGlndW5ha2FuIHVudHVrIG1lbmdoaXR1bmcgcGVsdWFuZzoNCg0KICB0ZXBhdCAwIGtlYmVyaGFzaWxhbg0KDQogIHRlcGF0IDEga2ViZXJoYXNpbGFuDQoNCiAgdGVwYXQgMiBrZWJlcmhhc2lsYW4NCg0KICAuLi4gc2FtcGFpIDUga2ViZXJoYXNpbGFuDQoNCg0KU2V0aWFwIGhhc2lsIG1lbnVuanVra2FuIGtlbXVuZ2tpbmFuIHBhbGluZyBtdW5na2luLCBrZW11bmdraW5hbiBrZWNpbCwgYXRhdSBrZW11bmdraW5hbiBqYXJhbmcgYmVyZGFzYXJrYW4gbmlsYWkgcC4NCg0KKipDb250b2ggUGVyaGl0dW5nYW4qKg0KDQpNaXNhbDogbWVsZW1wYXIga29pbiA0IGthbGksIHBlbHVhbmcgS2VwYWxhID0gMC41Lg0KQmVyYXBhIHBlbHVhbmcgbWVuZGFwYXQgMiBLZXBhbGE/DQoNCiAgJCQgUChYID0gMikgPSBcYmlub217NH17Mn0gKDAuNSleMiAoMC41KV4yJCQNCg0KJCRcYmlub217NH17Mn0gPSA2JCQNCg0KJCRQKFggPSAyKSA9IDYgXHRpbWVzIDAuMjUgXHRpbWVzIDAuMjUgPSAwLjM3NSQkDQoNCkludGVycHJldGFzaTogcGVsdWFuZyBtZW5kYXBhdGthbiAyIEtlcGFsYSBkYXJpIDQgbGVtcGFyYW4ga29pbiBhZGFsYWggMzcuNSUuDQoNCg0KYSoqQmlub21pYWwgRXhwZXJpbWVudCoqDQoNCg0KQmlub21pYWwgRXhwZXJpbWVudCBhZGFsYWggcGVyY29iYWFuIHlhbmcgZGlsYWt1a2FuIGJlcnVsYW5nIGthbGkgZGVuZ2FuIGtvbmRpc2kgdGVydGVudHUgZGkgbWFuYSBzZXRpYXAgcGVyY29iYWFuIG1lbWlsaWtpIGhhbnlhIGR1YSBrZW11bmdraW5hbiBoYXNpbCwgeWFpdHUgYmVyaGFzaWwgKHN1Y2Nlc3MpIGF0YXUgZ2FnYWwgKGZhaWx1cmUpLg0KUGVyY29iYWFuIGluaSBkaWxha3VrYW4gZGVuZ2FuIGp1bWxhaCB1bGFuZ2FuIHRldGFwIChuKSBkYW4gcGVsdWFuZyBrZWJlcmhhc2lsYW4gKHApIHlhbmcga29uc3RhbiBzZXRpYXAga2FsaSBwZXJjb2JhYW4gZGlsYWt1a2FuLg0KDQoqKkNvbnRvaCB1bXVtOioqDQoNCk1lbGVtcGFyIGtvaW4gMTAga2FsaSAoS2VwYWxhID0gc3VjY2VzcywgRWtvciA9IGZhaWx1cmUpDQoNCk1lbmNvYmEgbWVuZW1iYWsgdGFyZ2V0IDUga2FsaSAoa2VuYSA9IHN1Y2Nlc3MsIHRpZGFrIGtlbmEgPSBmYWlsdXJlKQ0KDQpNZW5nYW1iaWwgcHJvZHVrIGRhcmkgcHJvZHVrc2kgKGJhaWsgPSBzdWNjZXNzLCBjYWNhdCA9IGZhaWx1cmUpDQoNCg0KKipDaXJpLWNpcmkgQmlub21pYWwgRXhwZXJpbWVudCoqDQoNCioqMS4qKiBKdW1sYWggcGVyY29iYWFuIChuKSB0ZXRhcA0KQ29udG9oOiA1IGthbGkgbWVsZW1wYXIgZGFkdSwgMTAga2FsaSBjZWsgYmFyYW5nLg0KDQoNCioqMi4qKiBTZXRpYXAgcGVyY29iYWFuIGJlcnNpZmF0IGluZGVwZW5kZW4NCkhhc2lsIHBlcmNvYmFhbiBzZWJlbHVtbnlhIHRpZGFrIG1lbWVuZ2FydWhpIHBlcmNvYmFhbiBiZXJpa3V0bnlhLg0KDQoNCioqMy4qKiBIYW55YSBhZGEgZHVhIGhhc2lsOiBzdWNjZXNzIChTKSBhdGF1IGZhaWx1cmUgKEYpLg0KDQoNCioqNC4qKiBQZWx1YW5nIHN1Y2Nlc3MgKHApIGtvbnN0YW4gZGkgc2V0aWFwIHBlcmNvYmFhbi4NClBlbHVhbmcgZmFpbHVyZSA9IHEgPSAxIOKIkiBwLg0KDQoNCg0KIyMgQmlub21pbmFsIERpc3RyaWJ1aXRvbg0KRGlzdHJpYnVzaSBCaW5vbWlhbCBhZGFsYWggZGlzdHJpYnVzaSBwcm9iYWJpbGl0YXMgeWFuZyBtZW5nZ2FtYmFya2FuIHBlbHVhbmcgbWVuZGFwYXRrYW4gayBrZWJlcmhhc2lsYW4gZGFsYW0gbiBwZXJjb2JhYW4sIGRpIG1hbmEgc2V0aWFwIHBlcmNvYmFhbiBoYW55YSBtZW1pbGlraSBkdWEga2VtdW5na2luYW4gaGFzaWw6DQoNClN1Y2Nlc3MgKGJlcmhhc2lsKQ0KDQpGYWlsdXJlIChnYWdhbCkNCg0KDQpEaXN0cmlidXNpIGluaSBkaWd1bmFrYW4gamlrYSBwZXJjb2JhYW4gbWVtZW51aGkgc3lhcmF0IEJpbm9taWFsIEV4cGVyaW1lbnQuDQoNCioqQ29udG9oIGthc3VzOioqDQoNClBlbHVhbmcgbXVuY3VsIDMgS2VwYWxhIGRhcmkgNSBrYWxpIGxlbXBhciBrb2luDQoNClBlbHVhbmcgMiBiYXJhbmcgY2FjYXQgZGFyaSAxMCBwcm9kdWtzaQ0KDQpQZWx1YW5nIDQgdGVtYmFrYW4gdGVwYXQgc2FzYXJhbiBkYXJpIDcgcGVyY29iYWFuDQoNCg0KKipTeWFyYXQgRGlzdHJpYnVzaSBCaW5vbWlhbCoqDQoNCjEuIG4gdGV0YXAgKGp1bWxhaCBwZXJjb2JhYW4pLg0KDQoyLiBTZXRpYXAgcGVyY29iYWFuIGluZGVwZW5kZW4uDQoNCjMuIEhhbnlhIGR1YSBoYXNpbDogc3VjY2VzcyBhdGF1IGZhaWx1cmUuDQoNCjQuIFBlbHVhbmcgc3VjY2VzcyBwIGtvbnN0YW4gdW50dWsgc2V0aWFwIHBlcmNvYmFuDQoNCioqUnVtdXMgRGlzdHJpYnVzaSBCaW5vbWlhbCoqDQoNClByb2JhYmlsaXRhcyBrIGtlYmVyaGFzaWxhbjoNCg0KJCRQKFggPSBrKSA9IFxiaW5vbXtufXtrfSBwXmsgKDEtcClee24ta30kJA0KDQpLZXRlcmFuZ2FuOg0KDQogPSBqdW1sYWggcGVyY29iYWFuDQoNCiA9IGp1bWxhaCBrZWJlcmhhc2lsYW4NCg0KID0gcGVsdWFuZyBzdWNjZXNzDQoNCiA9IHBlbHVhbmcgZmFpbHVyZQ0KDQogPSBrb21iaW5hc2kNCg0KKipOaWxhaSBSYXRhYW4gZGFuIFZhcmlhbnNpIChPcHNpb25hbCwgdGFwaSBwZW50aW5nKSoqDQoNCiAgTWVhbiAozrwpOg0KICANCiQkXG11ID0gbiBcY2RvdCBwJCQNCg0KIFZhcmlhbnNpICjPg8KyKToNCiANCiQkXHNpZ21hXjIgPSBuIFxjZG90IHAgXGNkb3QgKDEtcCkkJA0KDQpTdGFuZGFyIERldmlhc2kgKM+DKToNCg0KJCRcc2lnbWEgPSBcc3FydHtuIHAgKDEtcCl9JCQNCg0KDQoNCioqSW50ZXJwcmV0YXNpOioqDQoNCkRpc3RyaWJ1c2kgYmlub21pYWwgbWVtYmFudHUgbWVuamF3YWIgcGVydGFueWFhbjoNCuKAnEJlcmFwYSBiZXNhciBrZW11bmdraW5hbiBtZW5kYXBhdGthbiBrIGtlYmVyaGFzaWxhbiBkYXJpIG4gcGVyY29iYWFuIHlhbmcgaWRlbnRpaz/igJ0NCg0KSW50ZXJwcmV0YXNpIHByYWt0aXM6DQoNCkppa2EgcCB0aW5nZ2kg4oaSIHN1Y2Nlc3MgbGViaWggbXVuZ2tpbiB0ZXJqYWRpLg0KDQpKaWthIG4gYmVzYXIg4oaSIGRpc3RyaWJ1c2kgdGVybGloYXQgbGViaWgg4oCcbWVtYmVudHVrIGt1cnZh4oCdLg0KDQpLaXRhIGJpc2EgbWVsaWhhdCBoYXNpbCBtYW5hIHlhbmcgcGFsaW5nIG11bmdraW4gKG5pbGFpIGsgeWFuZyBwYWxpbmcgYmVzYXIgcHJvYmFiaWxpdGFzbnlhKS4NCg0KDQoqKkNvbnRvaCBpbnRlcnByZXRhc2k6KioNCkppa2EgcGVsdWFuZyBLZXBhbGEgPSAwLjUgZGFuIGtvaW4gZGlsZW1wYXIgNCBrYWxpLCBsYWx1IGtpdGEgaGl0dW5nIHBlbHVhbmcgbWVuZGFwYXQgMiBLZXBhbGEgPSAwLjM3NS4NCkFydGlueWE6DQpBZGEgMzcuNSUga2VtdW5na2luYW4gbXVuY3VsIHRlcGF0IDIgS2VwYWxhIGRhcmkgNCBsZW1wYXJhbi4NCg0KKipDb250b2ggUGVyaGl0dW5nYW46KioNCg0KTWlzYWw6DQpuID0gNSBsZW1wYXJhbg0KcCA9IDAuNiAocGVsdWFuZyBiZXJoYXNpbCkNCkNhcmkgcGVsdWFuZyBzdWtzZXMgayA9IDMNCg0KJCRQKFg9MykgPSBcYmlub217NX17M30gKDAuNileMyAoMC40KV4yJCQNCg0KYmlub217NX17M30gPSAxMA0KDQokJFAoWD0zKSA9IDEwIFx0aW1lcyAwLjIxNiBcdGltZXMgMC4xNiA9IDAuMzQ1NiQkDQoNCkludGVycHJldGFzaToNClBlbHVhbmcgbWVuZGFwYXRrYW4gMyBrZWJlcmhhc2lsYW4gZGFyaSA1IHBlcmNvYmFhbiBhZGFsYWggMzQuNTYlLg0KDQoNCiMjIC4gUmVmZXJlbnNpDQoNCkJlcmlrdXQgcmVmZXJlbnNpIChkYWZ0YXIgcHVzdGFrYSkgeWFuZyBkYXBhdCBrYW11IGd1bmFrYW4gdW50dWsgdHVnYXMgRXNzZW50aWFsIG9mIFByb2JhYmlsaXR5LiBTZW11YSByZWZlcmVuc2kgaW5pIHVtdW0gZGlwYWthaSBkYWxhbSBtYXRhIGt1bGlhaCBQZW5nYW50YXIgUGVsdWFuZyAmIFN0YXRpc3Rpa2EuDQoNCg0KLS0tDQoNCkRhZnRhciBSZWZlcmVuc2kg4oCTIEVzc2VudGlhbCBvZiBQcm9iYWJpbGl0eQ0KDQpCdWt1IFRla3MgVXRhbWENCg0KMS4gSG9nZywgUi4gVi4sIFRhbmlzLCBFLiBBLiwgJiBaaW1tZXJtYW4sIEQuIEwuICgyMDE5KS4gUHJvYmFiaWxpdHkgYW5kIFN0YXRpc3RpY2FsIEluZmVyZW5jZSAoMTB0aCBlZC4pLiBQZWFyc29uLg0KDQoNCjIuIFJvc3MsIFMuIE0uICgyMDE0KS4gQSBGaXJzdCBDb3Vyc2UgaW4gUHJvYmFiaWxpdHkgKDl0aCBlZC4pLiBQZWFyc29uLg0KDQoNCjMuIEdyYXZldHRlciwgRi4gSi4sICYgV2FsbG5hdSwgTC4gQi4gKDIwMTcpLiBTdGF0aXN0aWNzIGZvciB0aGUgQmVoYXZpb3JhbCBTY2llbmNlcyAoMTB0aCBlZC4pLiBDZW5nYWdlIExlYXJuaW5nLg0KDQoNCjQuIFNoZWxkb24gTS4gUm9zcyAoMjAxMCkuIEludHJvZHVjdGlvbiB0byBQcm9iYWJpbGl0eSBNb2RlbHMgKDEwdGggZWQuKS4gQWNhZGVtaWMgUHJlc3MuDQoNCg0KNS4gRGVHcm9vdCwgTS4gSC4sICYgU2NoZXJ2aXNoLCBNLiBKLiAoMjAxMikuIFByb2JhYmlsaXR5IGFuZCBTdGF0aXN0aWNzICg0dGggZWQuKS4gQWRkaXNvbi1XZXNsZXkuDQoNCg0KDQoNCg0KDQoNCg0KDQotLS0NCg0KDQoNCg==