Email             :
RPubs            : https://rpubs.com/brigitatiaraem/
Jurusan          : Statistika
Address         : ARA Center, Matana University Tower
                         Jl. CBD Barat Kav, RT.1, Curug Sangereng, Kelapa Dua, Tangerang, Banten 15810.


1 Insurance Portfolio Management including Reinsurance

Portofolio asuransi adalah kumpulan kontrak asuransi. Untuk membantu mengelola ketidakpastian portofolio, bab ini akan membahas mengenai:

  1. Menghitung kewajiban yang luar biasa besar dengan memeriksa bagian ekor dari distribusi,

  2. Menghitung risiko secara keseluruhan dengan memperkenalkan ringkasan yang dikenal sebagai ukuran risiko, dan

  3. Membahas opsi-opsi penyebaran risiko portofolio melalui reasuransi, yaitu pembelian proteksi asuransi oleh perusahaan asuransi.

1.1 Introduction to Insurance Portfolios

Kontrak merupakan perjanjian antara pemegang polis dan perusahaan asuransi. Penanggung, dan mengelola, portofolio yang merupakan kumpulan kontrak. Seperti di bidang keuangan lainnya, ada pilihan pengambilan keputusan manajemen yang hanya terjadi di tingkat portofolio. Misalnya, pengambilan keputusan strategis tidak terjadi di tingkat kontrak. Itu terjadi di ruang konferensi, di mana manajemen meninjau data yang tersedia dan mungkin mengarahkan arah baru. Dari perspektif portofolio, perusahaan asuransi ingin melakukan perencanaan kapasitas, menetapkan kebijakan manajemen, dan menyeimbangkan bauran produk yang dipesan untuk meningkatkan pendapatan sambil mengendalikan volatilitas.

Secara konseptual bahwa perusahaan asuransi tidak lebih dari sebuah kumpulan atau portofolio, kontrak asuransi. Pada Bab 5 telah mempelajari tentang pemodelan portofolio asuransi sebagai jumlah kontrak individu berdasarkan asumsi independensi antar kontrak. Karena pentingnya hal tersebut, bab ini berfokus langsung pada distribusi portofolio.

  1. Portofolio asuransi (Kumpulan, atau agregasi, kontrak asuransi) mewakili kewajiban perusahaan asuransi dengan membahas probabilitas hasil yang besar dengan menggunakan gagasan distribusi heavy-tail di Bagian 10.2.

  2. Portofolio asuransi mewakili kewajiban perusahaan sehingga perusahaan asuransi menyimpan aset dalam jumlah yang setara untuk memenuhi kewajiban tersebut. Ukuran risiko yang diperkenalkan pada Bagian 10.3, meringkas distribusi portofolio asuransi dan ukuran ringkasan ini digunakan untuk mengukur jumlah aset yang perlu dipertahankan oleh perusahaan asuransi untuk memenuhi kewajiban.

  3. Pada Bagian 3.4 mempelajari mekanisme yang digunakan pemegang polis untuk menyebarkan risiko seperti deductible dan batasan polis. Dengan cara yang sama, perusahaan asuransi menggunakan mekanisme yang sama untuk menyebarkan risiko portofolio. Mereka membeli perlindungan risiko dari reasuradur, sebuah perusahaan asuransi untuk perusahaan asuransi.4.

1.2 Tails of Distributions

Pada subab ini akan membahas mengenai:

  1. Menggambarkan distribusi ekor berat secara intuitif.

  2. Mengklasifikasikan berat ekor distribusi berdasarkan momen.

  3. Membandingkan ekor dari dua distribusi.

Pada tahun 1998, hujan es turun di Ontario bagian timur, barat daya Quebec dan berlangsung selama enam hari. Peristiwa ini merupakan dua kali lipat dari curah hujan yang pernah terjadi pada badai es sebelumnya dan mengakibatkan bencana yang menghasilkan lebih dari 840.000 klaim asuransi. Jumlah ini adalah 20 lebih banyak daripada klaim yang disebabkan oleh Badai Andrew. Bencana ini menyebabkan sekitar 1,44 miliar dolar Kanada dalam penyelesaian asuransi yang merupakan beban kerugian tertinggi dalam sejarah Kanada. Ini bukan contoh yang terisolasi dengan peristiwa bencana serupa yang menyebabkan kerugian asuransi yang ekstrim adalah Badai Harvey, Superstorm Sandy, gempa bumi dan tsunami Jepang tahun 2011, dan lain sebagainya.

Dalam konteks asuransi, beberapa kerugian besar yang menimpa portofolio dan kemudian dikonversi menjadi klaim biasanya mewakili bagian terbesar dari ganti rugi yang dibayarkan oleh perusahaan asuransi. Kerugian juga disebut ‘ekstrem’, dimodelkan secara kuantitatif oleh ekor dari distribusi probabilitas terkait. Misalnya, periode tekanan pada keuangan dapat muncul dengan frekuensi yang lebih tinggi dari yang diharapkan, dan kerugian asuransi dapat terjadi dengan tingkat keparahan yang lebih buruk. Oleh karena itu, studi tentang perilaku probabilistik pada bagian ekor model aktuaria sangat penting dalam kerangka kerja modern manajemen risiko kuantitatif. Untuk alasan ini, bagian ini dikhususkan untuk pengenalan beberapa gagasan matematika yang mencirikan bobot ekor variabel acak.

Secara formal, definisikan X sebagai kewajiban (acak) yang muncul dari kumpulan (portofolio) kontrak asuransi. (Pada bab-bab sebelumnya telah menggunakan S untuk kerugian agregat). Pada bagian ini mempelajari ekor kanan dari distribusi X yang merepresentasikan terjadinya kerugian besar. Secara informal, sebuah variabel acak dikatakan berekor berat jika probabilitas tinggi diberikan pada nilai yang besar. Perhatikan bahwa ini tidak berarti bahwa densitas probabilitas/fungsi massa meningkat ketika nilai X menuju tak terhingga. Memang untuk variabel acak bernilai riil, pdf/pmf harus berkurang hingga tak terhingga untuk menjamin probabilitas total sama dengan satu. Namun, yang menjadi perhatian adalah laju peluruhan pdf/pmf. Hasil yang tidak diinginkan lebih mungkin terjadi pada portofolio asuransi yang digambarkan oleh variabel acak kerugian yang memiliki ekor yang lebih berat (kanan). Bobot ekor dapat berupa konsep absolut atau relatif. Khususnya, untuk yang pertamadapat menganggap variabel acak memiliki ekor yang berat jika sifat matematis tertentu dari distribusi probabilitas terpenuhi. Maka dapat dikatakan ekor dari satu distribusi lebih berat/ringan dari yang lain jika beberapa ukuran ekor lebih besar/kecil.

Beberapa pendekatan kuantitatif telah diusulkan untuk mengklasifikasikan dan membandingkan bobot ekor. Di antara sebagian besar pendekatan ini, fungsi kelangsungan hidup berfungsi sebagai blok bangunan. Berikut ini merupakan memperkenalkan dua metode klasifikasi ekor yang sederhana namun berguna, yang keduanya didasarkan pada perilaku fungsi kelangsungan hidup X.

1.2.1 Classification Based on Moments

Salah satu cara untuk mengklasifikasikan bobot ekor dari suatu distribusi adalah dengan menilai keberadaan momen-momen sesaae. Karena tujuan utama terletak pada ekor kanan distribusi, maka mengasumsikan variabel acak kewajiban atau kerugian \(X\) bernilai positif. Pada awalnya, momen sesaat ke-k dari peubah acak kontinu \(X\) yang diperkenalkan pada Bagian 3.1, dapat dihitung sebagai berikut.

\[\mu_k' = \int_0^{\infty} x^k f(x) ~dx = k \int_0^{\infty} x^{k-1} S(x) ~dx, \\\]

di mana \(S(\cdot)\) menyatakan fungsi survival dari \(X\) . Ungkapan ini menekankan bahwa keberadaan momen mentah bergantung pada perilaku asimtotik dari fungsi survival di tak terhingga. Yakni, semakin cepat fungsi survival meluruh ke nol, semakin tinggi orde momen berhingga \((k)\) yang dimiliki oleh variabel acak terkait. Anda dapat menafsirkan \(k^{\ast}\) sebagai nilai terbesar dari \(k\) sehingga momennya terbatas. Secara formal, definisikan \(k^{\ast}=\sup\{k > 0:\mu_k'<\infty \}\) , dimana sup mewakili supremum.

Definisi 10.1. Pertimbangkan variabel acak kerugian non-negatif \(X\) .

  1. Jika semua momen baku positif ada, yaitu orde maksimal dari momen berhingga \(k^{\ast}=\infty\) , maka \(X\) dikatakan berekor ringan berdasarkan metode momen.

  2. Jika \(k^{\ast} < \infty\), maka \(X\) dikatakan berekor berat (dikatakan berekor berat jika probabilitas tinggi diberikan pada nilai yang besar) berdasarkan metode momen.

  3. Selain itu, untuk dua variabel acak rugi positif \(X_1\) dan \(X_2\) dengan orde maksimal momen masing-masing \(k^{\ast}_1\) dan \(k^{\ast}_1\), dengan mengatakan \(X_1\) memiliki ekor (kanan) yang lebih berat daripada \(X_2\) jika \(k^{\ast}_1\leq k^{\ast}_2\).

bagian pertama dari Definisi 10.1 adalah konsep absolut dari bobot ekor, sedangkan bagian kedua adalah konsep relatif dari bobot ekor yang membandingkan ekor (kanan) di antara dua distribusi. Selanjutnya, kami menyajikan beberapa contoh yang mengilustrasikan aplikasi metode berbasis momen untuk membandingkan bobot ekor.

contoh 10.2.1. Sifat ekor ringan dari distribusi gamma.

Misalkan \(X\sim gamma(\alpha,\theta)\), dengan \(\alpha>0\) dan \(\theta>0\) , maka untuk semua \(k>0\) , tunjukkan bahwa \(\mu_k' < \infty\).

\[\begin{eqnarray*} \mu_k' &=& \int_0^{\infty} x^k \frac{x^{\alpha-1} e^{-x/\theta}}{\Gamma(\alpha) \theta^{\alpha}} dx \\ &=& \int_0^{\infty} (y\theta)^k \frac{(y\theta)^{\alpha-1} e^{-y}}{\Gamma(\alpha) \theta^{\alpha}} \theta dy \\ &=& \frac{\theta^k}{\Gamma(\alpha)} \Gamma(\alpha+k) < \infty. \end{eqnarray*}\]

karena semua momen positif ada, yaitu \(k^{\ast}=\infty\), sesuai dengan metode klasifikasi berbasis momen pada Definisi 10.1, maka distribusi gamma berekor ringan

Contoh 10.2.2. Sifat ekor ringan dari distribusi Weibull.

Misalkan \(X\sim Weibull(\theta,\tau)\), dengan \(\theta>0\) dan \(\tau>0\) , maka untuk semua \(k>0\) , tunjukkan bahwa \(\mu_k' < \infty\).

\[\begin{eqnarray*} \mu_k' &=& \int_0^{\infty} x^k \frac{\tau x^{\tau-1} }{\theta^{\tau}} e^{-(x/\theta)^{\tau}}dx \\ &=& \int_0^{\infty} \frac{ y^{k/\tau} }{\theta^{\tau}} e^{-y/\theta^{\tau}}dy \\ &=& \theta^{k} \Gamma(1+k/\tau) < \infty. \end{eqnarray*}\]

Sekali lagi, karena adanya semua momen positif, distribusi Weibull berekor ringan.

distribusi gamma dan Weibull digunakan secara luas dalam praktik aktuaria. Aplikasi dari kedua distribusi ini sangat luas, termasuk, namun tidak terbatas pada, pemodelan tingkat keparahan klaim asuransi, penilaian solvabilitas, pencadangan kerugian, perkiraan risiko agregat, rekayasa keandalan, dan analisis kegagalan. Sejauh ini kami telah melihat dua contoh penggunaan metode berbasis momen untuk menganalisis distribusi ekor ringan. Kami mendokumentasikan contoh distribusi ekor berat sebagai berikut.

Contoh 10.2.3. Sifat ekor yang berat dari distribusi Pareto.

Misalkan \(X\sim Pareto(\alpha,\theta)\) , dengan \(\alpha>0\) dan \(\theta>0\) , maka untuk \(k>0\)

\[\begin{eqnarray*} \mu_k^{'} &=& \int_0^{\infty} x^k \frac{\alpha \theta^{\alpha}}{(x+\theta)^{\alpha+1}} dx \\ &=& \alpha \theta^{\alpha} \int_{\theta}^{\infty} (y-\theta)^k {y^{-(\alpha+1)}} dy. \end{eqnarray*}\]

mempertimbangkan integrasi serupa:

\[\begin{eqnarray*} g_k=\int_{\theta}^{\infty} {y^{k-\alpha-1}} dy=\left\{ \begin{array}{ll} <\infty, & \hbox{for } k<\alpha;\\ =\infty, & \hbox{for } k\geq \alpha. \end{array} \right. \end{eqnarray*}\]

\[\lim_{y\rightarrow \infty} \frac{(y-\theta)^k {y^{-(\alpha+1)}}}{y^{k-\alpha-1}}=\lim_{y\rightarrow \infty} (1-\theta/y)^{k}=1.\]

Penerapan teorema perbandingan limit untuk integral tak tentu menghasilkan μ′k terbatas jika dan hanya jika gk terbatas. Oleh karena itu, kita dapat menyimpulkan bahwa momen mentah dari variabel acak Pareto hanya ada sampai k < α , yaitu, k∗ = α , dan dengan demikian distribusinya berekor berat. Terlebih lagi, orde maksimal dari momen berhingga hanya bergantung pada parameter bentuk α dan merupakan fungsi yang meningkat dari α . Dengan kata lain, berdasarkan metode momen, bobot ekor dari variabel acak Pareto hanya dimanipulasi oleh α - semakin kecil nilai α , semakin berat bobot ekornya. Karena k∗<∞ , ekor dari distribusi Pareto lebih berat dibandingkan dengan distribusi gamma dan Weibull.

kami menyimpulkan bagian ini dengan diskusi terbuka tentang keterbatasan metode berbasis momen. Meskipun implementasinya sederhana dan interpretasi intuitif, ada beberapa keadaan tertentu di mana penerapan metode berbasis momen tidak cocok. Pertama, untuk model probabilistik yang lebih rumit, momen mentah ke-k mungkin tidak mudah untuk diperoleh, dan dengan demikian identifikasi urutan maksimal dari momen hingga dapat menjadi tantangan. Kedua, metode berbasis momen tidak sesuai dengan bagian utama dari teori heavy tail yang sudah mapan dalam literatur. Secara khusus, keberadaan fungsi pembangkit momen merupakan metode yang paling populer untuk mengklasifikasikan heavy tail versus light tail di dalam komunitas aktuaris akademis. Namun, untuk beberapa variabel acak seperti variabel acak lognormal, fungsi pembangkit momennya tidak ada bahkan semua momen positifnya terbatas. Dalam kasus ini, penerapan metode berbasis momen dapat menghasilkan penilaian bobot ekor yang berbeda. Ketiga, ketika kita perlu membandingkan bobot ekor antara dua distribusi berekor ringan yang memiliki semua momen positif, metode berbasis momen tidak lagi informatif (lihat, misalnya, Contoh 10.2.1 dan 10.2.2).

1.2.2 Comparison Based on Limiting Tail Behavior

Untuk mengatasi masalah-masalah yang disebutkan di atas pada metode klasifikasi berbasis momen, sebuah pendekatan alternatif untuk membandingkan bobot ekor adalah dengan secara langsung mempelajari perilaku pembatas dari fungsi-fungsi survival.

Definisi 10.2. Untuk dua variabel acak \(X\) dan \(Y\) , misalkan

\[\gamma=\lim_{t\rightarrow \infty}\frac{S_X(t)}{S_Y(t)}.\]

Dengan :

  1. \(X\) memiliki ekor kanan yang lebih berat daripada \(Y\) jika \(\gamma=\infty\);

  2. \(X\) dan \(Y\) secara proporsional ekuivalen pada ekor kanan jika \(\gamma =c \in (0, \infty)\);

  3. \(X\) memiliki ekor kanan yang lebih ringan daripada \(Y\) jika \(\gamma=0\).

Contoh 10.2.4. Perbandingan distribusi Pareto dan distribusi Weibull.

Misalkan \(X\sim Pareto(\alpha, \theta)\) dan \(Y\sim Weibull(\tau, \theta)\), untuk \(\alpha>0\), \(\tau>0\), dan \(\theta>0\). Tunjukkan bahwa Pareto memiliki ekor kanan yang lebih berat daripada Weibull.

\[\begin{eqnarray*} \lim_{t\rightarrow \infty}\frac{S_X(t)}{S_Y(t)} &=& \lim_{t\rightarrow \infty}\frac{(1+t/\theta)^{-\alpha}}{\exp\{-(t/\theta)^{\tau}\}} \\ &=& \lim_{t\rightarrow \infty}\frac{\exp\{t/\theta^{\tau} \}}{(1+t^{1/\tau}/\theta)^{\alpha}} \\ &=& \lim_{t\rightarrow \infty}\frac{\sum_{i=0}^{\infty}\left(\frac{t}{\theta^{\tau}}\right)^{i}/i!}{(1+t^{1/\tau}/\theta)^{\alpha}}\\ &=& \lim_{t\rightarrow \infty} \sum_{i=0}^{\infty} \left(t^{-i/\alpha}+\frac{t^{(1/\tau-i/\alpha)}}{\theta} \right)^{-\alpha}/\theta^{\tau i}i!\\ &=& \infty. \end{eqnarray*}\]

Oleh karena itu, distribusi Pareto memiliki ekor yang lebih berat daripada distribusi Weibull. Kita juga dapat menyadari bahwa eksponensial mencapai tak terhingga lebih cepat daripada polinomial, oleh karena itu, batas yang disebutkan di atas haruslah tak terhingga.

untuk beberapa distribusi yang fungsi-fungsi kelangsungan hidupnya tidak dapat diekspresikan secara eksplisit, kita dapat menggunakan rumus alternatif berikut ini:

\[\begin{eqnarray*} \lim_{t\to \infty} \frac{S_X(t)}{S_Y(t)} &=& \lim_{t \to \infty} \frac{S_X^{'}(t)}{S_Y^{'}(t)} \\ &=& \lim_{t \to \infty} \frac{-f_X(t)}{-f_Y(t)}\\ &=& \lim_{t\to \infty} \frac{f_X(t)}{f_Y(t)}. \end{eqnarray*}\]

mengingat bahwa fungsi kepadatannya ada. Ini adalah aplikasi dari Aturan L’Hôpital dari kalkulus

Contoh 10.2.5. Perbandingan distribusi Pareto dengan distribusi gamma.

Misalkan \(X\sim Pareto(\alpha, \theta)\) dan \(Y\sim gamma(\alpha, \theta)\), untuk \(\alpha>0\) dan \(\theta>0\) . Tunjukkan bahwa Pareto memiliki ekor kanan yang lebih berat daripada gamma.

\[\begin{eqnarray*} \lim_{t\to \infty} \frac{f_{X}(t)}{f_{Y}(t)} &=& \lim_{t \to \infty} \frac{\alpha \theta^{\alpha} (t+ \theta)^{-\alpha-1}}{t^{\tau-1} e^{-t/\lambda} \lambda^{-\tau} \Gamma(\tau)^{-1}} \\ &\propto& \lim_{t\to \infty} \frac{e^{t/\lambda}}{(t+\theta)^{\alpha+1} t^{\tau-1}} \\ &=& \infty, \end{eqnarray*}\]

karena eksponensial menuju tak terhingga lebih cepat daripada polinomial.

LS0tDQp0aXRsZTogIlRFT1JJIFJJU0lLTyINCnN1YnRpdGxlOiAiV0VFSyAxMSINCmF1dGhvcjogIkJyaWdpdGEgVGlhcmEgRWxnaXR5YW5hIE1lbGFudGlrYSAoMjAyMDQ5MjAwMDEpIg0KZGF0ZTogImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJUIgJWQsICVZJylgIg0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDogDQogICAgaHRtbF9kb2N1bWVudDogbnVsbA0KICAgIGNvZGVfZm9sZGluZzogaGlkZQ0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0Og0KICAgICAgY29sbGFwc2VkOiB5ZXMNCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcw0KICAgIGNvZGVfZG93bmxvYWQ6IHllcw0KICAgIHRoZW1lOiBzYW5kc3RvbmUNCiAgICBjc3M6IHN0eWxlMS5jc3MNCiAgICBoaWdobGlnaHQ6IG1vbm9jaHJvbWUNCi0tLQ0KDQpgYGB7ciBpbmNsdWRlPUZBTFNFfQ0Ka25pdHI6Om9wdHNfY2h1bmskc2V0KGNsYXNzLnNvdXJjZSA9ICJub2NvcHkiLA0KICAgICAgICAgICAgICAgICAgICAgIGNsYXNzLm91dHB1dCA9ICJub2NvcHkiLA0KICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBGLA0KICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmcgPSBGKQ0KYGBgDQoNCjxpbWcgc3R5bGU9ImZsb2F0OiByaWdodDsgbWFyZ2luOiAwcHggMTAwcHggMHB4IDBweDsgd2lkdGg6MjUlIiBzcmM9ImZvdG90aXRpLmpwZyIvPiANCg0KYGBge3IgbG9nbywgZWNobz1GQUxTRSxmaWcuYWxpZ249J2NlbnRlcicsIG91dC53aWR0aCA9ICczMCUnfQ0Ka25pdHI6OmluY2x1ZGVfZ3JhcGhpY3MoImxvZ29tYXRhbmEucG5nIikNCmBgYA0KDQpFbWFpbCAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDs6ICBicmlnaXRhLm1lbGFudGlrYUBzdHVkZW50Lm1hdGFuYXVuaXZlcnNpdHkuYWMuaWQgPGJyPg0KUlB1YnMgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzogaHR0cHM6Ly9ycHVicy5jb20vYnJpZ2l0YXRpYXJhZW0vIDxicj4NCkp1cnVzYW4gJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzogW1N0YXRpc3Rpa2FdKGh0dHBzOi8vbWF0YW5hdW5pdmVyc2l0eS5hYy5pZC8/bHk9YWNhZGVtaWMmYz1zYikgPGJyPg0KQWRkcmVzcyAgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDogQVJBIENlbnRlciwgTWF0YW5hIFVuaXZlcnNpdHkgVG93ZXIgPGJyPg0KJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsmbmJzcDsgSmwuIENCRCBCYXJhdCBLYXYsIFJULjEsIEN1cnVnIFNhbmdlcmVuZywgS2VsYXBhIER1YSwgVGFuZ2VyYW5nLCBCYW50ZW4gMTU4MTAuDQoNCioqKioNCg0KIyBJbnN1cmFuY2UgUG9ydGZvbGlvIE1hbmFnZW1lbnQgaW5jbHVkaW5nIFJlaW5zdXJhbmNlDQoNClBvcnRvZm9saW8gYXN1cmFuc2kgYWRhbGFoIGt1bXB1bGFuIGtvbnRyYWsgYXN1cmFuc2kuIFVudHVrIG1lbWJhbnR1IG1lbmdlbG9sYSBrZXRpZGFrcGFzdGlhbiBwb3J0b2ZvbGlvLCBiYWIgaW5pIGFrYW4gbWVtYmFoYXMgbWVuZ2VuYWk6DQoNCjEuIE1lbmdoaXR1bmcga2V3YWppYmFuIHlhbmcgbHVhciBiaWFzYSBiZXNhciBkZW5nYW4gbWVtZXJpa3NhIGJhZ2lhbiBla29yIGRhcmkgZGlzdHJpYnVzaSwNCg0KMi4gTWVuZ2hpdHVuZyByaXNpa28gc2VjYXJhIGtlc2VsdXJ1aGFuIGRlbmdhbiBtZW1wZXJrZW5hbGthbiByaW5na2FzYW4geWFuZyBkaWtlbmFsIHNlYmFnYWkgdWt1cmFuIHJpc2lrbywgZGFuDQoNCjMuIE1lbWJhaGFzIG9wc2ktb3BzaSBwZW55ZWJhcmFuIHJpc2lrbyBwb3J0b2ZvbGlvIG1lbGFsdWkgcmVhc3VyYW5zaSwgeWFpdHUgcGVtYmVsaWFuIHByb3Rla3NpIGFzdXJhbnNpIG9sZWggcGVydXNhaGFhbiBhc3VyYW5zaS4NCg0KIyMgSW50cm9kdWN0aW9uIHRvIEluc3VyYW5jZSBQb3J0Zm9saW9zDQoNCktvbnRyYWsgbWVydXBha2FuIHBlcmphbmppYW4gYW50YXJhIHBlbWVnYW5nIHBvbGlzIGRhbiBwZXJ1c2FoYWFuIGFzdXJhbnNpLiBQZW5hbmdndW5nLCBkYW4gbWVuZ2Vsb2xhLCBwb3J0b2ZvbGlvIHlhbmcgbWVydXBha2FuIGt1bXB1bGFuIGtvbnRyYWsuIFNlcGVydGkgZGkgYmlkYW5nIGtldWFuZ2FuIGxhaW5ueWEsIGFkYSBwaWxpaGFuIHBlbmdhbWJpbGFuIGtlcHV0dXNhbiBtYW5hamVtZW4geWFuZyBoYW55YSB0ZXJqYWRpIGRpIHRpbmdrYXQgcG9ydG9mb2xpby4gTWlzYWxueWEsIHBlbmdhbWJpbGFuIGtlcHV0dXNhbiBzdHJhdGVnaXMgdGlkYWsgdGVyamFkaSBkaSB0aW5na2F0IGtvbnRyYWsuIEl0dSB0ZXJqYWRpIGRpIHJ1YW5nIGtvbmZlcmVuc2ksIGRpIG1hbmEgbWFuYWplbWVuIG1lbmluamF1IGRhdGEgeWFuZyB0ZXJzZWRpYSBkYW4gbXVuZ2tpbiBtZW5nYXJhaGthbiBhcmFoIGJhcnUuIERhcmkgcGVyc3Bla3RpZiBwb3J0b2ZvbGlvLCBwZXJ1c2FoYWFuIGFzdXJhbnNpIGluZ2luIG1lbGFrdWthbiBwZXJlbmNhbmFhbiBrYXBhc2l0YXMsIG1lbmV0YXBrYW4ga2ViaWpha2FuIG1hbmFqZW1lbiwgZGFuIG1lbnllaW1iYW5na2FuIGJhdXJhbiBwcm9kdWsgeWFuZyBkaXBlc2FuIHVudHVrIG1lbmluZ2thdGthbiBwZW5kYXBhdGFuIHNhbWJpbCBtZW5nZW5kYWxpa2FuIHZvbGF0aWxpdGFzLg0KDQpTZWNhcmEga29uc2VwdHVhbCBiYWh3YSBwZXJ1c2FoYWFuIGFzdXJhbnNpIHRpZGFrIGxlYmloIGRhcmkgc2VidWFoIGt1bXB1bGFuIGF0YXUgcG9ydG9mb2xpbywga29udHJhayBhc3VyYW5zaS4gUGFkYSBCYWIgNSB0ZWxhaCBtZW1wZWxhamFyaSB0ZW50YW5nIHBlbW9kZWxhbiBwb3J0b2ZvbGlvIGFzdXJhbnNpIHNlYmFnYWkganVtbGFoIGtvbnRyYWsgaW5kaXZpZHUgYmVyZGFzYXJrYW4gYXN1bXNpIGluZGVwZW5kZW5zaSBhbnRhciBrb250cmFrLiBLYXJlbmEgcGVudGluZ255YSBoYWwgdGVyc2VidXQsIGJhYiBpbmkgYmVyZm9rdXMgbGFuZ3N1bmcgcGFkYSBkaXN0cmlidXNpIHBvcnRvZm9saW8uDQoNCjEuIFBvcnRvZm9saW8gYXN1cmFuc2kgKEt1bXB1bGFuLCBhdGF1IGFncmVnYXNpLCBrb250cmFrIGFzdXJhbnNpKSBtZXdha2lsaSBrZXdhamliYW4gcGVydXNhaGFhbiBhc3VyYW5zaSBkZW5nYW4gbWVtYmFoYXMgcHJvYmFiaWxpdGFzIGhhc2lsIHlhbmcgYmVzYXIgZGVuZ2FuIG1lbmdndW5ha2FuIGdhZ2FzYW4gZGlzdHJpYnVzaSBoZWF2eS10YWlsIGRpIEJhZ2lhbiAxMC4yLg0KDQoyLiBQb3J0b2ZvbGlvIGFzdXJhbnNpIG1ld2FraWxpIGtld2FqaWJhbiBwZXJ1c2FoYWFuIHNlaGluZ2dhIHBlcnVzYWhhYW4gYXN1cmFuc2kgbWVueWltcGFuIGFzZXQgZGFsYW0ganVtbGFoIHlhbmcgc2V0YXJhIHVudHVrIG1lbWVudWhpIGtld2FqaWJhbiB0ZXJzZWJ1dC4gVWt1cmFuIHJpc2lrbyB5YW5nIGRpcGVya2VuYWxrYW4gcGFkYSBCYWdpYW4gMTAuMywgbWVyaW5na2FzIGRpc3RyaWJ1c2kgcG9ydG9mb2xpbyBhc3VyYW5zaSBkYW4gdWt1cmFuIHJpbmdrYXNhbiBpbmkgZGlndW5ha2FuIHVudHVrIG1lbmd1a3VyIGp1bWxhaCBhc2V0IHlhbmcgcGVybHUgZGlwZXJ0YWhhbmthbiBvbGVoIHBlcnVzYWhhYW4gYXN1cmFuc2kgdW50dWsgbWVtZW51aGkga2V3YWppYmFuLg0KDQozLiBQYWRhIEJhZ2lhbiAzLjQgbWVtcGVsYWphcmkgbWVrYW5pc21lIHlhbmcgZGlndW5ha2FuIHBlbWVnYW5nIHBvbGlzIHVudHVrIG1lbnllYmFya2FuIHJpc2lrbyBzZXBlcnRpIGRlZHVjdGlibGUgZGFuIGJhdGFzYW4gcG9saXMuIERlbmdhbiBjYXJhIHlhbmcgc2FtYSwgcGVydXNhaGFhbiBhc3VyYW5zaSBtZW5nZ3VuYWthbiBtZWthbmlzbWUgeWFuZyBzYW1hIHVudHVrIG1lbnllYmFya2FuIHJpc2lrbyBwb3J0b2ZvbGlvLiBNZXJla2EgbWVtYmVsaSBwZXJsaW5kdW5nYW4gcmlzaWtvIGRhcmkgcmVhc3VyYWR1ciwgc2VidWFoIHBlcnVzYWhhYW4gYXN1cmFuc2kgdW50dWsgcGVydXNhaGFhbiBhc3VyYW5zaS40Lg0KDQojIyAgVGFpbHMgb2YgRGlzdHJpYnV0aW9ucw0KDQpQYWRhIHN1YmFiIGluaSBha2FuIG1lbWJhaGFzIG1lbmdlbmFpOg0KDQoxLiBNZW5nZ2FtYmFya2FuIGRpc3RyaWJ1c2kgZWtvciBiZXJhdCBzZWNhcmEgaW50dWl0aWYuDQoNCjIuIE1lbmdrbGFzaWZpa2FzaWthbiBiZXJhdCBla29yIGRpc3RyaWJ1c2kgYmVyZGFzYXJrYW4gbW9tZW4uDQoNCjMuIE1lbWJhbmRpbmdrYW4gZWtvciBkYXJpIGR1YSBkaXN0cmlidXNpLg0KDQpQYWRhIHRhaHVuIDE5OTgsIGh1amFuIGVzIHR1cnVuIGRpIE9udGFyaW8gYmFnaWFuIHRpbXVyLCBiYXJhdCBkYXlhIFF1ZWJlYyBkYW4gYmVybGFuZ3N1bmcgc2VsYW1hIGVuYW0gaGFyaS4gUGVyaXN0aXdhIGluaSBtZXJ1cGFrYW4gZHVhIGthbGkgbGlwYXQgZGFyaSBjdXJhaCBodWphbiB5YW5nIHBlcm5haCB0ZXJqYWRpIHBhZGEgYmFkYWkgZXMgc2ViZWx1bW55YSBkYW4gbWVuZ2FraWJhdGthbiBiZW5jYW5hIHlhbmcgbWVuZ2hhc2lsa2FuIGxlYmloIGRhcmkgODQwLjAwMCBrbGFpbSBhc3VyYW5zaS4gSnVtbGFoIGluaSBhZGFsYWggMjAgbGViaWggYmFueWFrIGRhcmlwYWRhIGtsYWltIHlhbmcgZGlzZWJhYmthbiBvbGVoIEJhZGFpIEFuZHJldy4gQmVuY2FuYSBpbmkgbWVueWViYWJrYW4gc2VraXRhciAxLDQ0IG1pbGlhciBkb2xhciBLYW5hZGEgZGFsYW0gcGVueWVsZXNhaWFuIGFzdXJhbnNpIHlhbmcgbWVydXBha2FuIGJlYmFuIGtlcnVnaWFuIHRlcnRpbmdnaSBkYWxhbSBzZWphcmFoIEthbmFkYS4gSW5pIGJ1a2FuIGNvbnRvaCB5YW5nIHRlcmlzb2xhc2kgZGVuZ2FuIHBlcmlzdGl3YSBiZW5jYW5hIHNlcnVwYSB5YW5nIG1lbnllYmFia2FuIGtlcnVnaWFuIGFzdXJhbnNpIHlhbmcgZWtzdHJpbSBhZGFsYWggQmFkYWkgSGFydmV5LCBTdXBlcnN0b3JtIFNhbmR5LCBnZW1wYSBidW1pIGRhbiB0c3VuYW1pIEplcGFuZyB0YWh1biAyMDExLCBkYW4gbGFpbiBzZWJhZ2FpbnlhLg0KDQpEYWxhbSBrb250ZWtzIGFzdXJhbnNpLCBiZWJlcmFwYSBrZXJ1Z2lhbiBiZXNhciB5YW5nIG1lbmltcGEgcG9ydG9mb2xpbyBkYW4ga2VtdWRpYW4gZGlrb252ZXJzaSBtZW5qYWRpIGtsYWltIGJpYXNhbnlhIG1ld2FraWxpIGJhZ2lhbiB0ZXJiZXNhciBkYXJpIGdhbnRpIHJ1Z2kgeWFuZyBkaWJheWFya2FuIG9sZWggcGVydXNhaGFhbiBhc3VyYW5zaS4gS2VydWdpYW4ganVnYSBkaXNlYnV0ICdla3N0cmVtJywgZGltb2RlbGthbiBzZWNhcmEga3VhbnRpdGF0aWYgb2xlaCBla29yIGRhcmkgZGlzdHJpYnVzaSBwcm9iYWJpbGl0YXMgdGVya2FpdC4gTWlzYWxueWEsIHBlcmlvZGUgdGVrYW5hbiBwYWRhIGtldWFuZ2FuIGRhcGF0IG11bmN1bCBkZW5nYW4gZnJla3VlbnNpIHlhbmcgbGViaWggdGluZ2dpIGRhcmkgeWFuZyBkaWhhcmFwa2FuLCBkYW4ga2VydWdpYW4gYXN1cmFuc2kgZGFwYXQgdGVyamFkaSBkZW5nYW4gdGluZ2thdCBrZXBhcmFoYW4geWFuZyBsZWJpaCBidXJ1ay4gT2xlaCBrYXJlbmEgaXR1LCBzdHVkaSB0ZW50YW5nIHBlcmlsYWt1IHByb2JhYmlsaXN0aWsgcGFkYSBiYWdpYW4gZWtvciBtb2RlbCBha3R1YXJpYSBzYW5nYXQgcGVudGluZyBkYWxhbSBrZXJhbmdrYSBrZXJqYSBtb2Rlcm4gbWFuYWplbWVuIHJpc2lrbyBrdWFudGl0YXRpZi4gVW50dWsgYWxhc2FuIGluaSwgYmFnaWFuIGluaSBkaWtodXN1c2thbiB1bnR1ayBwZW5nZW5hbGFuIGJlYmVyYXBhIGdhZ2FzYW4gbWF0ZW1hdGlrYSB5YW5nIG1lbmNpcmlrYW4gYm9ib3QgZWtvciB2YXJpYWJlbCBhY2FrLiANCg0KU2VjYXJhIGZvcm1hbCwgZGVmaW5pc2lrYW4gWCBzZWJhZ2FpIGtld2FqaWJhbiAoYWNhaykgeWFuZyBtdW5jdWwgZGFyaSBrdW1wdWxhbiAocG9ydG9mb2xpbykga29udHJhayBhc3VyYW5zaS4gKFBhZGEgYmFiLWJhYiBzZWJlbHVtbnlhIHRlbGFoIG1lbmdndW5ha2FuIFMgdW50dWsga2VydWdpYW4gYWdyZWdhdCkuIFBhZGEgYmFnaWFuIGluaSBtZW1wZWxhamFyaSBla29yIGthbmFuIGRhcmkgZGlzdHJpYnVzaSBYIHlhbmcgbWVyZXByZXNlbnRhc2lrYW4gdGVyamFkaW55YSBrZXJ1Z2lhbiBiZXNhci4gU2VjYXJhIGluZm9ybWFsLCBzZWJ1YWggdmFyaWFiZWwgYWNhayBkaWthdGFrYW4gYmVyZWtvciBiZXJhdCBqaWthIHByb2JhYmlsaXRhcyB0aW5nZ2kgZGliZXJpa2FuIHBhZGEgbmlsYWkgeWFuZyBiZXNhci4gUGVyaGF0aWthbiBiYWh3YSBpbmkgdGlkYWsgYmVyYXJ0aSBiYWh3YSBkZW5zaXRhcyBwcm9iYWJpbGl0YXMvZnVuZ3NpIG1hc3NhIG1lbmluZ2thdCBrZXRpa2EgbmlsYWkgWCBtZW51anUgdGFrIHRlcmhpbmdnYS4gTWVtYW5nIHVudHVrIHZhcmlhYmVsIGFjYWsgYmVybmlsYWkgcmlpbCwgcGRmL3BtZiBoYXJ1cyBiZXJrdXJhbmcgaGluZ2dhIHRhayB0ZXJoaW5nZ2EgdW50dWsgbWVuamFtaW4gcHJvYmFiaWxpdGFzIHRvdGFsIHNhbWEgZGVuZ2FuIHNhdHUuIE5hbXVuLCB5YW5nIG1lbmphZGkgcGVyaGF0aWFuIGFkYWxhaCBsYWp1IHBlbHVydWhhbiBwZGYvcG1mLiBIYXNpbCB5YW5nIHRpZGFrIGRpaW5naW5rYW4gbGViaWggbXVuZ2tpbiB0ZXJqYWRpIHBhZGEgcG9ydG9mb2xpbyBhc3VyYW5zaSB5YW5nIGRpZ2FtYmFya2FuIG9sZWggdmFyaWFiZWwgYWNhayBrZXJ1Z2lhbiB5YW5nIG1lbWlsaWtpIGVrb3IgeWFuZyBsZWJpaCBiZXJhdCAoa2FuYW4pLiBCb2JvdCBla29yIGRhcGF0IGJlcnVwYSBrb25zZXAgYWJzb2x1dCBhdGF1IHJlbGF0aWYuIEtodXN1c255YSwgdW50dWsgeWFuZyBwZXJ0YW1hZGFwYXQgbWVuZ2FuZ2dhcCB2YXJpYWJlbCBhY2FrIG1lbWlsaWtpIGVrb3IgeWFuZyBiZXJhdCBqaWthIHNpZmF0IG1hdGVtYXRpcyB0ZXJ0ZW50dSBkYXJpIGRpc3RyaWJ1c2kgcHJvYmFiaWxpdGFzIHRlcnBlbnVoaS4gTWFrYSBkYXBhdCBkaWthdGFrYW4gZWtvciBkYXJpIHNhdHUgZGlzdHJpYnVzaSBsZWJpaCBiZXJhdC9yaW5nYW4gZGFyaSB5YW5nIGxhaW4gamlrYSBiZWJlcmFwYSB1a3VyYW4gZWtvciBsZWJpaCBiZXNhci9rZWNpbC4NCg0KQmViZXJhcGEgcGVuZGVrYXRhbiBrdWFudGl0YXRpZiB0ZWxhaCBkaXVzdWxrYW4gdW50dWsgbWVuZ2tsYXNpZmlrYXNpa2FuIGRhbiBtZW1iYW5kaW5na2FuIGJvYm90IGVrb3IuIERpIGFudGFyYSBzZWJhZ2lhbiBiZXNhciBwZW5kZWthdGFuIGluaSwgZnVuZ3NpIGtlbGFuZ3N1bmdhbiBoaWR1cCBiZXJmdW5nc2kgc2ViYWdhaSBibG9rIGJhbmd1bmFuLiBCZXJpa3V0IGluaSBtZXJ1cGFrYW4gbWVtcGVya2VuYWxrYW4gZHVhIG1ldG9kZSBrbGFzaWZpa2FzaSBla29yIHlhbmcgc2VkZXJoYW5hIG5hbXVuIGJlcmd1bmEsIHlhbmcga2VkdWFueWEgZGlkYXNhcmthbiBwYWRhIHBlcmlsYWt1IGZ1bmdzaSBrZWxhbmdzdW5nYW4gaGlkdXAgWC4NCg0KIyMjIENsYXNzaWZpY2F0aW9uIEJhc2VkIG9uIE1vbWVudHMNCg0KU2FsYWggc2F0dSBjYXJhIHVudHVrIG1lbmdrbGFzaWZpa2FzaWthbiBib2JvdCBla29yIGRhcmkgc3VhdHUgZGlzdHJpYnVzaSBhZGFsYWggZGVuZ2FuIG1lbmlsYWkga2ViZXJhZGFhbiBtb21lbi1tb21lbiBzZXNhYWUuIEthcmVuYSB0dWp1YW4gdXRhbWEgdGVybGV0YWsgcGFkYSBla29yIGthbmFuIGRpc3RyaWJ1c2ksIG1ha2EgbWVuZ2FzdW1zaWthbiB2YXJpYWJlbCBhY2FrIGtld2FqaWJhbiBhdGF1IGtlcnVnaWFuICRYJCBiZXJuaWxhaSBwb3NpdGlmLiBQYWRhIGF3YWxueWEsIG1vbWVuIHNlc2FhdCBrZS1rIGRhcmkgcGV1YmFoIGFjYWsga29udGludSAkWCQgeWFuZyBkaXBlcmtlbmFsa2FuIHBhZGEgQmFnaWFuIDMuMSwgZGFwYXQgZGloaXR1bmcgc2ViYWdhaSBiZXJpa3V0Lg0KDQokJFxtdV9rJyA9ICBcaW50XzBee1xpbmZ0eX0geF5rIGYoeCkgfmR4ID0gayBcaW50XzBee1xpbmZ0eX0geF57ay0xfSBTKHgpIH5keCwgXFwkJA0KDQpkaSBtYW5hICRTKFxjZG90KSQgbWVueWF0YWthbiBmdW5nc2kgc3Vydml2YWwgZGFyaSAkWCQgLiBVbmdrYXBhbiBpbmkgbWVuZWthbmthbiBiYWh3YSBrZWJlcmFkYWFuIG1vbWVuIG1lbnRhaCBiZXJnYW50dW5nIHBhZGEgcGVyaWxha3UgYXNpbXRvdGlrIGRhcmkgZnVuZ3NpIHN1cnZpdmFsIGRpIHRhayB0ZXJoaW5nZ2EuIFlha25pLCBzZW1ha2luIGNlcGF0IGZ1bmdzaSBzdXJ2aXZhbCBtZWx1cnVoIGtlIG5vbCwgc2VtYWtpbiB0aW5nZ2kgb3JkZSBtb21lbiBiZXJoaW5nZ2EgJChrKSQgeWFuZyBkaW1pbGlraSBvbGVoIHZhcmlhYmVsIGFjYWsgdGVya2FpdC4gQW5kYSBkYXBhdCBtZW5hZnNpcmthbiAka157XGFzdH0kIHNlYmFnYWkgbmlsYWkgdGVyYmVzYXIgZGFyaSAkayQgc2VoaW5nZ2EgbW9tZW5ueWEgdGVyYmF0YXMuIFNlY2FyYSBmb3JtYWwsIGRlZmluaXNpa2FuICRrXntcYXN0fT1cc3VwXHtrID4gMDpcbXVfayc8XGluZnR5IFx9JCAsIGRpbWFuYSBzdXAgbWV3YWtpbGkgc3VwcmVtdW0uDQoNCmBEZWZpbmlzaSAxMC4xLmAgUGVydGltYmFuZ2thbiB2YXJpYWJlbCBhY2FrIGtlcnVnaWFuIG5vbi1uZWdhdGlmICRYJCAuIA0KDQoxLiBKaWthIHNlbXVhIG1vbWVuIGJha3UgcG9zaXRpZiBhZGEsIHlhaXR1IG9yZGUgbWFrc2ltYWwgZGFyaSBtb21lbiBiZXJoaW5nZ2EgJGtee1xhc3R9PVxpbmZ0eSQgLCBtYWthICRYJCBkaWthdGFrYW4gYmVyZWtvciByaW5nYW4gYmVyZGFzYXJrYW4gbWV0b2RlIG1vbWVuLg0KDQoyLiBKaWthICRrXntcYXN0fSA8IFxpbmZ0eSQsIG1ha2EgJFgkIGRpa2F0YWthbiBiZXJla29yIGJlcmF0IChkaWthdGFrYW4gYmVyZWtvciBiZXJhdCBqaWthIHByb2JhYmlsaXRhcyB0aW5nZ2kgZGliZXJpa2FuIHBhZGEgbmlsYWkgeWFuZyBiZXNhcikgYmVyZGFzYXJrYW4gbWV0b2RlIG1vbWVuLiANCg0KMy4gU2VsYWluIGl0dSwgdW50dWsgZHVhIHZhcmlhYmVsIGFjYWsgcnVnaSBwb3NpdGlmICRYXzEkIGRhbiAkWF8yJCBkZW5nYW4gb3JkZSBtYWtzaW1hbCBtb21lbiBtYXNpbmctbWFzaW5nICRrXntcYXN0fV8xJCBkYW4gJGtee1xhc3R9XzEkLCBkZW5nYW4gbWVuZ2F0YWthbiAkWF8xJCBtZW1pbGlraSBla29yIChrYW5hbikgeWFuZyBsZWJpaCBiZXJhdCBkYXJpcGFkYSAkWF8yJCBqaWthICRrXntcYXN0fV8xXGxlcSBrXntcYXN0fV8yJC4NCg0KYmFnaWFuIHBlcnRhbWEgZGFyaSBEZWZpbmlzaSAxMC4xIGFkYWxhaCBrb25zZXAgYWJzb2x1dCBkYXJpIGJvYm90IGVrb3IsIHNlZGFuZ2thbiBiYWdpYW4ga2VkdWEgYWRhbGFoIGtvbnNlcCByZWxhdGlmIGRhcmkgYm9ib3QgZWtvciB5YW5nIG1lbWJhbmRpbmdrYW4gZWtvciAoa2FuYW4pIGRpIGFudGFyYSBkdWEgZGlzdHJpYnVzaS4gU2VsYW5qdXRueWEsIGthbWkgbWVueWFqaWthbiBiZWJlcmFwYSBjb250b2ggeWFuZyBtZW5naWx1c3RyYXNpa2FuIGFwbGlrYXNpIG1ldG9kZSBiZXJiYXNpcyBtb21lbiB1bnR1ayBtZW1iYW5kaW5na2FuIGJvYm90IGVrb3IuDQoNCmBjb250b2ggMTAuMi4xLmAgU2lmYXQgZWtvciByaW5nYW4gZGFyaSBkaXN0cmlidXNpIGdhbW1hLiANCg0KTWlzYWxrYW4gJFhcc2ltIGdhbW1hKFxhbHBoYSxcdGhldGEpJCwgZGVuZ2FuICRcYWxwaGE+MCQgZGFuICRcdGhldGE+MCQgLCBtYWthIHVudHVrIHNlbXVhICRrPjAkICwgdHVuanVra2FuIGJhaHdhICRcbXVfaycgPCBcaW5mdHkkLg0KDQokJFxiZWdpbntlcW5hcnJheSp9DQogICAgXG11X2snICY9JiBcaW50XzBee1xpbmZ0eX0geF5rIFxmcmFje3hee1xhbHBoYS0xfSBlXnsteC9cdGhldGF9fXtcR2FtbWEoXGFscGhhKSBcdGhldGFee1xhbHBoYX19IGR4IFxcDQogICAgJj0mIFxpbnRfMF57XGluZnR5fSAoeVx0aGV0YSleayAgXGZyYWN7KHlcdGhldGEpXntcYWxwaGEtMX0gZV57LXl9fXtcR2FtbWEoXGFscGhhKSBcdGhldGFee1xhbHBoYX19IFx0aGV0YSBkeSBcXA0KICAgICY9JiBcZnJhY3tcdGhldGFea317XEdhbW1hKFxhbHBoYSl9IFxHYW1tYShcYWxwaGEraykgPCBcaW5mdHkuDQpcZW5ke2VxbmFycmF5Kn0kJA0KDQprYXJlbmEgc2VtdWEgbW9tZW4gcG9zaXRpZiBhZGEsIHlhaXR1ICRrXntcYXN0fT1caW5mdHkkLCBzZXN1YWkgZGVuZ2FuIG1ldG9kZSBrbGFzaWZpa2FzaSBiZXJiYXNpcyBtb21lbiBwYWRhIERlZmluaXNpIDEwLjEsIG1ha2EgZGlzdHJpYnVzaSBnYW1tYSBiZXJla29yIHJpbmdhbg0KDQpgQ29udG9oIDEwLjIuMi5gIFNpZmF0IGVrb3IgcmluZ2FuIGRhcmkgZGlzdHJpYnVzaSBXZWlidWxsLiANCg0KTWlzYWxrYW4gJFhcc2ltIFdlaWJ1bGwoXHRoZXRhLFx0YXUpJCwgZGVuZ2FuICRcdGhldGE+MCQgZGFuICRcdGF1PjAkICwgbWFrYSB1bnR1ayBzZW11YSAkaz4wJCAsIHR1bmp1a2thbiBiYWh3YSAkXG11X2snIDwgXGluZnR5JC4NCg0KJCRcYmVnaW57ZXFuYXJyYXkqfQ0KICAgIFxtdV9rJyAmPSYgXGludF8wXntcaW5mdHl9IHheayBcZnJhY3tcdGF1IHhee1x0YXUtMX0gfXtcdGhldGFee1x0YXV9fSBlXnstKHgvXHRoZXRhKV57XHRhdX19ZHggXFwNCiAgICAmPSYgXGludF8wXntcaW5mdHl9ICBcZnJhY3sgeV57ay9cdGF1fSB9e1x0aGV0YV57XHRhdX19IGVeey15L1x0aGV0YV57XHRhdX19ZHkgXFwNCiAgICAmPSYgXHRoZXRhXntrfSBcR2FtbWEoMStrL1x0YXUpIDwgXGluZnR5Lg0KXGVuZHtlcW5hcnJheSp9JCQNCg0KU2VrYWxpIGxhZ2ksIGthcmVuYSBhZGFueWEgc2VtdWEgbW9tZW4gcG9zaXRpZiwgZGlzdHJpYnVzaSBXZWlidWxsIGJlcmVrb3IgcmluZ2FuLg0KDQpkaXN0cmlidXNpIGdhbW1hIGRhbiBXZWlidWxsIGRpZ3VuYWthbiBzZWNhcmEgbHVhcyBkYWxhbSBwcmFrdGlrIGFrdHVhcmlhLiBBcGxpa2FzaSBkYXJpIGtlZHVhIGRpc3RyaWJ1c2kgaW5pIHNhbmdhdCBsdWFzLCB0ZXJtYXN1aywgbmFtdW4gdGlkYWsgdGVyYmF0YXMgcGFkYSwgcGVtb2RlbGFuIHRpbmdrYXQga2VwYXJhaGFuIGtsYWltIGFzdXJhbnNpLCBwZW5pbGFpYW4gc29sdmFiaWxpdGFzLCBwZW5jYWRhbmdhbiBrZXJ1Z2lhbiwgcGVya2lyYWFuIHJpc2lrbyBhZ3JlZ2F0LCByZWtheWFzYSBrZWFuZGFsYW4sIGRhbiBhbmFsaXNpcyBrZWdhZ2FsYW4uIFNlamF1aCBpbmkga2FtaSB0ZWxhaCBtZWxpaGF0IGR1YSBjb250b2ggcGVuZ2d1bmFhbiBtZXRvZGUgYmVyYmFzaXMgbW9tZW4gdW50dWsgbWVuZ2FuYWxpc2lzIGRpc3RyaWJ1c2kgZWtvciByaW5nYW4uIEthbWkgbWVuZG9rdW1lbnRhc2lrYW4gY29udG9oIGRpc3RyaWJ1c2kgZWtvciBiZXJhdCBzZWJhZ2FpIGJlcmlrdXQuDQoNCmBDb250b2ggMTAuMi4zLmAgU2lmYXQgZWtvciB5YW5nIGJlcmF0IGRhcmkgZGlzdHJpYnVzaSBQYXJldG8uIA0KDQpNaXNhbGthbiAkWFxzaW0gUGFyZXRvKFxhbHBoYSxcdGhldGEpJCAsIGRlbmdhbiAkXGFscGhhPjAkIGRhbiAkXHRoZXRhPjAkICAsIG1ha2EgdW50dWsgJGs+MCQNCg0KJCRcYmVnaW57ZXFuYXJyYXkqfQ0KICAgIFxtdV9rXnsnfSAmPSYgXGludF8wXntcaW5mdHl9IHheayBcZnJhY3tcYWxwaGEgXHRoZXRhXntcYWxwaGF9fXsoeCtcdGhldGEpXntcYWxwaGErMX19IGR4IFxcDQogICAgJj0mIFxhbHBoYSBcdGhldGFee1xhbHBoYX0gXGludF97XHRoZXRhfV57XGluZnR5fSAoeS1cdGhldGEpXmsge3leey0oXGFscGhhKzEpfX0gZHkuDQpcZW5ke2VxbmFycmF5Kn0kJA0KDQptZW1wZXJ0aW1iYW5na2FuIGludGVncmFzaSBzZXJ1cGE6DQoNCiQkXGJlZ2lue2VxbmFycmF5Kn0NCiAgZ19rPVxpbnRfe1x0aGV0YX1ee1xpbmZ0eX0ge3lee2stXGFscGhhLTF9fSBkeT1cbGVmdFx7DQogIFxiZWdpbnthcnJheX17bGx9DQogICAgPFxpbmZ0eSwgJiBcaGJveHtmb3IgfSBrPFxhbHBoYTtcXA0KICAgID1caW5mdHksICYgXGhib3h7Zm9yIH0ga1xnZXEgXGFscGhhLg0KICBcZW5ke2FycmF5fQ0KXHJpZ2h0Lg0KXGVuZHtlcW5hcnJheSp9JCQNCg0KJCRcbGltX3t5XHJpZ2h0YXJyb3cgXGluZnR5fSBcZnJhY3soeS1cdGhldGEpXmsge3leey0oXGFscGhhKzEpfX19e3lee2stXGFscGhhLTF9fT1cbGltX3t5XHJpZ2h0YXJyb3cgXGluZnR5fQ0KKDEtXHRoZXRhL3kpXntrfT0xLiQkDQoNClBlbmVyYXBhbiB0ZW9yZW1hIHBlcmJhbmRpbmdhbiBsaW1pdCB1bnR1ayBpbnRlZ3JhbCB0YWsgdGVudHUgbWVuZ2hhc2lsa2FuIM684oCyayB0ZXJiYXRhcyBqaWthIGRhbiBoYW55YSBqaWthIGdrIHRlcmJhdGFzLiBPbGVoIGthcmVuYSBpdHUsIGtpdGEgZGFwYXQgbWVueWltcHVsa2FuIGJhaHdhIG1vbWVuIG1lbnRhaCBkYXJpIHZhcmlhYmVsIGFjYWsgUGFyZXRvIGhhbnlhIGFkYSBzYW1wYWkgayA8IM6xICwgeWFpdHUsIGviiJcgPSDOsSAsIGRhbiBkZW5nYW4gZGVtaWtpYW4gZGlzdHJpYnVzaW55YSBiZXJla29yIGJlcmF0LiBUZXJsZWJpaCBsYWdpLCBvcmRlIG1ha3NpbWFsIGRhcmkgbW9tZW4gYmVyaGluZ2dhIGhhbnlhIGJlcmdhbnR1bmcgcGFkYSBwYXJhbWV0ZXIgYmVudHVrIM6xIGRhbiBtZXJ1cGFrYW4gZnVuZ3NpIHlhbmcgbWVuaW5na2F0IGRhcmkgzrEgLiBEZW5nYW4ga2F0YSBsYWluLCBiZXJkYXNhcmthbiBtZXRvZGUgbW9tZW4sIGJvYm90IGVrb3IgZGFyaSB2YXJpYWJlbCBhY2FrIFBhcmV0byBoYW55YSBkaW1hbmlwdWxhc2kgb2xlaCDOsSAtIHNlbWFraW4ga2VjaWwgbmlsYWkgzrEgLCBzZW1ha2luIGJlcmF0IGJvYm90IGVrb3JueWEuIEthcmVuYSBr4oiXPOKIniAsIGVrb3IgZGFyaSBkaXN0cmlidXNpIFBhcmV0byBsZWJpaCBiZXJhdCBkaWJhbmRpbmdrYW4gZGVuZ2FuIGRpc3RyaWJ1c2kgZ2FtbWEgZGFuIFdlaWJ1bGwuDQoNCmthbWkgbWVueWltcHVsa2FuIGJhZ2lhbiBpbmkgZGVuZ2FuIGRpc2t1c2kgdGVyYnVrYSB0ZW50YW5nIGtldGVyYmF0YXNhbiBtZXRvZGUgYmVyYmFzaXMgbW9tZW4uIE1lc2tpcHVuIGltcGxlbWVudGFzaW55YSBzZWRlcmhhbmEgZGFuIGludGVycHJldGFzaSBpbnR1aXRpZiwgYWRhIGJlYmVyYXBhIGtlYWRhYW4gdGVydGVudHUgZGkgbWFuYSBwZW5lcmFwYW4gbWV0b2RlIGJlcmJhc2lzIG1vbWVuIHRpZGFrIGNvY29rLiBQZXJ0YW1hLCB1bnR1ayBtb2RlbCBwcm9iYWJpbGlzdGlrIHlhbmcgbGViaWggcnVtaXQsIG1vbWVuIG1lbnRhaCBrZS1rIG11bmdraW4gdGlkYWsgbXVkYWggdW50dWsgZGlwZXJvbGVoLCBkYW4gZGVuZ2FuIGRlbWlraWFuIGlkZW50aWZpa2FzaSB1cnV0YW4gbWFrc2ltYWwgZGFyaSBtb21lbiBoaW5nZ2EgZGFwYXQgbWVuamFkaSB0YW50YW5nYW4uIEtlZHVhLCBtZXRvZGUgYmVyYmFzaXMgbW9tZW4gdGlkYWsgc2VzdWFpIGRlbmdhbiBiYWdpYW4gdXRhbWEgZGFyaSB0ZW9yaSBoZWF2eSB0YWlsIHlhbmcgc3VkYWggbWFwYW4gZGFsYW0gbGl0ZXJhdHVyLiBTZWNhcmEga2h1c3VzLCBrZWJlcmFkYWFuIGZ1bmdzaSBwZW1iYW5na2l0IG1vbWVuIG1lcnVwYWthbiBtZXRvZGUgeWFuZyBwYWxpbmcgcG9wdWxlciB1bnR1ayBtZW5na2xhc2lmaWthc2lrYW4gaGVhdnkgdGFpbCB2ZXJzdXMgbGlnaHQgdGFpbCBkaSBkYWxhbSBrb211bml0YXMgYWt0dWFyaXMgYWthZGVtaXMuIE5hbXVuLCB1bnR1ayBiZWJlcmFwYSB2YXJpYWJlbCBhY2FrIHNlcGVydGkgdmFyaWFiZWwgYWNhayBsb2dub3JtYWwsIGZ1bmdzaSBwZW1iYW5na2l0IG1vbWVubnlhIHRpZGFrIGFkYSBiYWhrYW4gc2VtdWEgbW9tZW4gcG9zaXRpZm55YSB0ZXJiYXRhcy4gRGFsYW0ga2FzdXMgaW5pLCBwZW5lcmFwYW4gbWV0b2RlIGJlcmJhc2lzIG1vbWVuIGRhcGF0IG1lbmdoYXNpbGthbiBwZW5pbGFpYW4gYm9ib3QgZWtvciB5YW5nIGJlcmJlZGEuIEtldGlnYSwga2V0aWthIGtpdGEgcGVybHUgbWVtYmFuZGluZ2thbiBib2JvdCBla29yIGFudGFyYSBkdWEgZGlzdHJpYnVzaSBiZXJla29yIHJpbmdhbiB5YW5nIG1lbWlsaWtpIHNlbXVhIG1vbWVuIHBvc2l0aWYsIG1ldG9kZSBiZXJiYXNpcyBtb21lbiB0aWRhayBsYWdpIGluZm9ybWF0aWYgKGxpaGF0LCBtaXNhbG55YSwgQ29udG9oIDEwLjIuMSBkYW4gMTAuMi4yKS4NCg0KIyMjIENvbXBhcmlzb24gQmFzZWQgb24gTGltaXRpbmcgVGFpbCBCZWhhdmlvcg0KDQpVbnR1ayBtZW5nYXRhc2kgbWFzYWxhaC1tYXNhbGFoIHlhbmcgZGlzZWJ1dGthbiBkaSBhdGFzIHBhZGEgbWV0b2RlIGtsYXNpZmlrYXNpIGJlcmJhc2lzIG1vbWVuLCBzZWJ1YWggcGVuZGVrYXRhbiBhbHRlcm5hdGlmIHVudHVrIG1lbWJhbmRpbmdrYW4gYm9ib3QgZWtvciBhZGFsYWggZGVuZ2FuIHNlY2FyYSBsYW5nc3VuZyBtZW1wZWxhamFyaSBwZXJpbGFrdSBwZW1iYXRhcyBkYXJpIGZ1bmdzaS1mdW5nc2kgc3Vydml2YWwuDQoNCkRlZmluaXNpIDEwLjIuIFVudHVrIGR1YSB2YXJpYWJlbCBhY2FrICRYJCBkYW4gJFkkICwgbWlzYWxrYW4NCg0KJCRcZ2FtbWE9XGxpbV97dFxyaWdodGFycm93IFxpbmZ0eX1cZnJhY3tTX1godCl9e1NfWSh0KX0uJCQNCg0KRGVuZ2FuIDoNCg0KMS4gJFgkIG1lbWlsaWtpIGVrb3Iga2FuYW4geWFuZyBsZWJpaCBiZXJhdCBkYXJpcGFkYSAkWSQgamlrYSAkXGdhbW1hPVxpbmZ0eSQ7IA0KDQoyLiAkWCQgZGFuICRZJCBzZWNhcmEgcHJvcG9yc2lvbmFsIGVrdWl2YWxlbiBwYWRhIGVrb3Iga2FuYW4gamlrYSAkXGdhbW1hID1jIFxpbiAoMCwgXGluZnR5KSQ7IA0KDQozLiAkWCQgbWVtaWxpa2kgZWtvciBrYW5hbiB5YW5nIGxlYmloIHJpbmdhbiBkYXJpcGFkYSAkWSQgamlrYSAkXGdhbW1hPTAkLg0KDQpgQ29udG9oIDEwLjIuNC5gIFBlcmJhbmRpbmdhbiBkaXN0cmlidXNpIFBhcmV0byBkYW4gZGlzdHJpYnVzaSBXZWlidWxsLiANCg0KTWlzYWxrYW4gJFhcc2ltIFBhcmV0byhcYWxwaGEsIFx0aGV0YSkkIGRhbiAkWVxzaW0gV2VpYnVsbChcdGF1LCBcdGhldGEpJCwgdW50dWsgJFxhbHBoYT4wJCwgJFx0YXU+MCQsIGRhbiAkXHRoZXRhPjAkLiBUdW5qdWtrYW4gYmFod2EgUGFyZXRvIG1lbWlsaWtpIGVrb3Iga2FuYW4geWFuZyBsZWJpaCBiZXJhdCBkYXJpcGFkYSBXZWlidWxsLg0KDQokJFxiZWdpbntlcW5hcnJheSp9DQogICAgXGxpbV97dFxyaWdodGFycm93IFxpbmZ0eX1cZnJhY3tTX1godCl9e1NfWSh0KX0gJj0mIFxsaW1fe3RccmlnaHRhcnJvdyBcaW5mdHl9XGZyYWN7KDErdC9cdGhldGEpXnstXGFscGhhfX17XGV4cFx7LSh0L1x0aGV0YSlee1x0YXV9XH19IFxcDQogICAgJj0mIFxsaW1fe3RccmlnaHRhcnJvdyBcaW5mdHl9XGZyYWN7XGV4cFx7dC9cdGhldGFee1x0YXV9IFx9fXsoMSt0XnsxL1x0YXV9L1x0aGV0YSlee1xhbHBoYX19IFxcDQogICAgJj0mIFxsaW1fe3RccmlnaHRhcnJvdyBcaW5mdHl9XGZyYWN7XHN1bV97aT0wfV57XGluZnR5fVxsZWZ0KFxmcmFje3R9e1x0aGV0YV57XHRhdX19XHJpZ2h0KV57aX0vaSF9eygxK3ReezEvXHRhdX0vXHRoZXRhKV57XGFscGhhfX1cXA0KICAgICY9JiBcbGltX3t0XHJpZ2h0YXJyb3cgXGluZnR5fSBcc3VtX3tpPTB9XntcaW5mdHl9IFxsZWZ0KHReey1pL1xhbHBoYX0rXGZyYWN7dF57KDEvXHRhdS1pL1xhbHBoYSl9fXtcdGhldGF9IFxyaWdodCleey1cYWxwaGF9L1x0aGV0YV57XHRhdSBpfWkhXFwNCiAgICAmPSYgXGluZnR5Lg0KXGVuZHtlcW5hcnJheSp9JCQNCg0KT2xlaCBrYXJlbmEgaXR1LCBkaXN0cmlidXNpIFBhcmV0byBtZW1pbGlraSBla29yIHlhbmcgbGViaWggYmVyYXQgZGFyaXBhZGEgZGlzdHJpYnVzaSBXZWlidWxsLiBLaXRhIGp1Z2EgZGFwYXQgbWVueWFkYXJpIGJhaHdhIGVrc3BvbmVuc2lhbCBtZW5jYXBhaSB0YWsgdGVyaGluZ2dhIGxlYmloIGNlcGF0IGRhcmlwYWRhIHBvbGlub21pYWwsIG9sZWgga2FyZW5hIGl0dSwgYmF0YXMgeWFuZyBkaXNlYnV0a2FuIGRpIGF0YXMgaGFydXNsYWggdGFrIHRlcmhpbmdnYS4NCg0KdW50dWsgYmViZXJhcGEgZGlzdHJpYnVzaSB5YW5nIGZ1bmdzaS1mdW5nc2kga2VsYW5nc3VuZ2FuIGhpZHVwbnlhIHRpZGFrIGRhcGF0IGRpZWtzcHJlc2lrYW4gc2VjYXJhIGVrc3BsaXNpdCwga2l0YSBkYXBhdCBtZW5nZ3VuYWthbiBydW11cyBhbHRlcm5hdGlmIGJlcmlrdXQgaW5pOg0KDQokJFxiZWdpbntlcW5hcnJheSp9DQogICAgXGxpbV97dFx0byBcaW5mdHl9IFxmcmFje1NfWCh0KX17U19ZKHQpfSAmPSYgXGxpbV97dCBcdG8gXGluZnR5fSBcZnJhY3tTX1heeyd9KHQpfXtTX1leeyd9KHQpfSBcXA0KICAgICY9JiBcbGltX3t0IFx0byBcaW5mdHl9IFxmcmFjey1mX1godCl9ey1mX1kodCl9XFwNCiAmPSYgXGxpbV97dFx0byBcaW5mdHl9IFxmcmFje2ZfWCh0KX17Zl9ZKHQpfS4NClxlbmR7ZXFuYXJyYXkqfSQkDQoNCm1lbmdpbmdhdCBiYWh3YSBmdW5nc2kga2VwYWRhdGFubnlhIGFkYS4gSW5pIGFkYWxhaCBhcGxpa2FzaSBkYXJpIEF0dXJhbiBMJ0jDtHBpdGFsIGRhcmkga2Fsa3VsdXMNCg0KYENvbnRvaCAxMC4yLjUuYCBQZXJiYW5kaW5nYW4gZGlzdHJpYnVzaSBQYXJldG8gZGVuZ2FuIGRpc3RyaWJ1c2kgZ2FtbWEuIA0KDQpNaXNhbGthbiAkWFxzaW0gUGFyZXRvKFxhbHBoYSwgXHRoZXRhKSQgZGFuICRZXHNpbSBnYW1tYShcYWxwaGEsIFx0aGV0YSkkLCB1bnR1ayAkXGFscGhhPjAkIGRhbiAkXHRoZXRhPjAkIC4gVHVuanVra2FuIGJhaHdhIFBhcmV0byBtZW1pbGlraSBla29yIGthbmFuIHlhbmcgbGViaWggYmVyYXQgZGFyaXBhZGEgZ2FtbWEuDQoNCiQkXGJlZ2lue2VxbmFycmF5Kn0NCiAgICBcbGltX3t0XHRvIFxpbmZ0eX0gXGZyYWN7Zl97WH0odCl9e2Zfe1l9KHQpfSAmPSYgXGxpbV97dCBcdG8gXGluZnR5fSBcZnJhY3tcYWxwaGEgXHRoZXRhXntcYWxwaGF9ICh0KyBcdGhldGEpXnstXGFscGhhLTF9fXt0XntcdGF1LTF9IGVeey10L1xsYW1iZGF9IFxsYW1iZGFeey1cdGF1fSBcR2FtbWEoXHRhdSleey0xfX0gXFwNCiAmXHByb3B0byYgIFxsaW1fe3RcdG8gXGluZnR5fSBcZnJhY3tlXnt0L1xsYW1iZGF9fXsodCtcdGhldGEpXntcYWxwaGErMX0gdF57XHRhdS0xfX0gXFwNCiAgICAmPSYgXGluZnR5LA0KXGVuZHtlcW5hcnJheSp9JCQNCg0Ka2FyZW5hIGVrc3BvbmVuc2lhbCBtZW51anUgdGFrIHRlcmhpbmdnYSBsZWJpaCBjZXBhdCBkYXJpcGFkYSBwb2xpbm9taWFsLg==